diff --git a/admin/app/admin/jam_track_right.rb b/admin/app/admin/jam_track_right.rb index f9f665bb9..d269c79a5 100644 --- a/admin/app/admin/jam_track_right.rb +++ b/admin/app/admin/jam_track_right.rb @@ -17,6 +17,14 @@ ActiveAdmin.register JamRuby::JamTrackRight, :as => 'JamTrackRights' do filter :jam_track + controller do + def create + jt_params = params[:jam_ruby_jam_track_right] + jt_params[:jam_track] =JamRuby::JamTrack.where("id=?", jt_params[:jam_track_id_val]).first # jt_params[:jam_track_id_val] + jt_params[:user] = JamRuby::User.where("id=?", jt_params[:user_id_val]).first # jt_params[:user_id_val] + create! + end + end index do actions @@ -48,8 +56,11 @@ ActiveAdmin.register JamRuby::JamTrackRight, :as => 'JamTrackRights' do form do |f| f.inputs 'New Jam Track Right' do #f.input :jam_track, :required=>true, collection: JamTrack.all, include_blank: false + f.input :jam_track_id_val, :required=>true, :as => :hidden + f.input :jam_track, :required=>true, :as => :autocomplete, :url => autocomplete_jam_track_name_admin_jam_tracks_path, hint: 'Select a jamtrack to give to this user' #f.input :user, :required=>true, collection: User.all, include_blank: false + f.input :user_id_val, :required=>true, :as => :hidden f.input :user, :required=>true, :as => :autocomplete, :url => autocomplete_user_email_admin_users_path, hint: 'Give a free jamtrack to this user' f.input :can_download, :required => true, as: :boolean, :input_html => { :checked => 'checked' } end diff --git a/admin/app/assets/javascripts/users.js b/admin/app/assets/javascripts/users.js index d5a1816d3..d7f540b2c 100644 --- a/admin/app/assets/javascripts/users.js +++ b/admin/app/assets/javascripts/users.js @@ -7,6 +7,38 @@ function intToIP(int) { return part4 + "." + part3 + "." + part2 + "." + part1; } +function handleJamTrackRightsForm() { + var $jamTrackRights = $('form#new_jam_ruby_jam_track_right'); + var $jamTrack = $jamTrackRights.find('#jam_ruby_jam_track_right_jam_track_id'); + var $jamTrackVal = $jamTrackRights.find('#jam_ruby_jam_track_right_jam_track_id_val') + + var $user = $jamTrackRights.find('#jam_ruby_jam_track_right_user_id'); + var $userVal = $jamTrackRights.find('#jam_ruby_jam_track_right_user_id_val'); + $jamTrack.on('change', function(){ + console.log("change jam track"); + }); + + /** + $user.on('change', function(){ + console.log("change user"); + }); + + $jamTrack.on('focus', function(){ + $userVal.val('') + });*/ + + $jamTrack.bind('railsAutocomplete.select', function(event, data){ + $jamTrackVal.val(''); + $jamTrackVal.val(data.item.id); + console.log("jam track selected with id " + data.item.id); + }); + + $user.bind('railsAutocomplete.select', function(event, data){ + $userVal.val(''); + $userVal.val(data.item.id); + console.log("user selected with id " + data.item.id); + }); +} function handleUserLatencyForm(){ var $userLatenciesForm = $('form#user_latencies_form'); var $latenciesMyUser = $userLatenciesForm.find('#latencies_my_user'); @@ -74,4 +106,5 @@ function handleLatencyRecommendationForm(){ $(document).ready(function() { handleUserLatencyForm(); handleLatencyRecommendationForm(); + handleJamTrackRightsForm(); }); \ No newline at end of file diff --git a/admin/config/initializers/jam_track_rights.rb b/admin/config/initializers/jam_track_rights.rb new file mode 100644 index 000000000..21fc99599 --- /dev/null +++ b/admin/config/initializers/jam_track_rights.rb @@ -0,0 +1,18 @@ + +class JamRuby::JamTrackRight + attr_accessible :jam_track, :user, :jam_track_id_val, :user_id_val, as: :admin + + def jam_track_id_val + + end + + def jam_track_id_val=(val) + end + + def user_id_val + + end + + def user_id_val=(val) + end +end