effective_memberships 0.10.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/app/controllers/admin/documents_controller.rb +15 -0
 - data/app/datatables/admin/effective_documents_datatable.rb +28 -0
 - data/app/datatables/effective_documents_datatable.rb +31 -0
 - data/app/models/concerns/effective_memberships_category.rb +4 -0
 - data/app/models/effective/document.rb +50 -0
 - data/app/models/effective/fee.rb +7 -1
 - data/app/views/admin/documents/_form.html.haml +19 -0
 - data/app/views/effective/documents/_dashboard.html.haml +8 -0
 - data/config/effective_memberships.rb +5 -0
 - data/config/locales/effective_memberships.en.yml +39 -0
 - data/config/routes.rb +1 -0
 - data/db/migrate/01_create_effective_memberships.rb.erb +14 -0
 - data/lib/effective_memberships/version.rb +1 -1
 - data/lib/effective_memberships.rb +2 -2
 - metadata +9 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: fcda6f904900bdb868f397b966b91246eb5199ccb40e2fd0ff585fe1a40a5c2d
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 496de8f40e138891794d41f6ce816941638ace3701dbfd40e111f39c4e5aaa4a
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 5bc4751c68972b32b0e851d42a837bfeacacf73291aa128871836fe339d339c56ef26f8cd78badb8b12bf2ad41ea0487b232d30b0fa71e0d2e955a7c2a2e8543
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 8bdb806fe84d1c1034b6fa620a92268e6cf1c220f2679d58be9d705971501230a87af5a4a1d38e5bd7bd6f94f1a4638a464e15ce4937938f9269d10f404b189c
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Admin
         
     | 
| 
      
 2 
     | 
    
         
            +
              class DocumentsController < ApplicationController
         
     | 
| 
      
 3 
     | 
    
         
            +
                before_action(:authenticate_user!) if defined?(Devise)
         
     | 
| 
      
 4 
     | 
    
         
            +
                before_action { EffectiveResources.authorize!(self, :admin, :effective_memberships) }
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                include Effective::CrudController
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                private
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                def permitted_params
         
     | 
| 
      
 11 
     | 
    
         
            +
                  params.require(:effective_document).permit!
         
     | 
| 
      
 12 
     | 
    
         
            +
                end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,28 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Admin
         
     | 
| 
      
 2 
     | 
    
         
            +
              class EffectiveDocumentsDatatable < Effective::Datatable
         
     | 
| 
      
 3 
     | 
    
         
            +
                datatable do
         
     | 
| 
      
 4 
     | 
    
         
            +
                  order :updated_at
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                  col :updated_at, visible: false
         
     | 
| 
      
 7 
     | 
    
         
            +
                  col :created_at, visible: false
         
     | 
| 
      
 8 
     | 
    
         
            +
                  col :id, visible: false
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  col :file
         
     | 
| 
      
 11 
     | 
    
         
            +
                  col :owner, label: 'User'
         
     | 
| 
      
 12 
     | 
    
         
            +
                  col :display_to_owner, label: 'Display to user'
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  if (categories = Array(EffectiveMemberships.document_categories)).present?
         
     | 
| 
      
 15 
     | 
    
         
            +
                    col :category, search: categories
         
     | 
| 
      
 16 
     | 
    
         
            +
                  end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                  col :title, visible: false
         
     | 
| 
      
 19 
     | 
    
         
            +
                  col :notes
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                  actions_col
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                collection do
         
     | 
| 
      
 25 
     | 
    
         
            +
                  Effective::Document.deep.all
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,31 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Dashboard Documents
         
     | 
| 
      
 2 
     | 
    
         
            +
            class EffectiveDocumentsDatatable < Effective::Datatable
         
     | 
| 
      
 3 
     | 
    
         
            +
              datatable do
         
     | 
| 
      
 4 
     | 
    
         
            +
                order :updated_at
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                col :updated_at, visible: false
         
     | 
| 
      
 7 
     | 
    
         
            +
                col :created_at, visible: false
         
     | 
| 
      
 8 
     | 
    
         
            +
                col :id, visible: false
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                col :owner, label: 'User or Organization'
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                if (categories = Array(EffectiveMemberships.document_categories)).present?
         
     | 
| 
      
 13 
     | 
    
         
            +
                  col :category, search: categories
         
     | 
