sis_core 1.0.12 → 1.0.13
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/models/sis/core/academic_programme.rb +4 -0
- data/app/models/sis/core/academic_programme_document.rb +11 -0
- data/app/models/sis/core/application.rb +2 -2
- data/app/models/sis/core/application_setup.rb +22 -3
- data/app/models/sis/core/document_requirement.rb +8 -1
- data/app/models/sis/core/document_type.rb +2 -0
- data/app/models/sis/core/exam_setup.rb +3 -0
- data/app/models/sis/core/programme.rb +1 -1
- data/app/models/sis/core/semester.rb +1 -5
- data/db/migrate/20200105061717_create_sis_core_lookups.rb +3 -1
- data/db/migrate/20200105072142_create_sis_core_academic_years.rb +1 -1
- data/db/migrate/20200106072246_create_sis_core_semesters.rb +1 -5
- data/db/migrate/20200106132521_create_sis_core_application_setups.rb +4 -0
- data/db/migrate/20200106133034_create_sis_core_document_requirements.rb +2 -2
- data/db/migrate/20200107094449_create_sis_core_applications.rb +0 -4
- data/db/migrate/20201019055620_create_sis_core_academic_programme_documents.rb +19 -0
- data/lib/sis/core/version.rb +1 -1
- data/spec/factories/sis/core/academic_programme_documents.rb +9 -0
- data/spec/factories/sis/core/academic_years.rb +1 -1
- data/spec/factories/sis/core/application_setups.rb +1 -0
- data/spec/factories/sis/core/applications.rb +0 -1
- data/spec/factories/sis/core/lookups.rb +2 -0
- data/spec/factories/sis/core/semesters.rb +1 -2
- metadata +5 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 48102d4df50313be44276b37c0db422f6805cf05a7f3295e550938853da1c84e
         | 
| 4 | 
            +
              data.tar.gz: 2a58d518039a44a80f39583fcde21d3b74574bada3b9a531691466279e85cfc7
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 2e4b8c53defcbdc8fe1705d172269bd7067a2c64b77368f546e5d1ccb44d744bdd59ecb6a6472a7ed0be4799e2338a03f62bffbc04dd8aa76e3a963c8c0fbc57
         | 
| 7 | 
            +
              data.tar.gz: 8db810b8ecd8e93a2ed5077159fdf44e51a9aa3f0c666d6c9d321e1d911f67c543c98386ef89887bd1dfd740eb2ce0f5ffd5c0cd2bda199b0aed09c6b77246b2
         | 
| @@ -4,6 +4,10 @@ module Sis | |
| 4 4 | 
             
                  belongs_to :programme
         | 
| 5 5 | 
             
                  belongs_to :programme_type
         | 
| 6 6 | 
             
                  belongs_to :programme_level
         | 
| 7 | 
            +
                  has_many :academic_programme_documents
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  validates :programme_id, uniqueness: { scope: [:programme_level_id, :programme_type_id],
         | 
| 10 | 
            +
                                                         message: 'Program has already been created !' }
         | 
| 7 11 |  | 
| 8 12 | 
             
                  delegate(:name, to: :programme, prefix: true, allow_nil: false)
         | 
| 9 13 | 
             
                  delegate(:name, to: :programme_type, prefix: true, allow_nil: false)
         | 
| @@ -0,0 +1,11 @@ | |
| 1 | 
            +
            module Sis
         | 
| 2 | 
            +
              module Core
         | 
| 3 | 
            +
                class AcademicProgrammeDocument < ApplicationRecord
         | 
| 4 | 
            +
                  belongs_to :academic_programme
         | 
| 5 | 
            +
                  belongs_to :document_type
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  delegate(:name, to: :academic_programme, prefix: true, allow_nil: false)
         | 
| 8 | 
            +
                  delegate(:name, to: :document_type, prefix: true, allow_nil: false)
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
            end
         | 
| @@ -49,12 +49,12 @@ module Sis | |
| 49 49 | 
             
                  validates :payment_information, presence: true, if: :payment_made
         | 
| 50 50 |  | 
| 51 51 | 
             
                  belongs_to :applicant
         | 
| 52 | 
            -
                  belongs_to :academic_programme
         | 
| 53 52 | 
             
                  belongs_to :application_setup
         | 
| 54 53 | 
             
                  has_many :application_documents
         | 
