mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-21 15:36:22 +08:00
Merge pull request #560 from mlorb/ml_sci_1195
Add experiment level to notifications [SCI-1195]
This commit is contained in:
commit
d3eaf8802c
|
@ -252,6 +252,7 @@ class CanvasController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :archive_module,
|
||||
project: my_module.experiment.project,
|
||||
experiment: my_module.experiment,
|
||||
my_module: my_module,
|
||||
user: current_user,
|
||||
message: t(
|
||||
|
|
|
@ -126,6 +126,10 @@ module StepsActions
|
|||
step.my_module.experiment.project.name,
|
||||
project_url(step.my_module.experiment.project)
|
||||
),
|
||||
experiment: link_to(
|
||||
step.my_module.experiment.name,
|
||||
canvas_experiment_url(step.my_module.experiment)
|
||||
),
|
||||
my_module: link_to(
|
||||
step.my_module.name,
|
||||
protocols_my_module_url(step.my_module)
|
||||
|
|
|
@ -51,6 +51,7 @@ class ExperimentsController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :create_experiment,
|
||||
project: @experiment.project,
|
||||
experiment: @experiment,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
'activities.create_experiment',
|
||||
|
@ -101,6 +102,7 @@ class ExperimentsController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :edit_experiment,
|
||||
project: @experiment.project,
|
||||
experiment: @experiment,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
'activities.edit_experiment',
|
||||
|
@ -141,6 +143,7 @@ class ExperimentsController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :archive_experiment,
|
||||
project: @experiment.project,
|
||||
experiment: @experiment,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
'activities.archive_experiment',
|
||||
|
@ -190,6 +193,7 @@ class ExperimentsController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :clone_experiment,
|
||||
project: project,
|
||||
experiment: @experiment,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
'activities.clone_experiment',
|
||||
|
@ -240,6 +244,7 @@ class ExperimentsController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :move_experiment,
|
||||
project: project,
|
||||
experiment: @experiment,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
'activities.move_experiment',
|
||||
|
|
|
@ -59,6 +59,7 @@ class MyModuleCommentsController < ApplicationController
|
|||
type_of: :add_comment_to_module,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
'activities.add_comment_to_module',
|
||||
|
@ -117,6 +118,7 @@ class MyModuleCommentsController < ApplicationController
|
|||
type_of: :edit_module_comment,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
'activities.edit_module_comment',
|
||||
|
@ -143,6 +145,7 @@ class MyModuleCommentsController < ApplicationController
|
|||
type_of: :delete_module_comment,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
'activities.delete_module_comment',
|
||||
|
@ -209,6 +212,9 @@ class MyModuleCommentsController < ApplicationController
|
|||
project_url(@my_module
|
||||
.experiment
|
||||
.project)),
|
||||
experiment: link_to(@my_module.experiment.name,
|
||||
canvas_experiment_url(@my_module
|
||||
.experiment)),
|
||||
my_module: link_to(@my_module.name,
|
||||
protocols_my_module_url(
|
||||
@my_module
|
||||
|
|
|
@ -147,6 +147,7 @@ class MyModulesController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :archive_module,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
user: current_user,
|
||||
message: t(
|
||||
|
@ -163,6 +164,7 @@ class MyModulesController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :restore_module,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
user: current_user,
|
||||
message: t(
|
||||
|
@ -179,6 +181,7 @@ class MyModulesController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :change_module_description,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
user: current_user,
|
||||
message: t(
|
||||
|
@ -284,6 +287,7 @@ class MyModulesController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :assign_sample,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
|
@ -321,6 +325,7 @@ class MyModulesController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :unassign_sample,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
|
@ -403,6 +408,7 @@ class MyModulesController < ApplicationController
|
|||
Activity.create(
|
||||
user: current_user,
|
||||
project: @project,
|
||||
experiment: @experiment,
|
||||
my_module: @my_module,
|
||||
message: message,
|
||||
type_of: completed ? :complete_task : :uncomplete_task
|
||||
|
|
|
@ -403,6 +403,7 @@ class ProtocolsController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :revert_protocol,
|
||||
project: @protocol.my_module.experiment.project,
|
||||
experiment: @protocol.my_module.experiment,
|
||||
my_module: @protocol.my_module,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
|
@ -492,6 +493,7 @@ class ProtocolsController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :load_protocol_from_repository,
|
||||
project: @protocol.my_module.experiment.project,
|
||||
experiment: @protocol.my_module.experiment,
|
||||
my_module: @protocol.my_module,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
|
@ -539,6 +541,7 @@ class ProtocolsController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :load_protocol_from_file,
|
||||
project: @protocol.my_module.experiment.project,
|
||||
experiment: @protocol.my_module.experiment,
|
||||
my_module: @protocol.my_module,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
|
|
|
@ -48,6 +48,7 @@ class ResultAssetsController < ApplicationController
|
|||
type_of: :add_result,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
"activities.add_asset_result",
|
||||
|
@ -126,6 +127,7 @@ class ResultAssetsController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :archive_result,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
user: current_user,
|
||||
message: t(
|
||||
|
@ -170,6 +172,7 @@ class ResultAssetsController < ApplicationController
|
|||
type_of: :edit_result,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
"activities.edit_asset_result",
|
||||
|
|
|
@ -55,6 +55,7 @@ class ResultCommentsController < ApplicationController
|
|||
type_of: :add_comment_to_result,
|
||||
user: current_user,
|
||||
project: @result.my_module.experiment.project,
|
||||
experiment: @result.my_module.experiment,
|
||||
my_module: @result.my_module,
|
||||
message: t(
|
||||
'activities.add_comment_to_result',
|
||||
|
@ -113,6 +114,7 @@ class ResultCommentsController < ApplicationController
|
|||
type_of: :edit_result_comment,
|
||||
user: current_user,
|
||||
project: @result.my_module.experiment.project,
|
||||
experiment: @result.my_module.experiment,
|
||||
my_module: @result.my_module,
|
||||
message: t(
|
||||
'activities.edit_result_comment',
|
||||
|
@ -139,6 +141,7 @@ class ResultCommentsController < ApplicationController
|
|||
type_of: :delete_result_comment,
|
||||
user: current_user,
|
||||
project: @result.my_module.experiment.project,
|
||||
experiment: @result.my_module.experiment,
|
||||
my_module: @result.my_module,
|
||||
message: t(
|
||||
'activities.delete_result_comment',
|
||||
|
@ -208,6 +211,9 @@ class ResultCommentsController < ApplicationController
|
|||
project_url(@result.my_module
|
||||
.experiment
|
||||
.project)),
|
||||
experiment: link_to(@result.my_module.experiment.name,
|
||||
canvas_experiment_url(@result.my_module
|
||||
.experiment)),
|
||||
my_module: link_to(@result.my_module.name,
|
||||
protocols_my_module_url(
|
||||
@result.my_module
|
||||
|
|
|
@ -49,6 +49,7 @@ class ResultTablesController < ApplicationController
|
|||
type_of: :add_result,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
"activities.add_table_result",
|
||||
|
@ -106,6 +107,7 @@ class ResultTablesController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :archive_result,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
user: current_user,
|
||||
message: t(
|
||||
|
@ -125,6 +127,7 @@ class ResultTablesController < ApplicationController
|
|||
type_of: :edit_result,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
"activities.edit_table_result",
|
||||
|
|
|
@ -48,6 +48,7 @@ class ResultTextsController < ApplicationController
|
|||
type_of: :add_result,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
"activities.add_text_result",
|
||||
|
@ -107,6 +108,7 @@ class ResultTextsController < ApplicationController
|
|||
Activity.create(
|
||||
type_of: :archive_result,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
user: current_user,
|
||||
message: t(
|
||||
|
@ -126,6 +128,7 @@ class ResultTextsController < ApplicationController
|
|||
type_of: :edit_result,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
"activities.edit_text_result",
|
||||
|
@ -229,6 +232,9 @@ class ResultTextsController < ApplicationController
|
|||
project_url(@result.my_module
|
||||
.experiment
|
||||
.project)),
|
||||
experiment: link_to(@result.my_module.experiment.name,
|
||||
canvas_experiment_url(@result.my_module
|
||||
.experiment)),
|
||||
my_module: link_to(@result.my_module.name,
|
||||
protocols_my_module_url(
|
||||
@result.my_module
|
||||
|
|
|
@ -20,6 +20,7 @@ class ResultsController < ApplicationController
|
|||
type_of: :destroy_result,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: act_log
|
||||
)
|
||||
|
|
|
@ -57,6 +57,7 @@ class StepCommentsController < ApplicationController
|
|||
type_of: :add_comment_to_step,
|
||||
user: current_user,
|
||||
project: @step.my_module.experiment.project,
|
||||
experiment: @step.my_module.experiment,
|
||||
my_module: @step.my_module,
|
||||
message: t(
|
||||
"activities.add_comment_to_step",
|
||||
|
@ -117,6 +118,7 @@ class StepCommentsController < ApplicationController
|
|||
type_of: :edit_step_comment,
|
||||
user: current_user,
|
||||
project: @step.my_module.experiment.project,
|
||||
experiment: @step.my_module.experiment,
|
||||
my_module: @step.my_module,
|
||||
message: t(
|
||||
'activities.edit_step_comment',
|
||||
|
@ -146,6 +148,7 @@ class StepCommentsController < ApplicationController
|
|||
type_of: :delete_step_comment,
|
||||
user: current_user,
|
||||
project: @step.my_module.experiment.project,
|
||||
experiment: @step.my_module.experiment,
|
||||
my_module: @step.my_module,
|
||||
message: t(
|
||||
'activities.delete_step_comment',
|
||||
|
@ -217,6 +220,9 @@ class StepCommentsController < ApplicationController
|
|||
project_url(@step.my_module
|
||||
.experiment
|
||||
.project)),
|
||||
experiment: link_to(@step.my_module.experiment.name,
|
||||
canvas_experiment_url(@step.my_module
|
||||
.experiment)),
|
||||
my_module: link_to(@step.my_module.name,
|
||||
protocols_my_module_url(
|
||||
@step.my_module
|
||||
|
|
|
@ -64,6 +64,7 @@ class StepsController < ApplicationController
|
|||
type_of: :create_step,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
"activities.create_step",
|
||||
|
@ -183,6 +184,7 @@ class StepsController < ApplicationController
|
|||
type_of: :edit_step,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
"activities.edit_step",
|
||||
|
@ -297,6 +299,7 @@ class StepsController < ApplicationController
|
|||
Activity.create(
|
||||
user: current_user,
|
||||
project: protocol.my_module.experiment.project,
|
||||
experiment: protocol.my_module.experiment,
|
||||
my_module: protocol.my_module,
|
||||
message: message,
|
||||
type_of: checked ? :check_step_checklist_item : :uncheck_step_checklist_item
|
||||
|
@ -369,6 +372,7 @@ class StepsController < ApplicationController
|
|||
Activity.create(
|
||||
user: current_user,
|
||||
project: protocol.my_module.experiment.project,
|
||||
experiment: protocol.my_module.experiment,
|
||||
my_module: protocol.my_module,
|
||||
message: message,
|
||||
type_of: completed ? :complete_step : :uncomplete_step
|
||||
|
|
|
@ -50,6 +50,7 @@ class UserMyModulesController < ApplicationController
|
|||
Activity.create(
|
||||
user: current_user,
|
||||
project: @um.my_module.experiment.project,
|
||||
experiment: @um.my_module.experiment,
|
||||
my_module: @um.my_module,
|
||||
message: message,
|
||||
type_of: :assign_user_to_module
|
||||
|
@ -84,6 +85,7 @@ class UserMyModulesController < ApplicationController
|
|||
Activity.create(
|
||||
user: current_user,
|
||||
project: @um.my_module.experiment.project,
|
||||
experiment: @um.my_module.experiment,
|
||||
my_module: @um.my_module,
|
||||
message: message,
|
||||
type_of: :unassign_user_from_module
|
||||
|
|
|
@ -63,6 +63,7 @@ class Activity < ActiveRecord::Base
|
|||
validates :project, :user, presence: true
|
||||
|
||||
belongs_to :project, inverse_of: :activities
|
||||
belongs_to :experiment, inverse_of: :activities
|
||||
belongs_to :my_module, inverse_of: :activities
|
||||
belongs_to :user, inverse_of: :activities
|
||||
|
||||
|
@ -82,13 +83,24 @@ class Activity < ActiveRecord::Base
|
|||
.url_helpers
|
||||
.project_path(project)}'>
|
||||
#{project.name}</a>"
|
||||
task_m = "| #{I18n.t('search.index.module')}
|
||||
<a href='#{Rails
|
||||
.application
|
||||
.routes
|
||||
.url_helpers
|
||||
.protocols_my_module_path(my_module)}'>
|
||||
#{my_module.name}</a>" if my_module
|
||||
if experiment
|
||||
experiment_m = "| #{I18n.t('search.index.experiment')}
|
||||
<a href='#{Rails
|
||||
.application
|
||||
.routes
|
||||
.url_helpers
|
||||
.canvas_experiment_path(experiment)}'>
|
||||
#{experiment.name}</a>"
|
||||
end
|
||||
if my_module
|
||||
task_m = "| #{I18n.t('search.index.module')}
|
||||
<a href='#{Rails
|
||||
.application
|
||||
.routes
|
||||
.url_helpers
|
||||
.protocols_my_module_path(my_module)}'>
|
||||
#{my_module.name}</a>"
|
||||
end
|
||||
|
||||
notification = Notification.create(
|
||||
type_of: notification_type,
|
||||
|
@ -97,7 +109,8 @@ class Activity < ActiveRecord::Base
|
|||
message:
|
||||
ActionController::Base
|
||||
.helpers.sanitize(
|
||||
"#{I18n.t('search.index.project')} #{project_m} #{task_m}",
|
||||
"#{I18n.t('search.index.project')}
|
||||
#{project_m} #{experiment_m} #{task_m}",
|
||||
tags: %w(strong a)
|
||||
),
|
||||
generator_user_id: user.id
|
||||
|
|
|
@ -11,6 +11,7 @@ class Experiment < ActiveRecord::Base
|
|||
has_many :my_modules, inverse_of: :experiment, dependent: :destroy
|
||||
has_many :my_module_groups, inverse_of: :experiment, dependent: :destroy
|
||||
has_many :report_elements, inverse_of: :experiment, dependent: :destroy
|
||||
has_many :activities, inverse_of: :experiment
|
||||
|
||||
has_attached_file :workflowimg
|
||||
validates_attachment :workflowimg,
|
||||
|
@ -145,6 +146,7 @@ class Experiment < ActiveRecord::Base
|
|||
type_of: :create_module,
|
||||
user: current_user,
|
||||
project: self.project,
|
||||
experiment: m.experiment,
|
||||
my_module: m,
|
||||
message: I18n.t(
|
||||
"activities.create_module",
|
||||
|
@ -159,6 +161,7 @@ class Experiment < ActiveRecord::Base
|
|||
Activity.create(
|
||||
type_of: :clone_module,
|
||||
project: mn.experiment.project,
|
||||
experiment: mn.experiment,
|
||||
my_module: mn,
|
||||
user: current_user,
|
||||
message: I18n.t(
|
||||
|
|
|
@ -128,6 +128,7 @@ class Step < ActiveRecord::Base
|
|||
Activity.create(
|
||||
type_of: :destroy_step,
|
||||
project: protocol.my_module.experiment.project,
|
||||
experiment: protocol.my_module.experiment,
|
||||
my_module: protocol.my_module,
|
||||
user: @current_user,
|
||||
message: I18n.t(
|
||||
|
|
|
@ -98,6 +98,7 @@ module WopiUtil
|
|||
type_of: :start_edit_wopi_file,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
experiment: @my_module.experiment,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
started_editing ? 'activities.start_edit_wopi_file_result' :
|
||||
|
|
|
@ -740,7 +740,7 @@ en:
|
|||
no_archived_modules: "No archived tasks!"
|
||||
restore_option: "Restore"
|
||||
archived_on: "Archived on"
|
||||
archived_on_title: "Module archived on %{date} at %{time}."
|
||||
archived_on_title: "Task archived on %{date} at %{time}."
|
||||
|
||||
my_module_groups:
|
||||
new:
|
||||
|
@ -1028,9 +1028,9 @@ en:
|
|||
add_comment_to_project: "<i>%{user}</i> commented on project <strong>%{project}</strong>."
|
||||
edit_project_comment: "<i>%{user}</i> edited comment on project <strong>%{project}</strong>."
|
||||
delete_project_comment: "<i>%{user}</i> deleted comment on project <strong>%{project}</strong>."
|
||||
add_comment_to_module: "<i>%{user}</i> commented on module <strong>%{module}</strong>."
|
||||
edit_module_comment: "<i>%{user}</i> edited comment on module <strong>%{module}</strong>."
|
||||
delete_module_comment: "<i>%{user}</i> deleted comment on module <strong>%{module}</strong>."
|
||||
add_comment_to_module: "<i>%{user}</i> commented on task <strong>%{module}</strong>."
|
||||
edit_module_comment: "<i>%{user}</i> edited comment on task <strong>%{module}</strong>."
|
||||
delete_module_comment: "<i>%{user}</i> deleted comment on task <strong>%{module}</strong>."
|
||||
edit_step_comment: "<i>%{user}</i> edited comment on Step %{step} <strong>%{step_name}</strong>."
|
||||
delete_step_comment: "<i>%{user}</i> deleted comment on Step %{step} <strong>%{step_name}</strong>."
|
||||
edit_result_comment: "<i>%{user}</i> edited comment on result <strong>%{result}</strong>."
|
||||
|
@ -1520,19 +1520,19 @@ en:
|
|||
recent_changes: "Recent changes"
|
||||
system_message: "sciNote system message"
|
||||
deliver: 'Exportable content'
|
||||
experiment_annotation_title: "%{user} mentioned you in %{experiment} experiment."
|
||||
experiment_annotation_title: "%{user} mentioned you in experiment %{experiment}."
|
||||
experiment_annotation_message_html: "Project: %{project} | Experiment: %{experiment}"
|
||||
project_comment_annotation_title: "%{user} mentioned you in a comment on project %{project}."
|
||||
project_annotation_message_html: "Project: %{project}"
|
||||
my_module_comment_annotation_title: "%{user} mentioned you in a comment on task %{my_module}."
|
||||
my_module_annotation_message_html: "Project: %{project} | Task: %{my_module}"
|
||||
my_module_annotation_message_html: "Project: %{project} | Experiment: %{experiment} | Task: %{my_module}"
|
||||
step_comment_annotation_title: "%{user} mentioned you in a comment on step %{step}."
|
||||
step_description_title: "%{user} mentioned you in a description on step %{step}."
|
||||
checklist_title: "%{user} mentioned you in a checklist on step %{step}."
|
||||
step_annotation_message_html: "Project: %{project} | Task: %{my_module} | Step: %{step}"
|
||||
step_annotation_message_html: "Project: %{project} | Experiment: %{experiment} | Task: %{my_module} | Step: %{step}"
|
||||
result_annotation_title: "%{user} mentioned you in result %{result}."
|
||||
result_comment_annotation_title: "%{user} mentioned you in a comment on result %{result}."
|
||||
result_annotation_message_html: "Project: %{project} | Task: %{my_module}"
|
||||
result_annotation_message_html: "Project: %{project} | Experiment: %{experiment} | Task: %{my_module}"
|
||||
sample_annotation_title: "%{user} mentioned you in Column: %{column} of Sample %{sample}"
|
||||
sample_annotation_message_html: "Sample: %{sample} | Column: %{column}"
|
||||
protocol_step_annotation_message_html: "Protocol: %{protocol}"
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
class AddExperimentToActivities < ActiveRecord::Migration
|
||||
def change
|
||||
add_reference :activities, :experiment, index: true, foreign_key: true
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue