Commit d9861a6912319e96d5542228a9df42f8e79956be
1 parent
5d1a3c2d
Exists in
master
and in
29 other branches
ActionItem5: linked the functionlity of managing members of profiles and editing the enterprise info
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@566 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
9 changed files
with
25 additions
and
12 deletions
Show diff stats
app/controllers/application.rb
| @@ -57,9 +57,9 @@ class ApplicationController < ActionController::Base | @@ -57,9 +57,9 @@ class ApplicationController < ActionController::Base | ||
| 57 | # * +permission+ must be a symbol or string naming the needed permission. | 57 | # * +permission+ must be a symbol or string naming the needed permission. |
| 58 | # * +target+ is the object over witch the user would need the specified permission. | 58 | # * +target+ is the object over witch the user would need the specified permission. |
| 59 | def self.protect(actions, permission, target = nil) | 59 | def self.protect(actions, permission, target = nil) |
| 60 | - before_filter :only => actions do |controller| | ||
| 61 | - unless controller.send(:logged_in?) and controller.send(:current_user).person.has_permission?(permission, target) | ||
| 62 | - controller.send(:render, {:file => 'app/views/shared/access_denied.rhtml', :layout => true}) | 60 | + before_filter :only => actions do |c| |
| 61 | + unless c.send(:logged_in?) && c.send(:current_user).person.has_permission?(permission.to_s, c.send(target)) | ||
| 62 | + c.send(:render, {:file => 'app/views/shared/access_denied.rhtml', :layout => true}) | ||
| 63 | end | 63 | end |
| 64 | end | 64 | end |
| 65 | end | 65 | end |
app/controllers/profile_admin/enterprise_editor_controller.rb
| 1 | class EnterpriseEditorController < ProfileAdminController | 1 | class EnterpriseEditorController < ProfileAdminController |
| 2 | 2 | ||
| 3 | before_filter :logon, :check_enterprise | 3 | before_filter :logon, :check_enterprise |
| 4 | - | 4 | + protect [:edit, :update], :edit_profile, :profile |
| 5 | + protect [:destroy], :destroy_profile, @profile | ||
| 6 | + | ||
| 7 | + | ||
| 5 | # Show details about an enterprise | 8 | # Show details about an enterprise |
| 6 | def index | 9 | def index |
| 7 | @enterprise = @profile | 10 | @enterprise = @profile |
app/models/enterprise.rb
| @@ -8,11 +8,11 @@ class Enterprise < Organization | @@ -8,11 +8,11 @@ class Enterprise < Organization | ||
| 8 | end | 8 | end |
| 9 | 9 | ||
| 10 | # Test that an enterprise can't be activated unless was previously approved | 10 | # Test that an enterprise can't be activated unless was previously approved |
| 11 | - def validate | ||
| 12 | - if self.active && !self.approved? | ||
| 13 | - errors.add('active', _('Not approved enterprise can\'t be activated')) | ||
| 14 | - end | ||
| 15 | - end | 11 | +# def validate |
| 12 | +# if self.active && !self.approved? | ||
| 13 | +# errors.add('active', _('Not approved enterprise can\'t be activated')) | ||
| 14 | +# end | ||
| 15 | +# end | ||
| 16 | 16 | ||
| 17 | # Activate the enterprise so it can be seen by other users | 17 | # Activate the enterprise so it can be seen by other users |
| 18 | def activate | 18 | def activate |
app/models/profile.rb
| @@ -50,6 +50,7 @@ class Profile < ActiveRecord::Base | @@ -50,6 +50,7 @@ class Profile < ActiveRecord::Base | ||
| 50 | validates_presence_of :identifier, :name | 50 | validates_presence_of :identifier, :name |
| 51 | validates_format_of :identifier, :with => IDENTIFIER_FORMAT | 51 | validates_format_of :identifier, :with => IDENTIFIER_FORMAT |
| 52 | validates_exclusion_of :identifier, :in => RESERVED_IDENTIFIERS | 52 | validates_exclusion_of :identifier, :in => RESERVED_IDENTIFIERS |
| 53 | + validates_uniqueness_of :identifier | ||
| 53 | 54 | ||
| 54 | # A profile_owner cannot have more than one profile, but many profiles can exist | 55 | # A profile_owner cannot have more than one profile, but many profiles can exist |
| 55 | # without being associated to a particular user. | 56 | # without being associated to a particular user. |
app/models/role.rb
| @@ -6,7 +6,6 @@ class Role < ActiveRecord::Base | @@ -6,7 +6,6 @@ class Role < ActiveRecord::Base | ||
| 6 | 'destroy_profile' => N_('Destroy profile'), | 6 | 'destroy_profile' => N_('Destroy profile'), |
| 7 | 'manage_memberships' => N_('Manage memberships'), | 7 | 'manage_memberships' => N_('Manage memberships'), |
| 8 | 'post_content' => N_('Post content'), | 8 | 'post_content' => N_('Post content'), |
| 9 | - 'moderate_content' => N_('Moderate content'), | ||
| 10 | }, | 9 | }, |
| 11 | :system => { | 10 | :system => { |
| 12 | } | 11 | } |
app/views/enterprise_editor/index.rhtml
| 1 | <h3> <%= @profile.name %> </h3> | 1 | <h3> <%= @profile.name %> </h3> |
| 2 | 2 | ||
| 3 | +<%= error_messages_for 'profile' %> | ||
| 4 | + | ||
| 3 | <p> <%= _('Identifier: ') %> <%= @profile.identifier %> </p> | 5 | <p> <%= _('Identifier: ') %> <%= @profile.identifier %> </p> |
| 4 | <p> <%= _('Address: ') %> <%= @profile.address %> </p> | 6 | <p> <%= _('Address: ') %> <%= @profile.address %> </p> |
| 5 | <p> <%= _('Contact phone: ') %> <%= @profile.contact_phone %> </p> | 7 | <p> <%= _('Contact phone: ') %> <%= @profile.contact_phone %> </p> |
| @@ -17,3 +19,5 @@ | @@ -17,3 +19,5 @@ | ||
| 17 | <%= help _('Remove the enterprise from the system') %> | 19 | <%= help _('Remove the enterprise from the system') %> |
| 18 | <%= link_to _('Activate'), :action => 'activate', :id => @profile unless @profile.active? %> | 20 | <%= link_to _('Activate'), :action => 'activate', :id => @profile unless @profile.active? %> |
| 19 | <%= help _('Activate an approved enterprise') unless @profile.active? %> | 21 | <%= help _('Activate an approved enterprise') unless @profile.active? %> |
| 22 | + | ||
| 23 | +<%= link_to _('Back'), :controller => :profile_editor %> |
app/views/membership_editor/index.rhtml
| @@ -2,7 +2,10 @@ | @@ -2,7 +2,10 @@ | ||
| 2 | 2 | ||
| 3 | <ul> | 3 | <ul> |
| 4 | <% @memberships.each do |m|%> | 4 | <% @memberships.each do |m|%> |
| 5 | - <li> <%= link_to m.name, '/' + m.identifier %> </li> | 5 | + <li> |
| 6 | + <%= link_to m.name, '/' + m.identifier %> | ||
| 7 | + <%= link_to _('Manage') , '/myprofile/' + m.identifier %> | ||
| 8 | + </li> | ||
| 6 | <% end %> | 9 | <% end %> |
| 7 | </ul> | 10 | </ul> |
| 8 | 11 |
app/views/profile_members/index.rhtml
test/fixtures/roles.yml
| @@ -8,6 +8,8 @@ two: | @@ -8,6 +8,8 @@ two: | ||
| 8 | id: 2 | 8 | id: 2 |
| 9 | name: 'owner' | 9 | name: 'owner' |
| 10 | permissions: | 10 | permissions: |
| 11 | + - menage_memberships | ||
| 12 | + - post_content | ||
| 11 | - destroy_profile | 13 | - destroy_profile |
| 12 | - edit_profile | 14 | - edit_profile |
| 13 | three: | 15 | three: |
| @@ -15,4 +17,3 @@ three: | @@ -15,4 +17,3 @@ three: | ||
| 15 | name: 'moderator' | 17 | name: 'moderator' |
| 16 | permissions: | 18 | permissions: |
| 17 | - manage_memberships | 19 | - manage_memberships |
| 18 | - - moderate_content |