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,5 +18,25 @@ class ProfileEditorController < MyProfileController
18 end 18 end
19 end 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 end 41 end
22 42
app/views/profile_editor/disable.rhtml 0 → 100644
@@ -0,0 +1,11 @@ @@ -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 @@ @@ -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,6 +28,14 @@
28 28
29 <%= file_manager_button(_('Favorite Enterprises'), 'icons-app/favorites.png', :controller => 'favorite_enterprises') if profile.person? %> 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 <% end %> 39 <% end %>
32 40
33 <% if @profile.person? %> 41 <% if @profile.person? %>
public/images/icons-app/README
@@ -42,6 +42,7 @@ friends.png (modified version of users.png) Nuovo @@ -42,6 +42,7 @@ friends.png (modified version of users.png) Nuovo
42 gtk-folder.png Nuovo 42 gtk-folder.png Nuovo
43 epiphany-bookmarks.png dlg-neu 43 epiphany-bookmarks.png dlg-neu
44 mozilla-mail.png dlg-neu 44 mozilla-mail.png dlg-neu
  45 +gtk-cancel.png dlg-neu
45 ### END OF ICONS LISTING ### 46 ### END OF ICONS LISTING ###
46 47
47 Icons rasterization 48 Icons rasterization
public/images/icons-app/disable.png 0 → 120000
@@ -0,0 +1 @@ @@ -0,0 +1 @@
  1 +gtk-cancel.png
0 \ No newline at end of file 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,4 +360,52 @@ class ProfileEditorControllerTest &lt; Test::Unit::TestCase
360 assert_no_tag :tag => 'a', :attributes => { :href => '/myprofile/ze/mailconf' } 360 assert_no_tag :tag => 'a', :attributes => { :href => '/myprofile/ze/mailconf' }
361 end 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 end 411 end
test/test_helper.rb
@@ -42,7 +42,6 @@ class Test::Unit::TestCase @@ -42,7 +42,6 @@ class Test::Unit::TestCase
42 fixtures File.basename(item).sub(/\.yml$/, '').to_s 42 fixtures File.basename(item).sub(/\.yml$/, '').to_s
43 end 43 end
44 end 44 end
45 -# all_fixtures  
46 45
47 def self.should(name, &block) 46 def self.should(name, &block)
48 @shoulds ||= [] 47 @shoulds ||= []