[Git][noosfero/noosfero][master] 2 commits: profile-members: fix members filters

Rodrigo Souto gitlab at mg.gitlab.com
Tue Oct 15 09:30:26 BRT 2019



Rodrigo Souto pushed to branch master at Noosfero / noosfero


Commits:
65febbbc by Rodrigo Souto at 2019-10-15T00:41:11Z
profile-members: fix members filters

- - - - -
66f5326b by Rodrigo Souto at 2019-10-15T12:30:23Z
Merge branch 'members-filters' into 'master'

profile-members: fix members filters

See merge request noosfero/noosfero!1749
- - - - -


3 changed files:

- app/controllers/my_profile/profile_members_controller.rb
- app/views/profile_members/_members_filter.erb
- + app/views/profile_members/index.js.erb


Changes:

=====================================
app/controllers/my_profile/profile_members_controller.rb
=====================================
@@ -12,6 +12,11 @@ class ProfileMembersController < MyProfileController
     @data[:members] = profile.members_by(field, @filters[:name]).by_role(@filters[:roles])
     session[:members_filtered] = @data[:members].map { |m| m.id } if request.post?
     @data[:roles] = all_roles
+
+    respond_to do |f|
+      f.html
+      f.js
+    end
   end
 
   def send_mail
@@ -181,6 +186,6 @@ class ProfileMembersController < MyProfileController
 
     result = profile.members_like field, params[:filter_name]
     result = result.select { |member| member.public_fields.include?("email") } if field == "email"
-    render json: result.map { |member| { label: "#{member.name}#{member.can_view_field?(current_person, "email") ? " <#{member.email}>" : ""}", value: member.name } }
+    render json: result.map { |member| { label: "#{member.name} <#{member.email}>", value: member.name } }
   end
 end


=====================================
app/views/profile_members/_members_filter.erb
=====================================
@@ -1,18 +1,18 @@
-<%= form_tag '#', :method => 'post' do %>
+<%= form_tag({controller: 'profile_members', action: 'index'}, {:method => 'post', remote: true}) do %>
+  <%= field_set_tag _('Filter'), :class => 'filter_fields' do %>
+    <p>
+      <%= labelled_text_field(_('Name or Email')+': ', "filters[name]", @filters[:name], {:id => 'filter-name-autocomplete',:size => 30}) %>
+    </p>
 
-    <%= field_set_tag _('Filter'), :class => 'filter_fields' do %>
-        <p>
-          <%= labelled_text_field(_('Name or Email')+': ', "filters[name]", @filters[:name], {:id => 'filter-name-autocomplete',:size => 30}) %>
-        </p>
-
-        <p><%= _('Roles:') %> </p>
-        <% @data[:roles].each do |r| %>
-          <%= raw labelled_check_box(r.name, 'filters[roles][]', r.id, @filters[:roles].include?(r.id.to_s), :add_hidden => false) %><br/>
-        <% end %>
-        <p>
-          <%= submit_button(:search, _('Search')) %>
-        </p>
+    <p><%= _('Roles:') %></p>
+    <% @data[:roles].each do |r| %>
+      <%= raw labelled_check_box(r.name, 'filters[roles][]', r.id, @filters[:roles].include?(r.id.to_s), :add_hidden => false) %><br/>
     <% end %>
+
+    <p>
+      <%= submit_button(:search, _('Search')) %>
+    </p>
+  <% end %>
 <% end %>
 
-<%= javascript_include_tag params[:controller] %>
\ No newline at end of file
+<%= javascript_include_tag params[:controller] %>


=====================================
app/views/profile_members/index.js.erb
=====================================
@@ -0,0 +1,2 @@
+$('#members-list').html("<%= j (render partial: 'members_list') %>")
+



View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/c225095048976cb4dd1eac0874591bc3d262eb07...66f5326bc9566978fc4acb225262ff00952535fd

-- 
View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/c225095048976cb4dd1eac0874591bc3d262eb07...66f5326bc9566978fc4acb225262ff00952535fd
You're receiving this email because of your account on gitlab.com.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20191015/83ed446a/attachment-0001.html>


More information about the Noosfero-dev mailing list