Commit 9a5b65f2f16e47d32a49a978d2de2dd32cc2631c

Authored by JoenioCosta
1 parent 3fcd494a

ActionItem428: administrator interface to enable/disable enterprises


git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2008 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/controllers/my_profile/profile_editor_controller.rb
... ... @@ -18,5 +18,25 @@ class ProfileEditorController < MyProfileController
18 18 end
19 19 end
20 20  
  21 + def enable
  22 + @to_enable = profile
  23 + if request.post? && params[:confirmation]
  24 + unless @to_enable.update_attribute('enabled', true)
  25 + flash[:notice] = _('%s was not enabled.') % @to_enable.name
  26 + end
  27 + redirect_to :action => 'index'
  28 + end
  29 + end
  30 +
  31 + def disable
  32 + @to_disable = profile
  33 + if request.post? && params[:confirmation]
  34 + unless @to_disable.update_attribute('enabled', false)
  35 + flash[:notice] = _('%s was not disabled.') % @to_disable.name
  36 + end
  37 + redirect_to :action => 'index'
  38 + end
  39 + end
  40 +
21 41 end
22 42  
... ...
app/views/profile_editor/disable.rhtml 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +<h1><%= _("Disabling '%s' enterprise") % @to_disable.name %></h1>
  2 +
  3 +<p>
  4 +<%= _('Are you sure you want to disable %s?') % @to_disable.name %>
  5 +</p>
  6 +
  7 +<% form_tag do %>
  8 + <%= hidden_field_tag(:confirmation, 1) %>
  9 + <%= submit_button(:ok, _("Yes, I want to disable.")) %>
  10 + <%= button(:cancel, _("No, I don't want."), :action => 'index') %>
  11 +<% end %>
... ...
app/views/profile_editor/enable.rhtml 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +<h1><%= _("Enabling '%s' enterprise") % @to_enable.name %></h1>
  2 +
  3 +<p>
  4 +<%= _('Are you sure you want to enable %s?') % @to_enable.name %>
  5 +</p>
  6 +
  7 +<% form_tag do %>
  8 + <%= hidden_field_tag(:confirmation, 1) %>
  9 + <%= submit_button(:ok, _("Yes, I want to enable.")) %>
  10 + <%= button(:cancel, _("No, I don't want."), :action => 'index') %>
  11 +<% end %>
... ...
app/views/profile_editor/index.rhtml
... ... @@ -28,6 +28,14 @@
28 28  
29 29 <%= file_manager_button(_('Favorite Enterprises'), 'icons-app/favorites.png', :controller => 'favorite_enterprises') if profile.person? %>
30 30  
  31 + <% if profile.enterprise? %>
  32 + <% if profile.enabled? %>
  33 + <%= file_manager_button(_('Disable Enterprise'), 'icons-app/disable.png', :action => 'disable') %>
  34 + <% else %>
  35 + <%= file_manager_button(_('Enable Enterprise'), 'icons-app/enable.png', :action => 'enable') %>
  36 + <% end %>
  37 + <% end %>
  38 +
31 39 <% end %>
32 40  
33 41 <% if @profile.person? %>
... ...
public/images/icons-app/README
... ... @@ -42,6 +42,7 @@ friends.png (modified version of users.png) Nuovo
42 42 gtk-folder.png Nuovo
43 43 epiphany-bookmarks.png dlg-neu
44 44 mozilla-mail.png dlg-neu
  45 +gtk-cancel.png dlg-neu
45 46 ### END OF ICONS LISTING ###
46 47  
47 48 Icons rasterization
... ...
public/images/icons-app/disable.png 0 → 120000
... ... @@ -0,0 +1 @@
  1 +gtk-cancel.png
0 2 \ No newline at end of file
... ...
public/images/icons-app/enable.png 0 → 100644

2.69 KB

public/images/icons-app/gtk-cancel.png 0 → 100644

3.15 KB

test/functional/profile_editor_controller_test.rb
... ... @@ -360,4 +360,52 @@ class ProfileEditorControllerTest &lt; Test::Unit::TestCase
360 360 assert_no_tag :tag => 'a', :attributes => { :href => '/myprofile/ze/mailconf' }
361 361 end
362 362  
  363 + should 'link to enable enterprise' do
  364 + ent = Enterprise.create!(:name => 'test org', :identifier => 'testent', :enabled => false)
  365 + get :index, :profile => 'testent'
  366 + assert_tag :tag => 'a', :attributes => { :href => '/myprofile/testent/profile_editor/enable' }
  367 + end
  368 +
  369 + should 'link to disable enterprise' do
  370 + ent = Enterprise.create!(:name => 'test org', :identifier => 'testent', :enabled => true)
  371 + get :index, :profile => 'testent'
  372 + assert_tag :tag => 'a', :attributes => { :href => '/myprofile/testent/profile_editor/disable' }
  373 + end
  374 +
  375 + should 'not link to enable/disable for non enterprises' do
  376 + ent = Organization.create!(:name => 'test org', :identifier => 'testorg', :enabled => true)
  377 + get :index, :profile => 'testorg'
  378 + assert_no_tag :tag => 'a', :attributes => { :href => '/myprofile/testorg/profile_editor/disable' }
  379 + end
  380 +
  381 + should 'request enable enterprise confirmation' do
  382 + ent = Enterprise.create!(:name => 'test org', :identifier => 'testent', :enabled => false)
  383 + get :enable, :profile => 'testent'
  384 + assert_tag :tag => 'form', :attributes => { :action => '/myprofile/testent/profile_editor/enable', :method => 'post' }
  385 + end
  386 +
  387 + should 'enable enterprise after confirmation' do
  388 + ent = Enterprise.create!(:name => 'test org', :identifier => 'testent', :enabled => false)
  389 + post :enable, :profile => 'testent', :confirmation => 1
  390 + assert assigns(:to_enable).enabled?
  391 + end
  392 +
  393 + should 'not enable enterprise without confirmation' do
  394 + ent = Enterprise.create!(:name => 'test org', :identifier => 'testent', :enabled => false)
  395 + post :enable, :profile => 'testent'
  396 + assert !assigns(:to_enable).enabled?
  397 + end
  398 +
  399 + should 'disable enterprise after confirmation' do
  400 + ent = Enterprise.create!(:name => 'test org', :identifier => 'testent', :enabled => true)
  401 + post :disable, :profile => 'testent', :confirmation => 1
  402 + assert !assigns(:to_disable).enabled?
  403 + end
  404 +
  405 + should 'not disable enterprise without confirmation' do
  406 + ent = Enterprise.create!(:name => 'test org', :identifier => 'testent', :enabled => true)
  407 + post :disable, :profile => 'testent'
  408 + assert assigns(:to_disable).enabled?
  409 + end
  410 +
363 411 end
... ...
test/test_helper.rb
... ... @@ -42,7 +42,6 @@ class Test::Unit::TestCase
42 42 fixtures File.basename(item).sub(/\.yml$/, '').to_s
43 43 end
44 44 end
45   -# all_fixtures
46 45  
47 46 def self.should(name, &block)
48 47 @shoulds ||= []
... ...