mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-03-04 03:36:44 +08:00
65 lines
2.2 KiB
Ruby
65 lines
2.2 KiB
Ruby
FactoryBot.define do
|
|
factory :user_role do
|
|
factory :owner_role do
|
|
name { I18n.t('user_roles.predefined.owner') }
|
|
permissions { ProjectPermissions.constants.map { |const| ProjectPermissions.const_get(const) } +
|
|
ExperimentPermissions.constants.map { |const| ExperimentPermissions.const_get(const) } +
|
|
MyModulePermissions.constants.map { |const| MyModulePermissions.const_get(const) } }
|
|
predefined { true }
|
|
end
|
|
|
|
factory :normal_user_role do
|
|
name { I18n.t('user_roles.predefined.normal_user') }
|
|
permissions {
|
|
[
|
|
ProjectPermissions::READ,
|
|
ProjectPermissions::CREATE_EXPERIMENTS,
|
|
ProjectPermissions::CREATE_COMMENTS,
|
|
ExperimentPermissions::READ,
|
|
ExperimentPermissions::MANAGE,
|
|
ExperimentPermissions::ARCHIVE,
|
|
ExperimentPermissions::RESTORE,
|
|
ExperimentPermissions::CLONE,
|
|
ExperimentPermissions::CREATE_TASKS,
|
|
MyModulePermissions::READ,
|
|
MyModulePermissions::CREATE_COMMENTS,
|
|
MyModulePermissions::ASSIGN_REPOSITORY_ROWS,
|
|
MyModulePermissions::CHANGE_FLOW_STATUS,
|
|
MyModulePermissions::CREATE_REPOSITORY_SNAPSHOT,
|
|
MyModulePermissions::MANAGE_REPOSITORY_SNAPSHOT
|
|
]
|
|
}
|
|
predefined { true }
|
|
end
|
|
|
|
factory :technician_role do
|
|
name { I18n.t('user_roles.predefined.technician') }
|
|
permissions {
|
|
[
|
|
ProjectPermissions::READ,
|
|
ProjectPermissions::CREATE_COMMENTS,
|
|
ExperimentPermissions::READ,
|
|
MyModulePermissions::READ,
|
|
MyModulePermissions::CREATE_COMMENTS,
|
|
MyModulePermissions::ASSIGN_REPOSITORY_ROWS,
|
|
MyModulePermissions::CHANGE_FLOW_STATUS,
|
|
MyModulePermissions::CREATE_REPOSITORY_SNAPSHOT,
|
|
MyModulePermissions::MANAGE_REPOSITORY_SNAPSHOT
|
|
]
|
|
}
|
|
predefined { true }
|
|
end
|
|
|
|
factory :viewer_role do
|
|
name { I18n.t('user_roles.predefined.viewer') }
|
|
permissions {
|
|
[
|
|
ProjectPermissions::READ,
|
|
ExperimentPermissions::READ,
|
|
MyModulePermissions::READ
|
|
]
|
|
}
|
|
predefined { true }
|
|
end
|
|
end
|
|
end
|