mirror of
https://github.com/ditkrg/workflower.git
synced 2026-01-22 22:26:40 +00:00
commit
3171b2b10b
@ -9,7 +9,7 @@ module Workflower
|
|||||||
# mattr_accessor :workflower_base
|
# mattr_accessor :workflower_base
|
||||||
attr_accessor :possible_events, :allowed_events, :allowed_transitions, :workflow_transition_event_name, :workflow_transition_flow
|
attr_accessor :possible_events, :allowed_events, :allowed_transitions, :workflow_transition_event_name, :workflow_transition_flow
|
||||||
|
|
||||||
def set_intial_state
|
def set_initial_state
|
||||||
write_attribute self.class.workflower_state_column_name, workflower_initial_state
|
write_attribute self.class.workflower_state_column_name, workflower_initial_state
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -48,13 +48,14 @@ module Workflower
|
|||||||
@allowed_transitions ||= @workflower_base.allowed_transitions
|
@allowed_transitions ||= @workflower_base.allowed_transitions
|
||||||
end
|
end
|
||||||
|
|
||||||
def workflower_uninitializer
|
def workflower_uninitializer(reset_source_workflow_instance: false)
|
||||||
@workflower_base.uninitialize
|
@workflower_base.uninitialize
|
||||||
@workflower_base = nil
|
@workflower_base = nil
|
||||||
|
|
||||||
@possible_events = []
|
@source_workflow_instance = nil if reset_source_workflow_instance
|
||||||
@allowed_events = []
|
@possible_events = nil
|
||||||
@allowed_transitions = []
|
@allowed_events = nil
|
||||||
|
@allowed_transitions = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize(*)
|
def initialize(*)
|
||||||
@ -78,11 +79,13 @@ module Workflower
|
|||||||
self.default_workflow_id = default_workflow_id
|
self.default_workflow_id = default_workflow_id
|
||||||
|
|
||||||
# self.validates "#{workflow_model.tableize.singularize}_id", presence: true
|
# self.validates "#{workflow_model.tableize.singularize}_id", presence: true
|
||||||
before_create :set_intial_state unless skip_setting_initial_state
|
before_create :set_initial_state unless skip_setting_initial_state
|
||||||
end
|
end
|
||||||
|
|
||||||
def workflower_abilities
|
def workflower_abilities(workflow_selector: nil)
|
||||||
load = source.new(new).get_workflows.values.flatten.uniq
|
# workflow_selector helps dynamic transition selection when we have multiple workflows that needs to change depending on the workflow_selector.
|
||||||
|
load = source.new(new).get_workflows.values.flatten.uniq unless workflow_selector.present?
|
||||||
|
load = source.new(workflow_selector.to_sym).get_workflows.values.flatten.uniq if workflow_selector.present?
|
||||||
|
|
||||||
unless load.blank?
|
unless load.blank?
|
||||||
# transitions = load.transitions.where("(metadata->>'roles') IS NOT NULL")
|
# transitions = load.transitions.where("(metadata->>'roles') IS NOT NULL")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user