ecom_core 1.2.15 → 1.2.16

Sign up to get free protection for your applications and to get access to all the features.
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