Sha256: 42840c0a91ce7037c310f0468566c4fc76bcb30cadc0523701fcc375fc739bc5

Contents?: true

Size: 1.21 KB

Versions: 3

Compression:

Stored size: 1.21 KB

Contents

module Softwear
  class ErrorReportsController < ApplicationController
    skip_before_action :authenticate_user! rescue nil
    before_action :assign_current_user, only: :email_report

    helper Softwear::Engine.helpers do
      def method_missing(name, *args, &block)
        if main_app.respond_to?(name)   
          main_app.send(name, *args, &block)
        else                   
          super                
        end                    
      end
    end

    def email_report
      if @current_user
        user = @current_user
      else
        begin
          user = User.find(params[:user_id]) unless params[:user_id].blank?
        rescue StandardError => _e
        end
      end

      ErrorReportMailer.send_report(user, params).deliver_now
      flash[:success] = 'Sent error report. Sorry about that and thank you for your submission.'

      if user
        redirect_to '/'
      elsif params[:order_id] && (key = Order.where(id: params[:order_id]).pluck(:customer_key).first)
        redirect_to customer_order_path(key)
      else
        render inline: "<%= flash[:success] %>"
      end
    end

    private
    
    def assign_current_user
      @current_user = current_user rescue nil 
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
softwear-lib-3.1.4 app/controllers/softwear/error_reports_controller.rb
softwear-lib-3.1.3 app/controllers/softwear/error_reports_controller.rb
softwear-lib-3.1.2 app/controllers/softwear/error_reports_controller.rb