Class: Admin::ReportRequestsController
- Inherits:
-
AdminController
- Object
- AdminController
- Admin::ReportRequestsController
- Defined in:
- app/controllers/admin/report_requests_controller.rb
Overview
Controller for managing report requests.
Instance Method Summary collapse
-
#create ⇒ Object
POST /report_requests POST /report_requests.json Creates a new report request.
-
#destroy ⇒ Object
DELETE /report_requests/1 DELETE /report_requests/1.json Deletes an existing report request.
-
#edit ⇒ Object
GET /report_requests/1/edit Displays a form for editing a report request.
-
#index ⇒ Object
GET /report_requests GET /report_requests.json Displays a list of report requests.
-
#new ⇒ Object
GET /report_requests/new Displays a form for creating a new report request.
-
#report_url ⇒ Object
Returns the report URL for a given report ID.
-
#show ⇒ Object
GET /report_requests/1 GET /report_requests/1.json Displays the details of a specific report request.
-
#update ⇒ Object
PATCH/PUT /report_requests/1 PATCH/PUT /report_requests/1.json Updates an existing report request.
Instance Method Details
#create ⇒ Object
POST /report_requests POST /report_requests.json Creates a new report request.
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'app/controllers/admin/report_requests_controller.rb', line 63 def create params = report_request_params params[:created_by_id] = current_user.id @report_request = ReportRequest.new(params) respond_to do |format| if @report_request.save ::ReportWorker.perform_async(@report_request.id) format.html { redirect_to admin_report_request_path(@report_request), notice: 'Report request was successfully created.' } format.json { render :show, status: :created, location: @report_request } else format.html { render :new } format.json { render json: @report_request.errors, status: :unprocessable_entity } end end end |
#destroy ⇒ Object
DELETE /report_requests/1 DELETE /report_requests/1.json Deletes an existing report request.
100 101 102 103 104 105 106 |
# File 'app/controllers/admin/report_requests_controller.rb', line 100 def destroy @report_request.destroy respond_to do |format| format.html { redirect_to admin_report_requests_url, notice: 'Report request was successfully destroyed.' } format.json { head :no_content } end end |
#edit ⇒ Object
GET /report_requests/1/edit Displays a form for editing a report request.
58 |
# File 'app/controllers/admin/report_requests_controller.rb', line 58 def edit; end |
#index ⇒ Object
GET /report_requests GET /report_requests.json Displays a list of report requests.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'app/controllers/admin/report_requests_controller.rb', line 27 def index property_present = params[:property_id] != nil && params[:property_id] != "" report_type_present = params[:report_type] != nil && params[:report_type] == "completed" if(property_present == true && report_type_present == true) @report_requests = ReportRequest.where('report_url != ? ', '').where(property_id: params[:property_id]).page params[:page] elsif property_present == true @report_requests = ReportRequest.where(report_url: nil).where(property_id: params[:property_id]).page params[:page] elsif report_type_present == true @report_requests = ReportRequest.where('report_url != ? ', '').page params[:page] else @report_requests = ReportRequest.where(report_url: nil).page params[:page] end render action: :index, layout: request.xhr?.nil? end |
#new ⇒ Object
GET /report_requests/new Displays a form for creating a new report request.
52 53 54 |
# File 'app/controllers/admin/report_requests_controller.rb', line 52 def new @report_request = ReportRequest.new end |
#report_url ⇒ Object
Returns the report URL for a given report ID.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/controllers/admin/report_requests_controller.rb', line 9 def report_url report_id = params[:report_id] report = ReportRequest.find_by_id(report_id) if report.report_url.present? return render json: { status: true, url: report.report_url } end render json: { status: false, url: nil } end |
#show ⇒ Object
GET /report_requests/1 GET /report_requests/1.json Displays the details of a specific report request.
48 |
# File 'app/controllers/admin/report_requests_controller.rb', line 48 def show; end |
#update ⇒ Object
PATCH/PUT /report_requests/1 PATCH/PUT /report_requests/1.json Updates an existing report request.
83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'app/controllers/admin/report_requests_controller.rb', line 83 def update params = report_request_params params[:updated_by_id] = current_user.id respond_to do |format| if @report_request.update(params) format.html { redirect_to admin_report_request_path(@report_request), notice: 'Report request was successfully updated.' } format.json { render :show, status: :ok, location: @report_request } else format.html { render :edit } format.json { render json: @report_request.errors, status: :unprocessable_entity } end end end |