Sha256: 791d374c6cfb09a6d35b6ab72c366c81bff38c9bf0063cc091bd2cff60c3b786

Contents?: true

Size: 1.4 KB

Versions: 17

Compression:

Stored size: 1.4 KB

Contents

# The WorkProduct core represents a task being implemented on a specific
# work product. To this regard, a work product is an assignable itself which
# contains the basic product attributes (e.g. dimension, name, design reference)
# on one hand, and task related attributes (e.g. start date and completion date)
# on the other hand. A task may have multiple work products under it. It is
# important to note that currently there is no direct way to link products and
# sub products, as we have done with tasks and sub tasks. If there is a desire
# to have such a link between products (e.g. we may later want to have reports
# per specific high level products, which in turn asks for finding all sub products
# under the selected high level product and do calculations), then a `code` field
# has been introduced to the WorkProduct core. This field can be used in a similar
# way as chart of accounts to identify parent and child relationships. Even then,
# there needs to be a well defined coding scheme developed before using the column
# field.
module Ecom
  module Core
    class WorkProduct < ApplicationRecord
      belongs_to :work_product_template
      belongs_to :project
      belongs_to :product_group, optional: true
      has_many :tasks
      has_many :dimension_elements

      validates :name, :design_reference, presence: true
      validates :design_reference, uniqueness: { scope: :project_id }
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
ecom_core-1.3.14 app/models/ecom/core/work_product.rb
ecom_core-1.3.13 app/models/ecom/core/work_product.rb
ecom_core-1.3.12 app/models/ecom/core/work_product.rb
ecom_core-1.3.11 app/models/ecom/core/work_product.rb
ecom_core-1.3.10 app/models/ecom/core/work_product.rb
ecom_core-1.3.9 app/models/ecom/core/work_product.rb
ecom_core-1.3.8 app/models/ecom/core/work_product.rb
ecom_core-1.3.7 app/models/ecom/core/work_product.rb
ecom_core-1.3.6 app/models/ecom/core/work_product.rb
ecom_core-1.3.5 app/models/ecom/core/work_product.rb
ecom_core-1.3.4 app/models/ecom/core/work_product.rb
ecom_core-1.3.3 app/models/ecom/core/work_product.rb
ecom_core-1.3.2 app/models/ecom/core/work_product.rb
ecom_core-1.3.1 app/models/ecom/core/work_product.rb
ecom_core-1.3.0 app/models/ecom/core/work_product.rb
ecom_core-1.2.36 app/models/ecom/core/work_product.rb
ecom_core-1.2.35 app/models/ecom/core/work_product.rb