ecom_core 1.2.15 → 1.2.16

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: 6e47a28bd7b3ce16d86c8ae18b5ff906bfba496c0a862dc97c41babd5760ea9e
4
- data.tar.gz: '09dd7a50a6ac74286a82557aa1561c308a2ac295b75a3472fbe6d4af583bce22'
3
+ metadata.gz: 82c394e94081fae6031af51e74ef103dc091d16b6e30ff8be5301a6f2ce42563
4
+ data.tar.gz: 988110edec8061117aecce19244003b94f56e5e810a7038614a8529fac3a52c4
5
5
  SHA512:
6
- metadata.gz: a1d13e668d8382fe3a87d8386df80300488c09785b7357e7e33a061a058765abbab8ff84d798e49a065ac44c8708adebe68a5423b5387b702f8919da565871e4
7
- data.tar.gz: e377ee5714e4e21c3e73bef63bb1aeec0e7621215eba0bfd81c8fd804974cb1e6b72ee1fbfd53cc746e465cf988c254dc89d2413a5ae47a8fa6e755851bc0d28
6
+ metadata.gz: 7b2e2332eae3a441a0eee06a701d28a1d89f4ef853da5aac9837d9e06fcb483b8052234b12c15b9a2a6473b2e5488554a22d4b44db81eed5e9e1e415bff15da4
7
+ data.tar.gz: 6b742e0294967e7759f0a9fe40dfc568aad618c3679cb43d5e054705331f8ffc7e4fb904e80617d2761bb4b53e9a82bd70285af9f7d6d53d170f44e8adaaf882
@@ -3,6 +3,8 @@ module Ecom
3
3
  class Task < ApplicationRecord
4
4
  include AASM
5
5
 
6
+ has_ancestry
7
+
6
8
  belongs_to :work_product
7
9
  belongs_to :task_template
8
10
  belongs_to :work_package, optional: true
@@ -17,6 +19,8 @@ module Ecom
17
19
  greater_than_or_equal_to: 0,
18
20
  less_than_or_equal_to: 100
19
21
 
22
+ scope :by_status, ->(status) { where(status: status) }
23
+
20
24
  aasm column: 'status' do
21
25
  state :new, initial: true
22
26
  state :in_progress
@@ -6,7 +6,7 @@ module Ecom
6
6
  belongs_to :supervisor, class_name: 'Ecom::Core::User'
7
7
  belongs_to :quality_controller, class_name: 'Ecom::Core::User'
8
8
  belongs_to :work_component_template
9
- belongs_to :work_product
9
+ belongs_to :task
10
10
 
11
11
  validates :name, :assignment_status, :task_status, :percent_completed, presence: true
12
12
  end
@@ -1,6 +1,8 @@
1
1
  module Ecom
2
2
  module Core
3
3
  class WorkPackage < ApplicationRecord
4
+ belongs_to :project
5
+
4
6
  validates :code, :name, presence: true
5
7
  validates :code, uniqueness: true
6
8
 
@@ -29,6 +29,7 @@ module Ecom
29
29
  belongs_to :approver, class_name: 'Ecom::Core::User', optional: true
30
30
  belongs_to :supervisor, class_name: 'Ecom::Core::User', optional: true
31
31
  belongs_to :quality_controller, class_name: 'Ecom::Core::User', optional: true
32
+ has_many :tasks
32
33
 
33
34
  validates :name, :design_reference_no, :status, :percent_completed, presence: true
34
35
  validates :design_reference_no, uniqueness: { scope: :project_id }
@@ -9,6 +9,8 @@ class CreateEcomCoreTaskTemplates < ActiveRecord::Migration[6.0]
9
9
  index: { name: 'tt_on_ttt_indx' },
10
10
  foreign_key: { to_table: :ecom_core_task_template_types }
11
11
  t.string :ancestry, index: true
12
+ t.boolean :has_takeoff_fields, null:false, default: false
13
+ t.jsonb :fields
12
14
 
13
15
  t.timestamps
14
16
  end
@@ -6,6 +6,10 @@ class CreateEcomCoreWorkPackages < ActiveRecord::Migration[6.0]
6
6
  t.string :description
7
7
  t.date :start_date
8
8
  t.date :end_date
9
+ t.references :project,
10
+ null: false,
11
+ index: { name: 'wp_on_project_indx' },
12
+ foreign_key: { to_table: :ecom_core_projects }
9
13
 
10
14
  t.timestamps
11
15
  end
@@ -34,6 +34,7 @@ class CreateEcomCoreWorkProducts < ActiveRecord::Migration[6.0]
34
34
  foreign_key: { to_table: :ecom_core_users }
35
35
  t.datetime :start_date
36
36
  t.datetime :completion_date
37
+ t.boolean :tasks_generated, null: false, default: false
37
38
 
38
39
  t.timestamps
39
40
  end
@@ -1,5 +1,5 @@
1
1
  module Ecom
2
2
  module Core
3
- VERSION = '1.2.15'.freeze
3
+ VERSION = '1.2.16'.freeze
4
4
  end
