sis_core 1.0.8 → 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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/sis/core/menus_controller.rb +2 -2
  3. data/app/controllers/sis/core/users_controller.rb +2 -1
  4. data/app/models/sis/core/academic_programme.rb +4 -0
  5. data/app/models/sis/core/academic_programme_document.rb +11 -0
  6. data/app/models/sis/core/application.rb +19 -9
  7. data/app/models/sis/core/application_setup.rb +23 -3
  8. data/app/models/sis/core/credit_hour_rate.rb +13 -0
  9. data/app/models/sis/core/currency.rb +7 -0
  10. data/app/models/sis/core/document_requirement.rb +8 -1
  11. data/app/models/sis/core/document_type.rb +2 -0
  12. data/app/models/sis/core/exam.rb +4 -0
  13. data/app/models/sis/core/exam_setup.rb +4 -0
  14. data/app/models/sis/core/programme.rb +1 -1
  15. data/app/models/sis/core/semester.rb +1 -5
  16. data/app/uploaders/sis/core/application_document_uploader.rb +1 -1
  17. data/app/uploaders/sis/core/photo_uploader.rb +1 -1
  18. data/db/migrate/20200105061717_create_sis_core_lookups.rb +3 -1
  19. data/db/migrate/20200105072142_create_sis_core_academic_years.rb +1 -1
  20. data/db/migrate/20200106072246_create_sis_core_semesters.rb +1 -5
  21. data/db/migrate/20200106132521_create_sis_core_application_setups.rb +4 -0
  22. data/db/migrate/20200106133034_create_sis_core_document_requirements.rb +2 -2
  23. data/db/migrate/20200107094449_create_sis_core_applications.rb +0 -4
  24. data/db/migrate/20200919235516_create_sis_core_credit_hour_rates.rb +17 -0
  25. data/db/migrate/20201019055620_create_sis_core_academic_programme_documents.rb +19 -0
  26. data/lib/sis/core/engine.rb +0 -1
  27. data/lib/sis/core/version.rb +1 -1
  28. data/spec/factories/sis/core/academic_programme_documents.rb +9 -0
  29. data/spec/factories/sis/core/academic_years.rb +1 -1
  30. data/spec/factories/sis/core/application_setups.rb +1 -0
  31. data/spec/factories/sis/core/applications.rb +0 -1
  32. data/spec/factories/sis/core/credit_hour_rates.rb +7 -0
  33. data/spec/factories/sis/core/currencies.rb +5 -0
  34. data/spec/factories/sis/core/lookups.rb +2 -0
  35. data/spec/factories/sis/core/programme_levels.rb +1 -1
  36. data/spec/factories/sis/core/semesters.rb +1 -2
  37. metadata +13 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c36e2c8bba7e35681f66af9d69533eb938c804eebb4317f2994f71ce015f4a22
4
- data.tar.gz: 201448c119d21219b68094ade5aa46f920d4006a34c21c72ad3d62b4f5dd3980
3
+ metadata.gz: 48102d4df50313be44276b37c0db422f6805cf05a7f3295e550938853da1c84e
4
+ data.tar.gz: 2a58d518039a44a80f39583fcde21d3b74574bada3b9a531691466279e85cfc7
5
5
  SHA512:
