<?php

if (!defined('sugarEntry') || !sugarEntry)
	die('Not A Valid Entry Point');
/* * *******************************************************************************
 * SugarCRM is a customer relationship management program developed by
 * SugarCRM, Inc. Copyright (C) 2004 - 2009 SugarCRM Inc.
 * 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License version 3 as published by the
 * Free Software Foundation with the addition of the following permission added
 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, see http://www.gnu.org/licenses or write to the Free
 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301 USA.
 * 
 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
 * 
 * The interactive user interfaces in modified source and object code versions
 * of this program must display Appropriate Legal Notices, as required under
 * Section 5 of the GNU General Public License version 3.
 * 
 * In accordance with Section 7(b) of the GNU General Public License version 3,
 * these Appropriate Legal Notices must retain the display of the "Powered by
 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
 * technical reasons, the Appropriate Legal Notices must display the words
 * "Powered by SugarCRM".
 * ****************************************************************************** */
$dictionary['EcmPrivateDocument'] = array(
	'table' => 'ecmprivatedocuments',
	'comment' => 'EcmPrivateDocuments and Attachments',
	'fields' => array(
		'id' => array(
			'name' => 'id',
			'vname' => 'LBL_NAME',
			'type' => 'id',
			'required' => true,
			'reportable' => false,
			'comment' => 'Unique identifier',
		),
		'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' => 'users',
			'isnull' => 'false',
			'dbType' => 'id',
			'reportable' => true,
			'comment' => 'User who last modified record',
		),
		'modified_by_name' => array(
			'name' => 'modified_by_name',
			'vname' => 'LBL_MODIFIED_BY',
			'type' => 'relate',
			'reportable' => false,
			'source' => 'non-db',
			'table' => 'users',
			'id_name' => 'modified_user_id',
			'module' => 'Users',
			'duplicate_merge' => 'disabled',
		),
		'created_by' => array(
			'name' => 'created_by',
			'rname' => 'user_name',
			'id_name' => 'modified_user_id',
			'vname' => 'LBL_CREATED_ID',
			'type' => 'assigned_user_name',
			'table' => 'users',
			'isnull' => 'false',
			'dbType' => 'id',
			'comment' => 'User who created record',
		),
		'created_by_name' => array(
			'name' => 'created_by_name',
			'vname' => 'LBL_CREATED_BY',
			'type' => 'relate',
			'reportable' => false,
			'source' => 'non-db',
			'table' => 'users',
			'id_name' => 'created_by',
			'module' => 'Users',
			'duplicate_merge' => 'disabled',
		),
		'name' => array(
			'name' => 'name',
			'vname' => 'LBL_ECMPRIVATEDOCUMENT_SUBJECT',
			'dbType' => 'varchar',
			'type' => 'name',
			'len' => '255',
			'comment' => 'Name of the ecmprivatedocument',
			'importable' => 'required',
		),
		'filename' => array(
			'name' => 'filename',
			'vname' => 'LBL_FILENAME',
			'type' => 'varchar',
			'len' => '255',
			'reportable' => true,
			'comment' => 'File name associated with the ecmprivatedocument (attachment)',
		),
		'file_mime_type' => array(
			'name' => 'file_mime_type',
			'vname' => 'LBL_FILE_MIME_TYPE',
			'type' => 'varchar',
			'len' => '100',
			'comment' => 'Attachment MIME type',
		),
		'file_url' => array(
			'name' => 'file_url',
			'vname' => 'LBL_FILE_URL',
			'type' => 'function',
			'function_require' => 'include/upload_file.php',
			'function_class' => 'UploadFile',
			'function_name' => 'get_url',
			'function_params' => array('filename', 'id'),
			'source' => 'function',
			'reportable' => false,
			'comment' => 'Path to file (can be URL)',
		),
		'parent_type' => array(
			'name' => 'parent_type',
			'vname' => 'LBL_PARENT_TYPE',
			'type' => 'varchar',
			'len' => '25',
			'comment' => 'Sugar module the EcmPrivateDocument is associated with',
		),
		'parent_id' => array(
			'name' => 'parent_id',
			'vname' => 'LBL_PARENT_ID',
			'type' => 'id',
			'required' => false,
			'reportable' => false,
			'comment' => 'The ID of the Sugar item specified in parent_type',
		),
		'contact_id' => array(
			'name' => 'contact_id',
			'vname' => 'LBL_CONTACT_ID',
			'type' => 'id',
			'required' => false,
			'reportable' => false,
			'comment' => 'Contact ID ecmprivatedocument is associated with',
		),
		'portal_flag' => array(
			'name' => 'portal_flag',
			'vname' => 'LBL_PORTAL_FLAG',
			'type' => 'bool',
			'required' => true,
			'comment' => 'Portal flag indicator determines if ecmprivatedocument created via portal',
		),
		'embed_flag' => array(
			'name' => 'embed_flag',
			'vname' => 'LBL_EMBED_FLAG',
			'type' => 'bool',
			'default' => 0,
			'required' => true,
			'comment' => 'Embed flag indicator determines if ecmprivatedocument embedded in email',
		),
		'description' => array(
			'name' => 'description',
			'vname' => 'LBL_DESCRIPTION',
			'type' => 'text',
			'comment' => 'Full text of the ecmprivatedocument',
		),
		'deleted' => array(
			'name' => 'deleted',
			'vname' => 'LBL_DELETED',
			'type' => 'bool',
			'required' => true,
			'default' => '0',
			'reportable' => false,
			'comment' => 'Record deletion indicator',
		),
		'parent_name' => array(
			'name' => 'parent_name',
			'parent_type' => 'record_type_display',
			'type_name' => 'parent_type',
			'id_name' => 'parent_id', 'vname' => 'LBL_RELATED_TO',
			'type' => 'parent',
			'source' => 'non-db',
			'options' => 'record_type_display_ecmprivatedocuments',
		),
		'contact_name' => array(
			'name' => 'contact_name',
			'rname' => 'last_name',
			'id_name' => 'contact_id',
			'vname' => 'LBL_CONTACT_NAME',
			'table' => 'contacts',
			'type' => 'relate',
			'link' => 'contact',
			'join_name' => 'contacts',
			'db_concat_fields' => array(0 => 'first_name', 1 => 'last_name'),
			'isnull' => 'true',
			'module' => 'Contacts',
			'source' => 'non-db',
		),
		'contact_phone' => array(
			'name' => 'contact_phone',
			'type' => 'phone',
			'vname' => 'LBL_PHONE',
			'source' => 'non-db',
		),
		'contact_email' => array(
			'name' => 'contact_email',
			'type' => 'varchar',
			'vname' => 'LBL_EMAIL_ADDRESS',
			'source' => 'non-db',
		),
		'account_id' => array(
			'name' => 'account_id',
			'vname' => 'LBL_ACCOUNT_ID',
			'type' => 'id',
			'reportable' => false,
			'source' => 'non-db',
		),
		'opportunity_id' => array(
			'name' => 'opportunity_id',
			'vname' => 'LBL_OPPORTUNITY_ID',
			'type' => 'id',
			'reportable' => false,
			'source' => 'non-db',
		),
		'acase_id' => array(
			'name' => 'acase_id',
			'vname' => 'LBL_CASE_ID',
			'type' => 'id',
			'reportable' => false,
			'source' => 'non-db',
		),
		'lead_id' => array(
			'name' => 'lead_id',
			'vname' => 'LBL_LEAD_ID',
			'type' => 'id',
			'reportable' => false,
			'source' => 'non-db',
		),
		'created_by_link' => array(
			'name' => 'created_by_link',
			'type' => 'link',
			'relationship' => 'ecmprivatedocuments_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' => 'ecmprivatedocuments_modified_user',
			'vname' => 'LBL_MODIFIED_BY_USER',
			'link_type' => 'one',
			'module' => 'Users',
			'bean_name' => 'User',
			'source' => 'non-db',
		),
		'contact' => array(
			'name' => 'contact',
			'type' => 'link',
			'relationship' => 'contact_ecmprivatedocuments',
			'vname' => 'LBL_LIST_CONTACT_NAME',
			'source' => 'non-db',
		),
		'cases' => array(
			'name' => 'cases',
			'type' => 'link',
			'relationship' => 'case_ecmprivatedocuments',
			'vname' => 'LBL_CASES',
			'source' => 'non-db',
		),
		'ecmprivatedocuments' => array(
			'name' => 'ecmprivatedocuments',
			'type' => 'link',
			'relationship' => 'ecmprivatedocuments_ecmprivatedocuments',
			'source' => 'non-db',
			'vname' => 'LBL_ECMPRIVATEDOCUMENTS',
		),
	),
	'relationships' => array(
		'ecmprivatedocuments_modified_user' => array(
			'lhs_module' => 'Users',
			'lhs_table' => 'users',
			'lhs_key' => 'id',
			'rhs_module' => 'EcmPrivateDocuments',
			'rhs_table' => 'ecmprivatedocuments',
			'rhs_key' => 'modified_user_id',
			'relationship_type' => 'one-to-many',
		),
		'ecmprivatedocuments_created_by' => array(
			'lhs_module' => 'Users',
			'lhs_table' => 'users',
			'lhs_key' => 'id',
			'rhs_module' => 'EcmPrivateDocuments',
			'rhs_table' => 'ecmprivatedocuments',
			'rhs_key' => 'created_by',
			'relationship_type' => 'one-to-many',
		),
		'ecmprivatedocuments_ecmprivatedocuments' => array(
			'lhs_module' => 'EcmPrivateDocuments',
			'lhs_table' => 'ecmprivatedocuments',
			'lhs_key' => 'id',
			'rhs_module' => 'EcmPrivateDocuments',
			'rhs_table' => 'ecmprivatedocuments',
			'rhs_key' => 'parent_id',
			'relationship_type' => 'one-to-many',
			'relationship_role_column' => 'parent_type',
			'relationship_role_column_value' => 'EcmPrivateDocuments',
		),
	),
	'indices' => array(
		array(
			'name' => 'ecmprivatedocumentspk',
			'type' => 'primary',
			'fields' => array('id'),
		),
		array(
			'name' => 'idx_ecmprivatedocument_name',
			'type' => 'index',
			'fields' => array('name'),
		),
		array(
			'name' => 'idx_ecmprivatedocuments_parent',
			'type' => 'index',
			'fields' => array('parent_id', 'parent_type'),
		),
		array(
			'name' => 'idx_ecmprivatedocument_contact',
			'type' => 'index',
			'fields' => array('contact_id'),
		),
	),
	'optimistic_locking' => true,
);
?>