"ecmreturns", 'comment' => 'EcmReturns', 'duplicate_merge' => true, 'unified_search' => true, // FIELDS SECTION 'fields' => array ( // STANDARD FIELDS SECTION 'id' => array ( 'name' => 'id', 'vname' => 'LBL_ID', 'type' => 'id', 'required' => true, 'reportable' => false, 'comment' => 'Unique identifier' ), 'name' => array ( 'name' => 'name', 'vname' => 'LBL_NAME', 'type' => 'name', 'required' => false, 'dbType' => 'varchar', 'len' => 255, 'unified_search' => true, 'comment' => 'The short description of the record contents', 'massupdate' => true, 'merge_filter' => 'selected' ), 'description' => array ( 'type' => 'text', 'name' => 'description', 'vname' => 'LBL_DESCRIPTION', 'comment' => 'Description', 'unified_search' => true // 'required' => true, ), 'date_entered' => array ( 'name' => 'date_entered', 'vname' => 'LBL_DATE_ENTERED', 'type' => 'datetime', 'required' => true, 'comment' => 'Date record created' ), 'date_modified' => array ( 'name' => 'date_modified', 'vname' => 'LBL_DATE_MODIFIED', 'type' => 'datetime', 'required' => true, 'comment' => 'Date record last modified' ), 'modified_user_id' => array ( 'name' => 'modified_user_id', 'rname' => 'user_name', 'id_name' => 'modified_user_id', 'vname' => 'LBL_MODIFIED', 'type' => 'assigned_user_name', 'table' => 'modified_user_id_users', 'isnull' => 'false', 'dbType' => 'varchar', 'len' => 36, 'required' => true, 'reportable' => true, 'comment' => 'User who last modified record' ), 'assigned_user_id' => array ( 'name' => 'assigned_user_id', 'rname' => 'user_name', 'id_name' => 'assigned_user_id', 'vname' => 'LBL_ASSIGNED_TO_ID', 'group' => 'assigned_user_name', 'type' => 'relate', 'table' => 'users', 'reportable' => true, 'Importable' => false, 'isnull' => 'false', 'dbType' => 'id', 'audited' => true, 'comment' => 'User ID assigned to record', 'duplicate_merge' => 'disabled', 'massupdate' => false ), 'assigned_user_name' => array ( 'name' => 'assigned_user_name', 'vname' => 'LBL_ASSIGNED_TO', 'type' => 'relate', 'reportable' => false, 'source' => 'non-db', 'table' => 'users', 'id_name' => 'assigned_user_id', 'module' => 'Users', 'duplicate_merge' => 'disabled', 'massupdate' => false ), 'created_by' => array ( 'name' => 'created_by', 'rname' => 'user_name', 'id_name' => 'created_by', 'vname' => 'LBL_CREATED', 'type' => 'assigned_user_name', 'table' => 'created_by_users', 'isnull' => 'false', 'dbType' => 'varchar', 'len' => 36, 'comment' => 'User that created the record' ), 'created_by_link' => array ( 'name' => 'created_by_link', 'type' => 'link', 'relationship' => 'ecmreturns' . '_created_by', 'vname' => 'LBL_CREATED_BY_USER', 'link_type' => 'one', 'module' => 'Users', 'bean_name' => 'User', 'source' => 'non-db' ), 'modified_user_link' => array ( 'name' => 'modified_user_link', 'type' => 'link', 'relationship' => 'ecmreturns' . '_modified_user', 'vname' => 'LBL_MODIFIED_BY_USER', 'link_type' => 'one', 'module' => 'Users', 'bean_name' => 'User', 'source' => 'non-db' ), 'assigned_user_link' => array ( 'name' => 'assigned_user_link', 'type' => 'link', 'relationship' => 'ecmreturns' . '_assigned_user', 'vname' => 'LBL_ASSIGNED_TO_USER', 'link_type' => 'one', 'module' => 'Users', 'bean_name' => 'User', 'source' => 'non-db', 'duplicate_merge' => 'enabled', 'rname' => 'user_name', 'id_name' => 'assigned_user_id', 'table' => 'users' ), 'deleted' => array ( 'name' => 'deleted', 'vname' => 'LBL_DELETED_BY', 'type' => 'bool', 'required' => true, 'reportable' => false, 'comment' => 'Record deletion indicator' ), // NEW FIELDS SECTION 'number' => array ( 'name' => 'number', 'vname' => 'LBL_NUMBER', 'type' => 'varchar', 'required_option' => true, 'unified_search' => true, 'required' => true, 'len' => '20' ), 'document_no' => array ( 'name' => 'document_no', 'vname' => 'LBL_DOCUMENT_NO', 'type' => 'varchar', 'required_option' => true, 'unified_search' => true, 'required' => true, 'len' => '30' ), 'parent_id' => array ( 'name' => 'parent_id', 'rname' => 'name', 'id_name' => 'parent_id', 'vname' => 'LBL_PARENT_ID', 'group' => 'parent_name', 'type' => 'relate', 'table' => 'accounts', 'reportable' => true, 'Importable' => false, 'isnull' => 'false', 'dbType' => 'id', 'audited' => true, 'duplicate_merge' => 'disabled', 'massupdate' => false ), 'parent_name' => array ( 'name' => 'parent_name', 'vname' => 'LBL_PARENT_NAME', 'type' => 'relate', 'reportable' => false, 'required' => true, 'source' => 'non-db', 'table' => 'accounts', 'id_name' => 'parent_id', 'module' => 'Accounts', 'duplicate_merge' => 'disabled', 'massupdate' => false ), 'type' => array ( 'name' => 'type', 'vname' => 'LBL_TYPE', 'required' => false, 'type' => 'enum', 'options' => 'ecmreturn_type_dom', 'massupdate' => false ), 'register_date' => array ( 'name' => 'register_date', 'vname' => 'LBL_REGISTER_DATE', 'type' => 'date', 'reportable' => false, 'showFormats' => true, 'massupdate' => false, 'required' => true ), 'parent_name_copy' => array ( 'name' => 'parent_name_copy', 'vname' => 'LBL_PARENT_NAME_COPY', 'type' => 'varchar', 'source' => 'non-db' ), 'parent_address_street' => array ( 'name' => 'parent_address_street', 'vname' => 'LBL_PARENT_ADDRESS_STREET', 'type' => 'varchar', 'len' => '150', 'comment' => 'The street address used for parent address', 'group' => 'parent_address', 'merge_filter' => 'enabled' ), 'parent_address_city' => array ( 'name' => 'parent_address_city', 'vname' => 'LBL_PARENT_ADDRESS_CITY', 'type' => 'varchar', 'len' => '100', 'comment' => 'The city used for parent address', 'group' => 'parent_address', 'merge_filter' => 'enabled' ), 'parent_address_postalcode' => array ( 'name' => 'parent_address_postalcode', 'vname' => 'LBL_PARENT_ADDRESS_POSTALCODE', 'type' => 'varchar', 'len' => '20', 'group' => 'parent_address', 'comment' => 'The postal code used for parent address', 'merge_filter' => 'enabled' ), 'parent_address_country' => array ( 'name' => 'parent_address_country', 'vname' => 'LBL_PARENT_ADDRESS_COUNTRY', 'type' => 'varchar', 'group' => 'parent_address', 'comment' => 'The country used for the parent address', 'merge_filter' => 'enabled' ), 'parent_nip' => array ( 'name' => 'parent_nip', 'vname' => 'LBL_PARENT_NIP', 'type' => 'varchar', 'len' => 15 ), 'parent_nip_unformated' => array ( 'name' => 'parent_nip_unformated', 'vname' => 'LBL_PARENT_NIP', 'type' => 'varchar', 'len' => 15 ), 'pdf_text' => array ( 'name' => 'pdf_text', 'vname' => 'LBL_PDF_TEXT', 'type' => 'text' ), // correct_id = id from ecinvoceouts 'correct_id' => array ( 'name' => 'correct_id', 'type' => 'varchar', 'len' => '36', 'vname' => '', 'source' => 'non_db' ), 'correct_name' => array ( 'name' => 'correct_name', 'type' => 'relate', 'id_name' => 'correct_id', 'module' => 'EcmInvoiceOuts', 'len' => '30', 'vname' => 'LBL_CORRECT_NAME', 'source' => 'non-db', 'rname' => 'name' ), // end correct 'currency_id' => array ( 'name' => 'currency_id', 'type' => 'enum', 'options' => 'currency_dom', 'label' => 'LBL_CURRENCY' ), 'ecmpaymentcondition_id' => array ( 'name' => 'ecmpaymentcondition_id', 'rname' => 'name', 'id_name' => 'ecmpaymentcondition_id', 'vname' => 'LBL_PAYMENTCONDITION_ID', 'group' => 'ecmpaymentcondition_name', 'type' => 'relate', 'table' => 'ecmpaymentconditions', 'reportable' => true, 'Importable' => false, 'isnull' => 'false', 'dbType' => 'id', 'audited' => true, 'duplicate_merge' => 'disabled', 'massupdate' => false ), 'ecmpaymentcondition_name' => array ( 'name' => 'ecmpaymentcondition_name', 'vname' => 'LBL_PAYMENTCONDITION_NAME', 'type' => 'relate', 'reportable' => false, 'source' => 'non-db', 'table' => 'ecmpaymentcondition', 'id_name' => 'ecmpaymentcondition_id', 'module' => 'EcmPaymentConditions', 'duplicate_merge' => 'disabled', 'massupdate' => false, 'required' => false ), 'ecmpaymentcondition_text' => array ( 'name' => 'ecmpaymentcondition_text', 'vname' => 'LBL_PAYMENTCONDITION_TEXT', 'type' => 'text', 'reportable' => false, 'module' => 'EcmPaymentConditions', 'duplicate_merge' => 'disabled', 'massupdate' => false ), 'to_informations' => array ( 'name' => 'to_informations', 'vname' => 'LBL_TO_INFORMATIONS', 'type' => 'text', 'source' => 'non-db' ), 'items_list_panel' => array ( 'name' => 'items_list_panel', 'vname' => 'LBL_ITEMS', 'type' => 'text', 'source' => 'non-db' ), 'preview_panel' => array ( 'name' => 'preview_panel', 'vname' => 'LBL_PREVIEW', 'type' => 'text', 'source' => 'non-db' ), // FOR SUBPANELS 'account' => array ( 'name' => 'account', 'type' => 'link', 'relationship' => 'ecmreturns_account', 'source' => 'non-db', 'vname' => 'LBL_ACCOUNTS' ), 'contact' => array ( 'name' => 'contact', 'type' => 'link', 'relationship' => 'ecmreturns_contact', 'source' => 'non-db', 'vname' => 'LBL_CONTACTS' ), 'bugs' => array ( 'name' => 'bugs', 'type' => 'link', 'relationship' => 'ecmreturns_bug', 'source' => 'non-db', 'vname' => 'LBL_BUGS' ), 'notes' => array ( 'name' => 'notes', 'type' => 'link', 'relationship' => 'ecmreturns_notes', 'source' => 'non-db', 'vname' => 'LBL_NOTES' ), 'emails' => array ( 'name' => 'emails', 'type' => 'link', 'relationship' => 'ecmreturns_emails', 'source' => 'non-db', 'vname' => 'LBL_EMAILS' ), 'tasks' => array ( 'name' => 'tasks', 'type' => 'link', 'relationship' => 'ecmreturns_task', 'source' => 'non-db', 'vname' => 'LBL_TASKS' ) ), // INDICES SECTION 'indices' => array ( array ( 'name' => 'ecmreturns' . 'pk', 'type' => 'primary', 'fields' => array ( 'id' ) ), array ( 'name' => 'idx_' . 'ecmreturns' . '_document_no', 'type' => 'index', 'fields' => array ( 'document_no' ) ) ), // RELATIONSHIPS SECTION 'relationships' => array ( 'ecmreturns' . '_assigned_user' => array ( 'lhs_module' => 'Users', 'lhs_table' => 'users', 'lhs_key' => 'id', 'rhs_module' => 'EcmReturns', 'rhs_table' => 'ecmreturns', 'rhs_key' => 'assigned_user_id', 'relationship_type' => 'one-to-many' ), 'ecmreturns' . '_modified_user' => array ( 'lhs_module' => 'Users', 'lhs_table' => 'users', 'lhs_key' => 'id', 'rhs_module' => 'EcmReturns', 'rhs_table' => 'ecmreturns', 'rhs_key' => 'modified_user_id', 'relationship_type' => 'one-to-many' ), 'ecmreturns' . '_created_by' => array ( 'lhs_module' => 'Users', 'lhs_table' => 'users', 'lhs_key' => 'id', 'rhs_module' => 'EcmReturns', 'rhs_table' => 'ecmreturns', 'rhs_key' => 'created_by', 'relationship_type' => 'one-to-many' ), 'ecmreturns' . '_account' => array ( 'lhs_module' => 'Accounts', 'lhs_table' => 'accounts', 'lhs_key' => 'id', 'rhs_module' => 'EcmReturns', 'rhs_table' => 'ecmreturns', 'rhs_key' => 'parent_id', 'relationship_type' => 'one-to-many' ), 'ecmreturns' . '_contact' => array ( 'lhs_module' => 'Contacts', 'lhs_table' => 'contacts', 'lhs_key' => 'id', 'rhs_module' => 'EcmReturns', 'rhs_table' => 'ecmreturns', 'rhs_key' => 'contact_id', 'relationship_type' => 'one-to-many' ), 'ecmreturns' . '_project' => array ( 'lhs_module' => 'Project', 'lhs_table' => 'project', 'lhs_key' => 'id', 'rhs_module' => 'EcmReturns', 'rhs_table' => 'ecmreturns', 'rhs_key' => 'parent_id', 'relationship_type' => 'one-to-many' ), 'ecmreturns' . '_bug' => array ( 'lhs_module' => 'Bugs', 'lhs_table' => 'bugs', 'lhs_key' => 'id', 'rhs_module' => 'EcmReturns', 'rhs_table' => 'ecmreturns', 'rhs_key' => 'parent_id', 'relationship_type' => 'one-to-many' ), 'ecmreturns_notes' => array ( 'lhs_module' => 'EcmReturns', 'lhs_table' => 'ecmreturns', 'lhs_key' => 'id', 'rhs_module' => 'Notes', 'rhs_table' => 'notes', 'rhs_key' => 'parent_id', 'relationship_type' => 'one-to-many', 'relationship_role_column' => 'parent_type', 'relationship_role_column_value' => 'EcmReturns' ), 'ecmreturns' . '_case' => array ( 'lhs_module' => 'Cases', 'lhs_table' => 'cases', 'lhs_key' => 'id', 'rhs_module' => 'EcmReturns', 'rhs_table' => 'ecmreturns', 'rhs_key' => 'parent_id', 'relationship_type' => 'one-to-many' ), 'ecmreturns' . '_task' => array ( 'lhs_module' => 'Tasks', 'lhs_table' => 'tasks', 'lhs_key' => 'id', 'rhs_module' => 'EcmReturns', 'rhs_table' => 'ecmreturns', 'rhs_key' => 'parent_id', 'relationship_type' => 'one-to-many' ) ), // THIS FLAG ENABLES OPTIMISTIC LOCKING FOR SAVES FROM EDITVIEW 'optimistic_locking' => true );