ecom_core 1.2.27 → 1.2.28

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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/ecom/core/companies_controller.rb +15 -0
  3. data/app/controllers/ecom/core/project_crews_controller.rb +25 -0
  4. data/app/controllers/ecom/core/projects_controller.rb +32 -0
  5. data/app/models/ecom/core/cost_type.rb +8 -0
  6. data/app/models/ecom/core/crew.rb +3 -0
  7. data/app/models/ecom/core/job_card.rb +16 -0
  8. data/app/models/ecom/core/maintenance_category.rb +6 -0
  9. data/app/models/ecom/core/maintenance_cost.rb +10 -0
  10. data/app/models/ecom/core/maintenance_service_order.rb +19 -0
  11. data/app/models/ecom/core/maintenance_status.rb +6 -0
  12. data/app/models/ecom/core/maintenance_type.rb +9 -0
  13. data/app/models/ecom/core/schedule_setting.rb +9 -0
  14. data/app/models/ecom/core/schedule_unit.rb +6 -0
  15. data/app/services/ecom/core/project_crew_service.rb +39 -0
  16. data/config/routes.rb +5 -0
  17. data/db/migrate/20200919053331_create_ecom_core_maintenance_types.rb +14 -0
  18. data/db/migrate/20200919072216_create_ecom_core_schedule_settings.rb +21 -0
  19. data/db/migrate/20200919081338_create_ecom_core_maintenance_service_orders.rb +32 -0
  20. data/db/migrate/20200919085613_create_ecom_core_job_cards.rb +48 -0
  21. data/db/migrate/20200919101941_create_ecom_core_cost_types.rb +10 -0
  22. data/db/migrate/20200919102802_create_ecom_core_maintenance_costs.rb +19 -0
  23. data/lib/ecom/core/version.rb +1 -1
  24. data/spec/factories/ecom/core/cost_types.rb +6 -0
  25. data/spec/factories/ecom/core/job_cards.rb +17 -0
  26. data/spec/factories/ecom/core/maintenance_categories.rb +5 -0
  27. data/spec/factories/ecom/core/maintenance_costs.rb +9 -0
  28. data/spec/factories/ecom/core/maintenance_service_orders.rb +16 -0
  29. data/spec/factories/ecom/core/maintenance_statuses.rb +5 -0
  30. data/spec/factories/ecom/core/maintenance_types.rb +7 -0
  31. data/spec/factories/ecom/core/schedule_settings.rb +8 -0
  32. data/spec/factories/ecom/core/schedule_units.rb +5 -0
  33. metadata +31 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 42f95a3904d7cdfebcafa09111ccfa6739bfda3496f67126e7d2fc43b586000f
4
- data.tar.gz: e9cbda9dfca1b89b7660a50a1550ec0a0218dc2faaef488e179d5c0a5a21eedf
3
+ metadata.gz: c60cc03ce91bb6a6fcda02c9d46c4f2a612db516dab13f6068e07b7410a236e8
4
+ data.tar.gz: 128979b27e4fb0d111ea8c372cd3a17b312a473ad254b76b3f86ccdee9fd13d4
5
5
  SHA512:
