ecom_core 1.2.14 → 1.2.15

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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/ecom/core/product_group.rb +7 -0
  3. data/app/models/ecom/core/task.rb +41 -2
  4. data/app/models/ecom/core/task_resource.rb +10 -0
  5. data/app/models/ecom/core/task_template.rb +1 -1
  6. data/app/models/ecom/core/work_package.rb +10 -0
  7. data/app/models/ecom/core/work_product.rb +18 -45
  8. data/app/models/ecom/core/work_product_template.rb +1 -1
  9. data/db/migrate/20191119013236_create_ecom_core_work_product_templates.rb +10 -3
  10. data/db/migrate/20191201251015_create_ecom_core_product_groups.rb +13 -0
  11. data/db/migrate/20191202222210_create_ecom_core_work_packages.rb +13 -0
  12. data/db/migrate/20191202235434_create_ecom_core_work_products.rb +7 -13
  13. data/db/migrate/20191207103735_create_ecom_core_tasks.rb +45 -0
  14. data/db/migrate/20191210724614_create_ecom_core_task_resources.rb +18 -0
  15. data/lib/ecom/core/version.rb +1 -1
  16. data/spec/factories/ecom/core/application_modules.rb +1 -1
  17. data/spec/factories/ecom/core/companies.rb +1 -1
  18. data/spec/factories/ecom/core/product_groups.rb +6 -0
  19. data/spec/factories/ecom/core/resource_types.rb +1 -1
  20. data/spec/factories/ecom/core/task_resources.rb +8 -0
  21. data/spec/factories/ecom/core/task_template_types.rb +1 -1
  22. data/spec/factories/ecom/core/task_templates.rb +1 -7
  23. data/spec/factories/ecom/core/tasks.rb +12 -3
  24. data/spec/factories/ecom/core/work_component_templates.rb +1 -1
  25. data/spec/factories/ecom/core/work_packages.rb +9 -0
  26. data/spec/factories/ecom/core/work_product_templates.rb +1 -2
  27. data/spec/factories/ecom/core/work_products.rb +3 -6
  28. metadata +12 -3
  29. data/db/migrate/20191202103735_create_ecom_core_tasks.rb +0 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 556990381397a6b8767f5e0b8f169a9f3ec26fe4ca86f3511f2c032e87980b36
4
- data.tar.gz: 519d394938acc41e78d25cbab80b720347686cb14c059dd9b5d742316d69bb8a
3
+ metadata.gz: 6e47a28bd7b3ce16d86c8ae18b5ff906bfba496c0a862dc97c41babd5760ea9e
4
+ data.tar.gz: '09dd7a50a6ac74286a82557aa1561c308a2ac295b75a3472fbe6d4af583bce22'
5
5
  SHA512:
6
- metadata.gz: fdf6100d006de268f4dd92f9ee2583e02067f8a88e0c231cb67ea8939fff986e56cf5f121c94efcd14980016067e394469a46e3b9379369200e72c87e91c8ed4
7
- data.tar.gz: 46dfdcef2f8300fd34fc89f81beced4d313ef6c63207392290e87457d4d00e236c97d1a1b8f5fdb6ab23709dd86555a75c53ba10de2c2a22caf2bc59452aed65
6
+ metadata.gz: a1d13e668d8382fe3a87d8386df80300488c09785b7357e7e33a061a058765abbab8ff84d798e49a065ac44c8708adebe68a5423b5387b702f8919da565871e4
7
+ data.tar.gz: e377ee5714e4e21c3e73bef63bb1aeec0e7621215eba0bfd81c8fd804974cb1e6b72ee1fbfd53cc746e465cf988c254dc89d2413a5ae47a8fa6e755851bc0d28
@@ -0,0 +1,7 @@
1
+ module Ecom::Core
2
+ class ProductGroup < ApplicationRecord
3
+ belongs_to :project
4
+
5
+ validates :name, presence: true, uniqueness: true
6
+ end
7
+ end
@@ -1,10 +1,49 @@
1
1
  module Ecom
2
2
  module Core
3
3
  class Task < ApplicationRecord
4
- belongs_to :project
4
+ include AASM
5
+
6
+ belongs_to :work_product
5
7
  belongs_to :task_template
