diff --git a/core/lib/Thelia/Action/Template.php b/core/lib/Thelia/Action/Template.php
index 18174dd26..101332a75 100644
--- a/core/lib/Thelia/Action/Template.php
+++ b/core/lib/Thelia/Action/Template.php
@@ -135,6 +135,47 @@ class Template extends BaseAction implements EventSubscriberInterface
}
}
+ /**
+ * Changes position, selecting absolute ou relative change.
+ *
+ * @param CategoryChangePositionEvent $event
+ */
+ public function updateAttributePosition(UpdatePositionEvent $event)
+ {
+ $attributeTemplate = AttributeTemplateQuery::create()->findPk($event->getObjectId());
+
+ $this->updatePosition($attributeTemplate, $event);
+ }
+
+ /**
+ * Changes position, selecting absolute ou relative change.
+ *
+ * @param CategoryChangePositionEvent $event
+ */
+ public function updateFeaturePosition(UpdatePositionEvent $event)
+ {
+ $featureTemplate = FeatureTemplateQuery::create()->findPk($event->getObjectId());
+
+ $this->updatePosition($featureTemplate, $event);
+ }
+
+ protected function updatePosition($object, UpdatePositionEvent $event)
+ {
+ if (null !== $object) {
+
+ $object->setDispatcher($this->getDispatcher());
+
+ $mode = $event->getMode();
+
+ if ($mode == UpdatePositionEvent::POSITION_ABSOLUTE)
+ $object->changeAbsolutePosition($event->getPosition());
+ else if ($mode == UpdatePositionEvent::POSITION_UP)
+ $object->movePositionUp();
+ else if ($mode == UpdatePositionEvent::POSITION_DOWN)
+ $object->movePositionDown();
+ }
+ }
+
public function deleteAttribute(TemplateDeleteAttributeEvent $event) {
$attribute_template = AttributeTemplateQuery::create()
@@ -185,6 +226,9 @@ class Template extends BaseAction implements EventSubscriberInterface
TheliaEvents::TEMPLATE_ADD_FEATURE => array("addFeature", 128),
TheliaEvents::TEMPLATE_DELETE_FEATURE => array("deleteFeature", 128),
+ TheliaEvents::TEMPLATE_CHANGE_ATTRIBUTE_POSITION => array('updateAttributePosition', 128),
+ TheliaEvents::TEMPLATE_CHANGE_FEATURE_POSITION => array('updateFeaturePosition', 128),
+
);
}
}
\ No newline at end of file
diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml
index f345b0b5a..f35d9a545 100755
--- a/core/lib/Thelia/Config/Resources/routing/admin.xml
+++ b/core/lib/Thelia/Config/Resources/routing/admin.xml
@@ -353,6 +353,10 @@
+ * $query->filterByPosition(1234); // WHERE position = 1234
+ * $query->filterByPosition(array(12, 34)); // WHERE position IN (12, 34)
+ * $query->filterByPosition(array('min' => 12)); // WHERE position > 12
+ *
+ *
+ * @param mixed $position 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 ChildAttributeTemplateQuery The current query, for fluid interface
+ */
+ public function filterByPosition($position = null, $comparison = null)
+ {
+ if (is_array($position)) {
+ $useMinMax = false;
+ if (isset($position['min'])) {
+ $this->addUsingAlias(AttributeTemplateTableMap::POSITION, $position['min'], Criteria::GREATER_EQUAL);
+ $useMinMax = true;
+ }
+ if (isset($position['max'])) {
+ $this->addUsingAlias(AttributeTemplateTableMap::POSITION, $position['max'], Criteria::LESS_EQUAL);
+ $useMinMax = true;
+ }
+ if ($useMinMax) {
+ return $this;
+ }
+ if (null === $comparison) {
+ $comparison = Criteria::IN;
+ }
+ }
+
+ return $this->addUsingAlias(AttributeTemplateTableMap::POSITION, $position, $comparison);
+ }
+
+ /**
+ * Filter the query on the attribute_templatecol column
+ *
+ * Example usage:
+ *
+ * $query->filterByAttributeTemplatecol('fooValue'); // WHERE attribute_templatecol = 'fooValue'
+ * $query->filterByAttributeTemplatecol('%fooValue%'); // WHERE attribute_templatecol LIKE '%fooValue%'
+ *
+ *
+ * @param string $attributeTemplatecol 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 ChildAttributeTemplateQuery The current query, for fluid interface
+ */
+ public function filterByAttributeTemplatecol($attributeTemplatecol = null, $comparison = null)
+ {
+ if (null === $comparison) {
+ if (is_array($attributeTemplatecol)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $attributeTemplatecol)) {
+ $attributeTemplatecol = str_replace('*', '%', $attributeTemplatecol);
+ $comparison = Criteria::LIKE;
+ }
+ }
+
+ return $this->addUsingAlias(AttributeTemplateTableMap::ATTRIBUTE_TEMPLATECOL, $attributeTemplatecol, $comparison);
+ }
+
/**
* Filter the query on the created_at column
*
diff --git a/core/lib/Thelia/Model/Base/FeatureTemplate.php b/core/lib/Thelia/Model/Base/FeatureTemplate.php
index bbccd9251..b8ba55629 100644
--- a/core/lib/Thelia/Model/Base/FeatureTemplate.php
+++ b/core/lib/Thelia/Model/Base/FeatureTemplate.php
@@ -76,6 +76,12 @@ abstract class FeatureTemplate implements ActiveRecordInterface
*/
protected $template_id;
+ /**
+ * The value for the position field.
+ * @var int
+ */
+ protected $position;
+
/**
* The value for the created_at field.
* @var string
@@ -393,6 +399,17 @@ abstract class FeatureTemplate implements ActiveRecordInterface
return $this->template_id;
}
+ /**
+ * Get the [position] column value.
+ *
+ * @return int
+ */
+ public function getPosition()
+ {
+
+ return $this->position;
+ }
+
/**
* Get the [optionally formatted] temporal [created_at] column value.
*
@@ -504,6 +521,27 @@ abstract class FeatureTemplate implements ActiveRecordInterface
return $this;
} // setTemplateId()
+ /**
+ * Set the value of [position] column.
+ *
+ * @param int $v new value
+ * @return \Thelia\Model\FeatureTemplate The current object (for fluent API support)
+ */
+ public function setPosition($v)
+ {
+ if ($v !== null) {
+ $v = (int) $v;
+ }
+
+ if ($this->position !== $v) {
+ $this->position = $v;
+ $this->modifiedColumns[] = FeatureTemplateTableMap::POSITION;
+ }
+
+
+ return $this;
+ } // setPosition()
+
/**
* Sets the value of [created_at] column to a normalized version of the date/time value specified.
*
@@ -592,13 +630,16 @@ abstract class FeatureTemplate implements ActiveRecordInterface
$col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : FeatureTemplateTableMap::translateFieldName('TemplateId', TableMap::TYPE_PHPNAME, $indexType)];
$this->template_id = (null !== $col) ? (int) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : FeatureTemplateTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : FeatureTemplateTableMap::translateFieldName('Position', TableMap::TYPE_PHPNAME, $indexType)];
+ $this->position = (null !== $col) ? (int) $col : null;
+
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : FeatureTemplateTableMap::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 : FeatureTemplateTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : FeatureTemplateTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
if ($col === '0000-00-00 00:00:00') {
$col = null;
}
@@ -611,7 +652,7 @@ abstract class FeatureTemplate implements ActiveRecordInterface
$this->ensureConsistency();
}
- return $startcol + 5; // 5 = FeatureTemplateTableMap::NUM_HYDRATE_COLUMNS.
+ return $startcol + 6; // 6 = FeatureTemplateTableMap::NUM_HYDRATE_COLUMNS.
} catch (Exception $e) {
throw new PropelException("Error populating \Thelia\Model\FeatureTemplate object", 0, $e);
@@ -867,6 +908,9 @@ abstract class FeatureTemplate implements ActiveRecordInterface
if ($this->isColumnModified(FeatureTemplateTableMap::TEMPLATE_ID)) {
$modifiedColumns[':p' . $index++] = 'TEMPLATE_ID';
}
+ if ($this->isColumnModified(FeatureTemplateTableMap::POSITION)) {
+ $modifiedColumns[':p' . $index++] = 'POSITION';
+ }
if ($this->isColumnModified(FeatureTemplateTableMap::CREATED_AT)) {
$modifiedColumns[':p' . $index++] = 'CREATED_AT';
}
@@ -893,6 +937,9 @@ abstract class FeatureTemplate implements ActiveRecordInterface
case 'TEMPLATE_ID':
$stmt->bindValue($identifier, $this->template_id, PDO::PARAM_INT);
break;
+ case 'POSITION':
+ $stmt->bindValue($identifier, $this->position, 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;
@@ -971,9 +1018,12 @@ abstract class FeatureTemplate implements ActiveRecordInterface
return $this->getTemplateId();
break;
case 3:
- return $this->getCreatedAt();
+ return $this->getPosition();
break;
case 4:
+ return $this->getCreatedAt();
+ break;
+ case 5:
return $this->getUpdatedAt();
break;
default:
@@ -1008,8 +1058,9 @@ abstract class FeatureTemplate implements ActiveRecordInterface
$keys[0] => $this->getId(),
$keys[1] => $this->getFeatureId(),
$keys[2] => $this->getTemplateId(),
- $keys[3] => $this->getCreatedAt(),
- $keys[4] => $this->getUpdatedAt(),
+ $keys[3] => $this->getPosition(),
+ $keys[4] => $this->getCreatedAt(),
+ $keys[5] => $this->getUpdatedAt(),
);
$virtualColumns = $this->virtualColumns;
foreach($virtualColumns as $key => $virtualColumn)
@@ -1068,9 +1119,12 @@ abstract class FeatureTemplate implements ActiveRecordInterface
$this->setTemplateId($value);
break;
case 3:
- $this->setCreatedAt($value);
+ $this->setPosition($value);
break;
case 4:
+ $this->setCreatedAt($value);
+ break;
+ case 5:
$this->setUpdatedAt($value);
break;
} // switch()
@@ -1100,8 +1154,9 @@ abstract class FeatureTemplate implements ActiveRecordInterface
if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]);
if (array_key_exists($keys[1], $arr)) $this->setFeatureId($arr[$keys[1]]);
if (array_key_exists($keys[2], $arr)) $this->setTemplateId($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]]);
+ if (array_key_exists($keys[3], $arr)) $this->setPosition($arr[$keys[3]]);
+ if (array_key_exists($keys[4], $arr)) $this->setCreatedAt($arr[$keys[4]]);
+ if (array_key_exists($keys[5], $arr)) $this->setUpdatedAt($arr[$keys[5]]);
}
/**
@@ -1116,6 +1171,7 @@ abstract class FeatureTemplate implements ActiveRecordInterface
if ($this->isColumnModified(FeatureTemplateTableMap::ID)) $criteria->add(FeatureTemplateTableMap::ID, $this->id);
if ($this->isColumnModified(FeatureTemplateTableMap::FEATURE_ID)) $criteria->add(FeatureTemplateTableMap::FEATURE_ID, $this->feature_id);
if ($this->isColumnModified(FeatureTemplateTableMap::TEMPLATE_ID)) $criteria->add(FeatureTemplateTableMap::TEMPLATE_ID, $this->template_id);
+ if ($this->isColumnModified(FeatureTemplateTableMap::POSITION)) $criteria->add(FeatureTemplateTableMap::POSITION, $this->position);
if ($this->isColumnModified(FeatureTemplateTableMap::CREATED_AT)) $criteria->add(FeatureTemplateTableMap::CREATED_AT, $this->created_at);
if ($this->isColumnModified(FeatureTemplateTableMap::UPDATED_AT)) $criteria->add(FeatureTemplateTableMap::UPDATED_AT, $this->updated_at);
@@ -1183,6 +1239,7 @@ abstract class FeatureTemplate implements ActiveRecordInterface
{
$copyObj->setFeatureId($this->getFeatureId());
$copyObj->setTemplateId($this->getTemplateId());
+ $copyObj->setPosition($this->getPosition());
$copyObj->setCreatedAt($this->getCreatedAt());
$copyObj->setUpdatedAt($this->getUpdatedAt());
if ($makeNew) {
@@ -1323,6 +1380,7 @@ abstract class FeatureTemplate implements ActiveRecordInterface
$this->id = null;
$this->feature_id = null;
$this->template_id = null;
+ $this->position = null;
$this->created_at = null;
$this->updated_at = null;
$this->alreadyInSave = false;
diff --git a/core/lib/Thelia/Model/Base/FeatureTemplateQuery.php b/core/lib/Thelia/Model/Base/FeatureTemplateQuery.php
index c99c1305f..cccad15ae 100644
--- a/core/lib/Thelia/Model/Base/FeatureTemplateQuery.php
+++ b/core/lib/Thelia/Model/Base/FeatureTemplateQuery.php
@@ -24,12 +24,14 @@ use Thelia\Model\Map\FeatureTemplateTableMap;
* @method ChildFeatureTemplateQuery orderById($order = Criteria::ASC) Order by the id column
* @method ChildFeatureTemplateQuery orderByFeatureId($order = Criteria::ASC) Order by the feature_id column
* @method ChildFeatureTemplateQuery orderByTemplateId($order = Criteria::ASC) Order by the template_id column
+ * @method ChildFeatureTemplateQuery orderByPosition($order = Criteria::ASC) Order by the position column
* @method ChildFeatureTemplateQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column
* @method ChildFeatureTemplateQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column
*
* @method ChildFeatureTemplateQuery groupById() Group by the id column
* @method ChildFeatureTemplateQuery groupByFeatureId() Group by the feature_id column
* @method ChildFeatureTemplateQuery groupByTemplateId() Group by the template_id column
+ * @method ChildFeatureTemplateQuery groupByPosition() Group by the position column
* @method ChildFeatureTemplateQuery groupByCreatedAt() Group by the created_at column
* @method ChildFeatureTemplateQuery groupByUpdatedAt() Group by the updated_at column
*
@@ -51,12 +53,14 @@ use Thelia\Model\Map\FeatureTemplateTableMap;
* @method ChildFeatureTemplate findOneById(int $id) Return the first ChildFeatureTemplate filtered by the id column
* @method ChildFeatureTemplate findOneByFeatureId(int $feature_id) Return the first ChildFeatureTemplate filtered by the feature_id column
* @method ChildFeatureTemplate findOneByTemplateId(int $template_id) Return the first ChildFeatureTemplate filtered by the template_id column
+ * @method ChildFeatureTemplate findOneByPosition(int $position) Return the first ChildFeatureTemplate filtered by the position column
* @method ChildFeatureTemplate findOneByCreatedAt(string $created_at) Return the first ChildFeatureTemplate filtered by the created_at column
* @method ChildFeatureTemplate findOneByUpdatedAt(string $updated_at) Return the first ChildFeatureTemplate filtered by the updated_at column
*
* @method array findById(int $id) Return ChildFeatureTemplate objects filtered by the id column
* @method array findByFeatureId(int $feature_id) Return ChildFeatureTemplate objects filtered by the feature_id column
* @method array findByTemplateId(int $template_id) Return ChildFeatureTemplate objects filtered by the template_id column
+ * @method array findByPosition(int $position) Return ChildFeatureTemplate objects filtered by the position column
* @method array findByCreatedAt(string $created_at) Return ChildFeatureTemplate objects filtered by the created_at column
* @method array findByUpdatedAt(string $updated_at) Return ChildFeatureTemplate objects filtered by the updated_at column
*
@@ -147,7 +151,7 @@ abstract class FeatureTemplateQuery extends ModelCriteria
*/
protected function findPkSimple($key, $con)
{
- $sql = 'SELECT ID, FEATURE_ID, TEMPLATE_ID, CREATED_AT, UPDATED_AT FROM feature_template WHERE ID = :p0';
+ $sql = 'SELECT ID, FEATURE_ID, TEMPLATE_ID, POSITION, CREATED_AT, UPDATED_AT FROM feature_template WHERE ID = :p0';
try {
$stmt = $con->prepare($sql);
$stmt->bindValue(':p0', $key, PDO::PARAM_INT);
@@ -363,6 +367,47 @@ abstract class FeatureTemplateQuery extends ModelCriteria
return $this->addUsingAlias(FeatureTemplateTableMap::TEMPLATE_ID, $templateId, $comparison);
}
+ /**
+ * Filter the query on the position column
+ *
+ * Example usage:
+ *
+ * $query->filterByPosition(1234); // WHERE position = 1234
+ * $query->filterByPosition(array(12, 34)); // WHERE position IN (12, 34)
+ * $query->filterByPosition(array('min' => 12)); // WHERE position > 12
+ *
+ *
+ * @param mixed $position 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 ChildFeatureTemplateQuery The current query, for fluid interface
+ */
+ public function filterByPosition($position = null, $comparison = null)
+ {
+ if (is_array($position)) {
+ $useMinMax = false;
+ if (isset($position['min'])) {
+ $this->addUsingAlias(FeatureTemplateTableMap::POSITION, $position['min'], Criteria::GREATER_EQUAL);
+ $useMinMax = true;
+ }
+ if (isset($position['max'])) {
+ $this->addUsingAlias(FeatureTemplateTableMap::POSITION, $position['max'], Criteria::LESS_EQUAL);
+ $useMinMax = true;
+ }
+ if ($useMinMax) {
+ return $this;
+ }
+ if (null === $comparison) {
+ $comparison = Criteria::IN;
+ }
+ }
+
+ return $this->addUsingAlias(FeatureTemplateTableMap::POSITION, $position, $comparison);
+ }
+
/**
* Filter the query on the created_at column
*
diff --git a/core/lib/Thelia/Model/FeatureTemplate.php b/core/lib/Thelia/Model/FeatureTemplate.php
index 47a33027a..3f28a3a10 100644
--- a/core/lib/Thelia/Model/FeatureTemplate.php
+++ b/core/lib/Thelia/Model/FeatureTemplate.php
@@ -3,8 +3,30 @@
namespace Thelia\Model;
use Thelia\Model\Base\FeatureTemplate as BaseFeatureTemplate;
+use Propel\Runtime\Connection\ConnectionInterface;
- class FeatureTemplate extends BaseFeatureTemplate
+class FeatureTemplate extends BaseFeatureTemplate
{
+ use \Thelia\Model\Tools\ModelEventDispatcherTrait;
+ use \Thelia\Model\Tools\PositionManagementTrait;
+
+ /**
+ * Calculate next position relative to our template
+ */
+ protected function addCriteriaToPositionQuery($query)
+ {
+ $query->filterByTemplateId($this->getTemplateId());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function preInsert(ConnectionInterface $con = null)
+ {
+ // Set the current position for the new object
+ $this->setPosition($this->getNextPosition());
+
+ return true;
+ }
}
diff --git a/core/lib/Thelia/Model/Map/AttributeTemplateTableMap.php b/core/lib/Thelia/Model/Map/AttributeTemplateTableMap.php
index 04d3a9a4a..c0df89d8f 100644
--- a/core/lib/Thelia/Model/Map/AttributeTemplateTableMap.php
+++ b/core/lib/Thelia/Model/Map/AttributeTemplateTableMap.php
@@ -57,7 +57,7 @@ class AttributeTemplateTableMap extends TableMap
/**
* The total number of columns
*/
- const NUM_COLUMNS = 5;
+ const NUM_COLUMNS = 7;
/**
* The number of lazy-loaded columns
@@ -67,7 +67,7 @@ class AttributeTemplateTableMap extends TableMap
/**
* The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS)
*/
- const NUM_HYDRATE_COLUMNS = 5;
+ const NUM_HYDRATE_COLUMNS = 7;
/**
* the column name for the ID field
@@ -84,6 +84,16 @@ class AttributeTemplateTableMap extends TableMap
*/
const TEMPLATE_ID = 'attribute_template.TEMPLATE_ID';
+ /**
+ * the column name for the POSITION field
+ */
+ const POSITION = 'attribute_template.POSITION';
+
+ /**
+ * the column name for the ATTRIBUTE_TEMPLATECOL field
+ */
+ const ATTRIBUTE_TEMPLATECOL = 'attribute_template.ATTRIBUTE_TEMPLATECOL';
+
/**
* the column name for the CREATED_AT field
*/
@@ -106,12 +116,12 @@ class AttributeTemplateTableMap extends TableMap
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
protected static $fieldNames = array (
- self::TYPE_PHPNAME => array('Id', 'AttributeId', 'TemplateId', 'CreatedAt', 'UpdatedAt', ),
- self::TYPE_STUDLYPHPNAME => array('id', 'attributeId', 'templateId', 'createdAt', 'updatedAt', ),
- self::TYPE_COLNAME => array(AttributeTemplateTableMap::ID, AttributeTemplateTableMap::ATTRIBUTE_ID, AttributeTemplateTableMap::TEMPLATE_ID, AttributeTemplateTableMap::CREATED_AT, AttributeTemplateTableMap::UPDATED_AT, ),
- self::TYPE_RAW_COLNAME => array('ID', 'ATTRIBUTE_ID', 'TEMPLATE_ID', 'CREATED_AT', 'UPDATED_AT', ),
- self::TYPE_FIELDNAME => array('id', 'attribute_id', 'template_id', 'created_at', 'updated_at', ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, )
+ self::TYPE_PHPNAME => array('Id', 'AttributeId', 'TemplateId', 'Position', 'AttributeTemplatecol', 'CreatedAt', 'UpdatedAt', ),
+ self::TYPE_STUDLYPHPNAME => array('id', 'attributeId', 'templateId', 'position', 'attributeTemplatecol', 'createdAt', 'updatedAt', ),
+ self::TYPE_COLNAME => array(AttributeTemplateTableMap::ID, AttributeTemplateTableMap::ATTRIBUTE_ID, AttributeTemplateTableMap::TEMPLATE_ID, AttributeTemplateTableMap::POSITION, AttributeTemplateTableMap::ATTRIBUTE_TEMPLATECOL, AttributeTemplateTableMap::CREATED_AT, AttributeTemplateTableMap::UPDATED_AT, ),
+ self::TYPE_RAW_COLNAME => array('ID', 'ATTRIBUTE_ID', 'TEMPLATE_ID', 'POSITION', 'ATTRIBUTE_TEMPLATECOL', 'CREATED_AT', 'UPDATED_AT', ),
+ self::TYPE_FIELDNAME => array('id', 'attribute_id', 'template_id', 'position', 'attribute_templatecol', 'created_at', 'updated_at', ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, )
);
/**
@@ -121,12 +131,12 @@ class AttributeTemplateTableMap extends TableMap
* e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
*/
protected static $fieldKeys = array (
- self::TYPE_PHPNAME => array('Id' => 0, 'AttributeId' => 1, 'TemplateId' => 2, 'CreatedAt' => 3, 'UpdatedAt' => 4, ),
- self::TYPE_STUDLYPHPNAME => array('id' => 0, 'attributeId' => 1, 'templateId' => 2, 'createdAt' => 3, 'updatedAt' => 4, ),
- self::TYPE_COLNAME => array(AttributeTemplateTableMap::ID => 0, AttributeTemplateTableMap::ATTRIBUTE_ID => 1, AttributeTemplateTableMap::TEMPLATE_ID => 2, AttributeTemplateTableMap::CREATED_AT => 3, AttributeTemplateTableMap::UPDATED_AT => 4, ),
- self::TYPE_RAW_COLNAME => array('ID' => 0, 'ATTRIBUTE_ID' => 1, 'TEMPLATE_ID' => 2, 'CREATED_AT' => 3, 'UPDATED_AT' => 4, ),
- self::TYPE_FIELDNAME => array('id' => 0, 'attribute_id' => 1, 'template_id' => 2, 'created_at' => 3, 'updated_at' => 4, ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, )
+ self::TYPE_PHPNAME => array('Id' => 0, 'AttributeId' => 1, 'TemplateId' => 2, 'Position' => 3, 'AttributeTemplatecol' => 4, 'CreatedAt' => 5, 'UpdatedAt' => 6, ),
+ self::TYPE_STUDLYPHPNAME => array('id' => 0, 'attributeId' => 1, 'templateId' => 2, 'position' => 3, 'attributeTemplatecol' => 4, 'createdAt' => 5, 'updatedAt' => 6, ),
+ self::TYPE_COLNAME => array(AttributeTemplateTableMap::ID => 0, AttributeTemplateTableMap::ATTRIBUTE_ID => 1, AttributeTemplateTableMap::TEMPLATE_ID => 2, AttributeTemplateTableMap::POSITION => 3, AttributeTemplateTableMap::ATTRIBUTE_TEMPLATECOL => 4, AttributeTemplateTableMap::CREATED_AT => 5, AttributeTemplateTableMap::UPDATED_AT => 6, ),
+ self::TYPE_RAW_COLNAME => array('ID' => 0, 'ATTRIBUTE_ID' => 1, 'TEMPLATE_ID' => 2, 'POSITION' => 3, 'ATTRIBUTE_TEMPLATECOL' => 4, 'CREATED_AT' => 5, 'UPDATED_AT' => 6, ),
+ self::TYPE_FIELDNAME => array('id' => 0, 'attribute_id' => 1, 'template_id' => 2, 'position' => 3, 'attribute_templatecol' => 4, 'created_at' => 5, 'updated_at' => 6, ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, )
);
/**
@@ -149,6 +159,8 @@ class AttributeTemplateTableMap extends TableMap
$this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null);
$this->addForeignKey('ATTRIBUTE_ID', 'AttributeId', 'INTEGER', 'attribute', 'ID', true, null, null);
$this->addForeignKey('TEMPLATE_ID', 'TemplateId', 'INTEGER', 'template', 'ID', true, null, null);
+ $this->addColumn('POSITION', 'Position', 'INTEGER', false, null, null);
+ $this->addColumn('ATTRIBUTE_TEMPLATECOL', 'AttributeTemplatecol', 'VARCHAR', false, 45, null);
$this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null);
$this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null);
} // initialize()
@@ -316,12 +328,16 @@ class AttributeTemplateTableMap extends TableMap
$criteria->addSelectColumn(AttributeTemplateTableMap::ID);
$criteria->addSelectColumn(AttributeTemplateTableMap::ATTRIBUTE_ID);
$criteria->addSelectColumn(AttributeTemplateTableMap::TEMPLATE_ID);
+ $criteria->addSelectColumn(AttributeTemplateTableMap::POSITION);
+ $criteria->addSelectColumn(AttributeTemplateTableMap::ATTRIBUTE_TEMPLATECOL);
$criteria->addSelectColumn(AttributeTemplateTableMap::CREATED_AT);
$criteria->addSelectColumn(AttributeTemplateTableMap::UPDATED_AT);
} else {
$criteria->addSelectColumn($alias . '.ID');
$criteria->addSelectColumn($alias . '.ATTRIBUTE_ID');
$criteria->addSelectColumn($alias . '.TEMPLATE_ID');
+ $criteria->addSelectColumn($alias . '.POSITION');
+ $criteria->addSelectColumn($alias . '.ATTRIBUTE_TEMPLATECOL');
$criteria->addSelectColumn($alias . '.CREATED_AT');
$criteria->addSelectColumn($alias . '.UPDATED_AT');
}
diff --git a/core/lib/Thelia/Model/Map/FeatureTableMap.php b/core/lib/Thelia/Model/Map/FeatureTableMap.php
index 067a242a3..c6a29e2f4 100644
--- a/core/lib/Thelia/Model/Map/FeatureTableMap.php
+++ b/core/lib/Thelia/Model/Map/FeatureTableMap.php
@@ -156,7 +156,7 @@ class FeatureTableMap extends TableMap
// columns
$this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null);
$this->addColumn('VISIBLE', 'Visible', 'INTEGER', false, null, 0);
- $this->addColumn('POSITION', 'Position', 'INTEGER', true, null, null);
+ $this->addColumn('POSITION', 'Position', 'INTEGER', false, null, null);
$this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null);
$this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null);
} // initialize()
diff --git a/core/lib/Thelia/Model/Map/FeatureTemplateTableMap.php b/core/lib/Thelia/Model/Map/FeatureTemplateTableMap.php
index abb1a98b7..68f3b9a24 100644
--- a/core/lib/Thelia/Model/Map/FeatureTemplateTableMap.php
+++ b/core/lib/Thelia/Model/Map/FeatureTemplateTableMap.php
@@ -57,7 +57,7 @@ class FeatureTemplateTableMap extends TableMap
/**
* The total number of columns
*/
- const NUM_COLUMNS = 5;
+ const NUM_COLUMNS = 6;
/**
* The number of lazy-loaded columns
@@ -67,7 +67,7 @@ class FeatureTemplateTableMap extends TableMap
/**
* The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS)
*/
- const NUM_HYDRATE_COLUMNS = 5;
+ const NUM_HYDRATE_COLUMNS = 6;
/**
* the column name for the ID field
@@ -84,6 +84,11 @@ class FeatureTemplateTableMap extends TableMap
*/
const TEMPLATE_ID = 'feature_template.TEMPLATE_ID';
+ /**
+ * the column name for the POSITION field
+ */
+ const POSITION = 'feature_template.POSITION';
+
/**
* the column name for the CREATED_AT field
*/
@@ -106,12 +111,12 @@ class FeatureTemplateTableMap extends TableMap
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
protected static $fieldNames = array (
- self::TYPE_PHPNAME => array('Id', 'FeatureId', 'TemplateId', 'CreatedAt', 'UpdatedAt', ),
- self::TYPE_STUDLYPHPNAME => array('id', 'featureId', 'templateId', 'createdAt', 'updatedAt', ),
- self::TYPE_COLNAME => array(FeatureTemplateTableMap::ID, FeatureTemplateTableMap::FEATURE_ID, FeatureTemplateTableMap::TEMPLATE_ID, FeatureTemplateTableMap::CREATED_AT, FeatureTemplateTableMap::UPDATED_AT, ),
- self::TYPE_RAW_COLNAME => array('ID', 'FEATURE_ID', 'TEMPLATE_ID', 'CREATED_AT', 'UPDATED_AT', ),
- self::TYPE_FIELDNAME => array('id', 'feature_id', 'template_id', 'created_at', 'updated_at', ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, )
+ self::TYPE_PHPNAME => array('Id', 'FeatureId', 'TemplateId', 'Position', 'CreatedAt', 'UpdatedAt', ),
+ self::TYPE_STUDLYPHPNAME => array('id', 'featureId', 'templateId', 'position', 'createdAt', 'updatedAt', ),
+ self::TYPE_COLNAME => array(FeatureTemplateTableMap::ID, FeatureTemplateTableMap::FEATURE_ID, FeatureTemplateTableMap::TEMPLATE_ID, FeatureTemplateTableMap::POSITION, FeatureTemplateTableMap::CREATED_AT, FeatureTemplateTableMap::UPDATED_AT, ),
+ self::TYPE_RAW_COLNAME => array('ID', 'FEATURE_ID', 'TEMPLATE_ID', 'POSITION', 'CREATED_AT', 'UPDATED_AT', ),
+ self::TYPE_FIELDNAME => array('id', 'feature_id', 'template_id', 'position', 'created_at', 'updated_at', ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, )
);
/**
@@ -121,12 +126,12 @@ class FeatureTemplateTableMap extends TableMap
* e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
*/
protected static $fieldKeys = array (
- self::TYPE_PHPNAME => array('Id' => 0, 'FeatureId' => 1, 'TemplateId' => 2, 'CreatedAt' => 3, 'UpdatedAt' => 4, ),
- self::TYPE_STUDLYPHPNAME => array('id' => 0, 'featureId' => 1, 'templateId' => 2, 'createdAt' => 3, 'updatedAt' => 4, ),
- self::TYPE_COLNAME => array(FeatureTemplateTableMap::ID => 0, FeatureTemplateTableMap::FEATURE_ID => 1, FeatureTemplateTableMap::TEMPLATE_ID => 2, FeatureTemplateTableMap::CREATED_AT => 3, FeatureTemplateTableMap::UPDATED_AT => 4, ),
- self::TYPE_RAW_COLNAME => array('ID' => 0, 'FEATURE_ID' => 1, 'TEMPLATE_ID' => 2, 'CREATED_AT' => 3, 'UPDATED_AT' => 4, ),
- self::TYPE_FIELDNAME => array('id' => 0, 'feature_id' => 1, 'template_id' => 2, 'created_at' => 3, 'updated_at' => 4, ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, )
+ self::TYPE_PHPNAME => array('Id' => 0, 'FeatureId' => 1, 'TemplateId' => 2, 'Position' => 3, 'CreatedAt' => 4, 'UpdatedAt' => 5, ),
+ self::TYPE_STUDLYPHPNAME => array('id' => 0, 'featureId' => 1, 'templateId' => 2, 'position' => 3, 'createdAt' => 4, 'updatedAt' => 5, ),
+ self::TYPE_COLNAME => array(FeatureTemplateTableMap::ID => 0, FeatureTemplateTableMap::FEATURE_ID => 1, FeatureTemplateTableMap::TEMPLATE_ID => 2, FeatureTemplateTableMap::POSITION => 3, FeatureTemplateTableMap::CREATED_AT => 4, FeatureTemplateTableMap::UPDATED_AT => 5, ),
+ self::TYPE_RAW_COLNAME => array('ID' => 0, 'FEATURE_ID' => 1, 'TEMPLATE_ID' => 2, 'POSITION' => 3, 'CREATED_AT' => 4, 'UPDATED_AT' => 5, ),
+ self::TYPE_FIELDNAME => array('id' => 0, 'feature_id' => 1, 'template_id' => 2, 'position' => 3, 'created_at' => 4, 'updated_at' => 5, ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, )
);
/**
@@ -149,6 +154,7 @@ class FeatureTemplateTableMap extends TableMap
$this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null);
$this->addForeignKey('FEATURE_ID', 'FeatureId', 'INTEGER', 'feature', 'ID', true, null, null);
$this->addForeignKey('TEMPLATE_ID', 'TemplateId', 'INTEGER', 'template', 'ID', true, null, null);
+ $this->addColumn('POSITION', 'Position', 'INTEGER', false, null, null);
$this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null);
$this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null);
} // initialize()
@@ -316,12 +322,14 @@ class FeatureTemplateTableMap extends TableMap
$criteria->addSelectColumn(FeatureTemplateTableMap::ID);
$criteria->addSelectColumn(FeatureTemplateTableMap::FEATURE_ID);
$criteria->addSelectColumn(FeatureTemplateTableMap::TEMPLATE_ID);
+ $criteria->addSelectColumn(FeatureTemplateTableMap::POSITION);
$criteria->addSelectColumn(FeatureTemplateTableMap::CREATED_AT);
$criteria->addSelectColumn(FeatureTemplateTableMap::UPDATED_AT);
} else {
$criteria->addSelectColumn($alias . '.ID');
$criteria->addSelectColumn($alias . '.FEATURE_ID');
$criteria->addSelectColumn($alias . '.TEMPLATE_ID');
+ $criteria->addSelectColumn($alias . '.POSITION');
$criteria->addSelectColumn($alias . '.CREATED_AT');
$criteria->addSelectColumn($alias . '.UPDATED_AT');
}
diff --git a/core/lib/Thelia/Model/Product.php b/core/lib/Thelia/Model/Product.php
index 6114b8acf..09a9b75db 100755
--- a/core/lib/Thelia/Model/Product.php
+++ b/core/lib/Thelia/Model/Product.php
@@ -89,6 +89,9 @@ class Product extends BaseProduct
public function updateDefaultCategory($defaultCategoryId) {
+ // Allow uncategorized products (NULL instead of 0, to bypass delete cascade constraint)
+ if ($defaultCategoryId <= 0) $defaultCategoryId = NULL;
+
// Update the default category
$productCategory = ProductCategoryQuery::create()
->filterByProductId($this->getId())
diff --git a/core/lib/Thelia/Model/Tools/PositionManagementTrait.php b/core/lib/Thelia/Model/Tools/PositionManagementTrait.php
index 70da830ac..0f08ec638 100644
--- a/core/lib/Thelia/Model/Tools/PositionManagementTrait.php
+++ b/core/lib/Thelia/Model/Tools/PositionManagementTrait.php
@@ -179,6 +179,7 @@ trait PositionManagementTrait {
try {
foreach ($results as $result) {
+
$result->setDispatcher($this->getDispatcher())->setPosition($result->getPosition() + $delta)->save($cnx);
}
diff --git a/install/thelia.sql b/install/thelia.sql
index 503040a88..6dbdd459f 100755
--- a/install/thelia.sql
+++ b/install/thelia.sql
@@ -186,7 +186,7 @@ CREATE TABLE `feature`
(
`id` INTEGER NOT NULL AUTO_INCREMENT,
`visible` INTEGER DEFAULT 0,
- `position` INTEGER NOT NULL,
+ `position` INTEGER,
`created_at` DATETIME,
`updated_at` DATETIME,
PRIMARY KEY (`id`)
@@ -262,6 +262,7 @@ CREATE TABLE `feature_template`
`id` INTEGER NOT NULL AUTO_INCREMENT,
`feature_id` INTEGER NOT NULL,
`template_id` INTEGER NOT NULL,
+ `position` INTEGER,
`created_at` DATETIME,
`updated_at` DATETIME,
PRIMARY KEY (`id`),
@@ -387,6 +388,8 @@ CREATE TABLE `attribute_template`
`id` INTEGER NOT NULL AUTO_INCREMENT,
`attribute_id` INTEGER NOT NULL,
`template_id` INTEGER NOT NULL,
+ `position` INTEGER,
+ `attribute_templatecol` VARCHAR(45),
`created_at` DATETIME,
`updated_at` DATETIME,
PRIMARY KEY (`id`),
diff --git a/local/config/schema.xml b/local/config/schema.xml
index 88a3d2a9d..610fb647a 100755
--- a/local/config/schema.xml
+++ b/local/config/schema.xml
@@ -145,11 +145,11 @@
| {intl l='Attribute title'} | +{intl l='Position'} | + {module_include location='template_attributes_table_header'}{intl l="Actions"} | @@ -44,8 +46,17 @@|||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| {$ID} | -- {$TITLE} + | {$TITLE} | + ++ {admin_position_block + permission="admin.templates.edit" + path={url path="admin/template/update-attribute-position" template_id=$template_id} + url_parameter="attribute_id" + in_place_edit_class="attributePositionChange" + position=$POSITION + id=$ID + } | {module_include location='template_attributes_table_row'} @@ -64,7 +75,7 @@ {elseloop rel="assigned_attributes"}||||||||
| + |
{intl l="This template contains no attributes"}
@@ -93,11 +104,33 @@
}
diff --git a/templates/admin/default/ajax/template-feature-list.html b/templates/admin/default/ajax/template-feature-list.html
index 9505c718a..c864047ba 100644
--- a/templates/admin/default/ajax/template-feature-list.html
+++ b/templates/admin/default/ajax/template-feature-list.html
@@ -33,6 +33,8 @@
| {intl l='Feature title'} | +{intl l='Position'} | + {module_include location='template_features_table_header'}{intl l="Actions"} | @@ -48,6 +50,17 @@ {$TITLE} ++ {admin_position_block + permission="admin.templates.edit" + path={url path="/admin/template/update-feature-position" template_id=$template_id} + url_parameter="feature_id" + in_place_edit_class="featurePositionChange" + position=$POSITION + id=$ID + } + | + {module_include location='template_features_table_row'}@@ -64,7 +77,7 @@ {elseloop rel="assigned_features"} | |||||
| + |
{intl l="This template contains no features"}
@@ -100,5 +113,26 @@
$('a.delete-feature').click(function(ev) {
$('#feature_delete_id').val($(this).data('id'));
});
+
+ {* Inline editing of object position using bootstrap-editable *}
+
+ $('.featurePositionChange').editable({
+ type : 'text',
+ title : '{intl l="Enter new category position"}',
+ mode : 'popup',
+ inputclass : 'input-mini',
+ placement : 'left',
+ success : function(response, newValue) {
+ // The URL template
+ var url = "{url noamp='1' path='/admin/template/update-feature-position' template_id=$template_id feature_id='__ID__' position='__POS__'}";
+
+ // Perform subtitutions
+ url = url.replace('__ID__', $(this).data('id')).replace('__POS__', newValue);
+
+ // Reload the page
+ location.href = url;
+ }
+ });
+
});
diff --git a/templates/admin/default/attribute-edit.html b/templates/admin/default/attribute-edit.html
index 676a99baa..d15703910 100644
--- a/templates/admin/default/attribute-edit.html
+++ b/templates/admin/default/attribute-edit.html
@@ -303,7 +303,7 @@
placement : 'left',
success : function(response, newValue) {
// The URL template
- var url = "{url path='/admin/configuration/attributes-av/update-position' attributeav_id='__ID__' position='__POS__' attribute_id=$attribute_id}";
+ var url = "{url noamp='1' path='/admin/configuration/attributes-av/update-position' attributeav_id='__ID__' position='__POS__' attribute_id=$attribute_id}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id')).replace('__POS__', newValue);
diff --git a/templates/admin/default/attributes.html b/templates/admin/default/attributes.html
index c207d02fa..dd2572a2b 100644
--- a/templates/admin/default/attributes.html
+++ b/templates/admin/default/attributes.html
@@ -312,7 +312,7 @@
placement : 'left',
success : function(response, newValue) {
// The URL template
- var url = "{url path='/admin/configuration/attributes/update-position' attribute_id='__ID__' position='__POS__'}";
+ var url = "{url noamp='1' path='/admin/configuration/attributes/update-position' attribute_id='__ID__' position='__POS__'}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id'))
diff --git a/templates/admin/default/categories.html b/templates/admin/default/categories.html
index 990cafd56..68e84014f 100755
--- a/templates/admin/default/categories.html
+++ b/templates/admin/default/categories.html
@@ -604,7 +604,7 @@
placement : 'left',
success : function(response, newValue) {
// The URL template
- var url = "{url path='/admin/categories/update-position' category_id='__ID__' position='__POS__'}";
+ var url = "{url noamp='1' path='/admin/categories/update-position' category_id='__ID__' position='__POS__'}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id'))
@@ -623,7 +623,7 @@
placement : 'left',
success : function(response, newValue) {
// The URL template
- var url = "{url path='/admin/products/update-position' product_id='__ID__' position='__POS__'}";
+ var url = "{url noamp='1' path='/admin/products/update-position' product_id='__ID__' position='__POS__'}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id'))
diff --git a/templates/admin/default/currencies.html b/templates/admin/default/currencies.html
index 11b52cd24..e53d86277 100644
--- a/templates/admin/default/currencies.html
+++ b/templates/admin/default/currencies.html
@@ -331,7 +331,7 @@
placement : 'left',
success : function(response, newValue) {
// The URL template
- var url = "{url path='/admin/configuration/currencies/update-position' currency_id='__ID__' position='__POS__'}";
+ var url = "{url noamp='1' path='/admin/configuration/currencies/update-position' currency_id='__ID__' position='__POS__'}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id'))
diff --git a/templates/admin/default/feature-edit.html b/templates/admin/default/feature-edit.html
index 41a6276b9..25c2d6017 100644
--- a/templates/admin/default/feature-edit.html
+++ b/templates/admin/default/feature-edit.html
@@ -303,7 +303,7 @@
placement : 'left',
success : function(response, newValue) {
// The URL template
- var url = "{url path='/admin/configuration/features-av/update-position' featureav_id='__ID__' position='__POS__' feature_id=$feature_id}";
+ var url = "{url noamp='1' path='/admin/configuration/features-av/update-position' featureav_id='__ID__' position='__POS__' feature_id=$feature_id}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id')).replace('__POS__', newValue);
diff --git a/templates/admin/default/features.html b/templates/admin/default/features.html
index 683374aa8..f58a19bc2 100644
--- a/templates/admin/default/features.html
+++ b/templates/admin/default/features.html
@@ -312,7 +312,7 @@
placement : 'left',
success : function(response, newValue) {
// The URL template
- var url = "{url path='/admin/configuration/features/update-position' feature_id='__ID__' position='__POS__'}";
+ var url = "{url noamp='1' path='/admin/configuration/features/update-position' feature_id='__ID__' position='__POS__'}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id'))
diff --git a/templates/admin/default/folders.html b/templates/admin/default/folders.html
index 90646c9bc..fcfc32f15 100644
--- a/templates/admin/default/folders.html
+++ b/templates/admin/default/folders.html
@@ -7,8 +7,8 @@
{block name="main-content"}
-
-
+
+
{* include file="includes/folder-breadcrumb.html" *}
{module_include location='folders_top'}
@@ -213,7 +213,7 @@
label="{intl l='ID'}"
}
- |
+ |
{admin_sortable_header
@@ -416,7 +416,7 @@
{form_field form=$form field='default_folder'}
- {/form_field}
+ {/form_field}
{form_field form=$form field='title'}
|
@@ -580,7 +580,7 @@
placement : 'left',
success : function(response, newValue) {
// The URL template
- var url = "{url path='/admin/folders/update-position' folder_id='__ID__' position='__POS__'}";
+ var url = "{url noamp='1' path='/admin/folders/update-position' folder_id='__ID__' position='__POS__'}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id'))
@@ -599,7 +599,7 @@
placement : 'left',
success : function(response, newValue) {
// The URL template
- var url = "{url path='/admin/contents/update-position' content_id='__ID__' position='__POS__'}";
+ var url = "{url noamp='1' path='/admin/contents/update-position' content_id='__ID__' position='__POS__'}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id'))
diff --git a/templates/admin/default/product-edit.html b/templates/admin/default/product-edit.html
index 4464e0071..f1384148b 100644
--- a/templates/admin/default/product-edit.html
+++ b/templates/admin/default/product-edit.html
@@ -221,7 +221,7 @@ $(function() {
placement : 'left',
success : function(response, newValue) {
// The URL template
- var url = "{url path='admin/product/update-accessory-position/' accessory_id='__ID__' product_id=$product_id position='__POS__'}";
+ var url = "{url noamp='1' path='admin/product/update-accessory-position/' accessory_id='__ID__' product_id=$product_id position='__POS__'}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id')).replace('__POS__', newValue);
diff --git a/templates/admin/default/template-edit.html b/templates/admin/default/template-edit.html
index 7b9ddd4aa..8cc6a0e7e 100644
--- a/templates/admin/default/template-edit.html
+++ b/templates/admin/default/template-edit.html
@@ -106,10 +106,14 @@
{block name="javascript-initialization"}
+ {javascripts file='assets/js/bootstrap-editable/bootstrap-editable.js'}
+
+ {/javascripts}
+
{/block}
\ No newline at end of file
diff --git a/templates/admin/default/templates.html b/templates/admin/default/templates.html
index f7e912e9c..839f8b5ed 100644
--- a/templates/admin/default/templates.html
+++ b/templates/admin/default/templates.html
@@ -25,7 +25,7 @@
{if ! empty($general_error) }
{$general_error}
{/if}
-
+
| |||||||