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.
- 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/academic_programme.rb +4 -0
- data/app/models/sis/core/academic_programme_document.rb +11 -0
- data/app/models/sis/core/application.rb +19 -9
- data/app/models/sis/core/application_setup.rb +23 -3
- 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/document_requirement.rb +8 -1
- data/app/models/sis/core/document_type.rb +2 -0
- data/app/models/sis/core/exam.rb +4 -0
- data/app/models/sis/core/exam_setup.rb +4 -0
- data/app/models/sis/core/programme.rb +1 -1
- data/app/models/sis/core/semester.rb +1 -5
- data/app/uploaders/sis/core/application_document_uploader.rb +1 -1
- data/app/uploaders/sis/core/photo_uploader.rb +1 -1
- 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/20200919235516_create_sis_core_credit_hour_rates.rb +17 -0
- data/db/migrate/20201019055620_create_sis_core_academic_programme_documents.rb +19 -0
- data/lib/sis/core/engine.rb +0 -1
- 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/credit_hour_rates.rb +7 -0
- data/spec/factories/sis/core/currencies.rb +5 -0
- data/spec/factories/sis/core/lookups.rb +2 -0
- data/spec/factories/sis/core/programme_levels.rb +1 -1
- data/spec/factories/sis/core/semesters.rb +1 -2
- metadata +13 -11
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
|
@@ -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 !'] }
|
@@ -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, :
|
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,23 +25,36 @@ 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
|
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: :
|
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(:
|
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
|
19
|
-
|
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
|
@@ -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
|
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
|
@@ -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,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
|
@@ -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,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,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
|
data/lib/sis/core/engine.rb
CHANGED
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
|
@@ -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
|
@@ -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.
|
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.
|