ecom_core 1.1.7 → 1.1.8

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: 2c0b15c898c1865b73c99b6c2c94eefd24830c2e5849cd04f173208bdd2e3da7
4
- data.tar.gz: fb1f5f442e4e33d457c51656efca5d4f11c25968be4f260b0cc0f72b047040f7
3
+ metadata.gz: f3c37e72f220d44c53d4755665e74b1686cf2564b849fc3f2c4c841262e67b4f
4
+ data.tar.gz: d5c2e34ef00245ae8e71a19222df308c5a4ccd2b25c33d805431c6afe7e5d215
5
5
  SHA512:
6
- metadata.gz: 25e3d49560ae3e835c3673f284da580c03b12787ba84423d45f27d49dbb8f71acbc64d3dea90511aa1b363e1fd7767e50ce530d004cdfc7fb5ae317286614e1a
7
- data.tar.gz: ca28ea1b20d10bfcb7938ee402fe60cc10a7d6a142d2b876aa722333c7d6da178fab22939768a65ec09856e971c7bfc5e9b358eb29c8ec73d84a2c4ce26e6937
6
+ metadata.gz: dbcf516b21e2758bd8c338a12f03a07b34e074681faec9213b849e86db236a110ea2cb80333c1dd405948f0d389969b08d7ff1a655ce33b4a0e7ef75e6c28c36
7
+ data.tar.gz: 982a4664a200653053ae74380f2d2f8a53b7dc077543d0aec4b202b17ec2d64a28dad16bf7b9cd66204f2599744e21f977154f5e165a828a3e65e5eb7d0480a2
@@ -0,0 +1,11 @@
1
+ module Ecom
2
+ module Core
3
+ class AttendanceSheet < ApplicationRecord
4
+ validates :date, presence: true, uniqueness: true
5
+
6
+ def self.create_current
7
+ AttendanceSheet.where(date: Date.today).first_or_create
8
+ end
9
+ end
10
+ end
11
+ end
@@ -2,14 +2,15 @@ module Ecom
2
2
  module Core
3
3
  class CrewTime < ApplicationRecord
4
4
  belongs_to :crew
5
+ belongs_to :attendance_sheet
5
6
  belongs_to :overtime_type, optional: true
6
7
 
7
- validates :date, :hours, :converted_hours, presence: true
8
- validates_each :date do |record, attr, value|
9
- if record.crew && value && (value < record.crew.employment_date)
10
- record.errors.add(attr, 'should be after employment date')
11
- end
12
- end
8
+ validates :hours, :converted_hours, presence: true
9
+ # validates_each :date do |record, attr, value|
10
+ # if record.crew && value && (value < record.crew.employment_date)
11
+ # record.errors.add(attr, 'should be after employment date')
12
+ # end
13
+ # end
13
14
 
14
15
  before_save :calculate_converted_hours
15
16
 
@@ -0,0 +1,20 @@
1
+ class MoveDateToAttendanceSheet < ActiveRecord::Migration[6.0]
2
+ def up
3
+ dates = Ecom::Core::CrewTime.pluck('DISTINCT date(date)')
4
+
5
+ return if dates.count.zero?
6
+
7
+ attendances = []
8
+ dates.each do |date|
9
+ attendances << Ecom::Core::AttendanceSheet.new(date: date)
10
+ end
11
+
12
+ Ecom::Core::AttendanceSheet.transaction do
13
+ attendances.each(&:save)
14
+ end
15
+ end
16
+
17
+ def down
18
+ raise ActiveRecord::IrreversibleMigration
19
+ end
20
+ end
@@ -0,0 +1,12 @@
1
+ class CreateEcomCoreAttendanceSheets < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_attendance_sheets do |t|
4
+ t.date :date, null: false, unique: true
5
+ t.time :opened_at
6
+ t.time :closed_at
7
+ t.string :remark
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ class LinkCrewTimesWithAttendanceSheet < ActiveRecord::Migration[6.0]
2
+ def up
3
+ add_column :ecom_core_crew_times, :attendance_sheet_id, :integer, index: { name: 'ct_on_as_indx' }
4
+ add_foreign_key :ecom_core_crew_times, :ecom_core_attendance_sheets, column: :attendance_sheet_id
5
+ end
6
+
7
+ def down
8
+ raise ActiveRecord::IrreversibleMigration
9
+ end
10
+ end
@@ -0,0 +1,5 @@
1
+ class RemoveDateColumnFromCrewTimes < ActiveRecord::Migration[6.0]
2
+ def change
3
+ remove_column :ecom_core_crew_times, :date
4
+ end
5
+ end
@@ -1,5 +1,5 @@
1
1
  module Ecom
