ecom_core 1.1.14 → 1.1.15

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