6
- metadata.gz: b0892082b1f456a1c0e084b5d624481a5d339f66c9d3c2f272960ce5ba095efd08e77e15e9c1f9f978bb0436db5439b52c323363be45443dcbaa550a6369b053
7
- data.tar.gz: c9d0b2302de92f151af251ab32bf7f0701247572a5e2466624d40e9e76a40c4d973914bf4d0097a5af769483113da873f5dfdf1ad2a2e2e80d52d3046020b091
6
+ metadata.gz: 2e4b8c53defcbdc8fe1705d172269bd7067a2c64b77368f546e5d1ccb44d744bdd59ecb6a6472a7ed0be4799e2338a03f62bffbc04dd8aa76e3a963c8c0fbc57
7
+ data.tar.gz: 8db810b8ecd8e93a2ed5077159fdf44e51a9aa3f0c666d6c9d321e1d911f67c543c98386ef89887bd1dfd740eb2ce0f5ffd5c0cd2bda199b0aed09c6b77246b2
@@ -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({ label: user_menu.text, icon: user_menu.icon_cls, location: user_menu.location,
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 !'] }
@@ -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
@@ -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, :accepted, :rejected, :selected_for_exam, :selected_for_admission
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 accepted], to: :under_review
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,23 +25,36 @@ module Sis
28
25
  end
29
26
 
30
27
  event :select_for_exam do
31
- transitions from: :accepted, to: :selected_for_exam
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
40
49
  validates :payment_information, presence: true, if: :payment_made
41
50
 
42
51
  belongs_to :applicant
43
- belongs_to :academic_programme
44
52
  belongs_to :application_setup
53
+ has_many :application_documents
45
54
 
46
- delegate(:name, to: :academic_programme, prefix: true, allow_nil: false)
55
+ delegate(:name, to: :application_setup, prefix: true, allow_nil: false)
47
56
  delegate(:full_name, to: :applicant, prefix: true, allow_nil: false)
57
+ delegate(:academic_programme_id, to: :application_setup, prefix: false, allow_nil: false)
48
58
  end
49
59
  end
50
60
  end
@@ -6,17 +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
11
+ has_many :exam_setups
10
12
 
11
13
  validates :start_date, :end_date, :status, presence: true
12
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 !' }
13
18
 
14
- delegate(:name, to: :target_semester, prefix: true, allow_nil: false)
19
+ delegate(:code, to: :target_semester, prefix: true, allow_nil: false)
20
+ delegate(:year, to: :academic_year, prefix: false , allow_nil: false)
15
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
16
36
 
17
37
  def name
18
- academic_programme.programme.name.to_s + ' ' + academic_programme.programme_level.name.to_s + ' ' +
19
- academic_programme.programme_type.name.to_s
38
+ "#{academic_programme.programme.name} #{academic_programme.programme_level.name}
39
+ #{academic_programme.programme_type.name}"
20
40
  end
21
41
  end
22
42
  end
@@ -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
@@ -0,0 +1,7 @@
1
+ module Sis
2
+ module Core
3
+ class Currency < Lookup
4
+ validates :name, presence: true
5
+ end
6
+ end
7
+ end
@@ -4,10 +4,17 @@ module Sis
4
4
  belongs_to :document_type
5
5
  belongs_to :application_setup
6
6
 
7
- validates :original, :copy, presence: true
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
@@ -1,6 +1,8 @@
1
1
  module Sis
2
2
  module Core
3
3
  class DocumentType < Lookup
4
+ has_many :academic_programme_documents
5
+ validates :code, :name, uniqueness: { case_sensitive: false }
4
6
  end
5
7
  end
6
8
  end
@@ -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
@@ -2,6 +2,7 @@ module Sis
2
2
  module Core
3
3
  class ExamSetup < ApplicationRecord
4
4
  belongs_to :application_setup
5
+ has_many :exams
5
6
 
6
7
  validates :date, :hours, :venue, presence: true
7
8
 
@@ -10,6 +11,9 @@ module Sis
10
11
  end
11
12
 
12
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)
13
17
  end
14
18
  end
15
19
  end
@@ -1,7 +1,7 @@
1
1
  module Sis
2
2
  module Core
3
3
  class Programme < ApplicationRecord
4
- validates :code, :name, presence: true, uniqueness: true
4
+ validates :code, :name, presence: true, uniqueness: { case_sensitive: false }
5
5
  end
6
6
  end
7
7
  end
@@ -1,11 +1,7 @@
1
1
  module Sis
2
2
  module Core
3
3
  class Semester < ApplicationRecord
4
- belongs_to :academic_year
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
@@ -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:
@@ -1,7 +1,9 @@
1
1
  class CreateSisCoreLookups < ActiveRecord::Migration[6.0]
2
2
  def change
3
3
  create_table :sis_core_lookups do |t|
4
- t.string :name, null: false
4
+ t.string :code, null: false
5
+ t.string :name
6
+ t.string :description
5
7
  t.string :type, null: false
6
8
 
7
9
  t.timestamps
@@ -2,7 +2,7 @@ class CreateSisCoreAcademicYears < ActiveRecord::Migration[6.0]
2
2
  def change
3
3
  create_table :sis_core_academic_years do |t|
4
4
  t.string :year, null: false, unique: true
5
- t.string :label
5
+ t.string :description
6
6
 
7
7
  t.timestamps
8
8
  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 :name, null: false
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: 0
5
- t.integer :copy, null: false, default: 0
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,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
@@ -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
@@ -4,7 +4,6 @@ module Sis
4
4
  isolate_namespace Sis::Core
5
5
 
6
6
  config.generators.api_only = true
7
- config.eager_load_paths << Sis::Core::Engine.root.join('lib')
8
7
  config.autoload_paths << Sis::Core::Engine.root.join('lib')
9
8
 
10
9
  config.generators do |g|
@@ -1,5 +1,5 @@
1
1
  module Sis
2
2
  module Core
3
- VERSION = '1.0.8'.freeze
3
+ VERSION = '1.0.13'.freeze
4
4
  end
5
5
  end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :academic_programme_document, class: Sis::Core::AcademicProgrammeDocument do
3
+ association :academic_programme
4
+ association :document_type
5
+ remark { FFaker::Name.name }
6
+ original { 1 }
7
+ copy { 1 }
8
+ end
9
+ end
@@ -1,6 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :academic_year, class: Sis::Core::AcademicYear do
3
3
  year { FFaker::Name.name }
