Class: Sufia::Forms::PermissionTemplateForm
- Inherits:
-
Object
- Object
- Sufia::Forms::PermissionTemplateForm
- Includes:
- HydraEditor::Form
- Defined in:
- app/forms/sufia/forms/permission_template_form.rb
Instance Attribute Summary collapse
-
#release_embargo ⇒ Object
Selected release embargo timeframe (if any) under release “Varies” option.
-
#release_varies ⇒ Object
Stores which radio button under release “Varies” option is selected.
Instance Method Summary collapse
-
#embargo_options ⇒ Object
Embargo / release period options.
-
#initialize(model) ⇒ PermissionTemplateForm
constructor
A new instance of PermissionTemplateForm.
- #update(attributes) ⇒ Object
-
#visibility_options ⇒ Object
Visibility options for permission templates.
Constructor Details
#initialize(model) ⇒ PermissionTemplateForm
Returns a new instance of PermissionTemplateForm.
33 34 35 36 37 38 39 40 41 |
# File 'app/forms/sufia/forms/permission_template_form.rb', line 33 def initialize(model) # This is a temporary way to make sure all new PermissionTemplates have # a workflow assigned to them. Ultimately we want to expose workflows in # the UI and have users choose a workflow for their PermissionTemplate. model.workflow_name = 'one_step_mediated_deposit' super(model) # Ensure proper form options selected, based on model select_release_varies_option(model) end |
Instance Attribute Details
#release_embargo ⇒ Object
Selected release embargo timeframe (if any) under release “Varies” option
12 13 14 |
# File 'app/forms/sufia/forms/permission_template_form.rb', line 12 def end |
#release_varies ⇒ Object
Stores which radio button under release “Varies” option is selected
10 11 12 |
# File 'app/forms/sufia/forms/permission_template_form.rb', line 10 def release_varies @release_varies end |
Instance Method Details
#embargo_options ⇒ Object
Embargo / release period options
25 26 27 28 29 30 31 |
# File 'app/forms/sufia/forms/permission_template_form.rb', line 25 def i18n_prefix = "sufia.admin.admin_sets.form_visibility.release.varies.embargo" [[Sufia::PermissionTemplate::RELEASE_TEXT_VALUE_6_MONTHS, I18n.t('.6mos', scope: i18n_prefix)], [Sufia::PermissionTemplate::RELEASE_TEXT_VALUE_1_YEAR, I18n.t('.1yr', scope: i18n_prefix)], [Sufia::PermissionTemplate::RELEASE_TEXT_VALUE_2_YEARS, I18n.t('.2yrs', scope: i18n_prefix)], [Sufia::PermissionTemplate::RELEASE_TEXT_VALUE_3_YEARS, I18n.t('.3yrs', scope: i18n_prefix)]] end |
#update(attributes) ⇒ Object
43 44 45 46 47 48 |
# File 'app/forms/sufia/forms/permission_template_form.rb', line 43 def update(attributes) manage_grants = grants_as_collection(attributes).select { |x| x[:access] == 'manage' } grant_admin_set_access(manage_grants) if manage_grants.present? update_release_attributes(attributes) model.update(attributes) end |
#visibility_options ⇒ Object
Visibility options for permission templates
15 16 17 18 19 20 21 22 |
# File 'app/forms/sufia/forms/permission_template_form.rb', line 15 def i18n_prefix = "sufia.admin.admin_sets.form_visibility.visibility" # Note: Visibility 'varies' = '' implies no constraints [[Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC, I18n.t('.everyone', scope: i18n_prefix)], ['', I18n.t('.varies', scope: i18n_prefix)], [Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED, I18n.t('.institution', scope: i18n_prefix)], [Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE, I18n.t('.restricted', scope: i18n_prefix)]] end |