| 
      
 14 
     | 
    
         
            +
                end
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                col :file
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                col :title, visible: false
         
     | 
| 
      
 19 
     | 
    
         
            +
                col :notes
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                actions_col do |document|
         
     | 
| 
      
 22 
     | 
    
         
            +
                  dropdown_link_to('Download', url_for(document.file)) if document.file.attached?
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
              collection(apply_belongs_to: false) do
         
     | 
| 
      
 28 
     | 
    
         
            +
                Effective::Document.deep.for(current_user).display_to_owner
         
     | 
| 
      
 29 
     | 
    
         
            +
              end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,50 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Effective
         
     | 
| 
      
 2 
     | 
    
         
            +
              class Document < ActiveRecord::Base
         
     | 
| 
      
 3 
     | 
    
         
            +
                self.table_name = EffectiveMemberships.documents_table_name.to_s
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                log_changes(to: :owner) if respond_to?(:log_changes)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                # This fee may belong to an user, organization or other parent model
         
     | 
| 
      
 8 
     | 
    
         
            +
                belongs_to :owner, polymorphic: true, optional: true
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                has_one_attached :file
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                effective_resource do
         
     | 
| 
      
 13 
     | 
    
         
            +
                  title             :string
         
     | 
| 
      
 14 
     | 
    
         
            +
                  category          :string
         
     | 
| 
      
 15 
     | 
    
         
            +
                  display_to_owner  :boolean    # Display on dashbaord
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                  notes             :text
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                  timestamps
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                scope :sorted, -> { order(:id) }
         
     | 
| 
      
 23 
     | 
    
         
            +
                scope :deep, -> { with_attached_file }
         
     | 
| 
      
 24 
     | 
    
         
            +
                scope :display_to_owner, -> { where(display_to_owner: true) }
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                scope :for, -> (user) {
         
     | 
| 
      
 27 
     | 
    
         
            +
                  raise('expected a effective memberships user') unless user.class.try(:effective_memberships_user?)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  where(owner: user).or(where(owner: user.organizations))
         
     | 
| 
      
 29 
     | 
    
         
            +
                }
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                before_validation(if: -> { file.attached? && title.blank? }) do
         
     | 
| 
      
 32 
     | 
    
         
            +
                  assign_attributes(title: file.filename.to_s)
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                validates :title, presence: true
         
     | 
| 
      
 36 
     | 
    
         
            +
                validates :file, presence: true
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                validate do
         
     | 
| 
      
 39 
     | 
    
         
            +
                  if (categories = Array(EffectiveMemberships.document_categories)).present?
         
     | 
| 
      
 40 
     | 
    
         
            +
                    self.errors.add(:category, "can't be blank") if category.blank?
         
     | 
| 
      
 41 
     | 
    
         
            +
                    self.errors.add(:category, "is invalid") unless categories.include?(category)
         
     | 
| 
      
 42 
     | 
    
         
            +
                  end
         
     | 
| 
      
 43 
     | 
    
         
            +
                end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                def to_s
         
     | 
| 
      
 46 
     | 
    
         
            +
                  title.presence || model_name.human
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
            end
         
     | 
    
        data/app/models/effective/fee.rb
    CHANGED
    
    | 
         @@ -144,7 +144,13 @@ module Effective 
     | 
|
| 
       144 
144 
     | 
    
         
             
                end
         
     | 
| 
       145 
145 
     | 
    
         | 
| 
       146 
146 
     | 
    
         
             
                def default_title
         
     | 
| 
       147 
     | 
    
         
            -
                   
     | 
| 
      
 147 
     | 
    
         
            +
                  return nil unless period.present? && fee_type.present?
         
     | 
| 
      
 148 
     | 
    
         
            +
             
     | 
| 
      
 149 
     | 
    
         
            +
                  [
         
     | 
| 
      
 150 
     | 
    
         
            +
                    period.strftime('%Y'),
         
     | 
| 
      
 151 
     | 
    
         
            +
                    category,
         
     | 
| 
      
 152 
     | 
    
         
            +
                    EffectiveResources.et("effective_memberships.fees.#{fee_type.downcase}")
         
     | 
| 
      
 153 
     | 
    
         
            +
                  ].join(' ')
         
     | 
| 
       148 
154 
     | 
    
         
             
                end
         
     | 
| 
       149 
155 
     | 
    
         | 
| 
       150 