6
- metadata.gz: 704d938a16a2f48723e94663ba0161ada47c46d4c3cea081e1856d476aaaabb0820d1c0de57422f0787946bcf35a9eaac87973568c2736e3f63b7f03e4f9c77f
7
- data.tar.gz: ceb93623c85ace2292f56142d3982e8be76fff618cdcad2cea79bdfe7c70d35a008e213114a885f16eacbd2de83df995287b94d66face645abb6513feeda0bbc
6
+ metadata.gz: ebb78acd53dfa40dfcb4a49a0bbbf0369c1282005b45dfa8af8909dd7ab095754d688408152eddce07b8dd91f193985a1b5f0a2b003d5746d7fd190283c31ee0
7
+ data.tar.gz: 0327b3d3d94bc49ffd640d5557b678f62c75b75bf9f45f25d16e6016f8d31ed4e72f00a915653b1c734408bd18be3e29f3b89ad05a8337b798ec7f7ced71a489
@@ -0,0 +1,15 @@
1
+ module Ecom
2
+ module Core
3
+ class CompaniesController < ApplicationController
4
+ def index
5
+ data = Ecom::Core::Company.all
6
+ render json: data
7
+ end
8
+
9
+ def default_company
10
+ data = Ecom::Core::Company.first
11
+ render json: data
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,25 @@
1
+ module Ecom
2
+ module Core
3
+ class ProjectCrewsController < ApplicationController
4
+ before_action :set_service, only: %i[update]
5
+
6
+ def index
7
+ project = Ecom::Core::Project.find(params[:id])
8
+ serialized = ActiveModelSerializers::SerializableResource.new(project.crews)
9
+ render json: { success: true, data: serialized }
10
+ end
11
+
12
+ def update
13
+ data = @service.update(params)
14
+ serialized = ActiveModelSerializers::SerializableResource.new(data[:data])
15
+ render json: { success: true, data: serialized }
16
+ end
17
+
18
+ private
19
+
20
+ def set_service
21
+ @service = ProjectCrewService.new
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,32 @@
1
+ module Ecom
2
+ module Core
3
+ class ProjectsController < ApplicationController
4
+ before_action :set_project, only: %i[show]
5
+ # GET /projects
6
+ def index
7
+ projects = Ecom::Core::Project.includes(:employer, :contractor, :consultant, :project_manager)
8
+ .where(company_id: params[:id])
9
+ serialized = ActiveModelSerializers::SerializableResource.new(projects)
10
+ render json: { success: true, data: serialized }
11
+ end
12
+
13
+ def show
14
+ render json: @project
15
+ end
16
+
17
+ private
18
+
19
+ def set_project
20
+ @project = Project.find(params[:id])
21
+ end
22
+
23
+ def model_params
24
+ params.require(:project).permit(:name, :description, :location, :objective, :project_scope, :employer_id,
25
+ :contractor_id, :consultant_id, :project_manager_id, :contract_number,
26
+ :company_id, :date_contract_signed, :commencement_date, :completion_date,
27
+ :contract_amount, :advance_payment, :retention, :remark, :task_template_type_id,
28
+ :currency_id)
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,8 @@
1
+ module Ecom
2
+ module Core
3
+ class CostType < ApplicationRecord
4
+ validates :name, presence: true, uniqueness: true
5
+ validates :fields, presence: true
6
+ end
7
+ end
8
+ end
@@ -15,6 +15,9 @@ module Ecom
15
15
  validates :name, :address, :qualification, :employment, :wage, :wage_in_words, presence: true
16
16
  validates :employment, inclusion: EMPLOYMENT_TYPES
17
17
 
18
+ has_many :project_crews
19
+ has_many :projects, through: :project_crews
20
+
18
21
  scope :by_active, ->(active) { where(active: active) }
19
22
  scope :by_qualification, ->(qualification) { where(qualification: qualification) }
20
23
  scope :by_sub_contracted, ->(sub_contracted) { where(sub_contracted: sub_contracted) }
