# HG changeset patch # User luisf # Date 1313512710 -3600 # Node ID c3c1091639ad8c0fc420a10a026aba1733c1e017 # Parent c6cfe1f2eac106024a788f418886f5ab7d6570ee Some JS changes to the behaviour of user/author selection interface. diff -r c6cfe1f2eac1 -r c3c1091639ad vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb --- a/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb Tue Aug 16 15:36:32 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb Tue Aug 16 17:38:30 2011 +0100 @@ -249,12 +249,21 @@ name_field = "publication_authorships_attributes_#{object_id}_name_on_paper".to_sym email_field = "publication_authorships_attributes_#{object_id}_email".to_sym + institution_field = "publication_authorships_attributes_#{object_id}_institution".to_sym + + yes_radio = "publication_authorships_attributes_#{object_id}_identify_author_yes".to_sym respond_to do |format| format.js {logger.error { "JS" } render(:update) {|page| page[name_field].value = item.name page[email_field].value = item.mail + page[institution_field].value = item.institution + + page[yes_radio].checked = true + page[name_field].disabled = true + page[email_field].disabled = true + page[institution_field].disabled = true } } end diff -r c6cfe1f2eac1 -r c3c1091639ad vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb --- a/vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb Tue Aug 16 15:36:32 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb Tue Aug 16 17:38:30 2011 +0100 @@ -9,12 +9,7 @@ s end - - - - - - def generate_autofill_suggestions(item) + def TO_BE_DELETED_generate_autofill_suggestions(item) logger.error { "Generate Autofill Suggestions for #{item.class} #{item.id}" } diff -r c6cfe1f2eac1 -r c3c1091639ad vendor/plugins/redmine_bibliography/app/views/publications/_authorship_fields.rhtml --- a/vendor/plugins/redmine_bibliography/app/views/publications/_authorship_fields.rhtml Tue Aug 16 15:36:32 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/app/views/publications/_authorship_fields.rhtml Tue Aug 16 17:38:30 2011 +0100 @@ -21,9 +21,9 @@

Is it this author?

- <%= f.radio_button :identify_author, "yes" %><%= f.label :identify_author_yes %>
- <%= f.radio_button :identify_author, "correct" %><%= f.label :identify_author_correct %>
- <%= f.radio_button :identify_author, "no" %><%= f.label :identify_author_no %>
+ <%= f.radio_button :identify_author, "yes", :onClick => "identify_author_status($(this).value, #{form_object_id(f.object_name) });" %><%= f.label :identify_author_yes %>
+ <%= f.radio_button :identify_author, "correct", :onClick => "identify_author_status($(this).value, #{form_object_id(f.object_name) });" %><%= f.label :identify_author_correct %>
+ <%= f.radio_button :identify_author, "no", :onClick => "identify_author_status($(this).value, #{form_object_id(f.object_name) });" %><%= f.label :identify_author_no %>

diff -r c6cfe1f2eac1 -r c3c1091639ad vendor/plugins/redmine_bibliography/assets/javascripts/authors.js --- a/vendor/plugins/redmine_bibliography/assets/javascripts/authors.js Tue Aug 16 15:36:32 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/assets/javascripts/authors.js Tue Aug 16 17:38:30 2011 +0100 @@ -11,21 +11,32 @@ }); } -function update_author_info(form_object_id){ - $author = $('publication_authorships_attributes_' + form_object_id + '_search_results').value; - - alert($author.split('_')[0] + " " + $author.split('_')[1]); - - alert("<%= " + $author.split('_')[0] + ".find(" + $author.split('_')[1] + ").name %>") - - $('publication_authorships_attributes_' + form_object_id + '_name_on_paper').value = $author - - //$(link).up('div').up('div').select('input[id^=publication_authorships_attributes]').each( - // function(e){ - // key = e.name.split("[").last().trim().sub(']',''); - // - // // test for undefined - // e.value = author_info[key]; - // } - //) -} \ No newline at end of file +function identify_author_status(status, object_id) { + name_field = $('publication_authorships_attributes_' + object_id + '_name_on_paper'); + email_field = $('publication_authorships_attributes_' + object_id + '_email'); + institution_field = $('publication_authorships_attributes_' + object_id + '_institution'); + + switch(status) + { + case "yes": + name_field.disabled = true; + email_field.disabled = true; + institution_field.disabled = true; + break; + case "no": + name_field.value = ""; + email_field.value = ""; + institution_field.value = ""; + + name_field.disabled = false; + email_field.disabled = false; + institution_field.disabled = false; + + break; + case "correct": + name_field.disabled = false; + email_field.disabled = false; + institution_field.disabled = false; + break; + } +} diff -r c6cfe1f2eac1 -r c3c1091639ad vendor/plugins/redmine_bibliography/lib/bibliography/user_author_patch.rb --- a/vendor/plugins/redmine_bibliography/lib/bibliography/user_author_patch.rb Tue Aug 16 15:36:32 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/lib/bibliography/user_author_patch.rb Tue Aug 16 17:38:30 2011 +0100 @@ -13,7 +13,17 @@ module InstanceMethods + def institution + unless self.ssamr_user_detail.nil? + institution_name = self.ssamr_user_detail.institution_name + else + institution_name = "No Institution Set" + end + return institution_name + end + def get_author_info + # TODO: DELETE THIS METHOD?? info = { :name_on_paper => self.name, :email => self.mail,