From 9f4525053fe2a85e8c8fce72e40486d299cefd7c Mon Sep 17 00:00:00 2001 From: Giovanne Marcelo <gms15@inf.ufpr.br> Date: Wed, 17 Feb 2016 22:44:45 -0200 Subject: [PATCH] Suspending an object --- app/controllers/management/complaints_controller.rb | 10 +++++++++- app/models/concerns/stateful.rb | 10 +++++++++- app/views/management/complaints/index.html.erb | 4 +++- .../management/statistics/learning_objects.html.erb | 2 +- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/app/controllers/management/complaints_controller.rb b/app/controllers/management/complaints_controller.rb index 52ad6a8b3..0f62e0a5d 100644 --- a/app/controllers/management/complaints_controller.rb +++ b/app/controllers/management/complaints_controller.rb @@ -1,7 +1,6 @@ class Management::ComplaintsController < ManagementController include RepositoriesProxy before_action :set_complaint, only: :destroy - def index @complaints = Complaint.all @@ -26,6 +25,15 @@ class Management::ComplaintsController < ManagementController @complaints_objs = @complaints_in_period.uniq{|x| x.complaintable.name}.size end + def suspend_object + @learning_object = LearningObject.find (params[:object_id]) + @learning_object.update(state: 'suspended') + + respond_to do |format| + format.html { redirect_to :back, notice: 'Objeto suspenso com sucesso.' } + end + + end def destroy Complaint.destroy @complaint diff --git a/app/models/concerns/stateful.rb b/app/models/concerns/stateful.rb index b0e24aa10..65b899ecf 100644 --- a/app/models/concerns/stateful.rb +++ b/app/models/concerns/stateful.rb @@ -17,4 +17,12 @@ module Stateful @state = 'published' end -end \ No newline at end of file + def suspend + @state = 'suspended' + end + + def is_suspended? + 'suspended' == @state + end + +end diff --git a/app/views/management/complaints/index.html.erb b/app/views/management/complaints/index.html.erb index 23a286e54..320a2a859 100644 --- a/app/views/management/complaints/index.html.erb +++ b/app/views/management/complaints/index.html.erb @@ -103,7 +103,9 @@ <div data-ls-module="dropdown" class="ls-dropdown ls-pos-right"> <a href="#" class="ls-btn-primary" aria-expanded="false" role="combobox">Administrar</a> <ul class="ls-dropdown-nav" aria-hidden="true"> - <li><a href="#" role="option" title="Funcionalidade em desenvolvimento!">Suspender conteúdo</a></li> + <li> + <%= link_to 'Suspender Objeto', management_complaint_suspend_object_path(complaint_id: complaint.id, object_id: complaint.complaintable_id), {method: :post, data: {confirm: 'Tem certeza que deseja suspender este objeto?'}, title: 'Suspender Objeto', class: 'ls-btn ls-btn-sm', role: 'option'} %> + </li> <li> <% @complaints.select{ |x| x.complaintable.name == complaint.complaintable.name }.each do |complaint_ignore| %> <%= link_to 'Ignorar denúncia', management_complaint_path(id: complaint_ignore.id), {method: :delete, data: {confirm: 'Tem certeza que deseja ignorar esta denúncia?'}, title: 'Ignorar denúncia', class: 'ls-btn ls-btn-sm', role: 'option'} %> diff --git a/app/views/management/statistics/learning_objects.html.erb b/app/views/management/statistics/learning_objects.html.erb index 2b6f9d195..81a70f378 100644 --- a/app/views/management/statistics/learning_objects.html.erb +++ b/app/views/management/statistics/learning_objects.html.erb @@ -52,7 +52,7 @@ </div> <div style="margin-left: 900px"> - <h3><th><b> 10 mais visualisados </b></th></h3><br> + <h3><th><b> 10 mais visualizados </b></th></h3><br> <div class="row learning-object-columns"> <% @most_visualised.first(10).each do |most| %> <%#= render_learning_object("vertical", most) %> -- GitLab