sis_core 1.0.7 → 1.0.12
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/sis/core/menus_controller.rb +2 -2
- data/app/controllers/sis/core/users_controller.rb +2 -1
- data/app/models/sis/core/applicant.rb +10 -0
- data/app/models/sis/core/application.rb +17 -7
- data/app/models/sis/core/application_setup.rb +1 -0
- data/app/models/sis/core/credit_hour_rate.rb +13 -0
- data/app/models/sis/core/currency.rb +7 -0
- data/app/models/sis/core/exam.rb +4 -0
- data/app/models/sis/core/exam_setup.rb +1 -0
- data/app/uploaders/sis/core/application_document_uploader.rb +1 -1
- data/app/uploaders/sis/core/photo_uploader.rb +1 -1
- data/db/migrate/20200919235516_create_sis_core_credit_hour_rates.rb +17 -0
- data/lib/sis/core/engine.rb +0 -1
- data/lib/sis/core/version.rb +1 -1
- data/spec/factories/sis/core/credit_hour_rates.rb +7 -0
- data/spec/factories/sis/core/currencies.rb +5 -0
- data/spec/factories/sis/core/programme_levels.rb +1 -1
- metadata +10 -11
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0a391a271ae5aa358a916776b0e2eedf3fc09cdb49e522627c81a5eefcdf6072
         | 
| 4 | 
            +
              data.tar.gz: 667e0483f0eb8dbac9d6bb81d2e7b98d3f59bb3244e3251f23010a921db5a8c7
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8ac73e86b89644a285ddb1b45425daa0e809f80b0023f3dcbf091eec7344819ee51b22a2ff791268dad3ec701bf9307f4256dd6e483700f6f11ec10d1f99df59
         | 
| 7 | 
            +
              data.tar.gz: 4b9073797a0fc8317ba4f190678fba109444d8b1a0148383cbc7d5b694f61a56ffb39ba238bb1494bb5c2d10fc705cd3bb8dfbc0361616d6657a417095e16fde
         | 
| @@ -11,8 +11,8 @@ module Sis | |
| 11 11 | 
             
                      user_menus.each do |user_menu|
         | 
| 12 12 | 
             
                        children = user_menu.children.where(parent_id: user_menu.id, application_module_id: app_module_id)
         | 
| 13 13 | 
             
                        children = children.map { |c| { label: c.text, icon: c.icon_cls, routerLink: [c.location] } }
         | 
| 14 | 
            -
                        menus.push({  | 
| 15 | 
            -
                                     items: children })
         | 
| 14 | 
            +
                        menus.push({ id: user_menu.id, label: user_menu.text, icon: user_menu.icon_cls,
         | 
| 15 | 
            +
                                     location: user_menu.location, items: children, expanded: true })
         | 
| 16 16 | 
             
                      end
         | 
| 17 17 | 
             
                    end
         | 
| 18 18 | 
             
                    render json: { success: true, data: menus }
         | 
| @@ -27,7 +27,8 @@ module Sis | |
| 27 27 | 
             
                  def login
         | 
| 28 28 | 
             
                    user = User.find_by_email(params[:email])
         | 
| 29 29 | 
             
                    if User&.find_by_email(params[:email]) && user.authenticate(params[:password])
         | 
