Sha256: 6cde3dfc79f40e81bd54a704d7b7f69807c001a6af721f0052b145258d8741d1
Contents?: true
Size: 1.92 KB
Versions: 3
Compression:
Stored size: 1.92 KB
Contents
module RailsWorkflow class ProcessesController < ApplicationController layout 'rails_workflow/application' respond_to :html before_action :set_process, only: [:show, :edit, :update, :destroy] before_filter do @processes_section_active = true end def index @processes = ProcessDecorator.decorate_collection(undecorated_collection) @errors = Error. unresolved.order(id: :asc). includes(:parent).limit(10) @open_user_operations = OperationDecorator. decorate_collection( RailsWorkflow::Operation.incompleted. unassigned.includes(:template). limit(20) ) @statistic = { all: RailsWorkflow::Process.count, statuses: RailsWorkflow::Process.count_by_statuses } end def new @process = Process.new(permitted_params).decorate end def create @process = RailsWorkflow::ProcessManager.start_process( params[:process][:template_id], {} ) redirect_to process_url(@process) end def update @process.update(permitted_params) redirect_to processes_path end def destroy @process.destroy redirect_to processes_path end protected def permitted_params params.permit( process: [ :status, :async, :title, :template_id ], filter: [:status] )[:process] end def undecorated_collection collection_scope = Process.default_scoped if params[:filter] status = Process.get_status_code(params[:filter]['status']) collection_scope = collection_scope.by_status(status) end collection_scope.paginate(page: params[:page]).order(id: :asc) end def set_process @process ||= ProcessDecorator.decorate(Process.find params[:id]).decorate end end end
Version data entries
3 entries across 3 versions & 1 rubygems