| 55 54 |  | 
| 56 | 
            -
                  delegate(:name, to: : | 
| 55 | 
            +
                  delegate(:name, to: :application_setup, prefix: true, allow_nil: false)
         | 
| 57 56 | 
             
                  delegate(:full_name, to: :applicant, prefix: true, allow_nil: false)
         | 
| 57 | 
            +
                  delegate(:academic_programme_id, to: :application_setup, prefix: false, allow_nil: false)
         | 
| 58 58 | 
             
                end
         | 
| 59 59 | 
             
              end
         | 
| 60 60 | 
             
            end
         | 
| @@ -6,18 +6,37 @@ module Sis | |
| 6 6 |  | 
| 7 7 | 
             
                  belongs_to :academic_programme
         | 
| 8 8 | 
             
                  belongs_to :target_semester, class_name: 'Sis::Core::Semester'
         | 
| 9 | 
            +
                  belongs_to :academic_year
         | 
| 9 10 | 
             
                  has_many :document_requirements
         | 
| 10 11 | 
             
                  has_many :exam_setups
         | 
| 11 12 |  | 
| 12 13 | 
             
                  validates :start_date, :end_date, :status, presence: true
         | 
| 13 14 | 
             
                  validates :status, inclusion: [OPEN, CLOSED]
         | 
| 15 | 
            +
                  validates :academic_programme_id, uniqueness: { scope: [:target_semester_id, :academic_year_id],
         | 
| 16 | 
            +
                                                                  message: 'Announcement has already been created for this academic
         | 
| 17 | 
            +
                                                                            program !' }
         | 
| 14 18 |  | 
| 15 | 
            -
                  delegate(: | 
| 19 | 
            +
                  delegate(:code, to: :target_semester, prefix: true, allow_nil: false)
         | 
| 20 | 
            +
                  delegate(:year, to: :academic_year, prefix: false , allow_nil: false)
         | 
| 16 21 | 
             
                  delegate(:name, to: :academic_programme, prefix: true, allow_nil: false)
         | 
| 22 | 
            +
                  delegate(:programme_id, to: :academic_programme, prefix: false, allow_nil: false)
         | 
| 23 | 
            +
                  delegate(:programme_type_id, to: :academic_programme, prefix: false, allow_nil: false)
         | 
| 24 | 
            +
                  delegate(:programme_level_id, to: :academic_programme, prefix: false, allow_nil: false)
         | 
| 25 | 
            +
                  def programme_name
         | 
| 26 | 
            +
                    academic_programme.programme.name
         | 
| 27 | 
            +
                  end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                  def programme_type_name
         | 
| 30 | 
            +
                    academic_programme.programme_type.name
         | 
| 31 | 
            +
                  end
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                  def programme_level_name
         | 
| 34 | 
            +
                    academic_programme.programme_level.name
         | 
| 35 | 
            +
                  end
         | 
| 17 36 |  | 
| 18 37 | 
             
                  def name
         | 
| 19 | 
            -
                    academic_programme.programme.name | 
| 20 | 
            -
             | 
| 38 | 
            +
                    "#{academic_programme.programme.name} #{academic_programme.programme_level.name}
         | 
| 39 | 
            +
                     #{academic_programme.programme_type.name}"
         | 
| 21 40 | 
             
                  end
         | 
| 22 41 | 
             
                end
         | 
| 23 42 | 
             
              end
         | 
| @@ -4,10 +4,17 @@ module Sis | |
| 4 4 | 
             
                  belongs_to :document_type
         | 
| 5 5 | 
             
                  belongs_to :application_setup
         | 
| 6 6 |  | 
| 7 | 
            -
                  validates : | 
| 7 | 
            +
                  validates :application_setup_id, uniqueness: { scope: :document_type_id,
         | 
| 8 | 
            +
                                                                 message: 'Document has been already captured !' }
         | 
| 8 9 |  | 
| 9 10 | 
             
                  delegate(:name, to: :document_type, prefix: true, allow_nil: false)
         | 
| 10 11 | 
             
                  delegate(:name, to: :application_setup, prefix: true, allow_nil: false)
         | 
| 12 | 
            +
                  delegate(:programme_id, to: :application_setup, prefix: false, allow_nil: false)
         | 
| 13 | 
            +
                  delegate(:programme_name, to: :application_setup, prefix: false, allow_nil: false)
         | 
| 14 | 
            +
                  delegate(:programme_level_id, to: :application_setup, prefix: false, allow_nil: false)
         | 
| 15 | 
            +
                  delegate(:programme_level_name, to: :application_setup, prefix: false, allow_nil: false)
         | 
| 16 | 
            +
                  delegate(:programme_type_id, to: :application_setup, prefix: false, allow_nil: false)
         | 
| 17 | 
            +
                  delegate(:programme_type_name, to: :application_setup, prefix: false, allow_nil: false)
         | 
| 11 18 | 
             
                end
         | 
| 12 19 | 
             
              end
         | 
| 13 20 | 
             
            end
         | 
| @@ -11,6 +11,9 @@ module Sis | |
| 11 11 | 
             
                  end
         | 
| 12 12 |  | 
| 13 13 | 
             
                  delegate(:name, to: :application_setup, prefix: true, allow_nil: false)
         | 
| 14 | 
            +
                  delegate(:programme_id, to: :application_setup, prefix: false, allow_nil: false)
         | 
| 15 | 
            +
                  delegate(:programme_type_id, to: :application_setup, prefix: false, allow_nil: false)
         | 
| 16 | 
            +
                  delegate(:programme_level_id, to: :application_setup, prefix: false, allow_nil: false)
         | 
| 14 17 | 
             
                end
         | 
| 15 18 | 
             
              end
         | 
| 16 19 | 
             
            end
         | 
| @@ -1,11 +1,7 @@ | |
| 1 1 | 
             
            module Sis
         | 
| 2 2 | 
             
              module Core
         | 
| 3 3 | 
             
                class Semester < ApplicationRecord
         | 
| 4 | 
            -
                   | 
| 5 | 
            -
             | 
| 6 | 
            -
                  validates :name, presence: true
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                  delegate(:label, to: :academic_year, prefix: true, allow_nil: false)
         | 
| 4 | 
            +
                  validates :code, presence: true, uniqueness: { case_sensitive: false }
         | 
| 9 5 | 
             
                end
         | 
| 10 6 | 
             
              end
         | 
| 11 7 | 
             
            end
         | 
| @@ -1,12 +1,8 @@ | |
| 1 1 | 
             
            class CreateSisCoreSemesters < ActiveRecord::Migration[6.0]
         | 
| 2 2 | 
             
              def change
         | 
| 3 3 | 
             
                create_table :sis_core_semesters do |t|
         | 
| 4 | 
            -
                  t.string : | 
| 4 | 
            +
                  t.string :code, null: false
         | 
| 5 5 | 
             
                  t.string :description
         | 
| 6 | 
            -
                  t.references :academic_year,
         | 
| 7 | 
            -
                               index: { name: 'ay_on_semester_indx' },
         | 
| 8 | 
            -
                               null: false,
         | 
| 9 | 
            -
                               foreign_key: { to_table: :sis_core_academic_years }
         | 
| 10 6 |  | 
| 11 7 | 
             
                  t.timestamps
         | 
| 12 8 | 
             
                end
         | 
| @@ -12,6 +12,10 @@ class CreateSisCoreApplicationSetups < ActiveRecord::Migration[6.0] | |
| 12 12 | 
             
                               null: false,
         | 
| 13 13 | 
             
                               index: { name: 'as_on_ts_indx' },
         | 
| 14 14 | 
             
                               foreign_key: { to_table: :sis_core_semesters }
         | 
| 15 | 
            +
                  t.references :academic_year,
         | 
| 16 | 
            +
                               null: false,
         | 
| 17 | 
            +
                               index: { name: 'ay_on_ts_indx' },
         | 
| 18 | 
            +
                               foreign_key: { to_table: :sis_core_academic_years }
         | 
| 15 19 |  | 
| 16 20 | 
             
                  t.timestamps
         | 
| 17 21 | 
             
                end
         | 
| @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            class CreateSisCoreDocumentRequirements < ActiveRecord::Migration[6.0]
         | 
| 2 2 | 
             
              def change
         | 
| 3 3 | 
             
                create_table :sis_core_document_requirements do |t|
         | 
| 4 | 
            -
                  t.integer :original, null: false, default:  | 
| 5 | 
            -
                  t.integer :copy, null: false, default:  | 
| 4 | 
            +
                  t.integer :original, null: false, default: 1
         | 
| 5 | 
            +
                  t.integer :copy, null: false, default: 1
         | 
| 6 6 | 
             
                  t.string :remark
         | 
| 7 7 | 
             
                  t.references :document_type,
         | 
| 8 8 | 
             
                               null: false,
         | 
| @@ -9,10 +9,6 @@ class CreateSisCoreApplications < ActiveRecord::Migration[6.0] | |
| 9 9 | 
             
                               null: false,
         | 
| 10 10 | 
             
                               index: { name: 'applications_on_applicant_indx' },
         | 
| 11 11 | 
             
                               foreign_key: { to_table: :sis_core_applicants }
         | 
| 12 | 
            -
                  t.references :academic_programme,
         | 
| 13 | 
            -
                               null: false,
         | 
| 14 | 
            -
                               index: { name: 'applications_on_ap_indx' },
         | 
| 15 | 
            -
                               foreign_key: { to_table: :sis_core_academic_programmes }
         | 
| 16 12 | 
             
                  t.references :application_setup,
         | 
| 17 13 | 
             
                               null: false,
         | 
| 18 14 | 
             
                               index: { name: 'application_setup_on_ap_indx' },
         | 
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            class CreateSisCoreAcademicProgrammeDocuments < ActiveRecord::Migration[6.0]
         | 
| 2 | 
            +
              def change
         | 
| 3 | 
            +
                create_table :sis_core_academic_programme_documents do |t|
         | 
| 4 | 
            +
                  t.references :academic_programme,
         | 
| 5 | 
            +
                               null: false,
         | 
| 6 | 
            +
                               index: { name: 'ap_on_ap_doc' },
         | 
| 7 | 
            +
                               foreign_key: { to_table: :sis_core_academic_programmes }
         | 
| 8 | 
            +
                  t.references :document_type,
         | 
| 9 | 
            +
                               null: false,
         | 
| 10 | 
            +
                               index: { name: 'dt_on_ap_doc' },
         | 
| 11 | 
            +
                               foreign_key: { to_table: :sis_core_lookups }
         | 
| 12 | 
            +
                  t.string :remark
         | 
| 13 | 
            +
                  t.integer :original, default: 1
         | 
| 14 | 
            +
                  t.integer :copy, default: 1
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  t.timestamps
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
              end
         | 
| 19 | 
            +
            end
         | 
    
        data/lib/sis/core/version.rb
    CHANGED
    
    
| @@ -2,6 +2,7 @@ FactoryBot.define do | |
| 2 2 | 
             
              factory :application_setup, class: Sis::Core::ApplicationSetup do
         | 
| 3 3 | 
             
                association :academic_programme
         | 
| 4 4 | 
             
                association :target_semester, factory: :semester
         | 
| 5 | 
            +
                association :academic_year
         | 
| 5 6 | 
             
                start_date { Date.today - 15.days }
         | 
| 6 7 | 
             
                end_date { Date.today + 15.days }
         | 
| 7 8 | 
             
                status { 'Open' }
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sis_core
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.13
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Henock L.
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020- | 
| 11 | 
            +
            date: 2020-11-02 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: aasm
         | 
| @@ -227,6 +227,7 @@ files: | |
| 227 227 | 
             
            - app/controllers/sis/core/menus_controller.rb
         | 
| 228 228 | 
             
            - app/controllers/sis/core/users_controller.rb
         | 
| 229 229 | 
             
            - app/models/sis/core/academic_programme.rb
         | 
| 230 | 
            +
            - app/models/sis/core/academic_programme_document.rb
         | 
| 230 231 | 
             
            - app/models/sis/core/academic_year.rb
         | 
| 231 232 | 
             
            - app/models/sis/core/applicant.rb
         | 
| 232 233 | 
             
            - app/models/sis/core/application.rb
         | 
| @@ -283,6 +284,7 @@ files: | |
| 283 284 | 
             
            - db/migrate/20200511165241_create_sis_core_user_roles.rb
         | 
| 284 285 | 
             
            - db/migrate/20200511165450_create_sis_core_menus.rb
         | 
| 285 286 | 
             
            - db/migrate/20200919235516_create_sis_core_credit_hour_rates.rb
         | 
| 287 | 
            +
            - db/migrate/20201019055620_create_sis_core_academic_programme_documents.rb
         | 
| 286 288 | 
             
            - lib/authorize_request.rb
         | 
| 287 289 | 
             
            - lib/json_web_token.rb
         | 
| 288 290 | 
             
            - lib/sis/core.rb
         | 
| @@ -290,6 +292,7 @@ files: | |
| 290 292 | 
             
            - lib/sis/core/version.rb
         | 
| 291 293 | 
             
            - lib/sis_core.rb
         | 
| 292 294 | 
             
            - lib/tasks/sis_core_tasks.rake
         | 
| 295 | 
            +
            - spec/factories/sis/core/academic_programme_documents.rb
         | 
| 293 296 | 
             
            - spec/factories/sis/core/academic_programmes.rb
         | 
| 294 297 | 
             
            - spec/factories/sis/core/academic_years.rb
         | 
| 295 298 | 
             
            - spec/factories/sis/core/applicants.rb
         |