sis_core 1.0.8 → 1.0.13

Sign up to get free protection for your applications and to get access to all the features.
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.