0012188: add copyOmitFields to modelconfig
[tine20] / tine20 / Tinebase / ModelConfiguration.php
index 6697465..c3e5d4d 100644 (file)
@@ -602,7 +602,7 @@ class Tinebase_ModelConfiguration {
         'useGroups', 'fieldGroupFeDefaults', 'fieldGroupRights', 'multipleEdit', 'multipleEditRequiredRight',
         'recordName', 'recordsName', 'appName', 'modelName', 'createModule', 'virtualFields', 'group', 'isDependent',
         'hasCustomFields', 'modlogActive', 'hasAttachments', 'idProperty', 'splitButton', 'attributeConfig',
-        'hasPersonalContainer'
+        'hasPersonalContainer', 'copyOmitFields'
     );
 
     /**
@@ -697,6 +697,13 @@ class Tinebase_ModelConfiguration {
     );
 
     /**
+     * Collection of copy omit properties for frontend
+     *
+     * @var array
+     */
+    protected $_copyOmitFields = NULL;
+
+    /**
      * the constructor (must be called by the singleton pattern)
      *
      * @var array $modelClassConfiguration
@@ -832,6 +839,13 @@ class Tinebase_ModelConfiguration {
                 $fieldDef['length'] = 40;
             }
 
+            if (isset($fieldDef['copyOmit']) && $fieldDef['copyOmit']) {
+                if (!is_array($this->_copyOmitFields)) {
+                    $this->_copyOmitFields = array();
+                }
+                $this->_copyOmitFields[] = $fieldKey;
+            }
+
             if ($fieldDef['type'] == 'virtual') {
                 $fieldDef = isset($fieldDef['config']) ? $fieldDef['config'] : array();
                 $fieldDef['key'] = $fieldKey;