ecom_core 1.1.7 → 1.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/ecom/core/attendance_sheet.rb +11 -0
- data/app/models/ecom/core/crew_time.rb +7 -6
- data/db/data/20200401064242_move_date_to_attendance_sheet.rb +20 -0
- data/db/migrate/20200401040433_create_ecom_core_attendance_sheets.rb +12 -0
- data/db/migrate/20200401043014_link_crew_times_with_attendance_sheet.rb +10 -0
- data/db/migrate/20200401071343_remove_date_column_from_crew_times.rb +5 -0
- data/lib/ecom/core/version.rb +1 -1
- data/lib/ecom_core.rb +2 -1
- data/spec/factories/ecom/core/attendance_sheets.rb +8 -0
- data/spec/factories/ecom/core/crew_times.rb +1 -1
- metadata +13 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3c37e72f220d44c53d4755665e74b1686cf2564b849fc3f2c4c841262e67b4f
|
4
|
+
data.tar.gz: d5c2e34ef00245ae8e71a19222df308c5a4ccd2b25c33d805431c6afe7e5d215
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dbcf516b21e2758bd8c338a12f03a07b34e074681faec9213b849e86db236a110ea2cb80333c1dd405948f0d389969b08d7ff1a655ce33b4a0e7ef75e6c28c36
|
7
|
+
data.tar.gz: 982a4664a200653053ae74380f2d2f8a53b7dc077543d0aec4b202b17ec2d64a28dad16bf7b9cd66204f2599744e21f977154f5e165a828a3e65e5eb7d0480a2
|
@@ -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 :
|
8
|
-
validates_each :date do |record, attr, value|
|
9
|
-
|
10
|
-
|
11
|
-
|
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
|
data/lib/ecom/core/version.rb
CHANGED
data/lib/ecom_core.rb
CHANGED
@@ -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.
|
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-
|
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:
|
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: :
|
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:
|
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:
|
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:
|
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
|