From f0c3c209ef74d05cd333b343b7e21905f8543b4c Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Fri, 27 Jun 2014 17:00:34 -0400 Subject: [PATCH] Se agrega el campo DYN_VERSION a la tabla DYNAFORM --- workflow/engine/classes/model/Dynaform.php | 2 +- .../classes/model/map/DynaformMapBuilder.php | 2 + .../engine/classes/model/om/BaseDynaform.php | 60 ++++++++++++++++++- .../classes/model/om/BaseDynaformPeer.php | 23 ++++--- workflow/engine/config/schema.xml | 1 + .../ProcessMaker/BusinessModel/DynaForm.php | 7 ++- 6 files changed, 82 insertions(+), 13 deletions(-) diff --git a/workflow/engine/classes/model/Dynaform.php b/workflow/engine/classes/model/Dynaform.php index caabc423c..d48fbec92 100755 --- a/workflow/engine/classes/model/Dynaform.php +++ b/workflow/engine/classes/model/Dynaform.php @@ -173,7 +173,7 @@ class Dynaform extends BaseDynaform if (isset($aData["DYN_CONTENT"])) { $this->setDynContent($aData["DYN_CONTENT"]); } - + $this->setDynVersion( $aData['DYN_VERSION'] ); if ($this->validate()) { $con->begin(); $res = $this->save(); diff --git a/workflow/engine/classes/model/map/DynaformMapBuilder.php b/workflow/engine/classes/model/map/DynaformMapBuilder.php index e2450e7bb..fcbc3e2f4 100755 --- a/workflow/engine/classes/model/map/DynaformMapBuilder.php +++ b/workflow/engine/classes/model/map/DynaformMapBuilder.php @@ -75,6 +75,8 @@ class DynaformMapBuilder $tMap->addColumn('DYN_CONTENT', 'DynContent', 'string', CreoleTypes::LONGVARCHAR, false, null); + $tMap->addColumn('DYN_VERSION', 'DynVersion', 'int', CreoleTypes::INTEGER, true, null); + $tMap->addValidator('DYN_TYPE', 'validValues', 'propel.validator.ValidValuesValidator', 'xmlform|grid', 'Please select a valid dynaform type.'); } // doBuild() diff --git a/workflow/engine/classes/model/om/BaseDynaform.php b/workflow/engine/classes/model/om/BaseDynaform.php index 2542993af..e03f9a660 100755 --- a/workflow/engine/classes/model/om/BaseDynaform.php +++ b/workflow/engine/classes/model/om/BaseDynaform.php @@ -57,6 +57,12 @@ abstract class BaseDynaform extends BaseObject implements Persistent */ protected $dyn_content; + /** + * The value for the dyn_version field. + * @var int + */ + protected $dyn_version; + /** * Flag to prevent endless save loop, if this object is referenced * by another object which falls in this transaction. @@ -126,6 +132,17 @@ abstract class BaseDynaform extends BaseObject implements Persistent return $this->dyn_content; } + /** + * Get the [dyn_version] column value. + * + * @return int + */ + public function getDynVersion() + { + + return $this->dyn_version; + } + /** * Set the value of [dyn_uid] column. * @@ -236,6 +253,28 @@ abstract class BaseDynaform extends BaseObject implements Persistent } // setDynContent() + /** + * Set the value of [dyn_version] column. + * + * @param int $v new value + * @return void + */ + public function setDynVersion($v) + { + + // Since the native PHP type for this column is integer, + // we will cast the input value to an int (if it is not). + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->dyn_version !== $v) { + $this->dyn_version = $v; + $this->modifiedColumns[] = DynaformPeer::DYN_VERSION; + } + + } // setDynVersion() + /** * Hydrates (populates) the object variables with values from the database resultset. * @@ -263,12 +302,14 @@ abstract class BaseDynaform extends BaseObject implements Persistent $this->dyn_content = $rs->getString($startcol + 4); + $this->dyn_version = $rs->getInt($startcol + 5); + $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 5; // 5 = DynaformPeer::NUM_COLUMNS - DynaformPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 6; // 6 = DynaformPeer::NUM_COLUMNS - DynaformPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating Dynaform object", $e); @@ -487,6 +528,9 @@ abstract class BaseDynaform extends BaseObject implements Persistent case 4: return $this->getDynContent(); break; + case 5: + return $this->getDynVersion(); + break; default: return null; break; @@ -512,6 +556,7 @@ abstract class BaseDynaform extends BaseObject implements Persistent $keys[2] => $this->getDynType(), $keys[3] => $this->getDynFilename(), $keys[4] => $this->getDynContent(), + $keys[5] => $this->getDynVersion(), ); return $result; } @@ -558,6 +603,9 @@ abstract class BaseDynaform extends BaseObject implements Persistent case 4: $this->setDynContent($value); break; + case 5: + $this->setDynVersion($value); + break; } // switch() } @@ -601,6 +649,10 @@ abstract class BaseDynaform extends BaseObject implements Persistent $this->setDynContent($arr[$keys[4]]); } + if (array_key_exists($keys[5], $arr)) { + $this->setDynVersion($arr[$keys[5]]); + } + } /** @@ -632,6 +684,10 @@ abstract class BaseDynaform extends BaseObject implements Persistent $criteria->add(DynaformPeer::DYN_CONTENT, $this->dyn_content); } + if ($this->isColumnModified(DynaformPeer::DYN_VERSION)) { + $criteria->add(DynaformPeer::DYN_VERSION, $this->dyn_version); + } + return $criteria; } @@ -694,6 +750,8 @@ abstract class BaseDynaform extends BaseObject implements Persistent $copyObj->setDynContent($this->dyn_content); + $copyObj->setDynVersion($this->dyn_version); + $copyObj->setNew(true); diff --git a/workflow/engine/classes/model/om/BaseDynaformPeer.php b/workflow/engine/classes/model/om/BaseDynaformPeer.php index d9e8aa7b0..1f4cfc744 100755 --- a/workflow/engine/classes/model/om/BaseDynaformPeer.php +++ b/workflow/engine/classes/model/om/BaseDynaformPeer.php @@ -25,7 +25,7 @@ abstract class BaseDynaformPeer const CLASS_DEFAULT = 'classes.model.Dynaform'; /** The total number of columns. */ - const NUM_COLUMNS = 5; + const NUM_COLUMNS = 6; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -46,6 +46,9 @@ abstract class BaseDynaformPeer /** the column name for the DYN_CONTENT field */ const DYN_CONTENT = 'DYNAFORM.DYN_CONTENT'; + /** the column name for the DYN_VERSION field */ + const DYN_VERSION = 'DYNAFORM.DYN_VERSION'; + /** The PHP to DB Name Mapping */ private static $phpNameMap = null; @@ -57,10 +60,10 @@ abstract class BaseDynaformPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('DynUid', 'ProUid', 'DynType', 'DynFilename', 'DynContent', ), - BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID, DynaformPeer::PRO_UID, DynaformPeer::DYN_TYPE, DynaformPeer::DYN_FILENAME, DynaformPeer::DYN_CONTENT, ), - BasePeer::TYPE_FIELDNAME => array ('DYN_UID', 'PRO_UID', 'DYN_TYPE', 'DYN_FILENAME', 'DYN_CONTENT', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, ) + BasePeer::TYPE_PHPNAME => array ('DynUid', 'ProUid', 'DynType', 'DynFilename', 'DynContent', 'DynVersion', ), + BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID, DynaformPeer::PRO_UID, DynaformPeer::DYN_TYPE, DynaformPeer::DYN_FILENAME, DynaformPeer::DYN_CONTENT, DynaformPeer::DYN_VERSION, ), + BasePeer::TYPE_FIELDNAME => array ('DYN_UID', 'PRO_UID', 'DYN_TYPE', 'DYN_FILENAME', 'DYN_CONTENT', 'DYN_VERSION', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, ) ); /** @@ -70,10 +73,10 @@ abstract class BaseDynaformPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('DynUid' => 0, 'ProUid' => 1, 'DynType' => 2, 'DynFilename' => 3, 'DynContent' => 4, ), - BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID => 0, DynaformPeer::PRO_UID => 1, DynaformPeer::DYN_TYPE => 2, DynaformPeer::DYN_FILENAME => 3, DynaformPeer::DYN_CONTENT => 4, ), - BasePeer::TYPE_FIELDNAME => array ('DYN_UID' => 0, 'PRO_UID' => 1, 'DYN_TYPE' => 2, 'DYN_FILENAME' => 3, 'DYN_CONTENT' => 4, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, ) + BasePeer::TYPE_PHPNAME => array ('DynUid' => 0, 'ProUid' => 1, 'DynType' => 2, 'DynFilename' => 3, 'DynContent' => 4, 'DynVersion' => 5, ), + BasePeer::TYPE_COLNAME => array (DynaformPeer::DYN_UID => 0, DynaformPeer::PRO_UID => 1, DynaformPeer::DYN_TYPE => 2, DynaformPeer::DYN_FILENAME => 3, DynaformPeer::DYN_CONTENT => 4, DynaformPeer::DYN_VERSION => 5, ), + BasePeer::TYPE_FIELDNAME => array ('DYN_UID' => 0, 'PRO_UID' => 1, 'DYN_TYPE' => 2, 'DYN_FILENAME' => 3, 'DYN_CONTENT' => 4, 'DYN_VERSION' => 5, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, ) ); /** @@ -184,6 +187,8 @@ abstract class BaseDynaformPeer $criteria->addSelectColumn(DynaformPeer::DYN_CONTENT); + $criteria->addSelectColumn(DynaformPeer::DYN_VERSION); + } const COUNT = 'COUNT(DYNAFORM.DYN_UID)'; diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index 9f2de434a..06019600a 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -459,6 +459,7 @@ + diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php index 753790aef..70f1b9f15 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php @@ -9,7 +9,8 @@ class DynaForm "DYN_TITLE" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "dynaFormTitle"), "DYN_DESCRIPTION" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "dynaFormDescription"), "DYN_TYPE" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array("xmlform", "grid"), "fieldNameAux" => "dynaFormType"), - "DYN_CONTENT" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "dynaFormContent") + "DYN_CONTENT" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "dynaFormContent"), + "DYN_VERSION" => array("type" => "int", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "dynaFormVersion") ); private $formatFieldNameInUppercase = true; @@ -909,6 +910,7 @@ class DynaForm $criteria->addAsColumn("DYN_DESCRIPTION", "CD.CON_VALUE"); $criteria->addSelectColumn(\DynaformPeer::DYN_TYPE); $criteria->addSelectColumn(\DynaformPeer::DYN_CONTENT); + $criteria->addSelectColumn(\DynaformPeer::DYN_VERSION); $criteria->addAlias("CT", \ContentPeer::TABLE_NAME); $criteria->addAlias("CD", \ContentPeer::TABLE_NAME); @@ -956,7 +958,8 @@ class DynaForm $this->getFieldNameByFormatFieldName("DYN_TITLE") => $record["DYN_TITLE"], $this->getFieldNameByFormatFieldName("DYN_DESCRIPTION") => $record["DYN_DESCRIPTION"] . "", $this->getFieldNameByFormatFieldName("DYN_TYPE") => $record["DYN_TYPE"] . "", - $this->getFieldNameByFormatFieldName("DYN_CONTENT") => $record["DYN_CONTENT"] . "" + $this->getFieldNameByFormatFieldName("DYN_CONTENT") => $record["DYN_CONTENT"] . "", + $this->getFieldNameByFormatFieldName("DYN_VERSION") => $record["DYN_VERSION"] . "" ); } catch (\Exception $e) { throw $e;