array( 'name' => array( 'name' => 'name', 'type' => 'name', 'dbType' => 'varchar', 'vname' => 'LBL_NAME', 'len' => 150, 'comment' => 'Name of the Company', 'unified_search' => true, 'audited' => true, 'required' => true, 'importable' => 'required', 'merge_filter' => 'selected' //field will be enabled for merge and will be a part of the default search criteria..other valid values for this property are enabled and disabled, default value is disabled. //property value is case insensitive. ), strtolower($object_name) . '_type' => array( 'name' => strtolower($object_name) . '_type', 'vname' => 'LBL_TYPE', 'type' => 'enum', 'options' => strtolower($object_name) . '_type_dom', 'len' => 50, 'comment' => 'The Company is of this type' ), 'industry' => array( 'name' => 'industry', 'vname' => 'LBL_INDUSTRY', 'type' => 'enum', 'options' => 'industry_dom', 'len' => 50, 'comment' => 'The company belongs in this industry', 'merge_filter' => 'enabled' ), 'annual_revenue' => array( 'name' => 'annual_revenue', 'vname' => 'LBL_ANNUAL_REVENUE', 'type' => 'varchar', 'len' => 25, 'comment' => 'Annual revenue for this company', 'merge_filter' => 'enabled' ), 'phone_fax' => array( 'name' => 'phone_fax', 'vname' => 'LBL_FAX', 'type' => 'phone', 'dbType' => 'varchar', 'len' => 25, 'unified_search' => true, 'comment' => 'The fax phone number of this company' ), 'billing_address_street' => array( 'name' => 'billing_address_street', 'vname' => 'LBL_BILLING_ADDRESS_STREET', 'type' => 'varchar', 'len' => '150', 'comment' => 'The street address used for billing address', 'group' => 'billing_address', 'merge_filter' => 'enabled' ), 'billing_address_city' => array( 'name' => 'billing_address_city', 'vname' => 'LBL_BILLING_ADDRESS_CITY', 'type' => 'varchar', 'len' => '100', 'comment' => 'The city used for billing address', 'group' => 'billing_address', 'merge_filter' => 'enabled' ), 'billing_address_state' => array( 'name' => 'billing_address_state', 'vname' => 'LBL_BILLING_ADDRESS_STATE', 'type' => 'varchar', 'len' => '100', 'group' => 'billing_address', 'comment' => 'The state used for billing address', 'merge_filter' => 'enabled' ), 'billing_address_postalcode' => array( 'name' => 'billing_address_postalcode', 'vname' => 'LBL_BILLING_ADDRESS_POSTALCODE', 'type' => 'varchar', 'len' => '20', 'group' => 'billing_address', 'comment' => 'The postal code used for billing address', 'merge_filter' => 'enabled' ), 'billing_address_country' => array( 'name' => 'billing_address_country', 'vname' => 'LBL_BILLING_ADDRESS_COUNTRY', 'type' => 'varchar', 'group' => 'billing_address', 'comment' => 'The country used for the billing address', 'merge_filter' => 'enabled' ), 'rating' => array( 'name' => 'rating', 'vname' => 'LBL_RATING', 'type' => 'varchar', 'len' => 25, 'comment' => 'An arbitrary rating for this company for use in comparisons with others' ), 'phone_office' => array( 'name' => 'phone_office', 'vname' => 'LBL_PHONE_OFFICE', 'type' => 'phone', 'dbType' => 'varchar', 'len' => 25, 'audited' => true, 'unified_search' => true, 'comment' => 'The office phone number', 'merge_filter' => 'enabled' ), 'phone_alternate' => array( 'name' => 'phone_alternate', 'vname' => 'LBL_PHONE_ALT', 'type' => 'phone', 'group' => 'phone_office', 'dbType' => 'varchar', 'len' => 25, 'unified_search' => true, 'comment' => 'An alternate phone number', 'merge_filter' => 'enabled' ), 'website' => array( 'name' => 'website', 'vname' => 'LBL_WEBSITE', 'type' => 'url', 'dbType' => 'varchar', 'len' => 255, 'comment' => 'URL of website for the company' ), 'ownership' => array( 'name' => 'ownership', 'vname' => 'LBL_OWNERSHIP', 'type' => 'varchar', 'len' => 100, 'comment' => '' ), 'employees' => array( 'name' => 'employees', 'vname' => 'LBL_EMPLOYEES', 'type' => 'varchar', 'len' => 10, 'comment' => 'Number of employees, varchar to accomodate for both number (100) or range (50-100)' ), 'ticker_symbol' => array( 'name' => 'ticker_symbol', 'vname' => 'LBL_TICKER_SYMBOL', 'type' => 'varchar', 'len' => 10, 'comment' => 'The stock trading (ticker) symbol for the company', 'merge_filter' => 'enabled' ), 'register_address_street' => array( 'name' => 'register_address_street', 'vname' => 'LBL_REGISTER_ADDRESS_STREET', 'type' => 'varchar', 'len' => 150, 'group' => 'register_address', 'comment' => 'The street address used for for register purposes', 'merge_filter' => 'enabled' ), 'register_address_city' => array( 'name' => 'register_address_city', 'vname' => 'LBL_REGISTER_ADDRESS_CITY', 'type' => 'varchar', 'len' => 100, 'group' => 'register_address', 'comment' => 'The city used for the register address', 'merge_filter' => 'enabled' ), 'register_address_state' => array( 'name' => 'register_address_state', 'vname' => 'LBL_REGISTER_ADDRESS_STATE', 'type' => 'varchar', 'len' => 100, 'group' => 'register_address', 'comment' => 'The state used for the register address', 'merge_filter' => 'enabled' ), 'register_address_postalcode' => array( 'name' => 'register_address_postalcode', 'vname' => 'LBL_REGISTER_ADDRESS_POSTALCODE', 'type' => 'varchar', 'len' => 20, 'group' => 'register_address', 'comment' => 'The zip code used for the register address', 'merge_filter' => 'enabled' ), 'register_address_country' => array( 'name' => 'register_address_country', 'vname' => 'LBL_REGISTER_ADDRESS_COUNTRY', 'type' => 'varchar', 'group' => 'register_address', 'comment' => 'The country used for the register address', 'merge_filter' => 'enabled' ), 'register_address_ecmcommune_id' => array( 'name' => 'register_address_ecmcommune_id', 'rname' => 'name', 'id_name' => 'register_address_ecmcommune_id', 'vname' => 'LBL_REGISTER_COMMUNE', 'group' => 'register_address', 'type' => 'relate', 'table' => 'ecmcommunes', 'reportable' => true, 'len' => 36, 'Importable' => false, 'isnull' => 'false', 'dbType' => 'id', 'audited' => true, 'duplicate_merge' => 'disabled', 'massupdate' => false ), 'register_address_ecmcommune_name' => array( 'name' => 'register_address_ecmcommune_name', 'vname' => 'LBL_REGISTER_COMMUNE', 'type' => 'relate', 'reportable' => false, // 'source' => 'non-db', 'table' => 'ecmcommunes', 'id_name' => 'register_address_ecmcommune_id', 'module' => 'EcmCommunes', 'duplicate_merge' => 'disabled', 'massupdate' => false ), 'email1' => array( 'name' => 'email1', 'vname' => 'LBL_EMAIL', 'group' => 'email1', 'type' => 'varchar', 'function' => array( 'name' => 'getEmailAddressWidget', 'returns' => 'html' ), 'source' => 'non-db', 'studio' => array( 'editField' => true ) ), 'email_addresses_primary' => array( 'name' => 'email_addresses_primary', 'type' => 'link', 'relationship' => strtolower($object_name) . '_email_addresses_primary', 'source' => 'non-db', 'vname' => 'LBL_EMAIL_ADDRESS_PRIMARY', 'duplicate_merge' => 'disabled' ), 'email_addresses' => array( 'name' => 'email_addresses', 'type' => 'link', 'relationship' => strtolower($object_name) . '_email_addresses', 'source' => 'non-db', 'vname' => 'LBL_EMAIL_ADDRESSES', 'reportable' => false, 'unified_search' => true, 'rel_fields' => array( 'primary_address' => array( 'type' => 'bool' ) ) ) ), 'relationships' => array( strtolower($module) . '_email_addresses' => array( 'lhs_module' => $module, 'lhs_table' => strtolower($module), 'lhs_key' => 'id', 'rhs_module' => 'EmailAddresses', 'rhs_table' => 'email_addresses', 'rhs_key' => 'id', 'relationship_type' => 'many-to-many', 'join_table' => 'email_addr_bean_rel', 'join_key_lhs' => 'bean_id', 'join_key_rhs' => 'email_address_id', 'relationship_role_column' => 'bean_module', 'relationship_role_column_value' => $module ), strtolower($module) . '_email_addresses_primary' => array( 'lhs_module' => $module, 'lhs_table' => strtolower($module), 'lhs_key' => 'id', 'rhs_module' => 'EmailAddresses', 'rhs_table' => 'email_addresses', 'rhs_key' => 'id', 'relationship_type' => 'many-to-many', 'join_table' => 'email_addr_bean_rel', 'join_key_lhs' => 'bean_id', 'join_key_rhs' => 'email_address_id', 'relationship_role_column' => 'primary_address', 'relationship_role_column_value' => '1' ) ) ); ?>