diff --git a/.gitignore b/.gitignore
index 8d8506b..4b8c570 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,8 @@
/app/logs/*
!app/cache/.gitkeep
!app/logs/.gitkeep
+/src/CoursEndingBundle/Model/Base/
+/src/CoursEndingBundle/Model/Map/
/app/phpunit.xml
/build/
/vendor/
diff --git a/app/propel/migrations/PropelMigration_1458339197.php b/app/propel/migrations/PropelMigration_1458339197.php
deleted file mode 100644
index 7b22373..0000000
--- a/app/propel/migrations/PropelMigration_1458339197.php
+++ /dev/null
@@ -1,83 +0,0 @@
- '
-# This is a fix for InnoDB in MySQL >= 4.1.x
-# It "suspends judgement" for fkey relationships until are tables are set.
-SET FOREIGN_KEY_CHECKS = 0;
-
-CREATE TABLE `form`
-(
- `id` INTEGER NOT NULL AUTO_INCREMENT,
- `label` VARCHAR(255) NOT NULL,
- `active` TINYINT(1) NOT NULL,
- `created_at` DATETIME,
- `updated_at` DATETIME,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM;
-
-# This restores the fkey checks, after having unset them earlier
-SET FOREIGN_KEY_CHECKS = 1;
-',
-);
- }
-
- /**
- * Get the SQL statements for the Down migration
- *
- * @return array list of the SQL strings to execute for the Down migration
- * the keys being the datasources
- */
- public function getDownSQL()
- {
- return array (
- 'default' => '
-# This is a fix for InnoDB in MySQL >= 4.1.x
-# It "suspends judgement" for fkey relationships until are tables are set.
-SET FOREIGN_KEY_CHECKS = 0;
-
-DROP TABLE IF EXISTS `form`;
-
-# This restores the fkey checks, after having unset them earlier
-SET FOREIGN_KEY_CHECKS = 1;
-',
-);
- }
-
-}
\ No newline at end of file
diff --git a/src/CoursEndingBundle/Model/Base/Form.php b/src/CoursEndingBundle/Model/Base/Form.php
deleted file mode 100644
index e86ccba..0000000
--- a/src/CoursEndingBundle/Model/Base/Form.php
+++ /dev/null
@@ -1,1399 +0,0 @@
-modifiedColumns;
- }
-
- /**
- * Has specified column been modified?
- *
- * @param string $col column fully qualified name (TableMap::TYPE_COLNAME), e.g. Book::AUTHOR_ID
- * @return boolean True if $col has been modified.
- */
- public function isColumnModified($col)
- {
- return $this->modifiedColumns && isset($this->modifiedColumns[$col]);
- }
-
- /**
- * Get the columns that have been modified in this object.
- * @return array A unique list of the modified column names for this object.
- */
- public function getModifiedColumns()
- {
- return $this->modifiedColumns ? array_keys($this->modifiedColumns) : [];
- }
-
- /**
- * Returns whether the object has ever been saved. This will
- * be false, if the object was retrieved from storage or was created
- * and then saved.
- *
- * @return boolean true, if the object has never been persisted.
- */
- public function isNew()
- {
- return $this->new;
- }
-
- /**
- * Setter for the isNew attribute. This method will be called
- * by Propel-generated children and objects.
- *
- * @param boolean $b the state of the object.
- */
- public function setNew($b)
- {
- $this->new = (boolean) $b;
- }
-
- /**
- * Whether this object has been deleted.
- * @return boolean The deleted state of this object.
- */
- public function isDeleted()
- {
- return $this->deleted;
- }
-
- /**
- * Specify whether this object has been deleted.
- * @param boolean $b The deleted state of this object.
- * @return void
- */
- public function setDeleted($b)
- {
- $this->deleted = (boolean) $b;
- }
-
- /**
- * Sets the modified state for the object to be false.
- * @param string $col If supplied, only the specified column is reset.
- * @return void
- */
- public function resetModified($col = null)
- {
- if (null !== $col) {
- if (isset($this->modifiedColumns[$col])) {
- unset($this->modifiedColumns[$col]);
- }
- } else {
- $this->modifiedColumns = array();
- }
- }
-
- /**
- * Compares this with another Form
instance. If
- * obj
is an instance of Form
, delegates to
- * equals(Form)
. Otherwise, returns false
.
- *
- * @param mixed $obj The object to compare to.
- * @return boolean Whether equal to the object specified.
- */
- public function equals($obj)
- {
- if (!$obj instanceof static) {
- return false;
- }
-
- if ($this === $obj) {
- return true;
- }
-
- if (null === $this->getPrimaryKey() || null === $obj->getPrimaryKey()) {
- return false;
- }
-
- return $this->getPrimaryKey() === $obj->getPrimaryKey();
- }
-
- /**
- * Get the associative array of the virtual columns in this object
- *
- * @return array
- */
- public function getVirtualColumns()
- {
- return $this->virtualColumns;
- }
-
- /**
- * Checks the existence of a virtual column in this object
- *
- * @param string $name The virtual column name
- * @return boolean
- */
- public function hasVirtualColumn($name)
- {
- return array_key_exists($name, $this->virtualColumns);
- }
-
- /**
- * Get the value of a virtual column in this object
- *
- * @param string $name The virtual column name
- * @return mixed
- *
- * @throws PropelException
- */
- public function getVirtualColumn($name)
- {
- if (!$this->hasVirtualColumn($name)) {
- throw new PropelException(sprintf('Cannot get value of inexistent virtual column %s.', $name));
- }
-
- return $this->virtualColumns[$name];
- }
-
- /**
- * Set the value of a virtual column in this object
- *
- * @param string $name The virtual column name
- * @param mixed $value The value to give to the virtual column
- *
- * @return $this|Form The current object, for fluid interface
- */
- public function setVirtualColumn($name, $value)
- {
- $this->virtualColumns[$name] = $value;
-
- return $this;
- }
-
- /**
- * Logs a message using Propel::log().
- *
- * @param string $msg
- * @param int $priority One of the Propel::LOG_* logging levels
- * @return boolean
- */
- protected function log($msg, $priority = Propel::LOG_INFO)
- {
- return Propel::log(get_class($this) . ': ' . $msg, $priority);
- }
-
- /**
- * Export the current object properties to a string, using a given parser format
- *
- * $book = BookQuery::create()->findPk(9012);
- * echo $book->exportTo('JSON');
- * => {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}');
- *
- *
- * @param mixed $parser A AbstractParser instance, or a format name ('XML', 'YAML', 'JSON', 'CSV')
- * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy load(ed) columns. Defaults to TRUE.
- * @return string The exported data
- */
- public function exportTo($parser, $includeLazyLoadColumns = true)
- {
- if (!$parser instanceof AbstractParser) {
- $parser = AbstractParser::getParser($parser);
- }
-
- return $parser->fromArray($this->toArray(TableMap::TYPE_PHPNAME, $includeLazyLoadColumns, array(), true));
- }
-
- /**
- * Clean up internal collections prior to serializing
- * Avoids recursive loops that turn into segmentation faults when serializing
- */
- public function __sleep()
- {
- $this->clearAllReferences();
-
- $cls = new \ReflectionClass($this);
- $propertyNames = [];
- $serializableProperties = array_diff($cls->getProperties(), $cls->getProperties(\ReflectionProperty::IS_STATIC));
-
- foreach($serializableProperties as $property) {
- $propertyNames[] = $property->getName();
- }
-
- return $propertyNames;
- }
-
- /**
- * Get the [id] column value.
- *
- * @return int
- */
- public function getId()
- {
- return $this->id;
- }
-
- /**
- * Get the [label] column value.
- *
- * @return string
- */
- public function getLabel()
- {
- return $this->label;
- }
-
- /**
- * Get the [active] column value.
- *
- * @return boolean
- */
- public function getActive()
- {
- return $this->active;
- }
-
- /**
- * Get the [active] column value.
- *
- * @return boolean
- */
- public function isActive()
- {
- return $this->getActive();
- }
-
- /**
- * Get the [optionally formatted] temporal [created_at] column value.
- *
- *
- * @param string $format The date/time format string (either date()-style or strftime()-style).
- * If format is NULL, then the raw DateTime object will be returned.
- *
- * @return string|DateTime Formatted date/time value as string or DateTime object (if format is NULL), NULL if column is NULL, and 0 if column value is 0000-00-00 00:00:00
- *
- * @throws PropelException - if unable to parse/validate the date/time value.
- */
- public function getCreatedAt($format = NULL)
- {
- if ($format === null) {
- return $this->created_at;
- } else {
- return $this->created_at instanceof \DateTimeInterface ? $this->created_at->format($format) : null;
- }
- }
-
- /**
- * Get the [optionally formatted] temporal [updated_at] column value.
- *
- *
- * @param string $format The date/time format string (either date()-style or strftime()-style).
- * If format is NULL, then the raw DateTime object will be returned.
- *
- * @return string|DateTime Formatted date/time value as string or DateTime object (if format is NULL), NULL if column is NULL, and 0 if column value is 0000-00-00 00:00:00
- *
- * @throws PropelException - if unable to parse/validate the date/time value.
- */
- public function getUpdatedAt($format = NULL)
- {
- if ($format === null) {
- return $this->updated_at;
- } else {
- return $this->updated_at instanceof \DateTimeInterface ? $this->updated_at->format($format) : null;
- }
- }
-
- /**
- * Set the value of [id] column.
- *
- * @param int $v new value
- * @return $this|\CoursEndingBundle\Model\Form The current object (for fluent API support)
- */
- public function setId($v)
- {
- if ($v !== null) {
- $v = (int) $v;
- }
-
- if ($this->id !== $v) {
- $this->id = $v;
- $this->modifiedColumns[FormTableMap::COL_ID] = true;
- }
-
- return $this;
- } // setId()
-
- /**
- * Set the value of [label] column.
- *
- * @param string $v new value
- * @return $this|\CoursEndingBundle\Model\Form The current object (for fluent API support)
- */
- public function setLabel($v)
- {
- if ($v !== null) {
- $v = (string) $v;
- }
-
- if ($this->label !== $v) {
- $this->label = $v;
- $this->modifiedColumns[FormTableMap::COL_LABEL] = true;
- }
-
- return $this;
- } // setLabel()
-
- /**
- * Sets the value of the [active] column.
- * Non-boolean arguments are converted using the following rules:
- * * 1, '1', 'true', 'on', and 'yes' are converted to boolean true
- * * 0, '0', 'false', 'off', and 'no' are converted to boolean false
- * Check on string values is case insensitive (so 'FaLsE' is seen as 'false').
- *
- * @param boolean|integer|string $v The new value
- * @return $this|\CoursEndingBundle\Model\Form The current object (for fluent API support)
- */
- public function setActive($v)
- {
- if ($v !== null) {
- if (is_string($v)) {
- $v = in_array(strtolower($v), array('false', 'off', '-', 'no', 'n', '0', '')) ? false : true;
- } else {
- $v = (boolean) $v;
- }
- }
-
- if ($this->active !== $v) {
- $this->active = $v;
- $this->modifiedColumns[FormTableMap::COL_ACTIVE] = true;
- }
-
- return $this;
- } // setActive()
-
- /**
- * Sets the value of [created_at] column to a normalized version of the date/time value specified.
- *
- * @param mixed $v string, integer (timestamp), or \DateTimeInterface value.
- * Empty strings are treated as NULL.
- * @return $this|\CoursEndingBundle\Model\Form The current object (for fluent API support)
- */
- public function setCreatedAt($v)
- {
- $dt = PropelDateTime::newInstance($v, null, 'DateTime');
- if ($this->created_at !== null || $dt !== null) {
- if ($this->created_at === null || $dt === null || $dt->format("Y-m-d H:i:s") !== $this->created_at->format("Y-m-d H:i:s")) {
- $this->created_at = $dt === null ? null : clone $dt;
- $this->modifiedColumns[FormTableMap::COL_CREATED_AT] = true;
- }
- } // if either are not null
-
- return $this;
- } // setCreatedAt()
-
- /**
- * Sets the value of [updated_at] column to a normalized version of the date/time value specified.
- *
- * @param mixed $v string, integer (timestamp), or \DateTimeInterface value.
- * Empty strings are treated as NULL.
- * @return $this|\CoursEndingBundle\Model\Form The current object (for fluent API support)
- */
- public function setUpdatedAt($v)
- {
- $dt = PropelDateTime::newInstance($v, null, 'DateTime');
- if ($this->updated_at !== null || $dt !== null) {
- if ($this->updated_at === null || $dt === null || $dt->format("Y-m-d H:i:s") !== $this->updated_at->format("Y-m-d H:i:s")) {
- $this->updated_at = $dt === null ? null : clone $dt;
- $this->modifiedColumns[FormTableMap::COL_UPDATED_AT] = true;
- }
- } // if either are not null
-
- return $this;
- } // setUpdatedAt()
-
- /**
- * Indicates whether the columns in this object are only set to default values.
- *
- * This method can be used in conjunction with isModified() to indicate whether an object is both
- * modified _and_ has some values set which are non-default.
- *
- * @return boolean Whether the columns in this object are only been set with default values.
- */
- public function hasOnlyDefaultValues()
- {
- // otherwise, everything was equal, so return TRUE
- return true;
- } // hasOnlyDefaultValues()
-
- /**
- * Hydrates (populates) the object variables with values from the database resultset.
- *
- * An offset (0-based "start column") is specified so that objects can be hydrated
- * with a subset of the columns in the resultset rows. This is needed, for example,
- * for results of JOIN queries where the resultset row includes columns from two or
- * more tables.
- *
- * @param array $row The row returned by DataFetcher->fetch().
- * @param int $startcol 0-based offset column which indicates which restultset column to start with.
- * @param boolean $rehydrate Whether this object is being re-hydrated from the database.
- * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType().
- One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME
- * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM.
- *
- * @return int next starting column
- * @throws PropelException - Any caught Exception will be rewrapped as a PropelException.
- */
- public function hydrate($row, $startcol = 0, $rehydrate = false, $indexType = TableMap::TYPE_NUM)
- {
- try {
-
- $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : FormTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)];
- $this->id = (null !== $col) ? (int) $col : null;
-
- $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : FormTableMap::translateFieldName('Label', TableMap::TYPE_PHPNAME, $indexType)];
- $this->label = (null !== $col) ? (string) $col : null;
-
- $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : FormTableMap::translateFieldName('Active', TableMap::TYPE_PHPNAME, $indexType)];
- $this->active = (null !== $col) ? (boolean) $col : null;
-
- $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : FormTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
- if ($col === '0000-00-00 00:00:00') {
- $col = null;
- }
- $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, 'DateTime') : null;
-
- $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : FormTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
- if ($col === '0000-00-00 00:00:00') {
- $col = null;
- }
- $this->updated_at = (null !== $col) ? PropelDateTime::newInstance($col, null, 'DateTime') : null;
- $this->resetModified();
-
- $this->setNew(false);
-
- if ($rehydrate) {
- $this->ensureConsistency();
- }
-
- return $startcol + 5; // 5 = FormTableMap::NUM_HYDRATE_COLUMNS.
-
- } catch (Exception $e) {
- throw new PropelException(sprintf('Error populating %s object', '\\CoursEndingBundle\\Model\\Form'), 0, $e);
- }
- }
-
- /**
- * Checks and repairs the internal consistency of the object.
- *
- * This method is executed after an already-instantiated object is re-hydrated
- * from the database. It exists to check any foreign keys to make sure that
- * the objects related to the current object are correct based on foreign key.
- *
- * You can override this method in the stub class, but you should always invoke
- * the base method from the overridden method (i.e. parent::ensureConsistency()),
- * in case your model changes.
- *
- * @throws PropelException
- */
- public function ensureConsistency()
- {
- } // ensureConsistency
-
- /**
- * Reloads this object from datastore based on primary key and (optionally) resets all associated objects.
- *
- * This will only work if the object has been saved and has a valid primary key set.
- *
- * @param boolean $deep (optional) Whether to also de-associated any related objects.
- * @param ConnectionInterface $con (optional) The ConnectionInterface connection to use.
- * @return void
- * @throws PropelException - if this object is deleted, unsaved or doesn't have pk match in db
- */
- public function reload($deep = false, ConnectionInterface $con = null)
- {
- if ($this->isDeleted()) {
- throw new PropelException("Cannot reload a deleted object.");
- }
-
- if ($this->isNew()) {
- throw new PropelException("Cannot reload an unsaved object.");
- }
-
- if ($con === null) {
- $con = Propel::getServiceContainer()->getReadConnection(FormTableMap::DATABASE_NAME);
- }
-
- // We don't need to alter the object instance pool; we're just modifying this instance
- // already in the pool.
-
- $dataFetcher = ChildFormQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con);
- $row = $dataFetcher->fetch();
- $dataFetcher->close();
- if (!$row) {
- throw new PropelException('Cannot find matching row in the database to reload object values.');
- }
- $this->hydrate($row, 0, true, $dataFetcher->getIndexType()); // rehydrate
-
- if ($deep) { // also de-associate any related objects?
-
- } // if (deep)
- }
-
- /**
- * Removes this object from datastore and sets delete attribute.
- *
- * @param ConnectionInterface $con
- * @return void
- * @throws PropelException
- * @see Form::setDeleted()
- * @see Form::isDeleted()
- */
- public function delete(ConnectionInterface $con = null)
- {
- if ($this->isDeleted()) {
- throw new PropelException("This object has already been deleted.");
- }
-
- if ($con === null) {
- $con = Propel::getServiceContainer()->getWriteConnection(FormTableMap::DATABASE_NAME);
- }
-
- $con->transaction(function () use ($con) {
- $deleteQuery = ChildFormQuery::create()
- ->filterByPrimaryKey($this->getPrimaryKey());
- $ret = $this->preDelete($con);
- if ($ret) {
- $deleteQuery->delete($con);
- $this->postDelete($con);
- $this->setDeleted(true);
- }
- });
- }
-
- /**
- * Persists this object to the database.
- *
- * If the object is new, it inserts it; otherwise an update is performed.
- * All modified related objects will also be persisted in the doSave()
- * method. This method wraps all precipitate database operations in a
- * single transaction.
- *
- * @param ConnectionInterface $con
- * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations.
- * @throws PropelException
- * @see doSave()
- */
- public function save(ConnectionInterface $con = null)
- {
- if ($this->isDeleted()) {
- throw new PropelException("You cannot save an object that has been deleted.");
- }
-
- if ($con === null) {
- $con = Propel::getServiceContainer()->getWriteConnection(FormTableMap::DATABASE_NAME);
- }
-
- return $con->transaction(function () use ($con) {
- $ret = $this->preSave($con);
- $isInsert = $this->isNew();
- if ($isInsert) {
- $ret = $ret && $this->preInsert($con);
- // timestampable behavior
-
- if (!$this->isColumnModified(FormTableMap::COL_CREATED_AT)) {
- $this->setCreatedAt(time());
- }
- if (!$this->isColumnModified(FormTableMap::COL_UPDATED_AT)) {
- $this->setUpdatedAt(time());
- }
- } else {
- $ret = $ret && $this->preUpdate($con);
- // timestampable behavior
- if ($this->isModified() && !$this->isColumnModified(FormTableMap::COL_UPDATED_AT)) {
- $this->setUpdatedAt(time());
- }
- }
- if ($ret) {
- $affectedRows = $this->doSave($con);
- if ($isInsert) {
- $this->postInsert($con);
- } else {
- $this->postUpdate($con);
- }
- $this->postSave($con);
- FormTableMap::addInstanceToPool($this);
- } else {
- $affectedRows = 0;
- }
-
- return $affectedRows;
- });
- }
-
- /**
- * Performs the work of inserting or updating the row in the database.
- *
- * If the object is new, it inserts it; otherwise an update is performed.
- * All related objects are also updated in this method.
- *
- * @param ConnectionInterface $con
- * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations.
- * @throws PropelException
- * @see save()
- */
- protected function doSave(ConnectionInterface $con)
- {
- $affectedRows = 0; // initialize var to track total num of affected rows
- if (!$this->alreadyInSave) {
- $this->alreadyInSave = true;
-
- if ($this->isNew() || $this->isModified()) {
- // persist changes
- if ($this->isNew()) {
- $this->doInsert($con);
- $affectedRows += 1;
- } else {
- $affectedRows += $this->doUpdate($con);
- }
- $this->resetModified();
- }
-
- $this->alreadyInSave = false;
-
- }
-
- return $affectedRows;
- } // doSave()
-
- /**
- * Insert the row in the database.
- *
- * @param ConnectionInterface $con
- *
- * @throws PropelException
- * @see doSave()
- */
- protected function doInsert(ConnectionInterface $con)
- {
- $modifiedColumns = array();
- $index = 0;
-
- $this->modifiedColumns[FormTableMap::COL_ID] = true;
- if (null !== $this->id) {
- throw new PropelException('Cannot insert a value for auto-increment primary key (' . FormTableMap::COL_ID . ')');
- }
-
- // check the columns in natural order for more readable SQL queries
- if ($this->isColumnModified(FormTableMap::COL_ID)) {
- $modifiedColumns[':p' . $index++] = 'id';
- }
- if ($this->isColumnModified(FormTableMap::COL_LABEL)) {
- $modifiedColumns[':p' . $index++] = 'label';
- }
- if ($this->isColumnModified(FormTableMap::COL_ACTIVE)) {
- $modifiedColumns[':p' . $index++] = 'active';
- }
- if ($this->isColumnModified(FormTableMap::COL_CREATED_AT)) {
- $modifiedColumns[':p' . $index++] = 'created_at';
- }
- if ($this->isColumnModified(FormTableMap::COL_UPDATED_AT)) {
- $modifiedColumns[':p' . $index++] = 'updated_at';
- }
-
- $sql = sprintf(
- 'INSERT INTO form (%s) VALUES (%s)',
- implode(', ', $modifiedColumns),
- implode(', ', array_keys($modifiedColumns))
- );
-
- try {
- $stmt = $con->prepare($sql);
- foreach ($modifiedColumns as $identifier => $columnName) {
- switch ($columnName) {
- case 'id':
- $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT);
- break;
- case 'label':
- $stmt->bindValue($identifier, $this->label, PDO::PARAM_STR);
- break;
- case 'active':
- $stmt->bindValue($identifier, (int) $this->active, PDO::PARAM_INT);
- break;
- case 'created_at':
- $stmt->bindValue($identifier, $this->created_at ? $this->created_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR);
- break;
- case 'updated_at':
- $stmt->bindValue($identifier, $this->updated_at ? $this->updated_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR);
- break;
- }
- }
- $stmt->execute();
- } catch (Exception $e) {
- Propel::log($e->getMessage(), Propel::LOG_ERR);
- throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), 0, $e);
- }
-
- try {
- $pk = $con->lastInsertId();
- } catch (Exception $e) {
- throw new PropelException('Unable to get autoincrement id.', 0, $e);
- }
- $this->setId($pk);
-
- $this->setNew(false);
- }
-
- /**
- * Update the row in the database.
- *
- * @param ConnectionInterface $con
- *
- * @return Integer Number of updated rows
- * @see doSave()
- */
- protected function doUpdate(ConnectionInterface $con)
- {
- $selectCriteria = $this->buildPkeyCriteria();
- $valuesCriteria = $this->buildCriteria();
-
- return $selectCriteria->doUpdate($valuesCriteria, $con);
- }
-
- /**
- * Retrieves a field from the object by name passed in as a string.
- *
- * @param string $name name
- * @param string $type The type of fieldname the $name is of:
- * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME
- * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM.
- * Defaults to TableMap::TYPE_PHPNAME.
- * @return mixed Value of field.
- */
- public function getByName($name, $type = TableMap::TYPE_PHPNAME)
- {
- $pos = FormTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM);
- $field = $this->getByPosition($pos);
-
- return $field;
- }
-
- /**
- * Retrieves a field from the object by Position as specified in the xml schema.
- * Zero-based.
- *
- * @param int $pos position in xml schema
- * @return mixed Value of field at $pos
- */
- public function getByPosition($pos)
- {
- switch ($pos) {
- case 0:
- return $this->getId();
- break;
- case 1:
- return $this->getLabel();
- break;
- case 2:
- return $this->getActive();
- break;
- case 3:
- return $this->getCreatedAt();
- break;
- case 4:
- return $this->getUpdatedAt();
- break;
- default:
- return null;
- break;
- } // switch()
- }
-
- /**
- * Exports the object as an array.
- *
- * You can specify the key type of the array by passing one of the class
- * type constants.
- *
- * @param string $keyType (optional) One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME,
- * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM.
- * Defaults to TableMap::TYPE_PHPNAME.
- * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE.
- * @param array $alreadyDumpedObjects List of objects to skip to avoid recursion
- *
- * @return array an associative array containing the field names (as keys) and field values
- */
- public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array())
- {
-
- if (isset($alreadyDumpedObjects['Form'][$this->hashCode()])) {
- return '*RECURSION*';
- }
- $alreadyDumpedObjects['Form'][$this->hashCode()] = true;
- $keys = FormTableMap::getFieldNames($keyType);
- $result = array(
- $keys[0] => $this->getId(),
- $keys[1] => $this->getLabel(),
- $keys[2] => $this->getActive(),
- $keys[3] => $this->getCreatedAt(),
- $keys[4] => $this->getUpdatedAt(),
- );
- if ($result[$keys[3]] instanceof \DateTime) {
- $result[$keys[3]] = $result[$keys[3]]->format('c');
- }
-
- if ($result[$keys[4]] instanceof \DateTime) {
- $result[$keys[4]] = $result[$keys[4]]->format('c');
- }
-
- $virtualColumns = $this->virtualColumns;
- foreach ($virtualColumns as $key => $virtualColumn) {
- $result[$key] = $virtualColumn;
- }
-
-
- return $result;
- }
-
- /**
- * Sets a field from the object by name passed in as a string.
- *
- * @param string $name
- * @param mixed $value field value
- * @param string $type The type of fieldname the $name is of:
- * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME
- * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM.
- * Defaults to TableMap::TYPE_PHPNAME.
- * @return $this|\CoursEndingBundle\Model\Form
- */
- public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME)
- {
- $pos = FormTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM);
-
- return $this->setByPosition($pos, $value);
- }
-
- /**
- * Sets a field from the object by Position as specified in the xml schema.
- * Zero-based.
- *
- * @param int $pos position in xml schema
- * @param mixed $value field value
- * @return $this|\CoursEndingBundle\Model\Form
- */
- public function setByPosition($pos, $value)
- {
- switch ($pos) {
- case 0:
- $this->setId($value);
- break;
- case 1:
- $this->setLabel($value);
- break;
- case 2:
- $this->setActive($value);
- break;
- case 3:
- $this->setCreatedAt($value);
- break;
- case 4:
- $this->setUpdatedAt($value);
- break;
- } // switch()
-
- return $this;
- }
-
- /**
- * Populates the object using an array.
- *
- * This is particularly useful when populating an object from one of the
- * request arrays (e.g. $_POST). This method goes through the column
- * names, checking to see whether a matching key exists in populated
- * array. If so the setByName() method is called for that column.
- *
- * You can specify the key type of the array by additionally passing one
- * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME,
- * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM.
- * The default key type is the column's TableMap::TYPE_PHPNAME.
- *
- * @param array $arr An array to populate the object from.
- * @param string $keyType The type of keys the array uses.
- * @return void
- */
- public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME)
- {
- $keys = FormTableMap::getFieldNames($keyType);
-
- if (array_key_exists($keys[0], $arr)) {
- $this->setId($arr[$keys[0]]);
- }
- if (array_key_exists($keys[1], $arr)) {
- $this->setLabel($arr[$keys[1]]);
- }
- if (array_key_exists($keys[2], $arr)) {
- $this->setActive($arr[$keys[2]]);
- }
- if (array_key_exists($keys[3], $arr)) {
- $this->setCreatedAt($arr[$keys[3]]);
- }
- if (array_key_exists($keys[4], $arr)) {
- $this->setUpdatedAt($arr[$keys[4]]);
- }
- }
-
- /**
- * Populate the current object from a string, using a given parser format
- *
- * $book = new Book();
- * $book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}');
- *
- *
- * You can specify the key type of the array by additionally passing one
- * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME,
- * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM.
- * The default key type is the column's TableMap::TYPE_PHPNAME.
- *
- * @param mixed $parser A AbstractParser instance,
- * or a format name ('XML', 'YAML', 'JSON', 'CSV')
- * @param string $data The source data to import from
- * @param string $keyType The type of keys the array uses.
- *
- * @return $this|\CoursEndingBundle\Model\Form The current object, for fluid interface
- */
- public function importFrom($parser, $data, $keyType = TableMap::TYPE_PHPNAME)
- {
- if (!$parser instanceof AbstractParser) {
- $parser = AbstractParser::getParser($parser);
- }
-
- $this->fromArray($parser->toArray($data), $keyType);
-
- return $this;
- }
-
- /**
- * Build a Criteria object containing the values of all modified columns in this object.
- *
- * @return Criteria The Criteria object containing all modified values.
- */
- public function buildCriteria()
- {
- $criteria = new Criteria(FormTableMap::DATABASE_NAME);
-
- if ($this->isColumnModified(FormTableMap::COL_ID)) {
- $criteria->add(FormTableMap::COL_ID, $this->id);
- }
- if ($this->isColumnModified(FormTableMap::COL_LABEL)) {
- $criteria->add(FormTableMap::COL_LABEL, $this->label);
- }
- if ($this->isColumnModified(FormTableMap::COL_ACTIVE)) {
- $criteria->add(FormTableMap::COL_ACTIVE, $this->active);
- }
- if ($this->isColumnModified(FormTableMap::COL_CREATED_AT)) {
- $criteria->add(FormTableMap::COL_CREATED_AT, $this->created_at);
- }
- if ($this->isColumnModified(FormTableMap::COL_UPDATED_AT)) {
- $criteria->add(FormTableMap::COL_UPDATED_AT, $this->updated_at);
- }
-
- return $criteria;
- }
-
- /**
- * Builds a Criteria object containing the primary key for this object.
- *
- * Unlike buildCriteria() this method includes the primary key values regardless
- * of whether or not they have been modified.
- *
- * @throws LogicException if no primary key is defined
- *
- * @return Criteria The Criteria object containing value(s) for primary key(s).
- */
- public function buildPkeyCriteria()
- {
- $criteria = ChildFormQuery::create();
- $criteria->add(FormTableMap::COL_ID, $this->id);
-
- return $criteria;
- }
-
- /**
- * If the primary key is not null, return the hashcode of the
- * primary key. Otherwise, return the hash code of the object.
- *
- * @return int Hashcode
- */
- public function hashCode()
- {
- $validPk = null !== $this->getId();
-
- $validPrimaryKeyFKs = 0;
- $primaryKeyFKs = [];
-
- if ($validPk) {
- return crc32(json_encode($this->getPrimaryKey(), JSON_UNESCAPED_UNICODE));
- } elseif ($validPrimaryKeyFKs) {
- return crc32(json_encode($primaryKeyFKs, JSON_UNESCAPED_UNICODE));
- }
-
- return spl_object_hash($this);
- }
-
- /**
- * Returns the primary key for this object (row).
- * @return int
- */
- public function getPrimaryKey()
- {
- return $this->getId();
- }
-
- /**
- * Generic method to set the primary key (id column).
- *
- * @param int $key Primary key.
- * @return void
- */
- public function setPrimaryKey($key)
- {
- $this->setId($key);
- }
-
- /**
- * Returns true if the primary key for this object is null.
- * @return boolean
- */
- public function isPrimaryKeyNull()
- {
- return null === $this->getId();
- }
-
- /**
- * Sets contents of passed object to values from current object.
- *
- * If desired, this method can also make copies of all associated (fkey referrers)
- * objects.
- *
- * @param object $copyObj An object of \CoursEndingBundle\Model\Form (or compatible) type.
- * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row.
- * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new.
- * @throws PropelException
- */
- public function copyInto($copyObj, $deepCopy = false, $makeNew = true)
- {
- $copyObj->setLabel($this->getLabel());
- $copyObj->setActive($this->getActive());
- $copyObj->setCreatedAt($this->getCreatedAt());
- $copyObj->setUpdatedAt($this->getUpdatedAt());
- if ($makeNew) {
- $copyObj->setNew(true);
- $copyObj->setId(NULL); // this is a auto-increment column, so set to default value
- }
- }
-
- /**
- * Makes a copy of this object that will be inserted as a new row in table when saved.
- * It creates a new object filling in the simple attributes, but skipping any primary
- * keys that are defined for the table.
- *
- * If desired, this method can also make copies of all associated (fkey referrers)
- * objects.
- *
- * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row.
- * @return \CoursEndingBundle\Model\Form Clone of current object.
- * @throws PropelException
- */
- public function copy($deepCopy = false)
- {
- // we use get_class(), because this might be a subclass
- $clazz = get_class($this);
- $copyObj = new $clazz();
- $this->copyInto($copyObj, $deepCopy);
-
- return $copyObj;
- }
-
- /**
- * Clears the current object, sets all attributes to their default values and removes
- * outgoing references as well as back-references (from other objects to this one. Results probably in a database
- * change of those foreign objects when you call `save` there).
- */
- public function clear()
- {
- $this->id = null;
- $this->label = null;
- $this->active = null;
- $this->created_at = null;
- $this->updated_at = null;
- $this->alreadyInSave = false;
- $this->clearAllReferences();
- $this->resetModified();
- $this->setNew(true);
- $this->setDeleted(false);
- }
-
- /**
- * Resets all references and back-references to other model objects or collections of model objects.
- *
- * This method is used to reset all php object references (not the actual reference in the database).
- * Necessary for object serialisation.
- *
- * @param boolean $deep Whether to also clear the references on all referrer objects.
- */
- public function clearAllReferences($deep = false)
- {
- if ($deep) {
- } // if ($deep)
-
- }
-
- /**
- * Return the string representation of this object
- *
- * @return string
- */
- public function __toString()
- {
- return (string) $this->exportTo(FormTableMap::DEFAULT_STRING_FORMAT);
- }
-
- // timestampable behavior
-
- /**
- * Mark the current object so that the update date doesn't get updated during next save
- *
- * @return $this|ChildForm The current object (for fluent API support)
- */
- public function keepUpdateDateUnchanged()
- {
- $this->modifiedColumns[FormTableMap::COL_UPDATED_AT] = true;
-
- return $this;
- }
-
- /**
- * Code to be run before persisting the object
- * @param ConnectionInterface $con
- * @return boolean
- */
- public function preSave(ConnectionInterface $con = null)
- {
- return true;
- }
-
- /**
- * Code to be run after persisting the object
- * @param ConnectionInterface $con
- */
- public function postSave(ConnectionInterface $con = null)
- {
-
- }
-
- /**
- * Code to be run before inserting to database
- * @param ConnectionInterface $con
- * @return boolean
- */
- public function preInsert(ConnectionInterface $con = null)
- {
- return true;
- }
-
- /**
- * Code to be run after inserting to database
- * @param ConnectionInterface $con
- */
- public function postInsert(ConnectionInterface $con = null)
- {
-
- }
-
- /**
- * Code to be run before updating the object in database
- * @param ConnectionInterface $con
- * @return boolean
- */
- public function preUpdate(ConnectionInterface $con = null)
- {
- return true;
- }
-
- /**
- * Code to be run after updating the object in database
- * @param ConnectionInterface $con
- */
- public function postUpdate(ConnectionInterface $con = null)
- {
-
- }
-
- /**
- * Code to be run before deleting the object in database
- * @param ConnectionInterface $con
- * @return boolean
- */
- public function preDelete(ConnectionInterface $con = null)
- {
- return true;
- }
-
- /**
- * Code to be run after deleting the object in database
- * @param ConnectionInterface $con
- */
- public function postDelete(ConnectionInterface $con = null)
- {
-
- }
-
-
- /**
- * Derived method to catches calls to undefined methods.
- *
- * Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.).
- * Allows to define default __call() behavior if you overwrite __call()
- *
- * @param string $name
- * @param mixed $params
- *
- * @return array|string
- */
- public function __call($name, $params)
- {
- if (0 === strpos($name, 'get')) {
- $virtualColumn = substr($name, 3);
- if ($this->hasVirtualColumn($virtualColumn)) {
- return $this->getVirtualColumn($virtualColumn);
- }
-
- $virtualColumn = lcfirst($virtualColumn);
- if ($this->hasVirtualColumn($virtualColumn)) {
- return $this->getVirtualColumn($virtualColumn);
- }
- }
-
- if (0 === strpos($name, 'from')) {
- $format = substr($name, 4);
-
- return $this->importFrom($format, reset($params));
- }
-
- if (0 === strpos($name, 'to')) {
- $format = substr($name, 2);
- $includeLazyLoadColumns = isset($params[0]) ? $params[0] : true;
-
- return $this->exportTo($format, $includeLazyLoadColumns);
- }
-
- throw new BadMethodCallException(sprintf('Call to undefined method: %s.', $name));
- }
-
-}
diff --git a/src/CoursEndingBundle/Model/Base/FormQuery.php b/src/CoursEndingBundle/Model/Base/FormQuery.php
deleted file mode 100644
index 1769bc7..0000000
--- a/src/CoursEndingBundle/Model/Base/FormQuery.php
+++ /dev/null
@@ -1,574 +0,0 @@
-setModelAlias($modelAlias);
- }
- if ($criteria instanceof Criteria) {
- $query->mergeWith($criteria);
- }
-
- return $query;
- }
-
- /**
- * Find object by primary key.
- * Propel uses the instance pool to skip the database if the object exists.
- * Go fast if the query is untouched.
- *
- *
- * $obj = $c->findPk(12, $con);
- *
- *
- * @param mixed $key Primary key to use for the query
- * @param ConnectionInterface $con an optional connection object
- *
- * @return ChildForm|array|mixed the result, formatted by the current formatter
- */
- public function findPk($key, ConnectionInterface $con = null)
- {
- if ($key === null) {
- return null;
- }
- if ((null !== ($obj = FormTableMap::getInstanceFromPool(null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key))) && !$this->formatter) {
- // the object is already in the instance pool
- return $obj;
- }
- if ($con === null) {
- $con = Propel::getServiceContainer()->getReadConnection(FormTableMap::DATABASE_NAME);
- }
- $this->basePreSelect($con);
- if ($this->formatter || $this->modelAlias || $this->with || $this->select
- || $this->selectColumns || $this->asColumns || $this->selectModifiers
- || $this->map || $this->having || $this->joins) {
- return $this->findPkComplex($key, $con);
- } else {
- return $this->findPkSimple($key, $con);
- }
- }
-
- /**
- * Find object by primary key using raw SQL to go fast.
- * Bypass doSelect() and the object formatter by using generated code.
- *
- * @param mixed $key Primary key to use for the query
- * @param ConnectionInterface $con A connection object
- *
- * @throws \Propel\Runtime\Exception\PropelException
- *
- * @return ChildForm A model object, or null if the key is not found
- */
- protected function findPkSimple($key, ConnectionInterface $con)
- {
- $sql = 'SELECT id, label, active, created_at, updated_at FROM form WHERE id = :p0';
- try {
- $stmt = $con->prepare($sql);
- $stmt->bindValue(':p0', $key, PDO::PARAM_INT);
- $stmt->execute();
- } catch (Exception $e) {
- Propel::log($e->getMessage(), Propel::LOG_ERR);
- throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), 0, $e);
- }
- $obj = null;
- if ($row = $stmt->fetch(\PDO::FETCH_NUM)) {
- /** @var ChildForm $obj */
- $obj = new ChildForm();
- $obj->hydrate($row);
- FormTableMap::addInstanceToPool($obj, null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key);
- }
- $stmt->closeCursor();
-
- return $obj;
- }
-
- /**
- * Find object by primary key.
- *
- * @param mixed $key Primary key to use for the query
- * @param ConnectionInterface $con A connection object
- *
- * @return ChildForm|array|mixed the result, formatted by the current formatter
- */
- protected function findPkComplex($key, ConnectionInterface $con)
- {
- // As the query uses a PK condition, no limit(1) is necessary.
- $criteria = $this->isKeepQuery() ? clone $this : $this;
- $dataFetcher = $criteria
- ->filterByPrimaryKey($key)
- ->doSelect($con);
-
- return $criteria->getFormatter()->init($criteria)->formatOne($dataFetcher);
- }
-
- /**
- * Find objects by primary key
- *
- * $objs = $c->findPks(array(12, 56, 832), $con);
- *
- * @param array $keys Primary keys to use for the query
- * @param ConnectionInterface $con an optional connection object
- *
- * @return ObjectCollection|array|mixed the list of results, formatted by the current formatter
- */
- public function findPks($keys, ConnectionInterface $con = null)
- {
- if (null === $con) {
- $con = Propel::getServiceContainer()->getReadConnection($this->getDbName());
- }
- $this->basePreSelect($con);
- $criteria = $this->isKeepQuery() ? clone $this : $this;
- $dataFetcher = $criteria
- ->filterByPrimaryKeys($keys)
- ->doSelect($con);
-
- return $criteria->getFormatter()->init($criteria)->format($dataFetcher);
- }
-
- /**
- * Filter the query by primary key
- *
- * @param mixed $key Primary key to use for the query
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function filterByPrimaryKey($key)
- {
-
- return $this->addUsingAlias(FormTableMap::COL_ID, $key, Criteria::EQUAL);
- }
-
- /**
- * Filter the query by a list of primary keys
- *
- * @param array $keys The list of primary key to use for the query
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function filterByPrimaryKeys($keys)
- {
-
- return $this->addUsingAlias(FormTableMap::COL_ID, $keys, Criteria::IN);
- }
-
- /**
- * Filter the query on the id column
- *
- * Example usage:
- *
- * $query->filterById(1234); // WHERE id = 1234
- * $query->filterById(array(12, 34)); // WHERE id IN (12, 34)
- * $query->filterById(array('min' => 12)); // WHERE id > 12
- *
- *
- * @param mixed $id The value to use as filter.
- * Use scalar values for equality.
- * Use array values for in_array() equivalent.
- * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals.
- * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function filterById($id = null, $comparison = null)
- {
- if (is_array($id)) {
- $useMinMax = false;
- if (isset($id['min'])) {
- $this->addUsingAlias(FormTableMap::COL_ID, $id['min'], Criteria::GREATER_EQUAL);
- $useMinMax = true;
- }
- if (isset($id['max'])) {
- $this->addUsingAlias(FormTableMap::COL_ID, $id['max'], Criteria::LESS_EQUAL);
- $useMinMax = true;
- }
- if ($useMinMax) {
- return $this;
- }
- if (null === $comparison) {
- $comparison = Criteria::IN;
- }
- }
-
- return $this->addUsingAlias(FormTableMap::COL_ID, $id, $comparison);
- }
-
- /**
- * Filter the query on the label column
- *
- * Example usage:
- *
- * $query->filterByLabel('fooValue'); // WHERE label = 'fooValue'
- * $query->filterByLabel('%fooValue%'); // WHERE label LIKE '%fooValue%'
- *
- *
- * @param string $label The value to use as filter.
- * Accepts wildcards (* and % trigger a LIKE)
- * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function filterByLabel($label = null, $comparison = null)
- {
- if (null === $comparison) {
- if (is_array($label)) {
- $comparison = Criteria::IN;
- } elseif (preg_match('/[\%\*]/', $label)) {
- $label = str_replace('*', '%', $label);
- $comparison = Criteria::LIKE;
- }
- }
-
- return $this->addUsingAlias(FormTableMap::COL_LABEL, $label, $comparison);
- }
-
- /**
- * Filter the query on the active column
- *
- * Example usage:
- *
- * $query->filterByActive(true); // WHERE active = true
- * $query->filterByActive('yes'); // WHERE active = true
- *
- *
- * @param boolean|string $active The value to use as filter.
- * Non-boolean arguments are converted using the following rules:
- * * 1, '1', 'true', 'on', and 'yes' are converted to boolean true
- * * 0, '0', 'false', 'off', and 'no' are converted to boolean false
- * Check on string values is case insensitive (so 'FaLsE' is seen as 'false').
- * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function filterByActive($active = null, $comparison = null)
- {
- if (is_string($active)) {
- $active = in_array(strtolower($active), array('false', 'off', '-', 'no', 'n', '0', '')) ? false : true;
- }
-
- return $this->addUsingAlias(FormTableMap::COL_ACTIVE, $active, $comparison);
- }
-
- /**
- * Filter the query on the created_at column
- *
- * Example usage:
- *
- * $query->filterByCreatedAt('2011-03-14'); // WHERE created_at = '2011-03-14'
- * $query->filterByCreatedAt('now'); // WHERE created_at = '2011-03-14'
- * $query->filterByCreatedAt(array('max' => 'yesterday')); // WHERE created_at > '2011-03-13'
- *
- *
- * @param mixed $createdAt The value to use as filter.
- * Values can be integers (unix timestamps), DateTime objects, or strings.
- * Empty strings are treated as NULL.
- * Use scalar values for equality.
- * Use array values for in_array() equivalent.
- * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals.
- * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function filterByCreatedAt($createdAt = null, $comparison = null)
- {
- if (is_array($createdAt)) {
- $useMinMax = false;
- if (isset($createdAt['min'])) {
- $this->addUsingAlias(FormTableMap::COL_CREATED_AT, $createdAt['min'], Criteria::GREATER_EQUAL);
- $useMinMax = true;
- }
- if (isset($createdAt['max'])) {
- $this->addUsingAlias(FormTableMap::COL_CREATED_AT, $createdAt['max'], Criteria::LESS_EQUAL);
- $useMinMax = true;
- }
- if ($useMinMax) {
- return $this;
- }
- if (null === $comparison) {
- $comparison = Criteria::IN;
- }
- }
-
- return $this->addUsingAlias(FormTableMap::COL_CREATED_AT, $createdAt, $comparison);
- }
-
- /**
- * Filter the query on the updated_at column
- *
- * Example usage:
- *
- * $query->filterByUpdatedAt('2011-03-14'); // WHERE updated_at = '2011-03-14'
- * $query->filterByUpdatedAt('now'); // WHERE updated_at = '2011-03-14'
- * $query->filterByUpdatedAt(array('max' => 'yesterday')); // WHERE updated_at > '2011-03-13'
- *
- *
- * @param mixed $updatedAt The value to use as filter.
- * Values can be integers (unix timestamps), DateTime objects, or strings.
- * Empty strings are treated as NULL.
- * Use scalar values for equality.
- * Use array values for in_array() equivalent.
- * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals.
- * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function filterByUpdatedAt($updatedAt = null, $comparison = null)
- {
- if (is_array($updatedAt)) {
- $useMinMax = false;
- if (isset($updatedAt['min'])) {
- $this->addUsingAlias(FormTableMap::COL_UPDATED_AT, $updatedAt['min'], Criteria::GREATER_EQUAL);
- $useMinMax = true;
- }
- if (isset($updatedAt['max'])) {
- $this->addUsingAlias(FormTableMap::COL_UPDATED_AT, $updatedAt['max'], Criteria::LESS_EQUAL);
- $useMinMax = true;
- }
- if ($useMinMax) {
- return $this;
- }
- if (null === $comparison) {
- $comparison = Criteria::IN;
- }
- }
-
- return $this->addUsingAlias(FormTableMap::COL_UPDATED_AT, $updatedAt, $comparison);
- }
-
- /**
- * Exclude object from result
- *
- * @param ChildForm $form Object to remove from the list of results
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function prune($form = null)
- {
- if ($form) {
- $this->addUsingAlias(FormTableMap::COL_ID, $form->getId(), Criteria::NOT_EQUAL);
- }
-
- return $this;
- }
-
- /**
- * Deletes all rows from the form table.
- *
- * @param ConnectionInterface $con the connection to use
- * @return int The number of affected rows (if supported by underlying database driver).
- */
- public function doDeleteAll(ConnectionInterface $con = null)
- {
- if (null === $con) {
- $con = Propel::getServiceContainer()->getWriteConnection(FormTableMap::DATABASE_NAME);
- }
-
- // use transaction because $criteria could contain info
- // for more than one table or we could emulating ON DELETE CASCADE, etc.
- return $con->transaction(function () use ($con) {
- $affectedRows = 0; // initialize var to track total num of affected rows
- $affectedRows += parent::doDeleteAll($con);
- // Because this db requires some delete cascade/set null emulation, we have to
- // clear the cached instance *after* the emulation has happened (since
- // instances get re-added by the select statement contained therein).
- FormTableMap::clearInstancePool();
- FormTableMap::clearRelatedInstancePool();
-
- return $affectedRows;
- });
- }
-
- /**
- * Performs a DELETE on the database based on the current ModelCriteria
- *
- * @param ConnectionInterface $con the connection to use
- * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows
- * if supported by native driver or if emulated using Propel.
- * @throws PropelException Any exceptions caught during processing will be
- * rethrown wrapped into a PropelException.
- */
- public function delete(ConnectionInterface $con = null)
- {
- if (null === $con) {
- $con = Propel::getServiceContainer()->getWriteConnection(FormTableMap::DATABASE_NAME);
- }
-
- $criteria = $this;
-
- // Set the correct dbName
- $criteria->setDbName(FormTableMap::DATABASE_NAME);
-
- // use transaction because $criteria could contain info
- // for more than one table or we could emulating ON DELETE CASCADE, etc.
- return $con->transaction(function () use ($con, $criteria) {
- $affectedRows = 0; // initialize var to track total num of affected rows
-
- FormTableMap::removeInstanceFromPool($criteria);
-
- $affectedRows += ModelCriteria::delete($con);
- FormTableMap::clearRelatedInstancePool();
-
- return $affectedRows;
- });
- }
-
- // timestampable behavior
-
- /**
- * Filter by the latest updated
- *
- * @param int $nbDays Maximum age of the latest update in days
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function recentlyUpdated($nbDays = 7)
- {
- return $this->addUsingAlias(FormTableMap::COL_UPDATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL);
- }
-
- /**
- * Order by update date desc
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function lastUpdatedFirst()
- {
- return $this->addDescendingOrderByColumn(FormTableMap::COL_UPDATED_AT);
- }
-
- /**
- * Order by update date asc
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function firstUpdatedFirst()
- {
- return $this->addAscendingOrderByColumn(FormTableMap::COL_UPDATED_AT);
- }
-
- /**
- * Order by create date desc
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function lastCreatedFirst()
- {
- return $this->addDescendingOrderByColumn(FormTableMap::COL_CREATED_AT);
- }
-
- /**
- * Filter by the latest created
- *
- * @param int $nbDays Maximum age of in days
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function recentlyCreated($nbDays = 7)
- {
- return $this->addUsingAlias(FormTableMap::COL_CREATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL);
- }
-
- /**
- * Order by create date asc
- *
- * @return $this|ChildFormQuery The current query, for fluid interface
- */
- public function firstCreatedFirst()
- {
- return $this->addAscendingOrderByColumn(FormTableMap::COL_CREATED_AT);
- }
-
-} // FormQuery
diff --git a/src/CoursEndingBundle/Model/Form.php b/src/CoursEndingBundle/Model/Form.php
index e2129d6..9988249 100644
--- a/src/CoursEndingBundle/Model/Form.php
+++ b/src/CoursEndingBundle/Model/Form.php
@@ -3,8 +3,19 @@
namespace CoursEndingBundle\Model;
use CoursEndingBundle\Model\Base\Form as BaseForm;
+use JMS\Serializer\Annotation\VirtualProperty;
+use Propel\Runtime\ActiveQuery\Criteria;
+use Propel\Runtime\Connection\ConnectionInterface;
class Form extends BaseForm
{
-
+ /**
+ * {@inheritdoc}
+ * @JMS\Serializer\Annotation\SerializedName("questions")
+ * @JMS\Serializer\Annotation\VirtualProperty
+ */
+ public function getQuestionsRest()
+ {
+ return parent::getQuestions()->getData();
+ }
}
diff --git a/src/CoursEndingBundle/Model/Map/FormTableMap.php b/src/CoursEndingBundle/Model/Map/FormTableMap.php
deleted file mode 100644
index eb06c10..0000000
--- a/src/CoursEndingBundle/Model/Map/FormTableMap.php
+++ /dev/null
@@ -1,445 +0,0 @@
- array('Id', 'Label', 'Active', 'CreatedAt', 'UpdatedAt', ),
- self::TYPE_CAMELNAME => array('id', 'label', 'active', 'createdAt', 'updatedAt', ),
- self::TYPE_COLNAME => array(FormTableMap::COL_ID, FormTableMap::COL_LABEL, FormTableMap::COL_ACTIVE, FormTableMap::COL_CREATED_AT, FormTableMap::COL_UPDATED_AT, ),
- self::TYPE_FIELDNAME => array('id', 'label', 'active', 'created_at', 'updated_at', ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, )
- );
-
- /**
- * holds an array of keys for quick access to the fieldnames array
- *
- * first dimension keys are the type constants
- * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
- */
- protected static $fieldKeys = array (
- self::TYPE_PHPNAME => array('Id' => 0, 'Label' => 1, 'Active' => 2, 'CreatedAt' => 3, 'UpdatedAt' => 4, ),
- self::TYPE_CAMELNAME => array('id' => 0, 'label' => 1, 'active' => 2, 'createdAt' => 3, 'updatedAt' => 4, ),
- self::TYPE_COLNAME => array(FormTableMap::COL_ID => 0, FormTableMap::COL_LABEL => 1, FormTableMap::COL_ACTIVE => 2, FormTableMap::COL_CREATED_AT => 3, FormTableMap::COL_UPDATED_AT => 4, ),
- self::TYPE_FIELDNAME => array('id' => 0, 'label' => 1, 'active' => 2, 'created_at' => 3, 'updated_at' => 4, ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, )
- );
-
- /**
- * Initialize the table attributes and columns
- * Relations are not initialized by this method since they are lazy loaded
- *
- * @return void
- * @throws PropelException
- */
- public function initialize()
- {
- // attributes
- $this->setName('form');
- $this->setPhpName('Form');
- $this->setIdentifierQuoting(false);
- $this->setClassName('\\CoursEndingBundle\\Model\\Form');
- $this->setPackage('src.CoursEndingBundle.Model');
- $this->setUseIdGenerator(true);
- // columns
- $this->addPrimaryKey('id', 'Id', 'INTEGER', true, null, null);
- $this->addColumn('label', 'Label', 'VARCHAR', true, 255, null);
- $this->addColumn('active', 'Active', 'BOOLEAN', true, 1, null);
- $this->addColumn('created_at', 'CreatedAt', 'TIMESTAMP', false, null, null);
- $this->addColumn('updated_at', 'UpdatedAt', 'TIMESTAMP', false, null, null);
- } // initialize()
-
- /**
- * Build the RelationMap objects for this table relationships
- */
- public function buildRelations()
- {
- } // buildRelations()
-
- /**
- *
- * Gets the list of behaviors registered for this table
- *
- * @return array Associative array (name => parameters) of behaviors
- */
- public function getBehaviors()
- {
- return array(
- 'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', 'disable_created_at' => 'false', 'disable_updated_at' => 'false', ),
- );
- } // getBehaviors()
-
- /**
- * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table.
- *
- * For tables with a single-column primary key, that simple pkey value will be returned. For tables with
- * a multi-column primary key, a serialize()d version of the primary key will be returned.
- *
- * @param array $row resultset row.
- * @param int $offset The 0-based offset for reading from the resultset row.
- * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME
- * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM
- *
- * @return string The primary key hash of the row
- */
- public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM)
- {
- // If the PK cannot be derived from the row, return NULL.
- if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null) {
- return null;
- }
-
- return null === $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] || is_scalar($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]) || is_callable([$row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], '__toString']) ? (string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] : $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)];
- }
-
- /**
- * Retrieves the primary key from the DB resultset row
- * For tables with a single-column primary key, that simple pkey value will be returned. For tables with
- * a multi-column primary key, an array of the primary key columns will be returned.
- *
- * @param array $row resultset row.
- * @param int $offset The 0-based offset for reading from the resultset row.
- * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME
- * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM
- *
- * @return mixed The primary key of the row
- */
- public static function getPrimaryKeyFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM)
- {
- return (int) $row[
- $indexType == TableMap::TYPE_NUM
- ? 0 + $offset
- : self::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)
- ];
- }
-
- /**
- * The class that the tableMap will make instances of.
- *
- * If $withPrefix is true, the returned path
- * uses a dot-path notation which is translated into a path
- * relative to a location on the PHP include_path.
- * (e.g. path.to.MyClass -> 'path/to/MyClass.php')
- *
- * @param boolean $withPrefix Whether or not to return the path with the class name
- * @return string path.to.ClassName
- */
- public static function getOMClass($withPrefix = true)
- {
- return $withPrefix ? FormTableMap::CLASS_DEFAULT : FormTableMap::OM_CLASS;
- }
-
- /**
- * Populates an object of the default type or an object that inherit from the default.
- *
- * @param array $row row returned by DataFetcher->fetch().
- * @param int $offset The 0-based offset for reading from the resultset row.
- * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType().
- One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME
- * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM.
- *
- * @throws PropelException Any exceptions caught during processing will be
- * rethrown wrapped into a PropelException.
- * @return array (Form object, last column rank)
- */
- public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM)
- {
- $key = FormTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType);
- if (null !== ($obj = FormTableMap::getInstanceFromPool($key))) {
- // We no longer rehydrate the object, since this can cause data loss.
- // See http://www.propelorm.org/ticket/509
- // $obj->hydrate($row, $offset, true); // rehydrate
- $col = $offset + FormTableMap::NUM_HYDRATE_COLUMNS;
- } else {
- $cls = FormTableMap::OM_CLASS;
- /** @var Form $obj */
- $obj = new $cls();
- $col = $obj->hydrate($row, $offset, false, $indexType);
- FormTableMap::addInstanceToPool($obj, $key);
- }
-
- return array($obj, $col);
- }
-
- /**
- * The returned array will contain objects of the default type or
- * objects that inherit from the default.
- *
- * @param DataFetcherInterface $dataFetcher
- * @return array
- * @throws PropelException Any exceptions caught during processing will be
- * rethrown wrapped into a PropelException.
- */
- public static function populateObjects(DataFetcherInterface $dataFetcher)
- {
- $results = array();
-
- // set the class once to avoid overhead in the loop
- $cls = static::getOMClass(false);
- // populate the object(s)
- while ($row = $dataFetcher->fetch()) {
- $key = FormTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType());
- if (null !== ($obj = FormTableMap::getInstanceFromPool($key))) {
- // We no longer rehydrate the object, since this can cause data loss.
- // See http://www.propelorm.org/ticket/509
- // $obj->hydrate($row, 0, true); // rehydrate
- $results[] = $obj;
- } else {
- /** @var Form $obj */
- $obj = new $cls();
- $obj->hydrate($row);
- $results[] = $obj;
- FormTableMap::addInstanceToPool($obj, $key);
- } // if key exists
- }
-
- return $results;
- }
- /**
- * Add all the columns needed to create a new object.
- *
- * Note: any columns that were marked with lazyLoad="true" in the
- * XML schema will not be added to the select list and only loaded
- * on demand.
- *
- * @param Criteria $criteria object containing the columns to add.
- * @param string $alias optional table alias
- * @throws PropelException Any exceptions caught during processing will be
- * rethrown wrapped into a PropelException.
- */
- public static function addSelectColumns(Criteria $criteria, $alias = null)
- {
- if (null === $alias) {
- $criteria->addSelectColumn(FormTableMap::COL_ID);
- $criteria->addSelectColumn(FormTableMap::COL_LABEL);
- $criteria->addSelectColumn(FormTableMap::COL_ACTIVE);
- $criteria->addSelectColumn(FormTableMap::COL_CREATED_AT);
- $criteria->addSelectColumn(FormTableMap::COL_UPDATED_AT);
- } else {
- $criteria->addSelectColumn($alias . '.id');
- $criteria->addSelectColumn($alias . '.label');
- $criteria->addSelectColumn($alias . '.active');
- $criteria->addSelectColumn($alias . '.created_at');
- $criteria->addSelectColumn($alias . '.updated_at');
- }
- }
-
- /**
- * Returns the TableMap related to this object.
- * This method is not needed for general use but a specific application could have a need.
- * @return TableMap
- * @throws PropelException Any exceptions caught during processing will be
- * rethrown wrapped into a PropelException.
- */
- public static function getTableMap()
- {
- return Propel::getServiceContainer()->getDatabaseMap(FormTableMap::DATABASE_NAME)->getTable(FormTableMap::TABLE_NAME);
- }
-
- /**
- * Add a TableMap instance to the database for this tableMap class.
- */
- public static function buildTableMap()
- {
- $dbMap = Propel::getServiceContainer()->getDatabaseMap(FormTableMap::DATABASE_NAME);
- if (!$dbMap->hasTable(FormTableMap::TABLE_NAME)) {
- $dbMap->addTableObject(new FormTableMap());
- }
- }
-
- /**
- * Performs a DELETE on the database, given a Form or Criteria object OR a primary key value.
- *
- * @param mixed $values Criteria or Form object or primary key or array of primary keys
- * which is used to create the DELETE statement
- * @param ConnectionInterface $con the connection to use
- * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows
- * if supported by native driver or if emulated using Propel.
- * @throws PropelException Any exceptions caught during processing will be
- * rethrown wrapped into a PropelException.
- */
- public static function doDelete($values, ConnectionInterface $con = null)
- {
- if (null === $con) {
- $con = Propel::getServiceContainer()->getWriteConnection(FormTableMap::DATABASE_NAME);
- }
-
- if ($values instanceof Criteria) {
- // rename for clarity
- $criteria = $values;
- } elseif ($values instanceof \CoursEndingBundle\Model\Form) { // it's a model object
- // create criteria based on pk values
- $criteria = $values->buildPkeyCriteria();
- } else { // it's a primary key, or an array of pks
- $criteria = new Criteria(FormTableMap::DATABASE_NAME);
- $criteria->add(FormTableMap::COL_ID, (array) $values, Criteria::IN);
- }
-
- $query = FormQuery::create()->mergeWith($criteria);
-
- if ($values instanceof Criteria) {
- FormTableMap::clearInstancePool();
- } elseif (!is_object($values)) { // it's a primary key, or an array of pks
- foreach ((array) $values as $singleval) {
- FormTableMap::removeInstanceFromPool($singleval);
- }
- }
-
- return $query->delete($con);
- }
-
- /**
- * Deletes all rows from the form table.
- *
- * @param ConnectionInterface $con the connection to use
- * @return int The number of affected rows (if supported by underlying database driver).
- */
- public static function doDeleteAll(ConnectionInterface $con = null)
- {
- return FormQuery::create()->doDeleteAll($con);
- }
-
- /**
- * Performs an INSERT on the database, given a Form or Criteria object.
- *
- * @param mixed $criteria Criteria or Form object containing data that is used to create the INSERT statement.
- * @param ConnectionInterface $con the ConnectionInterface connection to use
- * @return mixed The new primary key.
- * @throws PropelException Any exceptions caught during processing will be
- * rethrown wrapped into a PropelException.
- */
- public static function doInsert($criteria, ConnectionInterface $con = null)
- {
- if (null === $con) {
- $con = Propel::getServiceContainer()->getWriteConnection(FormTableMap::DATABASE_NAME);
- }
-
- if ($criteria instanceof Criteria) {
- $criteria = clone $criteria; // rename for clarity
- } else {
- $criteria = $criteria->buildCriteria(); // build Criteria from Form object
- }
-
- if ($criteria->containsKey(FormTableMap::COL_ID) && $criteria->keyContainsValue(FormTableMap::COL_ID) ) {
- throw new PropelException('Cannot insert a value for auto-increment primary key ('.FormTableMap::COL_ID.')');
- }
-
-
- // Set the correct dbName
- $query = FormQuery::create()->mergeWith($criteria);
-
- // use transaction because $criteria could contain info
- // for more than one table (I guess, conceivably)
- return $con->transaction(function () use ($con, $query) {
- return $query->doInsert($con);
- });
- }
-
-} // FormTableMap
-// This is the static code needed to register the TableMap for this table with the main Propel class.
-//
-FormTableMap::buildTableMap();
diff --git a/src/CoursEndingBundle/Model/Question.php b/src/CoursEndingBundle/Model/Question.php
new file mode 100644
index 0000000..c1b2356
--- /dev/null
+++ b/src/CoursEndingBundle/Model/Question.php
@@ -0,0 +1,20 @@
+