@@ -0,0 +1,16 @@
1
+ module Ecom
2
+ module Core
3
+ class JobCard < ApplicationRecord
4
+ belongs_to :maintenance_service_order
5
+ belongs_to :service_provider, class_name: 'Ecom::Core::EquipmentLocation'
6
+ belongs_to :checkout_by, class_name: 'Ecom::Core::User', optional: true
7
+ belongs_to :checkout_to, class_name: 'Ecom::Core::EquipmentLocation', optional: true
8
+ belongs_to :maintenance_status
9
+ belongs_to :checkin_by, class_name: 'Ecom::Core::User', optional: true
10
+ belongs_to :checkin_to, class_name: 'Ecom::Core::EquipmentLocation', optional: true
11
+ belongs_to :prepared_by, class_name: 'Ecom::Core::User'
12
+
13
+ validates :code, presence: true, uniqueness: true
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,6 @@
1
+ module Ecom
2
+ module Core
3
+ class MaintenanceCategory < Lookup
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,10 @@
1
+ module Ecom
2
+ module Core
3
+ class MaintenanceCost < ApplicationRecord
4
+ belongs_to :job_card
5
+ belongs_to :cost_type
6
+
7
+ validates :cost_detail, presence: true
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,19 @@
1
+ module Ecom
2
+ module Core
3
+ class MaintenanceServiceOrder < ApplicationRecord
4
+ NEW = 'New'.freeze
5
+ IN_PROGRESS = 'In Progress'.freeze
6
+ COMPLETED = 'Completed'.freeze
7
+
8
+ STATUSES = [NEW, IN_PROGRESS, COMPLETED].freeze
9
+
10
+ belongs_to :equipment_item
11
+ belongs_to :maintenance_type
12
+ belongs_to :prepared_by, class_name: 'Ecom::Core::User'
13
+ belongs_to :approved_by, class_name: 'Ecom::Core::User'
14
+
15
+ validates :title, :status, :current_reading, presence: true
16
+ validates :status, inclusion: STATUSES
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,6 @@
1
+ module Ecom
2
+ module Core
3
+ class MaintenanceStatus < Lookup
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,9 @@
1
+ module Ecom
2
+ module Core
3
+ class MaintenanceType < ApplicationRecord
4
+ belongs_to :maintenance_category
5
+
6
+ validates :name, presence: true
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Ecom::Core
2
+ class ScheduleSetting < ApplicationRecord
3
+ belongs_to :equipment
4
+ belongs_to :maintenance_type
5
+ belongs_to :schedule_unit
6
+
7
+ validates :value, presence: true
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ module Ecom
2
+ module Core
3
+ class ScheduleUnit < Lookup
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,39 @@
1
+ module Ecom
2
+ module Core
3
+ class ProjectCrewService
4
+ def update(params)
5
+ id = params[:project_id]
6
+ crew = params[:crew]
7
+
8
+ # Process new additions
9
+ new_crew = crew.select { |c| c[:status] == 'checked' }
10
+ removed = crew.select { |c| c[:status] == 'unchecked' }
11
+
12
+ crew_ids = new_crew.map { |c| c[:crew_id] }
13
+
14
+ project_crew = Ecom::Core::Crew.where(id: crew_ids)
15
+
16
+ new_entries = []
17
+ new_crew.each do |nc|
18
+ new_entries << Ecom::Core::ProjectCrew.new(
19
+ project_id: id, crew_id: nc[:crew_id], start_date: Date.today, status: 'Active'
20
+ )
21
+ end
22
+
23
+ Ecom::Core::ProjectCrew.transaction do
24
+ new_entries.each(&:save)
25
+ end
26
+
27
+ removed_ids = removed.map { |r| r[:crew_id] }
28
+ if removed_ids.count.positive?
29
+ removed_crew = Ecom::Core::ProjectCrew.where(project_id: id, crew_id: removed_ids)
30
+ Ecom::Core::ProjectCrew.transaction do
31
+ removed_crew.map(&:delete)
32
+ end
33
+ end
34
+
35
+ { success: true, data: project_crew }
36
+ end
37
+ end
38
+ end
39
+ end
@@ -12,4 +12,9 @@ Ecom::Core::Engine.routes.draw do
12
12
  resources :equipment_types
13
13
  resources :material_types
14
14
  resources :menus, only: %i[index]
15
+ resources :projects
16
+ resources :companies
17
+ get '/default_company', controller: :companies, action: :default_company
18
+ get '/projects/:id/crew', controller: :project_crews, action: :index
19
+ post '/project_crews', controller: :project_crews, action: :update
15
20
  end
