From 6229ba6041883a3a645e52b164773d0d1374ad82 Mon Sep 17 00:00:00 2001 From: aignatov-bio Date: Thu, 27 Aug 2020 12:13:13 +0200 Subject: [PATCH] Add morkflow generator --- .../dashboard/current_tasks_controller.rb | 8 ++------ .../20200826143431_migrate_task_status.rb | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/app/controllers/dashboard/current_tasks_controller.rb b/app/controllers/dashboard/current_tasks_controller.rb index 8d28d0cec..0cf31fdda 100644 --- a/app/controllers/dashboard/current_tasks_controller.rb +++ b/app/controllers/dashboard/current_tasks_controller.rb @@ -25,7 +25,7 @@ module Dashboard tasks = tasks.left_outer_joins(:user_my_modules).where(user_my_modules: { user_id: current_user.id }) end - # tasks = filter_by_state(tasks) + tasks = tasks.where(my_module_status_id: task_filters[:statuses]) case task_filters[:sort] when 'start_date' @@ -92,10 +92,6 @@ module Dashboard private - def filter_by_state(tasks) - tasks.where(my_modules: { state: task_filters[:view] }) - end - def prepare_due_date(task) if task.due_date.present? due_date_formatted = I18n.l(task.due_date, format: :full_date) @@ -113,7 +109,7 @@ module Dashboard end def task_filters - params.permit(:project_id, :experiment_id, :mode, :view, :sort, :query, :page) + params.permit(:project_id, :experiment_id, :mode, :sort, :query, :page, statuses: []) end def load_project diff --git a/db/migrate/20200826143431_migrate_task_status.rb b/db/migrate/20200826143431_migrate_task_status.rb index 99d7c5e6d..e75b9de62 100644 --- a/db/migrate/20200826143431_migrate_task_status.rb +++ b/db/migrate/20200826143431_migrate_task_status.rb @@ -2,10 +2,19 @@ class MigrateTaskStatus < ActiveRecord::Migration[6.0] def up - in_progress_status = execute("SELECT id FROM my_module_statuses WHERE name = 'In progress' LIMIT 1")[0]&['id'] - completed_status = execute("SELECT id FROM my_module_statuses WHERE name = 'Completed' LIMIT 1")[0]&['id'] + MyModuleStatusFlow.ensure_default - execute "UPDATE my_modules SET my_module_status_id = #{in_progress_status} WHERE state = 0" - execute "UPDATE my_modules SET my_module_status_id = #{completed_status} WHERE state = 1" + in_progress_status = execute("SELECT id FROM my_module_statuses WHERE name = 'In progress' LIMIT 1").to_a[0] + completed_status = execute("SELECT id FROM my_module_statuses WHERE name = 'Completed' LIMIT 1").to_a[0] + + if in_progress_status + execute("UPDATE my_modules + SET my_module_status_id = #{in_progress_status['id']} WHERE state = 0") + end + + if completed_status + execute("UPDATE my_modules + SET my_module_status_id = #{completed_status['id']} WHERE state = 1") + end end end