156 
     | 
    
         
             
              end
         
     | 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            = effective_form_with(model: [:admin, document], engine: true) do |f|
         
     | 
| 
      
 2 
     | 
    
         
            +
              - if inline_datatable?
         
     | 
| 
      
 3 
     | 
    
         
            +
                = f.hidden_field :owner_id
         
     | 
| 
      
 4 
     | 
    
         
            +
                = f.hidden_field :owner_type
         
     | 
| 
      
 5 
     | 
    
         
            +
              - else
         
     | 
| 
      
 6 
     | 
    
         
            +
                = f.hidden_field :owner_type, value: current_user.class.name
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                - ajax_url = (@select2_ajax_path || effective_resources.users_admin_select2_ajax_index_path) unless Rails.env.test?
         
     | 
| 
      
 9 
     | 
    
         
            +
                = f.select :owner_id, current_user.class.all, label: 'User', ajax_url: ajax_url
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              - if (categories = Array(EffectiveMemberships.document_categories)).present?
         
     | 
| 
      
 12 
     | 
    
         
            +
                - f.object.category ||= categories.first
         
     | 
| 
      
 13 
     | 
    
         
            +
                = f.select :category, categories, required: true
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              = f.file_field :file
         
     | 
| 
      
 16 
     | 
    
         
            +
              = f.text_area :notes
         
     | 
| 
      
 17 
     | 
    
         
            +
              = f.check_box :display_to_owner, label: "Yes, display this document on the user dashboard"
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
              = effective_submit(f)
         
     | 
| 
         @@ -0,0 +1,8 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            - datatable = EffectiveResources.best('EffectiveDocumentsDatatable').new(self, namespace: :effective)
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            %h2 Documents
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            - if datatable.present?
         
     | 
| 
      
 6 
     | 
    
         
            +
              = render_simple_datatable(datatable)
         
     | 
| 
      
 7 
     | 
    
         
            +
            - else
         
     | 
| 
      
 8 
     | 
    
         
            +
              %p You have not been shared any documents. When you do, we'll show them here.
         
     | 
| 
         @@ -2,6 +2,7 @@ EffectiveMemberships.setup do |config| 
     | 
|
| 
       2 
2 
     | 
    
         
             
              config.categories_table_name = :categories
         
     | 
| 
       3 
3 
     | 
    
         
             
              config.applicants_table_name = :applicants
         
     | 
| 
       4 
4 
     | 
    
         
             
              config.applicant_reviews_table_name = :applicant_reviews
         
     | 
| 
      
 5 
     | 
    
         
            +
              config.documents_table_name = :documents
         
     | 
| 
       5 
6 
     | 
    
         
             
              config.fee_payments_table_name = :fee_payments
         
     | 
| 
       6 
7 
     | 
    
         
             
              config.organizations_table_name = :organizations
         
     | 
| 
       7 
8 
     | 
    
         
             
              config.representatives_table_name = :representatives
         
     | 
| 
         @@ -37,6 +38,10 @@ EffectiveMemberships.setup do |config| 
     | 
|
| 
       37 
38 
     | 
    
         
             
              # When false, hide the reviewed state entirely
         
     | 
| 
       38 
39 
     | 
    
         
             
              # config.applicant_reviews = false
         
     | 
| 
       39 
40 
     | 
    
         | 
| 
      
 41 
     | 
    
         
            +
              # Documents
         
     | 
| 
      
 42 
     | 
    
         
            +
              # Documents will require a category when present
         
     | 
| 
      
 43 
     | 
    
         
            +
              # config.document_categories = ['Documents']
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
       40 
45 
     | 
    
         
             
              # Mailer Settings
         
     | 
| 
       41 
46 
     | 
    
         
             
              # Please see config/initializers/effective_resources.rb for default effective_* gem mailer settings
         
     | 
| 
       42 
47 
     | 
    
         
             
              #
         
     | 
| 
         @@ -0,0 +1,39 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            en:
         
     | 
| 
      
 2 
     | 
    
         
            +
              effective_memberships:
         
     | 
| 
      
 3 
     | 
    
         
            +
                name: 'Effective Memberships'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                fees:
         
     | 
| 
      
 6 
     | 
    
         
            +
                  applicant: 'Applicant Fee'
         
     | 
| 
      
 7 
     | 
    
         
            +
                  prorated: 'Prorated Fee'
         
     | 