8
+ belongs_to :work_package, optional: true
9
+ belongs_to :performer, class_name: 'Ecom::Core::User', optional: true
10
+ belongs_to :approver, class_name: 'Ecom::Core::User', optional: true
11
+ belongs_to :supervisor, class_name: 'Ecom::Core::User', optional: true
12
+ belongs_to :quality_controller, class_name: 'Ecom::Core::User', optional: true
13
+
14
+ validates :code, :name, :status, :percent_completed, presence: true
15
+ validates_numericality_of :percent_completed,
16
+ only_integer: true,
17
+ greater_than_or_equal_to: 0,
18
+ less_than_or_equal_to: 100
19
+
20
+ aasm column: 'status' do
21
+ state :new, initial: true
22
+ state :in_progress
23
+ state :submitted
24
+ state :under_review
25
+ state :completed
26
+
27
+ event :start do
28
+ transitions from: :new, to: :in_progress
29
+ end
30
+
31
+ event :submit do
32
+ transitions from: :in_progress, to: :submitted
33
+ end
34
+
35
+ event :review do
36
+ transitions from: :submitted, to: :under_review
37
+ end
38
+
39
+ event :complete do
40
+ transitions from: %i[submitted under_review], to: :completed
41
+ end
6
42
 
7
- validates :code, :name, presence: true
43
+ event :rework do
44
+ transitions from: :under_review, to: :in_progress
45
+ end
46
+ end
8
47
  end
9
48
  end
10
49
  end
@@ -0,0 +1,10 @@
1
+ module Ecom
2
+ module Core
3
+ class TaskResource < ApplicationRecord
4
+ belongs_to :task
5
+ belongs_to :resource_type
6
+
7
+ validates :amount, presence: true, numericality: { greater_than: 0 }
8
+ end
9
+ end
10
+ end
@@ -4,7 +4,7 @@ module Ecom
4
4
  has_ancestry
5
5
 
6
6
  belongs_to :task_template_type
7
- has_one :work_product_template
7
+ has_and_belongs_to_many :work_product_templates, join_table: 'ecom_core_task_templates_work_product_templates'
8
8
  has_and_belongs_to_many :resource_types, join_table: 'ecom_core_task_templates_resource_types'
9
9
 
10
10
  validates :name, :code, presence: true
@@ -0,0 +1,10 @@
1
+ module Ecom
2
+ module Core
3
+ class WorkPackage < ApplicationRecord
4
+ validates :code, :name, presence: true
5
+ validates :code, uniqueness: true
6
+
7
+ has_many :tasks
8
+ end
9
+ end
10
+ end
@@ -17,53 +17,26 @@ module Ecom
17
17
  class WorkProduct < ApplicationRecord
18
18
  include AASM
19
19
 
20
- belongs_to :work_product_template
21
- belongs_to :task
22
- belongs_to :project
23
- belongs_to :performer, class_name: 'Ecom::Core::User'
24
- belongs_to :approver, class_name: 'Ecom::Core::User'
25
- belongs_to :supervisor, class_name: 'Ecom::Core::User'
26
- belongs_to :quality_controller, class_name: 'Ecom::Core::User'
27
-
28
- validates :name, presence: true
29
- validates :design_reference_no, uniqueness: true
30
-
31
- aasm column: 'task_status' do
32
- state :new, initial: true
33
- state :in_progress
34
- state :submitted
35
- state :under_review
36
- state :completed
37
-
38
- event :start do
39
- transitions from: :new, to: :in_progress
40
- end
41
-
42
- event :submit do
43
- transitions from: :in_progress, to: :submitted
44
- end
20
+ NEW = 'New'.freeze
21
+ UNDER_CONSTRUCTION = 'Under Construction'.freeze
22
+ COMPLETED = 'Completed'.freeze
45
23
 
46
- event :review do
47
- transitions from: :submitted, to: :under_review
48
- end
24
+ STATUSES = [NEW, UNDER_CONSTRUCTION, COMPLETED].freeze
49
25
 
50
- event :complete do
51
- transitions from: %i[submitted under_review], to: :completed
52
- end
53
-
54
- event :rework do
55
- transitions from: :under_review, to: :in_progress
56
- end
57
- end
58
-
59
- aasm column: 'assignment_status' do
60
- state :unassigned, initial: true
61
- state :assigned
62
-
63
- event :assign do
64
- transitions from: :unassigned, to: :assigned
65
- end
66
- end
26
+ belongs_to :work_product_template
27
+ belongs_to :project
28
+ belongs_to :product_group, optional: true
29
+ belongs_to :approver, class_name: 'Ecom::Core::User', optional: true
30
+ belongs_to :supervisor, class_name: 'Ecom::Core::User', optional: true
31
+ belongs_to :quality_controller, class_name: 'Ecom::Core::User', optional: true
32
+
33
+ validates :name, :design_reference_no, :status, :percent_completed, presence: true
34
+ validates :design_reference_no, uniqueness: { scope: :project_id }
35
+ validates :status, inclusion: STATUSES
36
+ validates_numericality_of :percent_completed,
37
+ only_integer: true,
38
+ greater_than_or_equal_to: 0,
39
+ less_than_or_equal_to: 100
67
40
  end
