Skip to content
Snippets Groups Projects
complaints_controller.rb 1.85 KiB
Newer Older
class Management::ComplaintsController < ManagementController
  before_action :set_complaint, only: :destroy
Mateus Rambo Strey's avatar
Mateus Rambo Strey committed
    @complaints = Complaint.includes(:complaint_reason, :complaintable, :user)
    @date = params[:period]
    @date_limit  = case @date.to_i
      when 1 then
        Date.today
      when 2 then
        Date.yesterday
      when 3 then
        1.week.ago
      when 4 then
        1.month.ago
      when 5 then
        6.month.ago
        -DateTime::Infinity.new
    end
    @complaints_in_period = @complaints.select{ |complaint| complaint.created_at >= @date_limit}
Giovanne Marcelo's avatar
Giovanne Marcelo committed
    @n_complaints_in_period = @complaints_in_period.size
    @complaints_objs = @complaints_in_period.uniq{|x| x.complaintable.name}.size
Giovanne Marcelo's avatar
Giovanne Marcelo committed
    @complaints_in_period = Kaminari.paginate_array(@complaints_in_period).page(params[:page]).per(25)
Giovanne Marcelo's avatar
Giovanne Marcelo committed
  def suspend_object
Giovanne Marcelo's avatar
Giovanne Marcelo committed
    @learning_object = LearningObject.find params[:object_id]
Giovanne Marcelo's avatar
Giovanne Marcelo committed
    @learning_object.update(state: 'suspended')

    respond_to do |format|
      format.html { redirect_to :back, notice: 'Objeto suspenso com sucesso.' }
    end
Giovanne Marcelo's avatar
Giovanne Marcelo committed
  end

  def publish_object
    @learning_object = LearningObject.find params[:object_id]
    @learning_object.update(state: 'published')
Giovanne Marcelo's avatar
Giovanne Marcelo committed
    respond_to do |format|
      format.html { redirect_to :back, notice: 'Objeto publicado com sucesso.' }
    end
Giovanne Marcelo's avatar
Giovanne Marcelo committed
  end
  def destroy
    Complaint.destroy @complaint

    respond_to do |format|
      format.html { redirect_to :back, notice: 'Denúncia excluída com sucesso.' }
    @complaint = Complaint.find params[:id]
  # Never trust parameters from the scary internet, only allow the white list through.
  def complaint_params
    params.require(:complaint).permit(:id, :complaintable_id, :complaintable_type, :complaint_reason_id, :description)