| 
      
 8 
     | 
    
         
            +
                  reinstatement: 'Reinstatement Fee'
         
     | 
| 
      
 9 
     | 
    
         
            +
                  renewal: 'Renewal Fee'
         
     | 
| 
      
 10 
     | 
    
         
            +
                  late: 'Late Fee'
         
     | 
| 
      
 11 
     | 
    
         
            +
                  discount: 'Discount Fee'
         
     | 
| 
      
 12 
     | 
    
         
            +
                  admin: 'Admin Fee'
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              activerecord:
         
     | 
| 
      
 15 
     | 
    
         
            +
                models:
         
     | 
| 
      
 16 
     | 
    
         
            +
                  # These ones might be app level
         
     | 
| 
      
 17 
     | 
    
         
            +
                  app/applicant: 'Applicant'
         
     | 
| 
      
 18 
     | 
    
         
            +
                  app/applicant_review: 'Applicant Review'
         
     | 
| 
      
 19 
     | 
    
         
            +
                  app/membership_card: 'Membership Card'
         
     | 
| 
      
 20 
     | 
    
         
            +
                  app/category: 'Category'
         
     | 
| 
      
 21 
     | 
    
         
            +
                  app/directory: 'Directory'
         
     | 
| 
      
 22 
     | 
    
         
            +
                  app/fee_payment: 'Fee Payment'
         
     | 
| 
      
 23 
     | 
    
         
            +
                  app/organization: 'Organization'
         
     | 
| 
      
 24 
     | 
    
         
            +
                  app/status: 'Status'
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                  # These ones should stay effective
         
     | 
| 
      
 27 
     | 
    
         
            +
                  effective/applicant_course_area: 'Course Area'
         
     | 
| 
      
 28 
     | 
    
         
            +
                  effective/applicant_course_name: 'Course Name'
         
     | 
| 
      
 29 
     | 
    
         
            +
                  effective/applicant_course: 'Course'
         
     | 
| 
      
 30 
     | 
    
         
            +
                  effective/applicant_education: 'Education'
         
     | 
| 
      
 31 
     | 
    
         
            +
                  effective/applicant_endorsement: 'Endorsement'
         
     | 
| 
      
 32 
     | 
    
         
            +
                  effective/applicant_equivalence: 'Equivalence'
         
     | 
| 
      
 33 
     | 
    
         
            +
                  effective/applicant_experience: 'Experience'
         
     | 
| 
      
 34 
     | 
    
         
            +
                  effective/applicant_reference: 'Reference'
         
     | 
| 
      
 35 
     | 
    
         
            +
                  effective/document: 'Document'
         
     | 
| 
      
 36 
     | 
    
         
            +
                  effective/fee: 'Fee'
         
     | 
| 
      
 37 
     | 
    
         
            +
                  effective/membership_history: 'Membership History'
         
     | 
| 
      
 38 
     | 
    
         
            +
                  effective/membership: 'Membership'
         
     | 
| 
      
 39 
     | 
    
         
            +
                  effective/representative: 'Representative'
         
     | 
    
        data/config/routes.rb
    CHANGED
    
    
| 
         @@ -529,5 +529,19 @@ class CreateEffectiveMemberships < ActiveRecord::Migration[6.0] 
     | 
|
| 
       529 
529 
     | 
    
         
             
                add_index :fee_payments, :status
         
     | 
| 
       530 
530 
     | 
    
         
             
                add_index :fee_payments, :token
         
     | 
| 
       531 
531 
     | 
    
         | 
| 
      
 532 
     | 
    
         
            +
                # Documents
         
     | 
| 
      
 533 
     | 
    
         
            +
                create_table :documents do |t|
         
     | 
| 
      
 534 
     | 
    
         
            +
                  t.integer :owner_id
         
     | 
| 
      
 535 
     | 
    
         
            +
                  t.string :owner_type
         
     | 
| 
      
 536 
     | 
    
         
            +
             
     | 
| 
      
 537 
     | 
    
         
            +
                  t.string :title
         
     | 
| 
      
 538 
     | 
    
         
            +
                  t.string :category
         
     | 
| 
      
 539 
     | 
    
         
            +
                  t.boolean :display_to_owner
         
     | 
| 
      
 540 
     | 
    
         
            +
             
     | 
| 
      
 541 
     | 
    
         
            +
                  t.text :notes
         
     | 