@@ -0,0 +1,14 @@
1
+ class CreateEcomCoreMaintenanceTypes < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_maintenance_types do |t|
4
+ t.string :name, null: false
5
+ t.string :description
6
+ t.references :maintenance_category,
7
+ null: false,
8
+ index: { name: 'mt_on_mc_indx' },
9
+ foreign_key: { to_table: :ecom_core_lookups }
10
+
11
+ t.timestamps
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,21 @@
1
+ class CreateEcomCoreScheduleSettings < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_schedule_settings do |t|
4
+ t.references :equipment,
5
+ null: false,
6
+ index: { name: 'ss_on_equipment_indx' },
7
+ foreign_key: { to_table: :ecom_core_equipment }
8
+ t.references :maintenance_type,
9
+ null: false,
10
+ index: { name: 'ss_on_mt_indx' },
11
+ foreign_key: { to_table: :ecom_core_maintenance_types }
12
+ t.references :schedule_unit,
13
+ null: false,
14
+ index: { name: 'ss_in_su_indx' },
15
+ foreign_key: { to_table: :ecom_core_lookups }
16
+ t.float :value, null: false
17
+
18
+ t.timestamps
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,32 @@
1
+ class CreateEcomCoreMaintenanceServiceOrders < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_maintenance_service_orders do |t|
4
+ t.string :title, null: false
5
+ t.string :description
6
+ t.date :start_date
7
+ t.date :end_date
8
+ t.boolean :approved, default: false
9
+ t.string :status, null: false, default: 'New'
10
+ t.string :remark
11
+ t.float :current_reading, null: false
12
+ t.references :equipment_item,
13
+ null: false,
14
+ index: { name: 'mso_on_ei_indx' },
15
+ foreign_key: { to_table: :ecom_core_equipment_items }
16
+ t.references :maintenance_type,
17
+ null: false,
18
+ index: { name: 'mso_on_mt_indx' },
19
+ foreign_key: { to_table: :ecom_core_maintenance_types }
20
+ t.references :prepared_by,
21
+ null: false,
22
+ index: { name: 'mso_on_pb_indx' },
23
+ foreign_key: { to_table: :ecom_core_users }
24
+ t.references :approved_by,
25
+ null: false,
26
+ index: { name: 'mso_on_ab_indx' },
27
+ foreign_key: { to_table: :ecom_core_users }
28
+
29
+ t.timestamps
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,48 @@
1
+ class CreateEcomCoreJobCards < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_job_cards do |t|
4
+ t.string :code, unique: true
5
+ t.date :start_date
6
+ t.date :due_date
7
+ t.date :checkin_date
8
+ t.date :checkout_date
9
+ t.boolean :approved, null: false, default: false
10
+ t.boolean :checkin_confirmed, null: false, default: false
11
+ t.boolean :checkout_confirmed, null: false, default: false
12
+ t.references :maintenance_service_order,
13
+ null: false,
14
+ index: { name: 'jc_on_mso_indx' },
15
+ foreign_key: { to_table: :ecom_core_maintenance_service_orders }
16
+ t.references :service_provider,
17
+ null: false,
18
+ index: { name: 'jc_on_sp_indx' },
19
+ foreign_key: { to_table: :ecom_core_equipment_locations }
20
+ t.references :checkout_by,
21
+ null: false,
22
+ index: { name: 'jc_on_cb_indx' },
23
+ foreign_key: { to_table: :ecom_core_users }
24
+ t.references :checkout_to,
25
+ null: false,
26
+ index: { name: 'jc_on_ct_indx' },
27
+ foreign_key: { to_table: :ecom_core_equipment_locations }
28
+ t.references :maintenance_status,
29
+ null: false,
30
+ index: { name: 'jc_on_ms_indx' },
31
+ foreign_key: { to_table: :ecom_core_lookups }
32
+ t.references :checkin_by,
33
+ null: false,
34
+ index: { name: 'jc_on_cib_indx' },
35
+ foreign_key: { to_table: :ecom_core_users }
36
+ t.references :checkin_to,
37
+ null: false,
38
+ index: { name: 'jc_on_cit_indx' },
39
+ foreign_key: { to_table: :ecom_core_equipment_locations }
40
+ t.references :prepared_by,
41
+ null: false,
42
+ index: { name: 'jc_on_pb_indx' },
43
+ foreign_key: { to_table: :ecom_core_users }
44
+
45
+ t.timestamps
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,10 @@
1
+ class CreateEcomCoreCostTypes < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_cost_types do |t|
4
+ t.string :name, unique: true
5
+ t.jsonb :fields, null: false
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,19 @@
1
+ class CreateEcomCoreMaintenanceCosts < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_maintenance_costs do |t|
4
+ t.references :job_card,
5
+ null: false,
6
+ index: { name: 'mc_on_jc_indx' },
7
+ foreign_key: { to_table: :ecom_core_job_cards }
8
+ t.references :cost_type,
9
+ null: false,
10
+ index: { name: 'mc_on_ct_indx' },
11
+ foreign_key: { to_table: :ecom_core_cost_types }
12
+ t.jsonb :cost_detail, null: false
13
+ t.string :remark
14
+ t.boolean :costs_approved, null: false, default: false
15
+
16
+ t.timestamps
17
+ end
18
+ end
19
+ end
@@ -1,5 +1,5 @@
1
1
  module Ecom
2
2
  module Core
3
- VERSION = '1.2.27'.freeze
3
+ VERSION = '1.2.28'.freeze
4
4
  end
5
5
  end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :cost_type, class: Ecom::Core::CostType do
