diff --git a/app/assets/stylesheets/mixins.scss b/app/assets/stylesheets/mixins.scss index 58de36b74..89f962eeb 100644 --- a/app/assets/stylesheets/mixins.scss +++ b/app/assets/stylesheets/mixins.scss @@ -32,7 +32,7 @@ } -@mixin upload-image-documents { +@mixin direct-uploads { .cached-image { max-width: 150px; diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss index ac2913f33..5973a89ec 100644 --- a/app/assets/stylesheets/participation.scss +++ b/app/assets/stylesheets/participation.scss @@ -321,7 +321,7 @@ .document-form, .new_poll_question, .edit_poll_question { - @include upload-image-documents; + @include direct-uploads; } diff --git a/app/helpers/documentables_helper.rb b/app/helpers/documentables_helper.rb index 8d9f85578..b95ea80c6 100644 --- a/app/helpers/documentables_helper.rb +++ b/app/helpers/documentables_helper.rb @@ -1,5 +1,9 @@ module DocumentablesHelper + def can_create_document?(documentable) + can?(:create, Document.new(documentable: documentable)) && documentable.documents.size < documentable.class.max_documents_allowed + end + def documentable_class(documentable) documentable.class.name.parameterize('_') end diff --git a/app/helpers/imageables_helper.rb b/app/helpers/imageables_helper.rb index c075baab6..e45302792 100644 --- a/app/helpers/imageables_helper.rb +++ b/app/helpers/imageables_helper.rb @@ -1,5 +1,13 @@ module ImageablesHelper + def can_create_image?(imageable) + can?(:create, Image.new(imageable: imageable)) + end + + def can_destroy_image?(imageable) + imageable.image.present? && can?(:destroy, imageable.image) + end + def imageable_class(imageable) imageable.class.name.parameterize('_') end diff --git a/app/helpers/proposals_helper.rb b/app/helpers/proposals_helper.rb index 51d056349..77382253d 100644 --- a/app/helpers/proposals_helper.rb +++ b/app/helpers/proposals_helper.rb @@ -32,14 +32,6 @@ module ProposalsHelper Proposal::RETIRE_OPTIONS.collect { |option| [ t("proposals.retire_options.#{option}"), option ] } end - def can_create_document?(document, proposal) - can?(:create, document) && proposal.documents.size < Proposal.max_documents_allowed - end - - def can_destroy_image?(image, proposal) - proposal.image.present? && can?(:destroy, image) - end - def author_of_proposal?(proposal) author_of?(proposal, current_user) end diff --git a/app/views/budgets/investments/_investment_show.html.erb b/app/views/budgets/investments/_investment_show.html.erb index 307398f2e..2e9e24b4f 100644 --- a/app/views/budgets/investments/_investment_show.html.erb +++ b/app/views/budgets/investments/_investment_show.html.erb @@ -4,21 +4,21 @@
<%= back_link_to budget_investments_path(investment.budget, heading_id: investment.heading) %> - <% if can?(:create, @document) && investment.documents.size < Budget::Investment.max_documents_allowed %> + <% if can_create_document?(investment) %> <%= link_to t("documents.upload_document"), new_document_path(documentable_id:investment, documentable_type: investment.class.name, from: request.url), class: 'button hollow float-right' %> <% end %> - <% if can?(:create, @image) %> + <% if can_create_image?(investment) %> <%= link_to t("images.upload_image"), new_image_path(imageable_id:investment, imageable_type: investment.class.name, from: request.url), class: 'button hollow float-right' %> <% end %> - <% if @investment.image.present? && can?(:destroy, @investment.image) %> + <% if can_destroy_image?(investment) %> <%= link_to t("images.remove_image"), - image_path(@investment.image, from: request.url), + image_path(investment.image, from: request.url), method: :delete, class: 'button hollow float-right' %> <% end %> diff --git a/app/views/proposals/show.html.erb b/app/views/proposals/show.html.erb index 1c07c87d4..ee7ca6f45 100644 --- a/app/views/proposals/show.html.erb +++ b/app/views/proposals/show.html.erb @@ -108,12 +108,12 @@