ecom_core 1.3.8 → 1.3.13
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 +4 -4
- data/app/controllers/ecom/core/users_controller.rb +5 -0
- data/app/models/ecom/core/crew.rb +1 -1
- data/app/models/ecom/core/maintenance_service_order.rb +3 -0
- data/app/models/ecom/core/maintenance_status.rb +5 -0
- data/app/models/ecom/core/site_crew.rb +10 -2
- data/app/models/ecom/core/task_attachment.rb +1 -2
- data/app/models/ecom/core/work_order.rb +1 -0
- data/app/models/ecom/core/work_package.rb +1 -0
- data/app/serializers/ecom/core/user_lookup_serializer.rb +11 -0
- data/config/routes.rb +1 -0
- data/db/migrate/20191207103731_create_ecom_core_work_orders.rb +4 -0
- data/db/migrate/20210417095657_rename_photo_fields.rb +6 -0
- data/db/migrate/20210417120215_create_active_storage_tables.active_storage.rb +36 -0
- data/lib/ecom/core/version.rb +1 -1
- data/lib/ecom_core.rb +0 -2
- data/spec/factories/ecom/core/crews.rb +1 -1
- data/spec/factories/ecom/core/task_attachments.rb +0 -1
- data/spec/factories/ecom/core/work_orders.rb +1 -0
- metadata +8 -84
- data/app/uploaders/ecom/core/photo_uploader.rb +0 -30
- data/app/uploaders/ecom/core/task_attachment_uploader.rb +0 -11
- data/config/initializers/carrierwave.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca77271970adb2814972aed13aa5e7b5e0c04040179bf594b0e6c858a2fff74b
|
4
|
+
data.tar.gz: e67ec2ed2362fd9df15c6ac38edf698b5e09b0f5251b2ab37926ca1c1b8080e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f62042c5aa8366ec5edd0a019f75cac5538eb79037dd142fa297bd0d3cb40dd7a37223b1baad87492b88ad0ecb11abe8c98a7e22cabe1521a21eb1b3008407f
|
7
|
+
data.tar.gz: 761979e88a1dd53ce7ae0c4723b266e9c5bbe6442b39d961d111b0e29887c4e1263a34fc821a9d049acd55b6fbe65846b1e6bd8802665a179d8eb999f00e04c2
|
@@ -7,6 +7,11 @@ module Ecom
|
|
7
7
|
render json: User.all
|
8
8
|
end
|
9
9
|
|
10
|
+
def lookup
|
11
|
+
data = ActiveModelSerializers::SerializableResource.new(User.all, each_serializer: UserLookupSerializer)
|
12
|
+
render json: { success: true, data: data }
|
13
|
+
end
|
14
|
+
|
10
15
|
def active
|
11
16
|
render json: User.active
|
12
17
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Ecom
|
2
2
|
module Core
|
3
3
|
class Crew < ApplicationRecord
|
4
|
-
mount_base64_uploader :photo, PhotoUploader
|
5
4
|
PERMANENT = 'Permanent'.freeze
|
6
5
|
SUPERVISOR = 'Supervisor'.freeze
|
7
6
|
TEMPORARY = 'Temporary'.freeze
|
@@ -13,6 +12,7 @@ module Ecom
|
|
13
12
|
after_save :set_employee_id
|
14
13
|
|
15
14
|
belongs_to :crew_type
|
15
|
+
has_one_attached :photo
|
16
16
|
|
17
17
|
validates :name, :address, :qualification, :employment, :wage, :guarantor_name, :guarantor_phone, presence: true
|
18
18
|
validates :employment, inclusion: EMPLOYMENT_TYPES
|
@@ -1,6 +1,11 @@
|
|
1
1
|
module Ecom
|
2
2
|
module Core
|
3
3
|
class MaintenanceStatus < Lookup
|
4
|
+
EQUIPMENT_NOT_RECEIVED = 'Equipment not received'.freeze
|
5
|
+
RECEIVED_EQUIPMENT = 'Received equipment'.freeze
|
6
|
+
IN_PROGRESS = 'In progress'.freeze
|
7
|
+
WAITING_FOR_PARTS = 'Waiting for parts'.freeze
|
8
|
+
MAINTENANCE_COMPLETED = 'Maintenance completed'.freeze
|
4
9
|
end
|
5
10
|
end
|
6
11
|
end
|
@@ -13,8 +13,8 @@ module Ecom
|
|
13
13
|
validates :crew_id, :crew, :site_id, :site, :start_date, :site_crew_type, :status, presence: true
|
14
14
|
|
15
15
|
validates_uniqueness_of :site_id,
|
16
|
-
scope:
|
17
|
-
if:
|
16
|
+
scope: %i[crew_id status],
|
17
|
+
if: :active_site_crew_exists?,
|
18
18
|
message: 'There can only be one record with status `Active` for a given site and crew'
|
19
19
|
|
20
20
|
validates :site_crew_type, inclusion: SITE_CREW_TYPES
|
@@ -22,6 +22,14 @@ module Ecom
|
|
22
22
|
|
23
23
|
belongs_to :crew
|
24
24
|
belongs_to :site
|
25
|
+
|
26
|
+
def active_site_crew_exists?
|
27
|
+
active_site_crew = Ecom::Core::SiteCrew.where(site_id: site_id, crew_id: crew_id, status: ACTIVE)
|
28
|
+
|
29
|
+
return true if !active_site_crew.count.zero? && status == ACTIVE
|
30
|
+
|
31
|
+
false
|
32
|
+
end
|
25
33
|
end
|
26
34
|
end
|
27
35
|
end
|
data/config/routes.rb
CHANGED
@@ -6,6 +6,7 @@ Ecom::Core::Engine.routes.draw do
|
|
6
6
|
resources :menus, only: %i[index]
|
7
7
|
resources :users, only: %i[index create update]
|
8
8
|
get '/users/active', controller: :users, action: :active
|
9
|
+
get '/users/lookup', controller: :users, action: :lookup
|
9
10
|
|
10
11
|
|
11
12
|
resources :crew_types
|
@@ -3,6 +3,10 @@ class CreateEcomCoreWorkOrders < ActiveRecord::Migration[6.0]
|
|
3
3
|
create_table :ecom_core_work_orders do |t|
|
4
4
|
t.string :name
|
5
5
|
t.string :reference_number
|
6
|
+
t.references :work_package,
|
7
|
+
null: false,
|
8
|
+
index: { name: 'wo_on_wp_indx' },
|
9
|
+
foreign_key: { to_table: :ecom_core_work_packages }
|
6
10
|
t.references :assigned_to,
|
7
11
|
null: false,
|
8
12
|
index: { name: 'wo_on_at_indx' },
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# This migration comes from active_storage (originally 20170806125915)
|
2
|
+
class CreateActiveStorageTables < ActiveRecord::Migration[5.2]
|
3
|
+
def change
|
4
|
+
create_table :active_storage_blobs do |t|
|
5
|
+
t.string :key, null: false
|
6
|
+
t.string :filename, null: false
|
7
|
+
t.string :content_type
|
8
|
+
t.text :metadata
|
9
|
+
t.string :service_name, null: false
|
10
|
+
t.bigint :byte_size, null: false
|
11
|
+
t.string :checksum, null: false
|
12
|
+
t.datetime :created_at, null: false
|
13
|
+
|
14
|
+
t.index [ :key ], unique: true
|
15
|
+
end
|
16
|
+
|
17
|
+
create_table :active_storage_attachments do |t|
|
18
|
+
t.string :name, null: false
|
19
|
+
t.references :record, null: false, polymorphic: true, index: false
|
20
|
+
t.references :blob, null: false
|
21
|
+
|
22
|
+
t.datetime :created_at, null: false
|
23
|
+
|
24
|
+
t.index [ :record_type, :record_id, :name, :blob_id ], name: "index_active_storage_attachments_uniqueness", unique: true
|
25
|
+
t.foreign_key :active_storage_blobs, column: :blob_id
|
26
|
+
end
|
27
|
+
|
28
|
+
create_table :active_storage_variant_records do |t|
|
29
|
+
t.belongs_to :blob, null: false, index: false
|
30
|
+
t.string :variation_digest, null: false
|
31
|
+
|
32
|
+
t.index %i[ blob_id variation_digest ], name: "index_active_storage_variant_records_uniqueness", unique: true
|
33
|
+
t.foreign_key :active_storage_blobs, column: :blob_id
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/ecom/core/version.rb
CHANGED
data/lib/ecom_core.rb
CHANGED
@@ -10,7 +10,7 @@ FactoryBot.define do
|
|
10
10
|
wage_in_words { FFaker::Name.name }
|
11
11
|
employment_date { Date.today - 1 }
|
12
12
|
sub_contracted { false }
|
13
|
-
|
13
|
+
photo_url { FFaker::Name.name }
|
14
14
|
guarantor_name { FFaker::Name.name }
|
15
15
|
guarantor_phone { FFaker::Name.name }
|
16
16
|
active { true }
|
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.3.
|
4
|
+
version: 1.3.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henock L.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aasm
|
@@ -38,26 +38,6 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 0.10.0
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: after_commit_everywhere
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0.1'
|
48
|
-
- - ">="
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: 0.1.5
|
51
|
-
type: :runtime
|
52
|
-
prerelease: false
|
53
|
-
version_requirements: !ruby/object:Gem::Requirement
|
54
|
-
requirements:
|
55
|
-
- - "~>"
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: '0.1'
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 0.1.5
|
61
41
|
- !ruby/object:Gem::Dependency
|
62
42
|
name: ancestry
|
63
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,34 +66,6 @@ dependencies:
|
|
86
66
|
- - ">="
|
87
67
|
- !ruby/object:Gem::Version
|
88
68
|
version: '0'
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: carrierwave
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - ">="
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '0'
|
96
|
-
type: :runtime
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '0'
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: carrierwave-base64
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - ">="
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
type: :runtime
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
- - ">="
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '0'
|
117
69
|
- !ruby/object:Gem::Dependency
|
118
70
|
name: jwt
|
119
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -134,42 +86,14 @@ dependencies:
|
|
134
86
|
requirements:
|
135
87
|
- - "~>"
|
136
88
|
- !ruby/object:Gem::Version
|
137
|
-
version: 6.1.
|
138
|
-
type: :runtime
|
139
|
-
prerelease: false
|
140
|
-
version_requirements: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - "~>"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: 6.1.1
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: json-schema
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - ">="
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '0'
|
152
|
-
type: :runtime
|
153
|
-
prerelease: false
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - ">="
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '0'
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: fog-google
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - "~>"
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: 1.12.0
|
89
|
+
version: 6.1.3
|
166
90
|
type: :runtime
|
167
91
|
prerelease: false
|
168
92
|
version_requirements: !ruby/object:Gem::Requirement
|
169
93
|
requirements:
|
170
94
|
- - "~>"
|
171
95
|
- !ruby/object:Gem::Version
|
172
|
-
version: 1.
|
96
|
+
version: 6.1.3
|
173
97
|
- !ruby/object:Gem::Dependency
|
174
98
|
name: factory_bot_rails
|
175
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -372,6 +296,7 @@ files:
|
|
372
296
|
- app/serializers/ecom/core/lookup_serializer.rb
|
373
297
|
- app/serializers/ecom/core/resource_type_serializer.rb
|
374
298
|
- app/serializers/ecom/core/unit_cost_serializer.rb
|
299
|
+
- app/serializers/ecom/core/user_lookup_serializer.rb
|
375
300
|
- app/serializers/ecom/core/user_role_serializer.rb
|
376
301
|
- app/serializers/ecom/core/user_serializer.rb
|
377
302
|
- app/services/ecom/core/crew_contract_transaction_service.rb
|
@@ -379,11 +304,8 @@ files:
|
|
379
304
|
- app/services/ecom/core/menu_service.rb
|
380
305
|
- app/services/ecom/core/site_crew_service.rb
|
381
306
|
- app/services/ecom/core/token_auth_service.rb
|
382
|
-
- app/uploaders/ecom/core/photo_uploader.rb
|
383
|
-
- app/uploaders/ecom/core/task_attachment_uploader.rb
|
384
307
|
- app/validators/ecom/core/date_range_validator.rb
|
385
308
|
- config/database.ci.yml
|
386
|
-
- config/initializers/carrierwave.rb
|
387
309
|
- config/routes.rb
|
388
310
|
- db/migrate/20190101085530_create_ecom_core_companies.rb
|
389
311
|
- db/migrate/20190101112620_create_ecom_core_lookups.rb
|
@@ -462,6 +384,8 @@ files:
|
|
462
384
|
- db/migrate/20201125191158_create_ecom_core_work_item_resource_requirement_templates.rb
|
463
385
|
- db/migrate/20201126191334_create_ecom_core_resource_requisitions.rb
|
464
386
|
- db/migrate/20201126191349_create_ecom_core_resource_requisition_items.rb
|
387
|
+
- db/migrate/20210417095657_rename_photo_fields.rb
|
388
|
+
- db/migrate/20210417120215_create_active_storage_tables.active_storage.rb
|
465
389
|
- lib/ecom/core.rb
|
466
390
|
- lib/ecom/core/engine.rb
|
467
391
|
- lib/ecom/core/version.rb
|
@@ -572,7 +496,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
572
496
|
- !ruby/object:Gem::Version
|
573
497
|
version: '0'
|
574
498
|
requirements: []
|
575
|
-
rubygems_version: 3.
|
499
|
+
rubygems_version: 3.2.15
|
576
500
|
signing_key:
|
577
501
|
specification_version: 4
|
578
502
|
summary: Core engine for construction management application.
|
@@ -1,30 +0,0 @@
|
|
1
|
-
module Ecom
|
2
|
-
module Core
|
3
|
-
class PhotoUploader < CarrierWave::Uploader::Base
|
4
|
-
if Rails.env.production?
|
5
|
-
storage :fog
|
6
|
-
else
|
7
|
-
storage :file
|
8
|
-
end
|
9
|
-
|
10
|
-
def store_dir
|
11
|
-
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
12
|
-
end
|
13
|
-
|
14
|
-
def extension_whitelist
|
15
|
-
%w[jpg jpeg gif png]
|
16
|
-
end
|
17
|
-
|
18
|
-
def filename
|
19
|
-
"#{secure_token}.#{file.extension}" if original_filename.present?
|
20
|
-
end
|
21
|
-
|
22
|
-
protected
|
23
|
-
|
24
|
-
def secure_token
|
25
|
-
var = :"@#{mounted_as}_secure_token"
|
26
|
-
model.instance_variable_get(var) || model.instance_variable_set(var, SecureRandom.uuid)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,8 +0,0 @@
|
|
1
|
-
CarrierWave.configure do |config|
|
2
|
-
config.fog_credentials = {
|
3
|
-
provider: 'Google',
|
4
|
-
google_storage_access_key_id: ENV["GOOGLE_STORAGE_ACCESS_KEY"],
|
5
|
-
google_storage_secret_access_key: ENV["GOOGLE_STORAGE_SECRETE_KEY"]
|
6
|
-
}
|
7
|
-
config.fog_directory = ENV["GOOGLE_STORAGE_BUCKET_NAME"]
|
8
|
-
end
|