Class: ProcessEngine::ProcessQuery
- Inherits:
-
Object
- Object
- ProcessEngine::ProcessQuery
- Defined in:
- app/models/process_engine/process_query.rb
Class Method Summary collapse
- .process_definition_get_all ⇒ Object
- .process_instance_start(process_defintion_slug, creator) ⇒ Object
- .task_accessible?(task_id, user, groups = []) ⇒ Boolean
-
.task_complete(task_id, options = {}) ⇒ Object
available options: :finisher, :verified_state, :data.
- .task_get_all(options = {}) ⇒ Object
Class Method Details
.process_definition_get_all ⇒ Object
47 48 49 |
# File 'app/models/process_engine/process_query.rb', line 47 def process_definition_get_all() ProcessEngine::ProcessDefinition.all end |
.process_instance_start(process_defintion_slug, creator) ⇒ Object
41 42 43 44 45 |
# File 'app/models/process_engine/process_query.rb', line 41 def process_instance_start(process_defintion_slug, creator) pd = ProcessEngine::ProcessDefinition.find_by(slug: process_defintion_slug) pi = pd.process_instances.create(creator: creator) pi.start end |
.task_accessible?(task_id, user, groups = []) ⇒ Boolean
33 34 35 36 37 38 39 |
# File 'app/models/process_engine/process_query.rb', line 33 def task_accessible?(task_id, user, groups = []) = { user_or_groups: [user, groups] } task_get_all().where(id: task_id).count > 0 end |
.task_complete(task_id, options = {}) ⇒ Object
available options: :finisher, :verified_state, :data
5 6 7 8 9 10 |
# File 'app/models/process_engine/process_query.rb', line 5 def task_complete(task_id, = {}) task = ProcessEngine::ProcessTask.find(task_id) raise ProcessEngine::Error::FalseTaskState if [:verified_state] && (task.state != [:verified_state]) task.complete() end |
.task_get_all(options = {}) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/models/process_engine/process_query.rb', line 12 def task_get_all( = {}) taks = ProcessEngine::ProcessTask.all taks = taks.by_assignee([:assignee]) if [:assignee] taks = taks.by_candidate_user([:candidate_user]) if [:candidate_user] taks = taks.by_all_candidate_users([:all_candidate_users]) if [:all_candidate_users] taks = taks.by_any_candidate_users([:any_candidate_users]) if [:any_candidate_users] taks = taks.by_candidate_group([:candidate_group]) if [:candidate_group] taks = taks.by_all_candidate_groups([:all_candidate_groups]) if [:all_candidate_groups] taks = taks.by_any_candidate_groups([:any_candidate_groups]) if [:any_candidate_groups] taks = taks.by_user([:user]) if [:user] # e.g. options[:user_or_groups] = ["assignee123", ['cg1']] taks = taks.by_user_or_groups(*[:user_or_groups]) if [:user_or_groups] taks = taks.by_status([:status]) if [:status] taks end |