1 class IssuesController < ApplicationController
4 before_action :authorize_web
5 before_action :check_permission, only: [:index, :show, :resolve,:open,:ignore]
6 before_action :find_issue, only: [:show, :resolve, :reopen, :ignore]
13 @read_reports = @issue.read_reports
14 @unread_reports = @issue.unread_reports
18 unless create_new_issue_params.blank?
19 @issue = Issue.find_or_initialize_by(create_new_issue_params)
24 @issue = Issue.find_by_reportable_id_and_reportable_type(params[:reportable_id],params[:reportable_type])
26 @issue = Issue.find_or_initialize_by(issue_params)
27 @admins = UserRole.where(role: "administrator")
28 @admins.each do |user|
29 Notifier.new_issue_notification(User.find(user.user_id)).deliver_now
33 @report = @issue.reports.build(report_params)
36 redirect_to @issue, notice: 'Issue was successfully created.'
46 redirect_to @issue, notice: "Issue status has been set to: 'Resolved'"
55 redirect_to @issue, notice: "Issue status has been set to: 'Ignored'"
64 redirect_to @issue, notice: "Issue status has been set to: 'Open'"
73 @issue = Issue.find(params[:id])
77 unless @user.administrator?
78 flash[:error] = t("application.require_admin.not_an_admin")
83 def create_new_issue_params
84 params.permit(:reportable_id, :reportable_type, :user_id)
88 params[:issue].permit(:reportable_id, :reportable_type,:user_id)
92 params[:report].permit(:details, :user_id)