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
Returns a new instance of PermissionTemplateForm.
39 40 41 42 43 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 39 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
25 26 27 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 25 def attributes @attributes end |
#release_embargo ⇒ Object
Selected release embargo timeframe (if any) under release “Varies” option
19 20 21 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 19 def @release_embargo end |
#release_varies ⇒ Object
Stores which radio button under release “Varies” option is selected
17 18 19 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 17 def release_varies @release_varies end |
#workflow_id ⇒ Object
27 28 29 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 27 def workflow_id @workflow_id || active_workflow.try(:id) end |
Instance Method Details
#embargo_options ⇒ Object
35 36 37 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 35 def Widgets::AdminSetEmbargoPeriod.new. end |
#id ⇒ #to_s
def source_id (because you might come looking for this method)
13 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 13 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
76 77 78 79 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 76 def remove_access!() construct_attributes_from_template_access!() update_access(remove_agent: true) end |
#update(attributes) ⇒ Hash{Symbol => String, Boolean}
Returns { :content_tab (for confirmation message), :updated (true/false),
:error_code (for flash error lookup) }.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 48 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
68 69 70 71 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 68 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
31 32 33 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 31 def Widgets::AdminSetVisibility.new. end |