Commit 9a5b65f2f16e47d32a49a978d2de2dd32cc2631c
1 parent
3fcd494a
Exists in
master
and in
29 other branches
ActionItem428: administrator interface to enable/disable enterprises
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2008 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
10 changed files
with
100 additions
and
1 deletions
Show diff stats
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 |
@@ -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 %> |
@@ -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 |
2.69 KB
3.15 KB
test/functional/profile_editor_controller_test.rb
@@ -360,4 +360,52 @@ class ProfileEditorControllerTest < Test::Unit::TestCase | @@ -360,4 +360,52 @@ class ProfileEditorControllerTest < 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 ||= [] |