sis_core 1.0.10 → 1.0.11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3ff2d148f4eca48a8979342a003e254fdbec40a6a147676644de6226a56cff81
4
- data.tar.gz: 6bc411d65008fd7a3977b386d2ebf41aa9260f470895903df2f599b8458c2a29
3
+ metadata.gz: 01b7b4d1444769ba3e2953377e0eb99528221ad26f98cae32e88ef57351940c9
4
+ data.tar.gz: 4424ba65e6077accf44a1a215f87b4594f79a9c04523cb26660999606945f5be
5
5
  SHA512:
6
- metadata.gz: 7aba4b8f85de604a00fd1faddc86e9cc9c0c55320d4cfe9a0c917c9f598dc7cd259378c09e24f399c3d37c2666f73b5b139e83de75359fd7d86d56067d07db04
7
- data.tar.gz: 84203b42fac41805a48f285568f78a707bf0a9c0364f77d6ace0e2e4182a202445634d5f82317ea7b3f4f063ba3f61c47d2866a9dadd09fc882c0e0977f0bc68
6
+ metadata.gz: 17ac3d072458f6b74b25e4301ed1ceb4ac3d2b31d1fb1343936d3efa03eec1f9fbe60fa95aa4b6823de7f15fd9d1e0a696040179503428d83c27fc8355342bf9
7
+ data.tar.gz: fd114115c828fee511449c65fd6302e91677bd5c4596e9e524413be00bd87bafb9dc2e6929c2592c62acb6141a31cfac28a2baa61004790a86a52e9140079ac4
@@ -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 !'] }
@@ -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,12 +25,24 @@ 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
@@ -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)
@@ -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
@@ -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
@@ -1,5 +1,5 @@
1
1
  module Sis
2
2
  module Core
3
- VERSION = '1.0.10'.freeze
3
+ VERSION = '1.0.11'.freeze
4
4
  end
5
5
  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
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.10
4
+ version: 1.0.11
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-08-21 00:00:00.000000000 Z
11
+ date: 2020-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aasm
@@ -242,6 +242,8 @@ files:
242
242
  - app/models/sis/core/application_setup.rb
243
243
  - app/models/sis/core/course.rb
244
244
  - app/models/sis/core/course_registration.rb
245
+ - app/models/sis/core/credit_hour_rate.rb
246
+ - app/models/sis/core/currency.rb
245
247
  - app/models/sis/core/document_requirement.rb
246
248
  - app/models/sis/core/document_type.rb
247
249
  - app/models/sis/core/exam.rb
@@ -286,6 +288,7 @@ files:
286
288
  - db/migrate/20200511165121_create_sis_core_application_modules.rb
287
289
  - db/migrate/20200511165241_create_sis_core_user_roles.rb
288
290
  - db/migrate/20200511165450_create_sis_core_menus.rb
291
+ - db/migrate/20200919235516_create_sis_core_credit_hour_rates.rb
289
292
  - lib/authorize_request.rb
290
293
  - lib/json_web_token.rb
291
294
  - lib/sis/core.rb
@@ -302,6 +305,8 @@ files:
302
305
  - spec/factories/sis/core/applications.rb
303
306
  - spec/factories/sis/core/course_registrations.rb
304
307
  - spec/factories/sis/core/courses.rb
308
+ - spec/factories/sis/core/credit_hour_rates.rb
309
+ - spec/factories/sis/core/currencies.rb
305
310
  - spec/factories/sis/core/document_requirements.rb
306
311
  - spec/factories/sis/core/document_types.rb
307
312
  - spec/factories/sis/core/exam_results.rb
@@ -337,7 +342,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
337
342
  - !ruby/object:Gem::Version
338
343
  version: '0'
339
344
  requirements: []
340
- rubygems_version: 3.1.2
345
+ rubygems_version: 3.1.4
341
346
  signing_key:
342
347
  specification_version: 4
343
348
  summary: Core engine for student information system application.