68
41
  end
69
42
  end
@@ -2,7 +2,7 @@ module Ecom
2
2
  module Core
3
3
  class WorkProductTemplate < ApplicationRecord
4
4
  validates :code, :name, presence: true, uniqueness: true
5
- belongs_to :task_template
5
+ has_and_belongs_to_many :task_templates
6
6
  has_many :product_types
7
7
 
8
8
  scope :filtered_by_template_type, lambda { |id|
@@ -5,12 +5,19 @@ class CreateEcomCoreWorkProductTemplates < ActiveRecord::Migration[6.0]
5
5
  t.string :name, null: false, unique: true
6
6
  t.string :description
7
7
  t.string :remark
8
+
9
+ t.timestamps
10
+ end
11
+
12
+ create_table :ecom_core_task_templates_work_product_templates do |t|
8
13
  t.references :task_template,
9
14
  null: false,
10
- index: { name: 'tt_on_wpt_indx' },
15
+ index: { name: 'ttwpt_on_tt_indx' },
11
16
  foreign_key: { to_table: :ecom_core_task_templates }
12
-
13
- t.timestamps
17
+ t.references :work_product_template,
18
+ null: false,
19
+ index: { name: 'ttwpt_on_wpt_indx' },
20
+ foreign_key: { to_table: :ecom_core_work_product_templates }
14
21
  end
15
22
  end
16
23
  end
@@ -0,0 +1,13 @@
1
+ class CreateEcomCoreProductGroups < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_product_groups do |t|
4
+ t.string :name, null: false, unique: true
5
+ t.references :project,
6
+ null: false,
7
+ index: { name: 'pg_on_project_indx' },
8
+ foreign_key: { to_table: :ecom_core_projects }
9
+
10
+ t.timestamps
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ class CreateEcomCoreWorkPackages < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_work_packages do |t|
4
+ t.string :code, null: false, unique: true
5
+ t.string :name, null: false
6
+ t.string :description
7
+ t.date :start_date
8
+ t.date :end_date
9
+
10
+ t.timestamps
11
+ end
12
+ end
13
+ end
@@ -1,15 +1,14 @@
1
1
  class CreateEcomCoreWorkProducts < ActiveRecord::Migration[6.0]
2
2
  def change
3
3
  create_table :ecom_core_work_products do |t|
4
- t.string :code, null: false
5
4
  t.string :name, null: false
6
5
  t.string :description
7
6
  t.string :design_reference_no, unique: true
8
7
  t.json :dimension
9
- t.references :task,
10
- null: false,
11
- index: { name: 'task_on_wp_indx' },
12
- foreign_key: { to_table: :ecom_core_tasks }
8
+ t.references :product_group,
9
+ null: true,
10
+ index: { name: 'wp_on_pg_indx' },
11
+ foreign_key: { to_table: :ecom_core_product_groups }
13
12
  t.references :work_product_template,
14
13
  null: false,
15
14
  index: { name: 'wpt_on_wp_indx' },
@@ -18,14 +17,9 @@ class CreateEcomCoreWorkProducts < ActiveRecord::Migration[6.0]
18
17
  null: false,
19
18
  index: { name: 'projects_on_wp_indx' },
20
19
  foreign_key: { to_table: :ecom_core_projects }
21
- t.string :assignment_status, default: 'UNASSIGNED'
22
- t.string :task_status, default: 'NEW'
23
- t.integer :percent_completed
20
+ t.string :status, default: 'New'
21
+ t.integer :percent_completed, null: false, default: 0
24
22
  t.string :remark
25
- t.references :performer,
26
- null: true,
27
- index: false,
28
- foreign_key: { to_table: :ecom_core_users }
29
23
  t.references :approver,
30
24
  null: true,
31
25
  index: false,
@@ -44,6 +38,6 @@ class CreateEcomCoreWorkProducts < ActiveRecord::Migration[6.0]
44
38
  t.timestamps
45
39
  end
46
40
 
47
- add_index :ecom_core_work_products, %i[code project_id], unique: true
41
+ add_index :ecom_core_work_products, %i[design_reference_no project_id], unique: true, name: 'wp_on_drpi_indx'
48
42
  end
49
43
  end
@@ -0,0 +1,45 @@
1
+ class CreateEcomCoreTasks < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_tasks do |t|
4
+ t.string :code, null: false
5
+ t.string :name, null: false
6
+ t.string :description
7
+ t.string :ancestry
8
+ t.date :start_date
9
+ t.date :end_date
10
+ t.string :status, null: false, default: :new
11
+ t.integer :percent_completed, null: false, default: 0
12
+ t.string :remark
13
+ t.references :work_package,
14
+ null: true,
15
+ index: { name: 'wp_on_wp_indx' },
16
+ foreign_key: { to_table: :ecom_core_work_packages }
17
+ t.references :performer,
18
+ null: true,
19
+ index: { name: 'tasks_on_performer_indx' },
20
+ foreign_key: { to_table: :ecom_core_users }
21
+ t.references :approver,
22
+ null: true,
23
+ index: { name: 'tasks_on_approver_indx' },
24
+ foreign_key: { to_table: :ecom_core_users }
25
+ t.references :supervisor,
26
+ null: true,
27
+ index: { name: 'tasks_on_supervisor_indx' },
28
+ foreign_key: { to_table: :ecom_core_users }
29
+ t.references :quality_controller,
30
+ null: true,
31
+ index: { name: 'tasks_on_qc_indx' },
32
+ foreign_key: { to_table: :ecom_core_users }
33
+ t.references :work_product,
34
+ null: false,
35
+ index: { name: 'tasks_on_wp_indx' },
36
+ foreign_key: { to_table: :ecom_core_work_products }
37
+ t.references :task_template,
38
+ null: false,
39
+ index: { name: 'tt_on_project_indx' },
40
+ foreign_key: { to_table: :ecom_core_task_templates }
41
+
42
+ t.timestamps
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,18 @@
1
+ class CreateEcomCoreTaskResources < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_task_resources do |t|
4
+ t.references :task,
5
+ null: false,
6
+ index: { name: 'tr_on_task_indx' },
7
+ foreign_key: { to_table: :ecom_core_tasks }
8
+ t.references :resource_type,
9
+ null: false,
10
+ index: { name: 'tr_on_rt_indx' },
11
+ foreign_key: { to_table: :ecom_core_resource_types }
12
+ t.date :date_assigned
13
+ t.float :amount, nullable: false
14
+
15
+ t.timestamps
16
+ end
17
+ end
18
+ end
@@ -1,5 +1,5 @@
1
1
  module Ecom
2
2
  module Core
3
- VERSION = '1.2.14'.freeze
3
+ VERSION = '1.2.15'.freeze
4
4
  end
5
5
  end
@@ -1,6 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :application_module, class: Ecom::Core::ApplicationModule do
3
- code { FFaker::Name.name }
3
+ code { FFaker::Guid.guid }
4
4
  name { FFaker::Name.name }
5
5
  end
6
6
  end
@@ -1,6 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :company, class: Ecom::Core::Company do
3
- code { FFaker::Name.name }
3
+ code { FFaker::Guid.guid }
4
4
  name { FFaker::Name.name }
5
5
  address { FFaker::Address.street_address }
6
6
  telephone { FFaker::PhoneNumber.phone_number }
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :product_group, class: Ecom::Core::ProductGroup do
3
+ name { FFaker::Name.name }
4
+ association :project
5
+ end
6
+ end
@@ -1,6 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :resource_type, class: Ecom::Core::ResourceType do
3
- code { FFaker::Name.name }
3
+ code { FFaker::Guid.guid }
4
4
  name { FFaker::Name.name }
5
5
  base_unit { FFaker::Name.name }
6
6
  type { 'Ecom::Core::CrewType' }
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :task_resource, class: Ecom::Core::TaskResource do
3
+ association :task
4
+ association :resource_type, factory: :crew_type
5
+ date_assigned { Date.today }
6
+ amount { 1 }
7
+ end
8
+ end
@@ -1,6 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :task_template_type, class: Ecom::Core::TaskTemplateType do
3
- code { FFaker::Name.unique.name }
3
+ code { FFaker::Guid.guid }
4
4
  name { FFaker::Name.unique.name }
5
5
  end
6
6
  end
@@ -1,14 +1,8 @@
1
1
  FactoryBot.define do
2
2
  factory :task_template, class: Ecom::Core::TaskTemplate do
3
- code { FFaker::Name.name }
3
+ code { FFaker::Guid.guid }
4
4
  name { FFaker::Name.name }
5
5
  description { FFaker::Name.name }
6
6
  association :task_template_type
7
-
8
- factory :task_template_with_product_template do
9
- after :create do |task_template, _|
10
- create(:work_product_template, task_template: task_template)
11
- end
12
- end
13
7
  end
14
8
  end
@@ -1,10 +1,19 @@
1
1
  FactoryBot.define do
2
2
  factory :task, class: Ecom::Core::Task do
3
- code { FFaker::Name.name }
3
+ code { FFaker::Guid.guid }
4
4
  name { FFaker::Name.name }
5
5
  description { FFaker::Name.name }
6
- ancestry { FFaker::Name.name }
7
- association :project
6
+ start_date { Date.yesterday }
7
+ end_date { Date.today }
8
+ status { :new }
9
+ percent_completed { 0 }
10
+ remark { FFaker::Name.name }
11
+ association :performer, factory: :user
12
+ association :approver, factory: :user
13
+ association :supervisor, factory: :user
14
+ association :quality_controller, factory: :user
8
15
  association :task_template
16
+ association :work_product
17
+ association :work_package
9
18
  end
10
19
  end
@@ -1,6 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :work_component_template, class: Ecom::Core::WorkComponentTemplate do
3
- code { FFaker::Name.name }
3
+ code { FFaker::Guid.guid }
4
4
  name { FFaker::Name.name }
5
5
  description { FFaker::Name.name }
6
6
  relative_percentage { FFaker::Random.rand(0..100) }
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :work_package, class: Ecom::Core::WorkPackage do
3
+ code { FFaker::Guid.guid }
4
+ name { FFaker::Name.name }
5
+ description { FFaker::Name.name }
6
+ start_date { Date.yesterday }
7
+ end_date { Date.today }
8
+ end
9
+ end
@@ -1,9 +1,8 @@
1
1
  FactoryBot.define do
2
2
  factory :work_product_template, class: Ecom::Core::WorkProductTemplate do
3
- code { FFaker::Name.unique.name }
3
+ code { FFaker::Guid.guid }
4
4
  name { FFaker::Name.unique.name }
5
5
  description { FFaker::Name.name }
6
6
  remark { FFaker::Name.name }
7
- association :task_template
8
7
  end
9
8
  end
@@ -1,18 +1,15 @@
1
1
  FactoryBot.define do
2
2
  factory :work_product, class: Ecom::Core::WorkProduct do
3
- code { FFaker::Name.name }
4
3
  name { FFaker::Name.unique.name }
5
4
  description { FFaker::Name.name }
6
- design_reference_no { FFaker::Name.name }
5
+ design_reference_no { FFaker::Guid.guid }
7
6
  dimension { [{ label: 'Length', name: 'length', value: 12 }] }
8
- association :task
7
+ association :product_group
9
8
  association :work_product_template
10
9
  association :project
11
- assignment_status { :unassigned }
12
- task_status { :new }
10
+ status { Ecom::Core::WorkProduct::NEW }
13
11
  percent_completed { FFaker::Random.rand(1..100) }
14
12
  remark { FFaker::Name.name }
15
- association :performer, factory: :user
16
13
  association :approver, factory: :user
17
14
  association :supervisor, factory: :user
18
15
  association :quality_controller, factory: :user
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.14
4
+ version: 1.2.15
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-07 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aasm
@@ -234,6 +234,7 @@ files:
234
234
  - app/models/ecom/core/payment.rb
235
235
  - app/models/ecom/core/payment_detail.rb
236
236
  - app/models/ecom/core/payroll.rb
237
+ - app/models/ecom/core/product_group.rb
237
238
  - app/models/ecom/core/product_type.rb
238
239
  - app/models/ecom/core/project.rb
239
240
  - app/models/ecom/core/project_crew.rb
@@ -242,12 +243,14 @@ files:
242
243
  - app/models/ecom/core/stakeholder.rb
243
244
  - app/models/ecom/core/stakeholder_type.rb
244
245
  - app/models/ecom/core/task.rb
246
+ - app/models/ecom/core/task_resource.rb
245
247
  - app/models/ecom/core/task_template.rb
246
248
  - app/models/ecom/core/task_template_type.rb
247
249
  - app/models/ecom/core/user.rb
248
250
  - app/models/ecom/core/user_role.rb
249
251
  - app/models/ecom/core/work_component.rb
250
252
  - app/models/ecom/core/work_component_template.rb
253
+ - app/models/ecom/core/work_package.rb
251
254
  - app/models/ecom/core/work_product.rb
252
255
  - app/models/ecom/core/work_product_template.rb
253
256
  - app/serializers/ecom/core/application_module_serializer.rb
@@ -273,14 +276,17 @@ files:
273
276
  - db/migrate/20191201134420_create_ecom_core_work_component_templates.rb
274
277
  - db/migrate/20191201145816_create_ecom_core_currencies.rb
275
278
  - db/migrate/20191201145848_create_ecom_core_projects.rb
276
- - db/migrate/20191202103735_create_ecom_core_tasks.rb
279
+ - db/migrate/20191201251015_create_ecom_core_product_groups.rb
277
280
  - db/migrate/20191202105355_create_task_templates_resource_types.rb
278
281
  - db/migrate/20191202220752_create_ecom_core_application_modules.rb
279
282
  - db/migrate/20191202220832_create_ecom_core_users.rb
280
283
  - db/migrate/20191202220953_create_ecom_core_user_roles.rb
281
284
  - db/migrate/20191202221423_create_ecom_core_menus.rb
285
+ - db/migrate/20191202222210_create_ecom_core_work_packages.rb
282
286
  - db/migrate/20191202235434_create_ecom_core_work_products.rb
283
287
  - db/migrate/20191206104247_create_ecom_core_work_components.rb
288
+ - db/migrate/20191207103735_create_ecom_core_tasks.rb
289
+ - db/migrate/20191210724614_create_ecom_core_task_resources.rb
284
290
  - db/migrate/20191225100054_create_ecom_core_crews.rb
285
291
  - db/migrate/20191225121850_create_ecom_core_project_crews.rb
286
292
  - db/migrate/20191225140433_create_ecom_core_attendance_sheets.rb
@@ -340,6 +346,7 @@ files:
340
346
  - spec/factories/ecom/core/payment_details.rb
341
347
  - spec/factories/ecom/core/payments.rb
342
348
  - spec/factories/ecom/core/payrolls.rb
349
+ - spec/factories/ecom/core/product_groups.rb
343
350
  - spec/factories/ecom/core/product_types.rb
344
351
  - spec/factories/ecom/core/project_crews.rb
345
352
  - spec/factories/ecom/core/projects.rb
@@ -347,6 +354,7 @@ files:
347
354
  - spec/factories/ecom/core/resource_types.rb
348
355
  - spec/factories/ecom/core/stakeholder_types.rb
349
356
  - spec/factories/ecom/core/stakeholders.rb
357
+ - spec/factories/ecom/core/task_resources.rb
350
358
  - spec/factories/ecom/core/task_template_types.rb
351
359
  - spec/factories/ecom/core/task_templates.rb
352
360
  - spec/factories/ecom/core/tasks.rb
@@ -354,6 +362,7 @@ files:
354
362
  - spec/factories/ecom/core/users.rb
355
363
  - spec/factories/ecom/core/work_component_templates.rb
356
364
  - spec/factories/ecom/core/work_components.rb
365
+ - spec/factories/ecom/core/work_packages.rb
357
366
  - spec/factories/ecom/core/work_product_templates.rb
358
367
  - spec/factories/ecom/core/work_products.rb
359
368
  homepage: http://www.mks.com.et
@@ -1,20 +0,0 @@
1
- class CreateEcomCoreTasks < ActiveRecord::Migration[6.0]
2
- def change
3
- create_table :ecom_core_tasks do |t|
4
- t.string :code, null: false
5
- t.string :name, null: false
6
- t.string :description
7
- t.string :ancestry
8
- t.references :project,
9
- null: false,
10
- index: { name: 'tasks_on_project_indx' },
11
- foreign_key: { to_table: :ecom_core_projects }
12
- t.references :task_template,
13
- null: false,
14
- index: { name: 'tt_on_project_indx' },
15
- foreign_key: { to_table: :ecom_core_task_templates }
16
-
17
- t.timestamps
18
- end
19
- end
20
- end