2
2
  module Core
3
- VERSION = '1.1.7'.freeze
3
+ VERSION = '1.1.8'.freeze
4
4
  end
5
5
  end
@@ -2,4 +2,5 @@ require 'ecom/core'
2
2
  require 'ecom/core/engine'
3
3
  require 'ancestry'
4
4
  require 'aasm'
5
- require 'active_model_serializers'
5
+ require 'active_model_serializers'
6
+ require 'data_migrate'
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :attendance_sheet, class: 'Ecom::Core::AttendanceSheet' do
3
+ date { Date.today }
4
+ opened_at { Time.now }
5
+ closed_at { Time.now + 1 }
6
+ remark { FFaker::Name.name }
7
+ end
8
+ end
@@ -1,6 +1,5 @@
1
1
  FactoryBot.define do
2
2
  factory :crew_time, class: 'Ecom::Core::CrewTime' do
3
- date { Date.today }
4
3
  checkin_time { Time.now }
5
4
  checkout_time { Time.now + 2 * 60 * 60 }
6
5
  hours { 2 }
@@ -9,5 +8,6 @@ FactoryBot.define do
9
8
  remark { FFaker::Name.name }
10
9
  overtime { false }
11
10
  overtime_type { nil }
11
+ association :attendance_sheet
12
12
  end
13
13
  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.7
4
+ version: 1.1.8
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-03-31 00:00:00.000000000 Z
11
+ date: 2020-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aasm
@@ -95,13 +95,13 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: 6.0.2
97
97
  - !ruby/object:Gem::Dependency
98
- name: factory_bot_rails
98
+ name: data_migrate
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
- type: :development
104
+ type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: ffaker
112
+ name: factory_bot_rails
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: rspec-rails
126
+ name: ffaker
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: rubocop
140
+ name: rspec-rails
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -216,6 +216,7 @@ files:
216
216
  - app/controllers/ecom/core/users_controller.rb
217
217
  - app/models/ecom/core/application_module.rb
218
218
  - app/models/ecom/core/application_record.rb
219
+ - app/models/ecom/core/attendance_sheet.rb
219
220
  - app/models/ecom/core/crew.rb
220
221
  - app/models/ecom/core/crew_time.rb
221
222
  - app/models/ecom/core/crew_type.rb
@@ -259,6 +260,7 @@ files:
259
260
  - app/services/ecom/core/token_auth_service.rb
260
261
  - config/database.ci.yml
261
262
  - config/routes.rb
263
+ - db/data/20200401064242_move_date_to_attendance_sheet.rb
262
264
  - db/migrate/20190101112620_create_ecom_core_lookups.rb
263
265
  - db/migrate/20190101112625_create_ecom_core_overtime_types.rb
264
266
  - db/migrate/20191119010518_create_ecom_core_task_template_types.rb
@@ -295,12 +297,16 @@ files:
295
297
  - db/migrate/20200315153640_create_ecom_core_equipment_items.rb
296
298
  - db/migrate/20200315160810_create_ecom_core_equipment_valuations.rb
297
299
  - db/migrate/20200316125323_create_ecom_core_equipment_components.rb
300
+ - db/migrate/20200401040433_create_ecom_core_attendance_sheets.rb
301
+ - db/migrate/20200401043014_link_crew_times_with_attendance_sheet.rb
302
+ - db/migrate/20200401071343_remove_date_column_from_crew_times.rb
298
303
  - lib/ecom/core.rb
299
304
  - lib/ecom/core/engine.rb
300
305
  - lib/ecom/core/version.rb
301
306
  - lib/ecom_core.rb
302
307
  - lib/tasks/ecom_core_tasks.rake
303
308
  - spec/factories/ecom/core/application_modules.rb
309
+ - spec/factories/ecom/core/attendance_sheets.rb
304
310
  - spec/factories/ecom/core/crew_times.rb
305
311
  - spec/factories/ecom/core/crew_types.rb
306
312
  - spec/factories/ecom/core/crews.rb