Mercurial > hg > soundsoftware-site
changeset 600:c3c1091639ad feature_36
Some JS changes to the behaviour of user/author selection interface.
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Tue, 16 Aug 2011 17:38:30 +0100 |
parents | c6cfe1f2eac1 |
children | 1608b3cb50cd |
files | vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb vendor/plugins/redmine_bibliography/app/views/publications/_authorship_fields.rhtml vendor/plugins/redmine_bibliography/assets/javascripts/authors.js vendor/plugins/redmine_bibliography/lib/bibliography/user_author_patch.rb |
diffstat | 5 files changed, 52 insertions(+), 27 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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}" }
--- 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 @@ </p> <h5>Is it this author?</h5> <p> - <%= f.radio_button :identify_author, "yes" %><%= f.label :identify_author_yes %><br /> - <%= f.radio_button :identify_author, "correct" %><%= f.label :identify_author_correct %><br /> - <%= f.radio_button :identify_author, "no" %><%= f.label :identify_author_no %><br /> + <%= f.radio_button :identify_author, "yes", :onClick => "identify_author_status($(this).value, #{form_object_id(f.object_name) });" %><%= f.label :identify_author_yes %><br /> + <%= f.radio_button :identify_author, "correct", :onClick => "identify_author_status($(this).value, #{form_object_id(f.object_name) });" %><%= f.label :identify_author_correct %><br /> + <%= f.radio_button :identify_author, "no", :onClick => "identify_author_status($(this).value, #{form_object_id(f.object_name) });" %><%= f.label :identify_author_no %><br /> </p> </div> </p>
--- 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; + } +}
--- 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,