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.
-
#reset_access_controls! ⇒ Object
deprecated
Deprecated.
use PermissionTemplate#reset_access_controls instead.
-
#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.
46 47 48 49 50 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 46 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
32 33 34 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 32 def attributes @attributes end |
#release_embargo ⇒ Object
Selected release embargo timeframe (if any) under release “Varies” option
26 27 28 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 26 def @release_embargo end |
#release_varies ⇒ Object
Stores which radio button under release “Varies” option is selected
24 25 26 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 24 def release_varies @release_varies end |
#workflow_id ⇒ Object
34 35 36 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 34 def workflow_id @workflow_id || active_workflow.try(:id) end |
Instance Method Details
#embargo_options ⇒ Object
42 43 44 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 42 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
83 84 85 86 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 83 def remove_access!() construct_attributes_from_template_access!() update_access(remove_agent: true) end |
#reset_access_controls! ⇒ Object
use PermissionTemplate#reset_access_controls instead.
18 19 20 21 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 18 def reset_access_controls! Deprecation.warn("reset_access_controls! is deprecated; use PermissionTemplate#reset_access_controls instead.") source_model.reset_access_controls! end |
#update(attributes) ⇒ Hash{Symbol => String, Boolean}
Returns { :content_tab (for confirmation message), :updated (true/false),
:error_code (for flash error lookup) }.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 55 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
75 76 77 78 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 75 def update_access(remove_agent: false) source_model.reset_access_controls! update_workflow_responsibilities(remove_agent: remove_agent) if source_model.is_a?(AdminSet) end |
#visibility_options ⇒ Object
38 39 40 |
# File 'app/forms/hyrax/forms/permission_template_form.rb', line 38 def Widgets::AdminSetVisibility.new. end |