| 
      
 542 
     | 
    
         
            +
             
     | 
| 
      
 543 
     | 
    
         
            +
                  t.timestamps
         
     | 
| 
      
 544 
     | 
    
         
            +
                end
         
     | 
| 
      
 545 
     | 
    
         
            +
             
     | 
| 
       532 
546 
     | 
    
         
             
              end
         
     | 
| 
       533 
547 
     | 
    
         
             
            end
         
     | 
| 
         @@ -6,9 +6,9 @@ module EffectiveMemberships 
     | 
|
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
              def self.config_keys
         
     | 
| 
       8 
8 
     | 
    
         
             
                [
         
     | 
| 
       9 
     | 
    
         
            -
                  :categories_table_name, :applicants_table_name, :applicant_reviews_table_name, :fee_payments_table_name, :organizations_table_name, :representatives_table_name, :statuses_table_name,
         
     | 
| 
      
 9 
     | 
    
         
            +
                  :documents_table_name, :categories_table_name, :applicants_table_name, :applicant_reviews_table_name, :fee_payments_table_name, :organizations_table_name, :representatives_table_name, :statuses_table_name,
         
     | 
| 
       10 
10 
     | 
    
         
             
                  :category_class_name, :organization_class_name, :applicant_class_name, :applicant_review_class_name, :fee_payment_class_name, :registrar_class_name, :membership_card_class_name, :membership_directory_class_name, :status_class_name,
         
     | 
| 
       11 
     | 
    
         
            -
                  :additional_fee_types, :applicant_reviews, :applicant_endorsements_endorser_collection,
         
     | 
| 
      
 11 
     | 
    
         
            +
                  :additional_fee_types, :applicant_reviews, :applicant_endorsements_endorser_collection, :document_categories,
         
     | 
| 
       12 
12 
     | 
    
         
             
                  :layout,
         
     | 
| 
       13 
13 
     | 
    
         
             
                  :mailer, :parent_mailer, :deliver_method, :mailer_layout, :mailer_sender, :mailer_admin, :mailer_subject, :use_effective_email_templates
         
     | 
| 
       14 
14 
     | 
    
         
             
                ]
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: effective_memberships
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.12.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Code and Effect
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2023- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2023-03-06 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rails
         
     | 
| 
         @@ -261,6 +261,7 @@ files: 
     | 
|
| 
       261 
261 
     | 
    
         
             
            - app/controllers/admin/applicant_reviews_controller.rb
         
     | 
| 
       262 
262 
     | 
    
         
             
            - app/controllers/admin/applicants_controller.rb
         
     | 
| 
       263 
263 
     | 
    
         
             
            - app/controllers/admin/categories_controller.rb
         
     | 
| 
      
 264 
     | 
    
         
            +
            - app/controllers/admin/documents_controller.rb
         
     | 
| 
       264 
265 
     | 
    
         
             
            - app/controllers/admin/fee_payments_controller.rb
         
     | 
| 
       265 
266 
     | 
    
         
             
            - app/controllers/admin/fees_controller.rb
         
     | 
| 
       266 
267 
     | 
    
         
             
            - app/controllers/admin/membership_histories_controller.rb
         
     | 
| 
         @@ -285,6 +286,7 @@ files: 
     | 
|
| 
       285 
286 
     | 
    
         
             
            - app/datatables/admin/effective_applicant_reviews_datatable.rb
         
     | 
| 
       286 
287 
     | 
    
         
             
            - app/datatables/admin/effective_applicants_datatable.rb
         
     | 
| 
       287 
288 
     | 
    
         
             
            - app/datatables/admin/effective_categories_datatable.rb
         
     | 
| 
      
 289 
     | 
    
         
            +
            - app/datatables/admin/effective_documents_datatable.rb
         
     | 
| 
       288 
290 
     | 
    
         
             
            - app/datatables/admin/effective_fee_payments_datatable.rb
         
     | 
| 
       289 
291 
     | 
    
         
             
            - app/datatables/admin/effective_fees_datatable.rb
         
     | 
| 
       290 
292 
     | 
    
         
             
            - app/datatables/admin/effective_membership_histories_datatable.rb
         
     | 
| 
         @@ -302,6 +304,7 @@ files: 
     | 
|
| 
       302 
304 
     | 
    
         
             
            - app/datatables/effective_applicant_reviews_datatable.rb
         
     | 
