<?php //app-metadata-module-metadata-document-revisions-1

return [PHP_INT_MAX, [
    'search' => [
        'layout' => [
            'advanced' => [],
            'basic' => [],
        ],
    ],
    'mass_update' => [
        'fields' => [
            [
                'name' => 'doc_type',
                'label' => 'LBL_DOC_TYPE',
                'fieldDefinition' => [
                    'name' => 'doc_type',
                    'vname' => 'LBL_DOC_TYPE',
                    'type' => 'enum',
                    'function' => 'getDocumentsExternalApiDropDown',
                    'len' => '100',
                    'comment' => 'Document type (ex: Google, box.net, IBM SmartCloud)',
                    'studio' => 'false',
                    'required' => false,
                ],
                'type' => 'enum',
                'metadata' => [
                    'extraOptions' => [
                        [
                            'value' => '__SugarMassUpdateClearField__',
                            'labelKey' => 'LBL_EMPTY',
                        ],
                    ],
                ],
            ],
            [
                'name' => 'created_by_name',
                'label' => 'LBL_CREATED_BY_NAME',
                'fieldDefinition' => [
                    'name' => 'created_by_name',
                    'rname' => 'user_name',
                    'db_concat_fields' => [
                        'first_name',
                        'last_name',
                    ],
                    'id_name' => 'created_by',
                    'vname' => 'LBL_CREATED_BY_NAME',
                    'type' => 'relate',
                    'table' => 'users',
                    'isnull' => 'true',
                    'module' => 'Users',
                    'dbType' => 'varchar',
                    'link' => 'created_by_link',
                    'len' => '255',
                    'source' => 'non-db',
                    'required' => false,
                ],
                'type' => 'relate',
            ],
        ],
    ],
    'listview' => [
        'columns' => [
            [
                'name' => 'filename',
                'width' => '20%',
                'label' => 'LBL_REV_LIST_FILENAME',
                'link' => true,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'file',
                'bold' => true,
                'fieldDefinition' => [
                    'name' => 'filename',
                    'vname' => 'LBL_FILENAME',
                    'type' => 'file',
                    'dbType' => 'varchar',
                    'required' => true,
                    'len' => '255',
                    'allowEapm' => true,
                    'linkModuleOverride' => 'Documents',
                ],
            ],
            [
                'name' => 'revision',
                'width' => '5%',
                'label' => 'LBL_REV_LIST_REVISION',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'varchar',
                'fieldDefinition' => [
                    'name' => 'revision',
                    'vname' => 'LBL_REVISION',
                    'type' => 'varchar',
                    'len' => 100,
                    'importable' => 'required',
                    'required' => false,
                ],
            ],
            [
                'name' => 'date_entered',
                'width' => '15%',
                'label' => 'LBL_REV_LIST_ENTERED',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'datetime',
                'fieldDefinition' => [
                    'name' => 'date_entered',
                    'vname' => 'LBL_DATE_ENTERED',
                    'type' => 'datetime',
                    'required' => false,
                ],
            ],
            [
                'name' => 'created_by_name',
                'width' => '25%',
                'label' => 'LBL_REV_LIST_CREATED',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => false,
                'type' => 'relate',
                'fieldDefinition' => [
                    'name' => 'created_by_name',
                    'rname' => 'user_name',
                    'db_concat_fields' => [
                        'first_name',
                        'last_name',
                    ],
                    'id_name' => 'created_by',
                    'vname' => 'LBL_CREATED_BY_NAME',
                    'type' => 'relate',
                    'table' => 'users',
                    'isnull' => 'true',
                    'module' => 'Users',
                    'dbType' => 'varchar',
                    'link' => 'created_by_link',
                    'len' => '255',
                    'source' => 'non-db',
                    'required' => false,
                ],
            ],
            [
                'name' => 'change_log',
                'width' => '35%',
                'label' => 'LBL_REV_LIST_LOG',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'varchar',
                'fieldDefinition' => [
                    'name' => 'change_log',
                    'vname' => 'LBL_CHANGE_LOG',
                    'type' => 'varchar',
                    'len' => '255',
                    'required' => false,
                ],
            ],
        ],
        'bulkActions' => [
            'delete' => [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'params' => [
                    'min' => 1,
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION_MULTIPLE',
                ],
                'acl' => [
                    'delete',
                ],
            ],
            'export' => [
                'key' => 'export',
                'labelKey' => 'LBL_EXPORT',
                'params' => [
                    'min' => 1,
                ],
                'acl' => [
                    'export',
                ],
            ],
            'merge' => [
                'key' => 'merge',
                'labelKey' => 'LBL_MERGE_DUPLICATES',
                'params' => [
                    'min' => 2,
                    'max' => 5,
                ],
                'acl' => [
                    'edit',
                    'delete',
                ],
            ],
            'massupdate' => [
                'key' => 'massupdate',
                'labelKey' => 'LBL_MASS_UPDATE',
                'params' => [
                    'allowAll' => false,
                    'min' => 2,
                    'max' => 200,
                    'recordPanel' => [
                        'title' => 'LBL_MASS_UPDATE',
                        'mode' => 'massupdate',
                        'actions' => [
                            [
                                'key' => 'cancel',
                                'labelKey' => 'LBL_CANCEL',
                                'modes' => [
                                    'massupdate',
                                ],
                            ],
                            [
                                'key' => 'bulk-action',
                                'labelKey' => 'LBL_SUBMIT_BUTTON_LABEL',
                                'modes' => [
                                    'massupdate',
                                ],
                                'klass' => [
                                    'btn',
                                    'btn-danger',
                                    'btn-sm',
                                ],
                                'params' => [
                                    'allowAll' => false,
                                    'min' => 2,
                                    'max' => 200,
                                    'bulkAction' => 'massupdate',
                                    'displayConfirmation' => true,
                                    'confirmationLabel' => 'LBL_BULK_ACTION_MASS_UPDATE_CONFIRMATION',
                                ],
                            ],
                        ],
                        'fields' => [
                            [
                                'name' => 'doc_type',
                                'label' => 'LBL_DOC_TYPE',
                                'fieldDefinition' => [
                                    'name' => 'doc_type',
                                    'vname' => 'LBL_DOC_TYPE',
                                    'type' => 'enum',
                                    'function' => 'getDocumentsExternalApiDropDown',
                                    'len' => '100',
                                    'comment' => 'Document type (ex: Google, box.net, IBM SmartCloud)',
                                    'studio' => 'false',
                                    'required' => false,
                                ],
                                'type' => 'enum',
                                'metadata' => [
                                    'extraOptions' => [
                                        [
                                            'value' => '__SugarMassUpdateClearField__',
                                            'labelKey' => 'LBL_EMPTY',
                                        ],
                                    ],
                                ],
                            ],
                            [
                                'name' => 'created_by_name',
                                'label' => 'LBL_CREATED_BY_NAME',
                                'fieldDefinition' => [
                                    'name' => 'created_by_name',
                                    'rname' => 'user_name',
                                    'db_concat_fields' => [
                                        'first_name',
                                        'last_name',
                                    ],
                                    'id_name' => 'created_by',
                                    'vname' => 'LBL_CREATED_BY_NAME',
                                    'type' => 'relate',
                                    'table' => 'users',
                                    'isnull' => 'true',
                                    'module' => 'Users',
                                    'dbType' => 'varchar',
                                    'link' => 'created_by_link',
                                    'len' => '255',
                                    'source' => 'non-db',
                                    'required' => false,
                                ],
                                'type' => 'relate',
                            ],
                        ],
                    ],
                ],
                'acl' => [
                    'massupdate',
                ],
                'availability' => [
                    'acls',
                    'massupdate',
                ],
            ],
        ],
        'lineActions' => [],
        'tableActions' => [
            [
                'key' => 'select-columns',
                'icon' => 'column_chooser',
                'titleKey' => 'LBL_COLUMNS',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'list',
                ],
                'klass' => [
                    'column-chooser-button',
                ],
            ],
        ],
        'availableFilters' => [],
        'sidebarWidgets' => [],
        'paginationType' => null,
        'maxHeight' => null,
    ],
    'subpanel' => [],
    'recordview' => [
        'templateMeta' => [
            'maxColumns' => '2',
            'useTabs' => true,
            'tabDefs' => [],
        ],
        'topWidget' => [
            'refreshOn' => 'data-update',
        ],
        'sidebarWidgets' => [],
        'bottomWidgets' => [],
        'actions' => [
            [
                'key' => 'edit',
                'labelKey' => 'LBL_EDIT',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'save',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveNew',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'create',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancel',
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancelCreate',
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'create',
                ],
            ],
            [
                'key' => 'saveContinue',
                'labelKey' => 'LBL_SAVE_CONTINUE_LABEL',
                'params' => [
                    'expanded' => true,
                    'collapsedMobile' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'asyncProcess' => true,
                'params' => [
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION',
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'delete',
                ],
            ],
            [
                'key' => 'duplicate',
                'labelKey' => 'LBL_DUPLICATE_BUTTON',
                'asyncProcess' => true,
                'params' => null,
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'export',
                    'edit',
                ],
            ],
        ],
        'panels' => [
            [
                'key' => '',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'document_name',
                                'label' => 'LBL_DOC_NAME',
                                'fieldDefinition' => [
                                    'name' => 'document_name',
                                    'vname' => 'LBL_DOC_NAME',
                                    'type' => 'varchar',
                                    'len' => '255',
                                    'source' => 'non-db',
                                    'required' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'latest_revision',
                                'label' => 'LBL_CURRENT_DOC_VERSION',
                                'fieldDefinition' => [
                                    'name' => 'latest_revision',
                                    'vname' => 'LBL_CURRENT_DOC_VERSION',
                                    'type' => 'varchar',
                                    'len' => '255',
                                    'source' => 'non-db',
                                    'required' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'revision',
                                'label' => 'LBL_REVISION',
                                'fieldDefinition' => [
                                    'name' => 'revision',
                                    'vname' => 'LBL_REVISION',
                                    'type' => 'varchar',
                                    'len' => 100,
                                    'importable' => 'required',
                                    'required' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'filename',
                                'label' => 'LBL_FILENAME',
                                'fieldDefinition' => [
                                    'name' => 'filename',
                                    'vname' => 'LBL_FILENAME',
                                    'type' => 'file',
                                    'dbType' => 'varchar',
                                    'required' => true,
                                    'len' => '255',
                                    'allowEapm' => true,
                                    'linkModuleOverride' => 'Documents',
                                ],
                                'type' => 'file',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'date_entered',
                                'label' => 'LBL_DATE_ENTERED',
                                'customCode' => '{$fields.date_entered.value} {$APP.LBL_BY} {$fields.created_by_name.value}',
                                'fieldDefinition' => [
                                    'name' => 'date_entered',
                                    'vname' => 'LBL_DATE_ENTERED',
                                    'type' => 'datetime',
                                    'required' => false,
                                ],
                                'type' => 'datetime',
                                'readonly' => true,
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'change_log',
                                'label' => 'LBL_CHANGE_LOG',
                                'fieldDefinition' => [
                                    'name' => 'change_log',
                                    'vname' => 'LBL_CHANGE_LOG',
                                    'type' => 'varchar',
                                    'len' => '255',
                                    'required' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                ],
            ],
        ],
        'summaryTemplates' => [
            'create' => 'LBL_CREATE',
            'edit' => 'LBL_SUMMARY_DEFAULT',
            'detail' => 'LBL_SUMMARY_DEFAULT',
        ],
        'vardefs' => [
            'id' => [
                'name' => 'id',
                'vname' => 'LBL_REVISION_NAME',
                'type' => 'varchar',
                'len' => '36',
                'required' => true,
                'reportable' => false,
            ],
            'change_log' => [
                'name' => 'change_log',
                'vname' => 'LBL_CHANGE_LOG',
                'type' => 'varchar',
                'len' => '255',
                'required' => false,
            ],
            'document_id' => [
                'name' => 'document_id',
                'vname' => 'LBL_DOCUMENT',
                'type' => 'varchar',
                'len' => '36',
                'required' => false,
                'reportable' => false,
            ],
            'doc_id' => [
                'name' => 'doc_id',
                'vname' => 'LBL_DOC_ID',
                'type' => 'varchar',
                'len' => '100',
                'comment' => 'Document ID from documents web server provider',
                'importable' => false,
                'studio' => 'false',
                'required' => false,
            ],
            'doc_type' => [
                'name' => 'doc_type',
                'vname' => 'LBL_DOC_TYPE',
                'type' => 'enum',
                'function' => 'getDocumentsExternalApiDropDown',
                'len' => '100',
                'comment' => 'Document type (ex: Google, box.net, IBM SmartCloud)',
                'studio' => 'false',
                'required' => false,
            ],
            'doc_url' => [
                'name' => 'doc_url',
                'vname' => 'LBL_DOC_URL',
                'type' => 'varchar',
                'len' => '255',
                'comment' => 'Document URL from documents web server provider',
                'importable' => false,
                'studio' => 'false',
                'required' => false,
            ],
            'date_entered' => [
                'name' => 'date_entered',
                'vname' => 'LBL_DATE_ENTERED',
                'type' => 'datetime',
                'required' => false,
            ],
            'created_by' => [
                'name' => 'created_by',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_CREATED',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'dbType' => 'id',
                'source' => 'db',
                'required' => false,
            ],
            'filename' => [
                'name' => 'filename',
                'vname' => 'LBL_FILENAME',
                'type' => 'file',
                'dbType' => 'varchar',
                'required' => true,
                'len' => '255',
                'allowEapm' => true,
                'linkModuleOverride' => 'Documents',
            ],
            'file_ext' => [
                'name' => 'file_ext',
                'vname' => 'LBL_FILE_EXTENSION',
                'type' => 'varchar',
                'len' => 100,
                'required' => false,
            ],
            'file_mime_type' => [
                'name' => 'file_mime_type',
                'vname' => 'LBL_MIME',
                'type' => 'varchar',
                'len' => '100',
                'required' => false,
            ],
            'revision' => [
                'name' => 'revision',
                'vname' => 'LBL_REVISION',
                'type' => 'varchar',
                'len' => 100,
                'importable' => 'required',
                'required' => false,
            ],
            'deleted' => [
                'name' => 'deleted',
                'vname' => 'LBL_DELETED',
                'type' => 'bool',
                'default' => 0,
                'reportable' => false,
                'required' => false,
            ],
            'date_modified' => [
                'name' => 'date_modified',
                'vname' => 'LBL_DATE_MODIFIED',
                'type' => 'datetime',
                'required' => false,
            ],
            'documents' => [
                'name' => 'documents',
                'type' => 'link',
                'relationship' => 'document_revisions',
                'source' => 'non-db',
                'vname' => 'LBL_REVISIONS',
                'required' => false,
                'module' => 'Documents',
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'created_by_link' => [
                'name' => 'created_by_link',
                'type' => 'link',
                'relationship' => 'revisions_created_by',
                'vname' => 'LBL_CREATED_BY_USER',
                'link_type' => 'one',
                'module' => 'Users',
                'bean_name' => 'User',
                'source' => 'non-db',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'created_by_name' => [
                'name' => 'created_by_name',
                'rname' => 'user_name',
                'db_concat_fields' => [
                    'first_name',
                    'last_name',
                ],
                'id_name' => 'created_by',
                'vname' => 'LBL_CREATED_BY_NAME',
                'type' => 'relate',
                'table' => 'users',
                'isnull' => 'true',
                'module' => 'Users',
                'dbType' => 'varchar',
                'link' => 'created_by_link',
                'len' => '255',
                'source' => 'non-db',
                'required' => false,
            ],
            'latest_revision_id' => [
                'name' => 'latest_revision_id',
                'vname' => 'LBL_REVISION',
                'type' => 'varchar',
                'len' => '36',
                'source' => 'non-db',
                'required' => false,
            ],
            'document_name' => [
                'name' => 'document_name',
                'vname' => 'LBL_DOC_NAME',
                'type' => 'varchar',
                'len' => '255',
                'source' => 'non-db',
                'required' => false,
            ],
            'latest_revision' => [
                'name' => 'latest_revision',
                'vname' => 'LBL_CURRENT_DOC_VERSION',
                'type' => 'varchar',
                'len' => '255',
                'source' => 'non-db',
                'required' => false,
            ],
        ],
        'metadata' => [],
    ],
]];
