ecom_core 1.1.14 → 1.1.15

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: 8b8bc2e6d8400e996f20f351ee949cff29dbbbba72dbb396c2039b51714ac6f7
4
- data.tar.gz: f4c58d21264802a0dc6b18a2adf895205a66c33cbbb160e7b677e9e65eae5465
3
+ metadata.gz: d9fc9fe1236a00b622bd5943fab08346f23c4de7f059e65fddb511907eda18bf
4
+ data.tar.gz: cf6f34036919d900666afcd8419b26ca5f6e9b2ec45f047e4e3afb3bba27c649
5
5
  SHA512:
6
- metadata.gz: e3a700353f3e4fc0bf5e7402026c0ae492a51dae4e30c42a21125e0cef713923910add513c1dc37dfd5aefff06de0451e15c8ca6493e6e226903ec389c736b78
7
- data.tar.gz: 39c78b1cd0607c49a7c954b96ce87af031067c198ee78ac628f43715604a38b5b665a11d3019d5abfd5a72db8efb386878a91112143140a4b81bc782126b30a6
6
+ metadata.gz: 5f2d852b30af828fd6dbdfe72a0663905285f98c1b935becd9953fd54433502cc7fdea620e8f43cf11719d723aa8cfcb8622cd74937404658c39ee9229fd1909
7
+ data.tar.gz: fc8f98d4b4c383a13092c5166963163afcde41745d279f8a97fa025ee66c3e19de0d906855e970b444879b147972b00a0f59efa01f3166f6fde1714ec1c58620
@@ -2,10 +2,11 @@ module Ecom
2
2
  module Core
3
3
  class AttendanceSheet < ApplicationRecord
4
4
  OPEN = 'Open'.freeze
5
- CLOSED = 'Closed'.freeze
5
+ SUBMITTED = 'Submitted'.freeze
6
+ APPROVED = 'Approved'.freeze
6
7
 
7
8
  validates :date, :opened_at, presence: true, uniqueness: true
8
- validates :status, inclusion: [OPEN, CLOSED]
9
+ validates :status, inclusion: [OPEN, SUBMITTED, APPROVED]
9
10
 
10
11
  has_many :attendance_sheet_entries
11
12
 
@@ -31,28 +32,28 @@ module Ecom
31
32
  AttendanceSheet.create(date: Date.today, opened_at: Time.now, status: OPEN)
32
33
  end
33
34
 
34
- def self.close_current
35
+ def self.submit_current
35
36
  sheet = AttendanceSheet.find_by(date: Date.today, status: OPEN)
36
37
 
37
- raise 'There is no attendance sheet to close.' if sheet.nil?
38
+ raise 'There is no open attendance sheet to submit.' if sheet.nil?
38
39
 
39
40
  sheet.closed_at = Time.now
40
- sheet.status = CLOSED
41
+ sheet.status = SUBMITTED
41
42
  sheet.save
42
43
  sheet
43
44
  end
44
45
 
45
46
  # This method should be used by privileged users
46
- # to close the attendance sheet after the date has
47
+ # to submit the attendance sheet after the date has
47
48
  # passed. Normally, timekeepers need to open and close
48
49
  # an attendance sheet of a date on the specific date.
49
- def self.close
50
- raise 'There is no attendance sheet to close.' unless AttendanceSheet.open_exists_for_today?
50
+ def submit
51
+ raise 'This attendance sheet is not open. Therefore it cannot be submitted' unless status == OPEN
51
52
 
52
- sheet = AttendanceSheet.open
53
- sheet.closed_at = Time.now
54
- sheet.save
55
- sheet
53
+ self.closed_at = Time.now
54
+ self.status = SUBMITTED
55
+ save
56
+ self
56
57
  end
57
58
  end
58
59
  end
@@ -1,5 +1,5 @@
1
1
  module Ecom
2
2
  module Core
3
- VERSION = '1.1.14'.freeze
3
+ VERSION = '1.1.15'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecom_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.14
4
+ version: 1.1.15
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-04-04 00:00:00.000000000 Z
11
+ date: 2020-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aasm