| 
       303 
305 
     | 
    
         
             
            - app/datatables/effective_applicants_datatable.rb
         
     | 
| 
       304 
306 
     | 
    
         
             
            - app/datatables/effective_available_applicant_reviews_datatable.rb
         
     | 
| 
      
 307 
     | 
    
         
            +
            - app/datatables/effective_documents_datatable.rb
         
     | 
| 
       305 
308 
     | 
    
         
             
            - app/datatables/effective_fee_payments_datatable.rb
         
     | 
| 
       306 
309 
     | 
    
         
             
            - app/datatables/effective_memberships_directory_datatable.rb
         
     | 
| 
       307 
310 
     | 
    
         
             
            - app/datatables/effective_organizations_datatable.rb
         
     | 
| 
         @@ -330,6 +333,7 @@ files: 
     | 
|
| 
       330 
333 
     | 
    
         
             
            - app/models/effective/applicant_reference.rb
         
     | 
| 
       331 
334 
     | 
    
         
             
            - app/models/effective/applicant_review.rb
         
     | 
| 
       332 
335 
     | 
    
         
             
            - app/models/effective/category.rb
         
     | 
| 
      
 336 
     | 
    
         
            +
            - app/models/effective/document.rb
         
     | 
| 
       333 
337 
     | 
    
         
             
            - app/models/effective/fee.rb
         
     | 
| 
       334 
338 
     | 
    
         
             
            - app/models/effective/fee_payment.rb
         
     | 
| 
       335 
339 
     | 
    
         
             
            - app/models/effective/membership.rb
         
     | 
| 
         @@ -366,6 +370,7 @@ files: 
     | 
|
| 
       366 
370 
     | 
    
         
             
            - app/views/admin/categories/_form_fee_payment_content.html.haml
         
     | 
| 
       367 
371 
     | 
    
         
             
            - app/views/admin/categories/_form_fee_payment_steps.html.haml
         
     | 
| 
       368 
372 
     | 
    
         
             
            - app/views/admin/categories/_form_fees.html.haml
         
     | 
| 
      
 373 
     | 
    
         
            +
            - app/views/admin/documents/_form.html.haml
         
     | 
| 
       369 
374 
     | 
    
         
             
            - app/views/admin/fee_payments/_fee_payment.html.haml
         
     | 
| 
       370 
375 
     | 
    
         
             
            - app/views/admin/fees/_fee.html.haml
         
     | 
| 
       371 
376 
     | 
    
         
             
            - app/views/admin/fees/_form.html.haml
         
     | 
| 
         @@ -461,6 +466,7 @@ files: 
     | 
|
| 
       461 
466 
     | 
    
         
             
            - app/views/effective/applicants/submitted.html.haml
         
     | 
| 
       462 
467 
     | 
    
         
             
            - app/views/effective/applicants/summary.html.haml
         
     | 
| 
       463 
468 
     | 
    
         
             
            - app/views/effective/applicants/transcripts.html.haml
         
     | 
| 
      
 469 
     | 
    
         
            +
            - app/views/effective/documents/_dashboard.html.haml
         
     | 
| 
       464 
470 
     | 
    
         
             
            - app/views/effective/fee_payments/_content.html.haml
         
     | 
| 
       465 
471 
     | 
    
         
             
            - app/views/effective/fee_payments/_dashboard.html.haml
         
     | 
| 
       466 
472 
     | 
    
         
             
            - app/views/effective/fee_payments/_declarations.html.haml
         
     | 
| 
         @@ -507,6 +513,7 @@ files: 
     | 
|
| 
       507 
513 
     | 
    
         
             
            - app/views/users/_demographics.html.haml
         
     | 
| 
       508 
514 
     | 
    
         
             
            - app/views/users/_fields_demographics.html.haml
         
     | 
| 
       509 
515 
     | 
    
         
             
            - config/effective_memberships.rb
         
     | 
| 
      
 516 
     | 
    
         
            +
            - config/locales/effective_memberships.en.yml
         
     | 
| 
       510 
517 
     | 
    
         
             
            - config/routes.rb
         
     | 
| 
       511 
518 
     | 
    
         
             
            - db/migrate/01_create_effective_memberships.rb.erb
         
     | 
| 
       512 
519 
     | 
    
         
             
            - db/seeds.rb
         
     |