Commit 3ae1972bfe091554dd0aa61bfe9e84c5322f59f6

Authored by Gabriela Navarro
Committed by Parley
1 parent f9f6d523

more_inst_for_users: Add more institutions for user registration

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
lib/mpog_software_plugin.rb
... ... @@ -41,13 +41,16 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
41 41 content_tag(:div,
42 42 labelled_form_field(
43 43 _('Institution'),
44   - text_field(:institution, :name, :id => 'input_institution')+
  44 + content_tag(:div,
  45 + text_field(:institution, :name, :class=>"input_institution"),
  46 + :class => 'institution_container')+
45 47 content_tag(
46 48 :small, _('Fill with your institution') ,:class => 'signup-form', :id =>'institution-balloon'
47 49 ) +
48 50 content_tag(:div, _("The searched institution does not exist"), :id=>"institution_empty_ajax_message", :class=>"errorExplanation hide-field") +
49   - link_to(_("Add new institution"), "#", :id=>"create_institution_link", :class=>'button with-text icon-add')+
50   - hidden_field_tag("user[institution_id]", "", :id => 'user_institution_id')+
  51 + link_to(_("Add new institution"), "#", :class=>'button with-text icon-add add_new_institution') +
  52 + link_to(_("Create new institution"), "#", :id=>"create_institution_link", :class=>'button with-text icon-add')+
  53 + hidden_field_tag("user[institutions][]", "", :class => 'user_institutions')+
51 54 content_tag(:div, "", :id=>"institution_dialog")
52 55 ),
53 56 :id => 'signup-institution'
... ...
public/mpog-institution-validations.js
... ... @@ -113,6 +113,50 @@
113 113 }
114 114 }
115 115  
  116 +
  117 + function institution_autocomplete() {
  118 + jQuery(".input_institution").autocomplete({
  119 + source : function(request, response){
  120 + jQuery.ajax({
  121 + type: "GET",
  122 + url: "/plugin/mpog_software/get_institutions",
  123 + data: {query: request.term},
  124 + success: function(result){
  125 + response(result);
  126 +
  127 + if( result.length == 0 ) {
  128 + jQuery('#institution_empty_ajax_message').switchClass("hide-field", "show-field");
  129 + } else {
  130 + jQuery('#institution_empty_ajax_message').switchClass("show-field", "hide-field");
  131 + }
  132 + },
  133 + error: function(ajax, stat, errorThrown) {
  134 + console.log('Link not found : ' + errorThrown);
  135 + }
  136 + });
  137 + },
  138 +
  139 + minLength: 2,
  140 +
  141 + select : function (event, selected) {
  142 + var user_institutions = jQuery(".user_institutions").first().clone();
  143 + user_institutions.val(selected.item.id);
  144 +
  145 + jQuery(".institution_container").append(user_institutions);
  146 + }
  147 + });
  148 + }
  149 +
  150 + function add_new_institution(evt) {
  151 + evt.preventDefault();
  152 + var institution_input_field = jQuery(".institution_container .input_institution").first().clone();
  153 +
  154 + institution_input_field.val("");
  155 +
  156 + jQuery(".institution_container").append(institution_input_field);
  157 + institution_autocomplete();
  158 + }
  159 +
116 160 function set_events() {
117 161 jQuery("#create_institution_link").click(open_create_institution_modal);
118 162  
... ... @@ -123,7 +167,16 @@
123 167 jQuery('#save_institution_button').click(save_institution);
124 168  
125 169 jQuery("#community_name").keyup(institution_already_exists);
  170 +
  171 + jQuery(".add_new_institution").click(add_new_institution);
  172 +
  173 + institution_autocomplete();
  174 +
  175 + jQuery(".input_institution").blur(function(){
  176 + if( this.value == "" )
  177 + jQuery("#user_institution_id").val("");
  178 + });
126 179 }
127 180  
128 181 jQuery(document).ready(set_events);
129   -})();
130 182 \ No newline at end of file
  183 +})();
... ...
public/mpog-user-validations.js
... ... @@ -42,36 +42,6 @@ function validate_email_format(){
42 42 this.className = "";
43 43 }
44 44  
45   -function institution_autocomplete() {
46   - jQuery("#input_institution").autocomplete({
47   - source : function(request, response){
48   - jQuery.ajax({
49   - type: "GET",
50   - url: "/plugin/mpog_software/get_institutions",
51   - data: {query: request.term},
52   - success: function(result){
53   - response(result);
54   -
55   - if( result.length == 0 ) {
56   - jQuery('#institution_empty_ajax_message').switchClass("hide-field", "show-field");
57   - } else {
58   - jQuery('#institution_empty_ajax_message').switchClass("show-field", "hide-field");
59   - }
60   - },
61   - error: function(ajax, stat, errorThrown) {
62   - console.log('Link not found : ' + errorThrown);
63   - }
64   - });
65   - },
66   -
67   - minLength: 2,
68   -
69   - select : function (event, selected) {
70   - jQuery("#user_institution_id").val(selected.item.id);
71   - }
72   - });
73   -}
74   -
75 45  
76 46 jQuery(document).ready(function(){
77 47 jQuery('#secondary_email_field').blur(
... ... @@ -90,11 +60,4 @@ jQuery(document).ready(function(){
90 60  
91 61 jQuery('#area_interest_field').focus(function() { jQuery('#area-interest-balloon').fadeIn('slow'); });
92 62 jQuery('#area_interest_field').blur(function() { jQuery('#area-interest-balloon').fadeOut('slow'); });
93   -
94   - institution_autocomplete();
95   -
96   - jQuery("#input_institution").blur(function(){
97   - if( this.value == "" )
98   - jQuery("#user_institution_id").val("");
99   - });
100 63 });
... ...