Commit 7aab108a3f977b17a595fb8eb91316a4efa353c6

Authored by Tallys Martins
1 parent dfed6005

Refactoring work assignment plugin

Changed privacy edition box to open on a new page.
Fixed cancel buttom to redirect to back page.

    Signed-off-by: Tallys Martins <tallysmartins@gmail.com>
    Signed-off-by: Álvaro Fernando <alvarofernandoms@gmail.com>
    Signed-off-by: Eduardo Vital <vitaldu@gmail.com>
app/controllers/my_profile/cms_controller.rb
@@ -34,8 +34,7 @@ class CmsController &lt; MyProfileController @@ -34,8 +34,7 @@ class CmsController &lt; MyProfileController
34 false 34 false
35 end 35 end
36 36
37 - action_list = [:suggest_an_article, :set_home_page, :edit, :destroy, :publish, :upload_files, :new]  
38 - protect_if :except => action_list do |c, user, profile| 37 + protect_if :except => [:suggest_an_article, :set_home_page, :edit, :destroy, :publish, :upload_files, :new] do |c, user, profile|
39 add_as_exception?(c.action_name) || user && (user.has_permission?('post_content', profile) || user.has_permission?('publish_content', profile)) 38 add_as_exception?(c.action_name) || user && (user.has_permission?('post_content', profile) || user.has_permission?('publish_content', profile))
40 end 39 end
41 40
plugins/work_assignment/lib/ext/cms_controller.rb
@@ -8,19 +8,21 @@ protect_if :only =&gt; :edit_visibility do |c,user,profile| @@ -8,19 +8,21 @@ protect_if :only =&gt; :edit_visibility do |c,user,profile|
8 end 8 end
9 9
10 def edit_visibility 10 def edit_visibility
11 - @folder = profile.articles.find(params[:article_id])  
12 - @back_to = url_for(@folder.parent.url)  
13 - if request.post?  
14 - @folder.published = params[:article][:published]  
15 - unless params[:q].nil?  
16 - @folder.article_privacy_exceptions = params[:q].split(/,/).map{|n| environment.people.find n.to_i}  
17 - @folder.children.each do |c|  
18 - c.article_privacy_exceptions = params[:q].split(/,/).map{|n| environment.people.find n.to_i}  
19 - c.save! 11 + unless params[:article_id].blank?
  12 + @folder = profile.articles.find(params[:article_id])
  13 + @back_to = url_for(@folder.parent.url)
  14 + unless params[:article].blank?
  15 + @folder.published = params[:article][:published]
  16 + unless params[:q].nil?
  17 + @folder.article_privacy_exceptions = params[:q].split(/,/).map{|n| environment.people.find n.to_i}
  18 + @folder.children.each do |c|
  19 + c.article_privacy_exceptions = params[:q].split(/,/).map{|n| environment.people.find n.to_i}
  20 + c.save!
  21 + end
20 end 22 end
  23 + @folder.save!
  24 + redirect_to @back_to
21 end 25 end
22 - @folder.save!  
23 - redirect_to @back_to  
24 end 26 end
25 end 27 end
26 28
plugins/work_assignment/lib/work_assignment_plugin/helper.rb
@@ -68,7 +68,7 @@ module WorkAssignmentPlugin::Helper @@ -68,7 +68,7 @@ module WorkAssignmentPlugin::Helper
68 68
69 def display_delete_button(article) 69 def display_delete_button(article)
70 expirable_button article, :delete, _('Delete'), 70 expirable_button article, :delete, _('Delete'),
71 - {:controller =>'cms', :action => 'destroy', :id => article.id }, 71 + {:controller =>'cms', :action => 'destroy', :id => article.id },
72 :method => :post, :confirm => delete_article_message(article) 72 :method => :post, :confirm => delete_article_message(article)
73 end 73 end
74 74
@@ -76,15 +76,17 @@ module WorkAssignmentPlugin::Helper @@ -76,15 +76,17 @@ module WorkAssignmentPlugin::Helper
76 if author_folder 76 if author_folder
77 @folder = environment.articles.find_by_id(author_folder.id) 77 @folder = environment.articles.find_by_id(author_folder.id)
78 work_assignment = @folder.parent 78 work_assignment = @folder.parent
  79 + @back_to = url_for(@folder.parent.url)
  80 + if(user && work_assignment.allow_privacy_edition &&
  81 + (author_folder.author_id == user.id || user.has_permission?('view_private_content', work_assignment.profile)))
79 82
80 - if(user && work_assignment.allow_privacy_edition && (author_folder.author_id == user.id || user.has_permission?('view_private_content', work_assignment.profile)))  
81 @tokenized_children = prepare_to_token_input( 83 @tokenized_children = prepare_to_token_input(
82 profile.members.includes(:articles_with_access).find_all{ |m| 84 profile.members.includes(:articles_with_access).find_all{ |m|
83 m.articles_with_access.include?(@folder) 85 m.articles_with_access.include?(@folder)
84 - }  
85 - )  
86 - colorbox_button :edit, _('Edit'), { :controller => 'cms',  
87 - :action => 'edit_visibility', :article_id => @folder.id, :tokenized_children => @tokenized_children} 86 + })
  87 + button :edit, _('Edit'), { :controller => 'cms',
  88 + :action => 'edit_visibility', :article_id => @folder.id,
  89 + :tokenized_children => @tokenized_children, :back_to => @back_to}, :method => :post
88 end 90 end
89 end 91 end
90 end 92 end
plugins/work_assignment/views/cms/edit_visibility.html.erb
1 -<!-- <div class='<%= (environment.enabled?('media_panel') ? 'with_media_panel' : 'no_media_panel') %>'> -->  
2 <div class="select-privacy-options"> 1 <div class="select-privacy-options">
3 <%= labelled_form_for 'article', :html => { :multipart => true, :class => @type } do |f| %> 2 <%= labelled_form_for 'article', :html => { :multipart => true, :class => @type } do |f| %>
4 3
@@ -14,7 +13,7 @@ @@ -14,7 +13,7 @@
14 13
15 <% button_bar do %> 14 <% button_bar do %>
16 <%= submit_button :save, _('Save') %> 15 <%= submit_button :save, _('Save') %>
17 - <%= colorbox_close_button(_('Cancel')) %> 16 + <%= button :cancel, _('Cancel'), @back_to %>
18 <% end %> 17 <% end %>
19 <% end %> 18 <% end %>
20 </div> 19 </div>