3
+ name { FFaker::Name.name }
4
+ fields { [{ name: 'amount', type: 'float' }] }
5
+ end
6
+ end
@@ -0,0 +1,17 @@
1
+ FactoryBot.define do
2
+ factory :job_card, class: Ecom::Core::JobCard do
3
+ code { FFaker::Name.name }
4
+ start_date { Date.yesterday }
5
+ due_date { Date.tomorrow }
6
+ checkin_date { Date.yesterday }
7
+ checkout_date { Date.tomorrow }
8
+ association :maintenance_service_order
9
+ association :service_provider, factory: :equipment_location
10
+ association :checkout_by, factory: :user
11
+ association :checkout_to, factory: :equipment_location
12
+ association :maintenance_status
13
+ association :checkin_by, factory: :user
14
+ association :checkin_to, factory: :equipment_location
15
+ association :prepared_by, factory: :user
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :maintenance_category, class: Ecom::Core::MaintenanceCategory, parent: :lookup do
3
+ type { 'Ecom::Core::MaintenanceCategory' }
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :maintenance_cost, class: Ecom::Core::MaintenanceCost do
3
+ association :job_card
4
+ association :cost_type
5
+ cost_detail { { part_number: 'ABCDEF', quantity: 1, price: 200 } }
6
+ remark { FFaker::Name.name }
7
+ costs_approved { false }
8
+ end
9
+ end
@@ -0,0 +1,16 @@
1
+ FactoryBot.define do
2
+ factory :maintenance_service_order, class: Ecom::Core::MaintenanceServiceOrder do
3
+ title { FFaker::Name.name }
4
+ description { FFaker::Name.name }
5
+ start_date { Date.yesterday }
6
+ end_date { Date.today }
7
+ approved { false }
8
+ status { 'New' }
9
+ remark { FFaker::Name.name }
10
+ current_reading { 1.5 }
11
+ association :equipment_item
12
+ association :maintenance_type
13
+ association :prepared_by, factory: :user
14
+ association :approved_by, factory: :user
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :maintenance_status, class: Ecom::Core::MaintenanceStatus, parent: :lookup do
3
+ type { 'Ecom::Core::MaintenanceStatus'}
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :maintenance_type, class: Ecom::Core::MaintenanceType do
3
+ name { FFaker::Name.name }
4
+ description { FFaker::Name.name }
5
+ association :maintenance_category
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :schedule_setting, class: Ecom::Core::ScheduleSetting do
3
+ association :equipment
4
+ association :maintenance_type
5
+ association :schedule_unit
6
+ value { 1.5 }
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :schedule_unit, class: Ecom::Core::ScheduleUnit, parent: :lookup do
3
+ type { 'Ecom::Core::ScheduleUnit' }
4
+ end
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.2.27
4
+ version: 1.2.28
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-09-01 00:00:00.000000000 Z
11
+ date: 2020-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aasm
@@ -243,10 +243,13 @@ files:
243
243
  - app/controllers/ecom/core/access_controller.rb
244
244
  - app/controllers/ecom/core/application_controller.rb
245
245
  - app/controllers/ecom/core/application_modules_controller.rb
246
+ - app/controllers/ecom/core/companies_controller.rb
246
247
  - app/controllers/ecom/core/crew_types_controller.rb
247
248
  - app/controllers/ecom/core/equipment_types_controller.rb
248
249
  - app/controllers/ecom/core/material_types_controller.rb
249
250
  - app/controllers/ecom/core/menus_controller.rb
251
+ - app/controllers/ecom/core/project_crews_controller.rb
252
+ - app/controllers/ecom/core/projects_controller.rb
250
253
  - app/controllers/ecom/core/user_roles_controller.rb
251
254
  - app/controllers/ecom/core/users_controller.rb
252
255
  - app/models/ecom/core/application_module.rb
@@ -257,6 +260,7 @@ files:
257
260
  - app/models/ecom/core/booking.rb
258
261
  - app/models/ecom/core/company.rb
259
262
  - app/models/ecom/core/component_type.rb
263
+ - app/models/ecom/core/cost_type.rb
260
264
  - app/models/ecom/core/country.rb
261
265
  - app/models/ecom/core/crew.rb
262
266
  - app/models/ecom/core/crew_contract.rb
@@ -273,8 +277,14 @@ files:
273
277
  - app/models/ecom/core/equipment_request.rb
274
278
  - app/models/ecom/core/equipment_type.rb
275
279
  - app/models/ecom/core/equipment_valuation.rb
280
+ - app/models/ecom/core/job_card.rb
276
281
  - app/models/ecom/core/location_type.rb
277
282
  - app/models/ecom/core/lookup.rb
283
+ - app/models/ecom/core/maintenance_category.rb
284
+ - app/models/ecom/core/maintenance_cost.rb
285
+ - app/models/ecom/core/maintenance_service_order.rb
286
+ - app/models/ecom/core/maintenance_status.rb
287
+ - app/models/ecom/core/maintenance_type.rb
278
288
  - app/models/ecom/core/material_type.rb
279
289
  - app/models/ecom/core/menu.rb
280
290
  - app/models/ecom/core/overtime_sheet.rb
