Class: Hyrax::Forms::PermissionTemplateForm
- Inherits:
-
Object
- Object
- Hyrax::Forms::PermissionTemplateForm
- Includes:
- HydraEditor::Form
- Defined in:
- app/forms/hyrax/forms/permission_template_form.rb
Instance Attribute Summary collapse
-
#attributes ⇒ Object
Adding attributes hash to state to avoid having to pass it around.
-
#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.
- #workflow_id ⇒ Object
Instance Method Summary collapse
- #embargo_options ⇒ Object
-
#id ⇒ #to_s
def source_id (because you might come looking for this method).
-
#initialize(model) ⇒ PermissionTemplateForm
constructor
A new instance of PermissionTemplateForm.
-
#remove_access!(permission_template_access) ⇒ Void
This method is used to revoke access to a Collection or Admin Set and its workflows.
-
#update(attributes) ⇒ Hash{Symbol => String, Boolean}
{ :content_tab (for confirmation message), :updated (true/false), :error_code (for flash error lookup) }.
-
#update_access(remove_agent: false) ⇒ Object
Copy this access to the permissions of the Admin Set or Collection and to the WorkflowResponsibilities of the active workflow if this is an Admin Set.
- #visibility_options ⇒ Object
Constructor Details
#initialize(model) ⇒ PermissionTemplateForm
40 41 42 43 44 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 40 def initialize(model) super(model) # Ensure proper form options selected, based on model select_release_varies_option(model) end |
Instance Attribute Details
#attributes ⇒ Object
Adding attributes hash to state to avoid having to pass it around
26 27 28 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 26 def attributes @attributes end |
#release_embargo ⇒ Object
Selected release embargo timeframe (if any) under release “Varies” option
20 21 22 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 20 def @release_embargo end |
#release_varies ⇒ Object
Stores which radio button under release “Varies” option is selected
18 19 20 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 18 def release_varies @release_varies end |
#workflow_id ⇒ Object
28 29 30 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 28 def workflow_id @workflow_id || active_workflow.try(:id) end |
Instance Method Details
#embargo_options ⇒ Object
36 37 38 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 36 def Widgets::AdminSetEmbargoPeriod.new. end |
#id ⇒ #to_s
def source_id (because you might come looking for this method)
14 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 14 delegate :id, to: :source_model, prefix: :source |
#remove_access!(permission_template_access) ⇒ Void
This method is used to revoke access to a Collection or Admin Set and its workflows
77 78 79 80 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 77 def remove_access!() construct_attributes_from_template_access!() update_access(remove_agent: true) end |
#update(attributes) ⇒ Hash{Symbol => String, Boolean}
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 49 def update(attributes) @attributes = attributes return_info = { content_tab: tab_to_update } error_code = nil case return_info[:content_tab] when "participants" when "visibility" error_code = when "workflow" grant_workflow_roles end return_info[:error_code] = error_code if error_code return_info[:updated] = error_code ? false : true return_info end |
#update_access(remove_agent: false) ⇒ Object
Copy this access to the permissions of the Admin Set or Collection and to the WorkflowResponsibilities of the active workflow if this is an Admin Set
69 70 71 72 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 69 def update_access(remove_agent: false) reset_access_controls! update_workflow_responsibilities(remove_agent: remove_agent) if source_model.is_a?(AdminSet) end |
#visibility_options ⇒ Object
32 33 34 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 32 def Widgets::AdminSetVisibility.new. end |