Commit efb69e9805153e52c27119580ce0c87d109f8848
Committed by
Luciano Prestes
1 parent
99de90c2
Exists in
merge_deactive_and_ban
deactive_and_active_profile: Change to manage only organizations profiles status
(ActionItem3287) Signed-off-by: Arthur Del Esposte <arthurmde@gmail.com> Signed-off-by: Parley Martins <parley@outlook.com>
Showing
7 changed files
with
86 additions
and
70 deletions
Show diff stats
app/controllers/admin/admin_panel_controller.rb
| @@ -72,10 +72,10 @@ class AdminPanelController < AdminController | @@ -72,10 +72,10 @@ class AdminPanelController < AdminController | ||
| 72 | end | 72 | end |
| 73 | end | 73 | end |
| 74 | 74 | ||
| 75 | - def manage_profile_status | ||
| 76 | - scope = environment.profiles | 75 | + def manage_organizations_status |
| 76 | + scope = environment.organizations | ||
| 77 | @filter = params[:filter] || 'any' | 77 | @filter = params[:filter] || 'any' |
| 78 | - @title = "All profiles" | 78 | + @title = "Organization profiles" |
| 79 | @title = @title+" - "+@filter if @filter != 'any' | 79 | @title = @title+" - "+@filter if @filter != 'any' |
| 80 | 80 | ||
| 81 | if @filter == 'enabled' | 81 | if @filter == 'enabled' |
| @@ -87,6 +87,6 @@ class AdminPanelController < AdminController | @@ -87,6 +87,6 @@ class AdminPanelController < AdminController | ||
| 87 | scope = scope.order('name ASC') | 87 | scope = scope.order('name ASC') |
| 88 | 88 | ||
| 89 | @q = params[:q] | 89 | @q = params[:q] |
| 90 | - @collection = find_by_contents(:people, scope, @q, {:per_page => 10, :page => params[:npage]})[:results] | 90 | + @collection = find_by_contents(:organizations, scope, @q, {:per_page => 10, :page => params[:npage]})[:results] |
| 91 | end | 91 | end |
| 92 | end | 92 | end |
app/models/enterprise.rb
| @@ -107,7 +107,12 @@ class Enterprise < Organization | @@ -107,7 +107,12 @@ class Enterprise < Organization | ||
| 107 | self.tasks.where(:type => 'EnterpriseActivation').first | 107 | self.tasks.where(:type => 'EnterpriseActivation').first |
| 108 | end | 108 | end |
| 109 | 109 | ||
| 110 | - def enable(owner) | 110 | + def enable(owner = nil) |
| 111 | + if owner.nil? | ||
| 112 | + self.visible = true | ||
| 113 | + return self.save | ||
| 114 | + end | ||
| 115 | + | ||
| 111 | return if enabled | 116 | return if enabled |
| 112 | # must be set first for the following to work | 117 | # must be set first for the following to work |
| 113 | self.enabled = true | 118 | self.enabled = true |
app/models/profile.rb
app/views/admin_panel/index.html.erb
| @@ -20,7 +20,7 @@ | @@ -20,7 +20,7 @@ | ||
| 20 | <tr><td><%= link_to _('Users'), :controller => 'users' %></td></tr> | 20 | <tr><td><%= link_to _('Users'), :controller => 'users' %></td></tr> |
| 21 | <tr><td><%= link_to _('Profile templates'), :controller => 'templates' %></td></tr> | 21 | <tr><td><%= link_to _('Profile templates'), :controller => 'templates' %></td></tr> |
| 22 | <tr><td><%= link_to _('Fields'), :controller => 'features', :action => 'manage_fields' %></td></tr> | 22 | <tr><td><%= link_to _('Fields'), :controller => 'features', :action => 'manage_fields' %></td></tr> |
| 23 | - <tr><td><%= link_to _('Manage profiles status'), :action => 'manage_profile_status' %></td></tr> | 23 | + <tr><td><%= link_to _('Manage organizations status'), :action => 'manage_organizations_status' %></td></tr> |
| 24 | </table> | 24 | </table> |
| 25 | 25 | ||
| 26 | 26 |
app/views/admin_panel/manage_organizations_status.html.erb
0 → 100644
| @@ -0,0 +1,64 @@ | @@ -0,0 +1,64 @@ | ||
| 1 | +<h1><%= _('Manage organizations') %></h1> | ||
| 2 | + | ||
| 3 | +<%= form_tag( { :action => 'manage_organizations_status' }, :method => 'get', :class => 'users-search' ) do %> | ||
| 4 | + | ||
| 5 | + <div class="search-field"> | ||
| 6 | + <span class="formfield"> | ||
| 7 | + <%= text_field_tag 'q', @q, :title => _("Find profiles"), :style=>"width:85%" %> | ||
| 8 | + </span> | ||
| 9 | + | ||
| 10 | + <%= submit_button(:search, _('Search')) %> | ||
| 11 | + </div> | ||
| 12 | + | ||
| 13 | + <div class="environment-users-results-header"> | ||
| 14 | + <div id='environment-users-filter-title'><%= @title %></div> | ||
| 15 | + | ||
| 16 | + <div id="environment-users-filter-filter"> | ||
| 17 | + <strong><%= _("Filter by: ") %></strong> | ||
| 18 | + | ||
| 19 | + <select id="profile_filter_select"> | ||
| 20 | + <%= options_for_select([['Any', 'any'],["Disabled profiles", "disabled"], ["Enabled profiles", "enabled"]], @filter) %> | ||
| 21 | + </select> | ||
| 22 | + </div> | ||
| 23 | + <div style="clear: both"></div> | ||
| 24 | + </div> | ||
| 25 | + | ||
| 26 | + <table> | ||
| 27 | + <colgroup> | ||
| 28 | + <col width="80%"> | ||
| 29 | + <col width="20%"> | ||
| 30 | + </colgroup> | ||
| 31 | + | ||
| 32 | + <tr> | ||
| 33 | + <th><%= _('Member') %></th> | ||
| 34 | + <th><%= _('Actions') %></th> | ||
| 35 | + </tr> | ||
| 36 | + | ||
| 37 | + <% @collection.each do |p| %> | ||
| 38 | + <tr title="<%= p.name %>"> | ||
| 39 | + <td><%= link_to_profile p.short_name, p.identifier, :title => p.name %> </td> | ||
| 40 | + | ||
| 41 | + <td class='actions'> | ||
| 42 | + <div class="members-buttons-cell"> | ||
| 43 | + <% if p.visible %> | ||
| 44 | + <%= button_without_text :'deactivate-user', _('Deactivate'), {:controller=>"profile_editor", :action => 'deactivate_profile', :profile=>p.identifier, :id=>p.id}, :confirm => _("Do you want to deactivate this profile ?") %> | ||
| 45 | + <% else %> | ||
| 46 | + <%= button_without_text :'activate-user', _('Activate'), {:controller=>"profile_editor", :action => 'activate_profile', :profile=>p.identifier, :id=>p.id}, :confirm => _("Do you want to activate this profile ?") %> | ||
| 47 | + <% end %> | ||
| 48 | + </div> | ||
| 49 | + </td> | ||
| 50 | + </tr> | ||
| 51 | + <% end %> | ||
| 52 | + </table> | ||
| 53 | + | ||
| 54 | +<% end %> | ||
| 55 | + | ||
| 56 | +<%= pagination_links @collection, {:param_name => 'npage', :page_links => true} %> | ||
| 57 | + | ||
| 58 | +<script type="text/javascript"> | ||
| 59 | + jQuery(document).ready(function(){ | ||
| 60 | + jQuery("#profile_filter_select").change(function(){ | ||
| 61 | + document.location.href = '/admin/admin_panel/manage_organizations_status?filter='+this.value; | ||
| 62 | + }); | ||
| 63 | + }); | ||
| 64 | +</script> | ||
| 0 | \ No newline at end of file | 65 | \ No newline at end of file |
app/views/admin_panel/manage_profile_status.html.erb
| @@ -1,64 +0,0 @@ | @@ -1,64 +0,0 @@ | ||
| 1 | -<h1><%= _('Manage profiles') %></h1> | ||
| 2 | - | ||
| 3 | -<%= form_tag( { :action => 'manage_profile_status' }, :method => 'get', :class => 'users-search' ) do %> | ||
| 4 | - | ||
| 5 | - <div class="search-field"> | ||
| 6 | - <span class="formfield"> | ||
| 7 | - <%= text_field_tag 'q', @q, :title => _("Find profiles"), :style=>"width:85%" %> | ||
| 8 | - </span> | ||
| 9 | - | ||
| 10 | - <%= submit_button(:search, _('Search')) %> | ||
| 11 | - </div> | ||
| 12 | - | ||
| 13 | - <div class="environment-users-results-header"> | ||
| 14 | - <div id='environment-users-filter-title'><%= @title %></div> | ||
| 15 | - | ||
| 16 | - <div id="environment-users-filter-filter"> | ||
| 17 | - <strong><%= _("Filter by: ") %></strong> | ||
| 18 | - | ||
| 19 | - <select id="profile_filter_select"> | ||
| 20 | - <%= options_for_select([['Any', 'any'],["Disabled profiles", "disabled"], ["Enabled profiles", "enabled"]], @filter) %> | ||
| 21 | - </select> | ||
| 22 | - </div> | ||
| 23 | - <div style="clear: both"></div> | ||
| 24 | - </div> | ||
| 25 | - | ||
| 26 | - <table> | ||
| 27 | - <colgroup> | ||
| 28 | - <col width="80%"> | ||
| 29 | - <col width="20%"> | ||
| 30 | - </colgroup> | ||
| 31 | - | ||
| 32 | - <tr> | ||
| 33 | - <th><%= _('Member') %></th> | ||
| 34 | - <th><%= _('Actions') %></th> | ||
| 35 | - </tr> | ||
| 36 | - | ||
| 37 | - <% @collection.each do |p| %> | ||
| 38 | - <tr title="<%= p.name %>"> | ||
| 39 | - <td><%= link_to_profile p.short_name, p.identifier, :title => p.name %> </td> | ||
| 40 | - | ||
| 41 | - <td class='actions'> | ||
| 42 | - <div class="members-buttons-cell"> | ||
| 43 | - <% if p.visible %> | ||
| 44 | - <%= button_without_text :'deactivate-user', _('Deactivate'), {:controller=>"profile_editor", :action => 'deactivate_profile', :profile=>p.identifier, :id=>p.id}, :confirm => _("Do you want to deactivate this profile ?") %> | ||
| 45 | - <% else %> | ||
| 46 | - <%= button_without_text :'activate-user', _('Activate'), {:controller=>"profile_editor", :action => 'activate_profile', :profile=>p.identifier, :id=>p.id}, :confirm => _("Do you want to activate this profile ?") %> | ||
| 47 | - <% end %> | ||
| 48 | - </div> | ||
| 49 | - </td> | ||
| 50 | - </tr> | ||
| 51 | - <% end %> | ||
| 52 | - </table> | ||
| 53 | - | ||
| 54 | -<% end %> | ||
| 55 | - | ||
| 56 | -<%= pagination_links @collection, {:param_name => 'npage', :page_links => true} %> | ||
| 57 | - | ||
| 58 | -<script type="text/javascript"> | ||
| 59 | - jQuery(document).ready(function(){ | ||
| 60 | - jQuery("#profile_filter_select").change(function(){ | ||
| 61 | - document.location.href = '/admin/admin_panel/manage_profile_status?filter='+this.value; | ||
| 62 | - }); | ||
| 63 | - }); | ||
| 64 | -</script> | ||
| 65 | \ No newline at end of file | 0 | \ No newline at end of file |
test/unit/profile_test.rb
| @@ -1955,4 +1955,13 @@ class ProfileTest < ActiveSupport::TestCase | @@ -1955,4 +1955,13 @@ class ProfileTest < ActiveSupport::TestCase | ||
| 1955 | p = fast_create(Profile) | 1955 | p = fast_create(Profile) |
| 1956 | assert p.folder_types.include?('ProfileTest::Folder1') | 1956 | assert p.folder_types.include?('ProfileTest::Folder1') |
| 1957 | end | 1957 | end |
| 1958 | + | ||
| 1959 | + should 'enable profile visibility' do | ||
| 1960 | + profile = fast_create(Profile) | ||
| 1961 | + | ||
| 1962 | + assert profile.enable, _("Profile should have been enabled") | ||
| 1963 | + assert profile.visible, _("Profile should be visible") | ||
| 1964 | + profile.disable | ||
| 1965 | + assert !profile.visible, _("Profile should not be visible") | ||
| 1966 | + end | ||
| 1958 | end | 1967 | end |