@@ -289,6 +299,8 @@ files:
289
299
  - app/models/ecom/core/project_crew.rb
290
300
  - app/models/ecom/core/requested_item.rb
291
301
  - app/models/ecom/core/resource_type.rb
302
+ - app/models/ecom/core/schedule_setting.rb
303
+ - app/models/ecom/core/schedule_unit.rb
292
304
  - app/models/ecom/core/stakeholder.rb
293
305
  - app/models/ecom/core/stakeholder_type.rb
294
306
  - app/models/ecom/core/task.rb
@@ -306,6 +318,7 @@ files:
306
318
  - app/serializers/ecom/core/user_role_serializer.rb
307
319
  - app/serializers/ecom/core/user_serializer.rb
308
320
  - app/services/ecom/core/menu_service.rb
321
+ - app/services/ecom/core/project_crew_service.rb
309
322
  - app/services/ecom/core/token_auth_service.rb
310
323
  - app/uploaders/ecom/core/photo_uploader.rb
311
324
  - app/validators/ecom/core/date_range_validator.rb
@@ -356,6 +369,12 @@ files:
356
369
  - db/migrate/20200602830603_create_ecom_core_bookings.rb
357
370
  - db/migrate/20200603115317_create_ecom_core_booked_items.rb
358
371
  - db/migrate/20200901085227_create_ecom_core_crew_contracts.rb
372
+ - db/migrate/20200919053331_create_ecom_core_maintenance_types.rb
373
+ - db/migrate/20200919072216_create_ecom_core_schedule_settings.rb
374
+ - db/migrate/20200919081338_create_ecom_core_maintenance_service_orders.rb
375
+ - db/migrate/20200919085613_create_ecom_core_job_cards.rb
376
+ - db/migrate/20200919101941_create_ecom_core_cost_types.rb
377
+ - db/migrate/20200919102802_create_ecom_core_maintenance_costs.rb
359
378
  - lib/ecom/core.rb
360
379
  - lib/ecom/core/engine.rb
361
380
  - lib/ecom/core/version.rb
@@ -368,6 +387,7 @@ files:
368
387
  - spec/factories/ecom/core/bookings.rb
369
388
  - spec/factories/ecom/core/companies.rb
370
389
  - spec/factories/ecom/core/component_types.rb
390
+ - spec/factories/ecom/core/cost_types.rb
371
391
  - spec/factories/ecom/core/countries.rb
372
392
  - spec/factories/ecom/core/crew_contracts.rb
373
393
  - spec/factories/ecom/core/crew_overtimes.rb
@@ -384,8 +404,14 @@ files:
384
404
  - spec/factories/ecom/core/equipment_requests.rb
385
405
  - spec/factories/ecom/core/equipment_types.rb
386
406
  - spec/factories/ecom/core/equipment_valuations.rb
407
+ - spec/factories/ecom/core/job_cards.rb
387
408
  - spec/factories/ecom/core/location_types.rb
388
409
  - spec/factories/ecom/core/lookups.rb
410
+ - spec/factories/ecom/core/maintenance_categories.rb
411
+ - spec/factories/ecom/core/maintenance_costs.rb
412
+ - spec/factories/ecom/core/maintenance_service_orders.rb
413
+ - spec/factories/ecom/core/maintenance_statuses.rb
414
+ - spec/factories/ecom/core/maintenance_types.rb
389
415
  - spec/factories/ecom/core/material_types.rb
390
416
  - spec/factories/ecom/core/menus.rb
391
417
  - spec/factories/ecom/core/overtime_sheet_entries.rb
@@ -400,6 +426,8 @@ files:
400
426
  - spec/factories/ecom/core/projects.rb
401
427
  - spec/factories/ecom/core/requested_items.rb
402
428
  - spec/factories/ecom/core/resource_types.rb
429
+ - spec/factories/ecom/core/schedule_settings.rb
430
+ - spec/factories/ecom/core/schedule_units.rb
403
431
  - spec/factories/ecom/core/stakeholder_types.rb
404
432
  - spec/factories/ecom/core/stakeholders.rb
405
433
  - spec/factories/ecom/core/task_resources.rb
@@ -430,7 +458,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
430
458
  - !ruby/object:Gem::Version
431
459
  version: '0'
432
460
  requirements: []
433
- rubygems_version: 3.1.2
461
+ rubygems_version: 3.1.4
434
462
  signing_key:
435
463
  specification_version: 4
436
464
  summary: Core engine for construction management application.