| 30 | 
            -
                      token = JsonWebToken.encode({ id: user.id, first_name: user.first_name, last_name: user.last_name | 
| 30 | 
            +
                      token = JsonWebToken.encode({ id: user.id, first_name: user.first_name, last_name: user.last_name,
         | 
| 31 | 
            +
                                                    roles: user.user_roles.map(&:name) })
         | 
| 31 32 | 
             
                      render json: { success: true, jwt: token }
         | 
| 32 33 | 
             
                    else
         | 
| 33 34 | 
             
                      render json: { success: false, errors: ['Invalid username or password !'] }
         | 
| @@ -5,11 +5,21 @@ module Sis | |
| 5 5 | 
             
                  validates :first_name, :middle_name, :last_name, :email, presence: true
         | 
| 6 6 | 
             
                  validates :email, uniqueness: true
         | 
| 7 7 |  | 
| 8 | 
            +
                  has_many :applications
         | 
| 9 | 
            +
             | 
| 8 10 | 
             
                  has_secure_password
         | 
| 9 11 |  | 
| 10 12 | 
             
                  def full_name
         | 
| 11 13 | 
             
                    first_name + ' ' + middle_name + ' ' + last_name
         | 
| 12 14 | 
             
                  end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  scope :by_application_setup, (lambda do |app_setup_id|
         | 
| 17 | 
            +
                    joins(applications: :application_setup).where('sis_core_applications.application_setup_id': app_setup_id)
         | 
| 18 | 
            +
                  end)
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  scope :by_status, (lambda do |status|
         | 
| 21 | 
            +
                    joins(:applications).where('sis_core_applications.status': status)
         | 
| 22 | 
            +
                  end)
         | 
| 13 23 | 
             
                end
         | 
| 14 24 | 
             
              end
         | 
| 15 25 | 
             
            end
         | 
| @@ -9,18 +9,15 @@ module Sis | |
| 9 9 |  | 
| 10 10 | 
             
                  aasm column: :status do
         | 
| 11 11 | 
             
                    state :draft, initial: true
         | 
| 12 | 
            -
                    state :submitted, :under_review, : | 
| 12 | 
            +
                    state :submitted, :under_review, :rejected, :selected_for_exam, :selected_for_admission, :waiting, :accepted,
         | 
| 13 | 
            +
                          :declined
         | 
| 13 14 |  | 
| 14 15 | 
             
                    event :submit do
         | 
| 15 16 | 
             
                      transitions from: :draft, to: :submitted
         | 
| 16 17 | 
             
                    end
         | 
| 17 18 |  | 
| 18 19 | 
             
                    event :review do
         | 
| 19 | 
            -
                      transitions from: %i[submitted rejected | 
| 20 | 
            -
                    end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
                    event :accept do
         | 
| 23 | 
            -
                      transitions from: :under_review, to: :accepted
         | 
| 20 | 
            +
                      transitions from: %i[submitted rejected], to: :under_review
         | 
| 24 21 | 
             
                    end
         | 
| 25 22 |  | 
| 26 23 | 
             
                    event :reject do
         | 
| @@ -28,12 +25,24 @@ module Sis | |
| 28 25 | 
             
                    end
         | 
| 29 26 |  | 
| 30 27 | 
             
                    event :select_for_exam do
         | 
| 31 | 
            -
                      transitions from:  | 
| 28 | 
            +
                      transitions from: %i[submitted under_review], to: :selected_for_exam
         | 
| 32 29 | 
             
                    end
         | 
| 33 30 |  | 
| 34 31 | 
             
                    event :select_for_admission do
         | 
| 35 32 | 
             
                      transitions from: :selected_for_exam, to: :selected_for_admission
         | 
| 36 33 | 
             
                    end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                    event :select_for_waiting do
         | 
| 36 | 
            +
                      transitions from: :selected_for_exam, to: :waiting
         | 
| 37 | 
            +
                    end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                    event :accept do
         | 
| 40 | 
            +
                      transitions from: :selected_for_admission, to: :accepted
         | 
| 41 | 
            +
                    end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                    event :decline do
         | 
| 44 | 
            +
                      transitions from: :selected_for_admission, to: :declined
         | 
| 45 | 
            +
                    end
         | 
| 37 46 | 
             
                  end
         | 
| 38 47 |  | 
| 39 48 | 
             
                  validates :status, presence: true
         | 
| @@ -42,6 +51,7 @@ module Sis | |
| 42 51 | 
             
                  belongs_to :applicant
         | 
| 43 52 | 
             
                  belongs_to :academic_programme
         | 
| 44 53 | 
             
                  belongs_to :application_setup
         | 
| 54 | 
            +
                  has_many :application_documents
         | 
| 45 55 |  | 
| 46 56 | 
             
                  delegate(:name, to: :academic_programme, prefix: true, allow_nil: false)
         | 
| 47 57 | 
             
                  delegate(:full_name, to: :applicant, prefix: true, allow_nil: false)
         | 
| @@ -7,6 +7,7 @@ module Sis | |
| 7 7 | 
             
                  belongs_to :academic_programme
         | 
| 8 8 | 
             
                  belongs_to :target_semester, class_name: 'Sis::Core::Semester'
         | 
| 9 9 | 
             
                  has_many :document_requirements
         | 
| 10 | 
            +
                  has_many :exam_setups
         | 
| 10 11 |  | 
| 11 12 | 
             
                  validates :start_date, :end_date, :status, presence: true
         | 
| 12 13 | 
             
                  validates :status, inclusion: [OPEN, CLOSED]
         | 
| @@ -0,0 +1,13 @@ | |
| 1 | 
            +
            module Sis
         | 
| 2 | 
            +
              module Core
         | 
| 3 | 
            +
                class CreditHourRate < ApplicationRecord
         | 
| 4 | 
            +
                  belongs_to :programme_level
         | 
| 5 | 
            +
                  belongs_to :currency
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  validates :rate, presence: true
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  delegate(:name, to: :programme_level, prefix: true, allow_nil: false)
         | 
| 10 | 
            +
                  delegate(:name, to: :currency, prefix: true, allow_nil: false)
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
              end
         | 
| 13 | 
            +
            end
         | 
    
        data/app/models/sis/core/exam.rb
    CHANGED
    
    | @@ -12,6 +12,10 @@ module Sis | |
| 12 12 | 
             
                  end
         | 
| 13 13 |  | 
| 14 14 | 
             
                  delegate(:name, to: :exam_setup, prefix: true, allow_nil: false)
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  scope :by_application_setup, (lambda do |app_setup_id|
         | 
| 17 | 
            +
                    joins(:exam_setup).where('sis_core_exam_setups.application_setup_id': app_setup_id)
         | 
| 18 | 
            +
                  end)
         | 
| 15 19 | 
             
                end
         | 
| 16 20 | 
             
              end
         | 
| 17 21 | 
             
            end
         | 
| @@ -12,7 +12,7 @@ module Sis | |
| 12 12 | 
             
                  # Override the directory where uploaded files will be stored.
         | 
| 13 13 | 
             
                  # This is a sensible default for uploaders that are meant to be mounted:
         | 
| 14 14 | 
             
                  def store_dir
         | 
| 15 | 
            -
                    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
         | 
| 15 | 
            +
                    ENV.fetch('UPLOAD_PREFIX') + "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
         | 
| 16 16 | 
             
                  end
         | 
| 17 17 |  | 
| 18 18 | 
             
                  # Provide a default URL as a default if there hasn't been a file uploaded:
         | 
| @@ -12,7 +12,7 @@ module Sis | |
| 12 12 | 
             
                  # Override the directory where uploaded files will be stored.
         | 
| 13 13 | 
             
                  # This is a sensible default for uploaders that are meant to be mounted:
         | 
| 14 14 | 
             
                  def store_dir
         | 
| 15 | 
            -
                    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
         | 
| 15 | 
            +
                    ENV.fetch('UPLOAD_PREFIX') + "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
         | 
| 16 16 | 
             
                  end
         | 
| 17 17 |  | 
| 18 18 | 
             
                  # Provide a default URL as a default if there hasn't been a file uploaded:
         | 
| @@ -0,0 +1,17 @@ | |
| 1 | 
            +
            class CreateSisCoreCreditHourRates < ActiveRecord::Migration[6.0]
         | 
| 2 | 
            +
              def change
         | 
| 3 | 
            +
                create_table :sis_core_credit_hour_rates do |t|
         | 
| 4 | 
            +
                  t.references :programme_level,
         | 
| 5 | 
            +
                               null: false,
         | 
| 6 | 
            +
                               index: { name: 'pr_level_on_chr_hr_rate_indx' },
         | 
| 7 | 
            +
                               foreign_key: { to_table: :sis_core_lookups }
         | 
| 8 | 
            +
                  t.references :currency,
         | 
| 9 | 
            +
                               null: false,
         | 
| 10 | 
            +
                               index: { name: 'currency_on_chr_hr_rate_indx' },
         | 
| 11 | 
            +
                               foreign_key: { to_table: :sis_core_lookups }
         | 
| 12 | 
            +
                  t.float :rate, null: false
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  t.timestamps
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
            end
         | 
    
        data/lib/sis/core/engine.rb
    CHANGED
    
    
    
        data/lib/sis/core/version.rb
    CHANGED
    
    
    
        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.12
         | 
| 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-09-29 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: aasm
         | 
| @@ -100,20 +100,14 @@ dependencies: | |
| 100 100 | 
             
                requirements:
         | 
| 101 101 | 
             
                - - "~>"
         | 
| 102 102 | 
             
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            -
                    version: 6.0. | 
| 104 | 
            -
                - - ">="
         | 
| 105 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 106 | 
            -
                    version: 6.0.2.1
         | 
| 103 | 
            +
                    version: 6.0.3
         | 
| 107 104 | 
             
              type: :runtime
         | 
| 108 105 | 
             
              prerelease: false
         | 
| 109 106 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 110 107 | 
             
                requirements:
         | 
| 111 108 | 
             
                - - "~>"
         | 
| 112 109 | 
             
                  - !ruby/object:Gem::Version
         | 
| 113 | 
            -
                    version: 6.0. | 
| 114 | 
            -
                - - ">="
         | 
| 115 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 116 | 
            -
                    version: 6.0.2.1
         | 
| 110 | 
            +
                    version: 6.0.3
         | 
| 117 111 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 118 112 | 
             
              name: sqlite3
         | 
| 119 113 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -242,6 +236,8 @@ files: | |
| 242 236 | 
             
            - app/models/sis/core/application_setup.rb
         | 
| 243 237 | 
             
            - app/models/sis/core/course.rb
         | 
| 244 238 | 
             
            - app/models/sis/core/course_registration.rb
         | 
| 239 | 
            +
            - app/models/sis/core/credit_hour_rate.rb
         | 
| 240 | 
            +
            - app/models/sis/core/currency.rb
         | 
| 245 241 | 
             
            - app/models/sis/core/document_requirement.rb
         | 
| 246 242 | 
             
            - app/models/sis/core/document_type.rb
         | 
| 247 243 | 
             
            - app/models/sis/core/exam.rb
         | 
| @@ -286,6 +282,7 @@ files: | |
| 286 282 | 
             
            - db/migrate/20200511165121_create_sis_core_application_modules.rb
         | 
| 287 283 | 
             
            - db/migrate/20200511165241_create_sis_core_user_roles.rb
         | 
| 288 284 | 
             
            - db/migrate/20200511165450_create_sis_core_menus.rb
         | 
| 285 | 
            +
            - db/migrate/20200919235516_create_sis_core_credit_hour_rates.rb
         | 
| 289 286 | 
             
            - lib/authorize_request.rb
         | 
| 290 287 | 
             
            - lib/json_web_token.rb
         | 
| 291 288 | 
             
            - lib/sis/core.rb
         | 
| @@ -302,6 +299,8 @@ files: | |
| 302 299 | 
             
            - spec/factories/sis/core/applications.rb
         | 
| 303 300 | 
             
            - spec/factories/sis/core/course_registrations.rb
         | 
| 304 301 | 
             
            - spec/factories/sis/core/courses.rb
         | 
| 302 | 
            +
            - spec/factories/sis/core/credit_hour_rates.rb
         | 
| 303 | 
            +
            - spec/factories/sis/core/currencies.rb
         | 
| 305 304 | 
             
            - spec/factories/sis/core/document_requirements.rb
         | 
| 306 305 | 
             
            - spec/factories/sis/core/document_types.rb
         | 
| 307 306 | 
             
            - spec/factories/sis/core/exam_results.rb
         | 
| @@ -337,7 +336,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 337 336 | 
             
                - !ruby/object:Gem::Version
         | 
| 338 337 | 
             
                  version: '0'
         | 
| 339 338 | 
             
            requirements: []
         | 
| 340 | 
            -
            rubygems_version: 3.1. | 
| 339 | 
            +
            rubygems_version: 3.1.4
         | 
| 341 340 | 
             
            signing_key: 
         | 
| 342 341 | 
             
            specification_version: 4
         | 
| 343 342 | 
             
            summary: Core engine for student information system application.
         |