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