5
5
  end
@@ -1,6 +1,8 @@
1
1
  FactoryBot.define do
2
2
  factory :application_module, class: Ecom::Core::ApplicationModule do
3
- code { FFaker::Guid.guid }
3
+ sequence :code do |n|
4
+ "AMCode#{n}"
5
+ end
4
6
  name { FFaker::Name.name }
5
7
  end
6
8
  end
@@ -1,6 +1,8 @@
1
1
  FactoryBot.define do
2
2
  factory :company, class: Ecom::Core::Company do
3
- code { FFaker::Guid.guid }
3
+ sequence :code do |n|
4
+ "CCode#{n}"
5
+ end
4
6
  name { FFaker::Name.name }
5
7
  address { FFaker::Address.street_address }
6
8
  telephone { FFaker::PhoneNumber.phone_number }
@@ -1,6 +1,8 @@
1
1
  FactoryBot.define do
2
2
  factory :resource_type, class: Ecom::Core::ResourceType do
3
- code { FFaker::Guid.guid }
3
+ sequence :code do |n|
4
+ "RTCode#{n}"
5
+ end
4
6
  name { FFaker::Name.name }
5
7
  base_unit { FFaker::Name.name }
6
8
  type { 'Ecom::Core::CrewType' }
@@ -1,6 +1,10 @@
1
1
  FactoryBot.define do
2
2
  factory :task_template_type, class: Ecom::Core::TaskTemplateType do
3
- code { FFaker::Guid.guid }
4
- name { FFaker::Name.unique.name }
3
+ sequence :code do |n|
4
+ "TTTCode#{n}"
5
+ end
6
+ sequence :name do |n|
7
+ "TTTName#{n}"
8
+ end
5
9
  end
6
10
  end
@@ -1,8 +1,12 @@
1
1
  FactoryBot.define do
2
2
  factory :task_template, class: Ecom::Core::TaskTemplate do
3
- code { FFaker::Guid.guid }
3
+ sequence :code do |n|
4
+ "TTCode#{n}"
5
+ end
4
6
  name { FFaker::Name.name }
5
7
  description { FFaker::Name.name }
6
8
  association :task_template_type
9
+ has_takeoff_fields { false }
10
+ fields { [{ name: 'length', label: 'Length' }] }
7
11
  end
8
12
  end
@@ -1,6 +1,8 @@
1
1
  FactoryBot.define do
2
2
  factory :task, class: Ecom::Core::Task do
3
- code { FFaker::Guid.guid }
3
+ sequence :code do |n|
4
+ "TCode#{n}"
5
+ end
4
6
  name { FFaker::Name.name }
5
7
  description { FFaker::Name.name }
6
8
  start_date { Date.yesterday }
@@ -1,6 +1,8 @@
1
1
  FactoryBot.define do
2
2
  factory :work_component_template, class: Ecom::Core::WorkComponentTemplate do
3
- code { FFaker::Guid.guid }
3
+ sequence :code do |n|
4
+ "WCTCode#{n}"
5
+ end
4
6
  name { FFaker::Name.name }
5
7
  description { FFaker::Name.name }
6
8
  relative_percentage { FFaker::Random.rand(0..100) }
@@ -1,9 +1,12 @@
1
1
  FactoryBot.define do
2
2
  factory :work_package, class: Ecom::Core::WorkPackage do
3
- code { FFaker::Guid.guid }
3
+ sequence :code do |n|
4
+ "WPCode#{n}"
5
+ end
4
6
  name { FFaker::Name.name }
5
7
  description { FFaker::Name.name }
6
8
  start_date { Date.yesterday }
7
9
  end_date { Date.today }
10
+ association :project
8
11
  end
9
12
  end
@@ -1,7 +1,11 @@
1
1
  FactoryBot.define do
2
2
  factory :work_product_template, class: Ecom::Core::WorkProductTemplate do
3
- code { FFaker::Guid.guid }
4
- name { FFaker::Name.unique.name }
3
+ sequence :code do |n|
4
+ "Code#{n}"
5
+ end
6
+ sequence :name do |n|
7
+ "Name#{n}"
8
+ end
5
9
  description { FFaker::Name.name }
6
10
  remark { FFaker::Name.name }
7
11
  end
@@ -1,6 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :work_product, class: Ecom::Core::WorkProduct do
3
- name { FFaker::Name.unique.name }
3
+ name { FFaker::Name.name }
4
4
  description { FFaker::Name.name }
5
5
  design_reference_no { FFaker::Guid.guid }
6
6
  dimension { [{ label: 'Length', name: 'length', value: 12 }] }
@@ -15,5 +15,6 @@ FactoryBot.define do
15
15
  association :quality_controller, factory: :user
16
16
  start_date { 1.day.ago }
17
17
  completion_date { Time.now.next_week }
18
+ tasks_generated { false }
18
19
  end
19
20
  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.15
4
+ version: 1.2.16
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-06-11 00:00:00.000000000 Z
11
+ date: 2020-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aasm