Commit 3ae1972bfe091554dd0aa61bfe9e84c5322f59f6
Committed by
Parley
1 parent
f9f6d523
Exists in
master
and in
5 other branches
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>
Showing
3 changed files
with
60 additions
and
41 deletions
Show diff stats
lib/mpog_software_plugin.rb
@@ -41,13 +41,16 @@ class MpogSoftwarePlugin < Noosfero::Plugin | @@ -41,13 +41,16 @@ class MpogSoftwarePlugin < Noosfero::Plugin | ||
41 | content_tag(:div, | 41 | content_tag(:div, |
42 | labelled_form_field( | 42 | labelled_form_field( |
43 | _('Institution'), | 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 | content_tag( | 47 | content_tag( |
46 | :small, _('Fill with your institution') ,:class => 'signup-form', :id =>'institution-balloon' | 48 | :small, _('Fill with your institution') ,:class => 'signup-form', :id =>'institution-balloon' |
47 | ) + | 49 | ) + |
48 | content_tag(:div, _("The searched institution does not exist"), :id=>"institution_empty_ajax_message", :class=>"errorExplanation hide-field") + | 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 | content_tag(:div, "", :id=>"institution_dialog") | 54 | content_tag(:div, "", :id=>"institution_dialog") |
52 | ), | 55 | ), |
53 | :id => 'signup-institution' | 56 | :id => 'signup-institution' |
public/mpog-institution-validations.js
@@ -113,6 +113,50 @@ | @@ -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 | function set_events() { | 160 | function set_events() { |
117 | jQuery("#create_institution_link").click(open_create_institution_modal); | 161 | jQuery("#create_institution_link").click(open_create_institution_modal); |
118 | 162 | ||
@@ -123,7 +167,16 @@ | @@ -123,7 +167,16 @@ | ||
123 | jQuery('#save_institution_button').click(save_institution); | 167 | jQuery('#save_institution_button').click(save_institution); |
124 | 168 | ||
125 | jQuery("#community_name").keyup(institution_already_exists); | 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 | jQuery(document).ready(set_events); | 181 | jQuery(document).ready(set_events); |
129 | -})(); | ||
130 | \ No newline at end of file | 182 | \ No newline at end of file |
183 | +})(); |
public/mpog-user-validations.js
@@ -42,36 +42,6 @@ function validate_email_format(){ | @@ -42,36 +42,6 @@ function validate_email_format(){ | ||
42 | this.className = ""; | 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 | jQuery(document).ready(function(){ | 46 | jQuery(document).ready(function(){ |
77 | jQuery('#secondary_email_field').blur( | 47 | jQuery('#secondary_email_field').blur( |
@@ -90,11 +60,4 @@ jQuery(document).ready(function(){ | @@ -90,11 +60,4 @@ jQuery(document).ready(function(){ | ||
90 | 60 | ||
91 | jQuery('#area_interest_field').focus(function() { jQuery('#area-interest-balloon').fadeIn('slow'); }); | 61 | jQuery('#area_interest_field').focus(function() { jQuery('#area-interest-balloon').fadeIn('slow'); }); |
92 | jQuery('#area_interest_field').blur(function() { jQuery('#area-interest-balloon').fadeOut('slow'); }); | 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 | }); |