4
- label { 'Academic year of 2000/01' }
4
+ description { 'Academic year of 2000/01' }
5
5
  end
6
6
  end
@@ -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' }
@@ -5,7 +5,6 @@ FactoryBot.define do
5
5
  payment_information { nil }
6
6
  application_date { Date.today }
7
7
  association :applicant
8
- association :academic_programme
9
8
  association :application_setup
10
9
  end
11
10
  end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :credit_hour_rate, class: Sis::Core::CreditHourRate do
3
+ association :programme_level
4
+ association :currency
5
+ rate { 1.5 }
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :currency, class: Sis::Core::Currency, parent: :lookup do
3
+ type { 'Sis::Core::Currency' }
4
+ end
5
+ end
@@ -1,6 +1,8 @@
1
1
  FactoryBot.define do
2
2
  factory :lookup, class: 'Sis::Core::Lookup' do
3
+ code { FFaker::Identification.ssn }
3
4
  name { FFaker::Name.name }
5
+ description { FFaker::Lorem.paragraph }
4
6
  type { 'Sis::Core::Lookup' }
5
7
  end
6
8
  end
@@ -1,5 +1,5 @@
1
1
  FactoryBot.define do
2
2
  factory :programme_level, class: Sis::Core::ProgrammeLevel, parent: :lookup do
3
- type { 'Ecom::Core::ProgrammeLevel' }
3
+ type { 'Sis::Core::ProgrammeLevel' }
4
4
  end
5
5
  end
@@ -1,7 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :semester, class: Sis::Core::Semester do
3
- association :academic_year
4
- name { FFaker::Name.name }
3
+ code { FFaker::Name.name }
5
4
  description { FFaker::Name.name }
6
5
  end
7
6
  end
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.8
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-06-29 00:00:00.000000000 Z
11
+ date: 2020-11-02 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.2
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.2
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
@@ -233,6 +227,7 @@ files:
233
227
  - app/controllers/sis/core/menus_controller.rb
234
228
  - app/controllers/sis/core/users_controller.rb
235
229
  - app/models/sis/core/academic_programme.rb
230
+ - app/models/sis/core/academic_programme_document.rb
236
231
  - app/models/sis/core/academic_year.rb
237
232
  - app/models/sis/core/applicant.rb
238
233
  - app/models/sis/core/application.rb
@@ -242,6 +237,8 @@ files:
242
237
  - app/models/sis/core/application_setup.rb
243
238
  - app/models/sis/core/course.rb
244
239
  - app/models/sis/core/course_registration.rb
240
+ - app/models/sis/core/credit_hour_rate.rb
241
+ - app/models/sis/core/currency.rb
245
242
  - app/models/sis/core/document_requirement.rb
246
243
  - app/models/sis/core/document_type.rb
247
244
  - app/models/sis/core/exam.rb
@@ -286,6 +283,8 @@ files:
286
283
  - db/migrate/20200511165121_create_sis_core_application_modules.rb
287
284
  - db/migrate/20200511165241_create_sis_core_user_roles.rb
288
285
  - db/migrate/20200511165450_create_sis_core_menus.rb
286
+ - db/migrate/20200919235516_create_sis_core_credit_hour_rates.rb
287
+ - db/migrate/20201019055620_create_sis_core_academic_programme_documents.rb
289
288
  - lib/authorize_request.rb
290
289
  - lib/json_web_token.rb
291
290
  - lib/sis/core.rb
@@ -293,6 +292,7 @@ files:
293
292
  - lib/sis/core/version.rb
294
293
  - lib/sis_core.rb
295
294
  - lib/tasks/sis_core_tasks.rake
295
+ - spec/factories/sis/core/academic_programme_documents.rb
296
296
  - spec/factories/sis/core/academic_programmes.rb
297
297
  - spec/factories/sis/core/academic_years.rb
298
298
  - spec/factories/sis/core/applicants.rb
@@ -302,6 +302,8 @@ files:
302
302
  - spec/factories/sis/core/applications.rb
303
303
  - spec/factories/sis/core/course_registrations.rb
304
304
  - spec/factories/sis/core/courses.rb
305
+ - spec/factories/sis/core/credit_hour_rates.rb
306
+ - spec/factories/sis/core/currencies.rb
305
307
  - spec/factories/sis/core/document_requirements.rb
306
308
  - spec/factories/sis/core/document_types.rb
307
309
  - spec/factories/sis/core/exam_results.rb
@@ -337,7 +339,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
337
339
  - !ruby/object:Gem::Version
338
340
  version: '0'
339
341
  requirements: []
340
- rubygems_version: 3.1.2
342
+ rubygems_version: 3.1.4
341
343
  signing_key:
342
344
  specification_version: 4
343
345
  summary: Core engine for student information system application.