fix kb order

This commit is contained in:
yuri
2016-07-27 10:56:20 +03:00
parent 937aab2b1c
commit 66f686c013
6 changed files with 21 additions and 8 deletions
@@ -49,6 +49,7 @@ class KnowledgeBaseArticle extends \Espo\Core\Controllers\Record
$where = null;
if (!empty($data['where'])) {
$where = $data['where'];
$where = json_decode(json_encode($where), true);
}
$this->getRecordService()->moveUp($data['id'], $where);
@@ -64,6 +65,7 @@ class KnowledgeBaseArticle extends \Espo\Core\Controllers\Record
$where = null;
if (!empty($data['where'])) {
$where = $data['where'];
$where = json_decode(json_encode($where), true);
}
$this->getRecordService()->moveDown($data['id'], $where);
@@ -93,11 +93,11 @@ class KnowledgeBaseArticle extends \Espo\Core\ORM\Repositories\RDB
parent::beforeSave($entity, $options);
$order = $entity->get('order');
if (is_null($order)) {
$order = $this->max('order');
$order = $this->min('order');
if (!$order) {
$order = 999;
$order = 9999;
}
$order++;
$order--;
$entity->set('order', $order);
}
@@ -6,7 +6,6 @@
[{"name":"status"}, {"name":"publishDate"}],
[{"name":"categories"}, {"name":"expirationDate"}],
[{"name":"portals"}, {"name":"language"}],
[{"name":"order"}, false],
[{"name":"body", "fullWidth": true}],
[{"name":"attachments", "fullWidth": true}]
]
@@ -5,7 +5,6 @@
[{"name":"name", "fullWidth": true}],
[{"name":"status"}, {"name":"language"}],
[{"name":"categories"}, {"name":"portals"}],
[{"name":"order"}, false],
[{"name":"body", "fullWidth": true}],
[{"name":"attachments", "fullWidth": true}]
]
@@ -101,8 +101,13 @@ class KnowledgeBaseArticle extends \Espo\Services\Record
if (!$where) {
$where = array();
}
$params = array(
'where' => $where
);
$selectManager = $this->getSelectManager();
$selectParams = $selectManager->buildSelectParams($where, true, true);
$selectParams = $selectManager->buildSelectParams($params, true, true);
$selectParams['whereClause'][] = array(
'order<' => $currentIndex
@@ -134,8 +139,13 @@ class KnowledgeBaseArticle extends \Espo\Services\Record
if (!$where) {
$where = array();
}
$params = array(
'where' => $where
);
$selectManager = $this->getSelectManager();
$selectParams = $selectManager->buildSelectParams($where, true, true);
$selectParams = $selectManager->buildSelectParams($params, true, true);
$selectParams['whereClause'][] = array(
'order>' => $currentIndex
+4 -1
View File
@@ -318,8 +318,11 @@ class Record extends \Espo\Core\Services\Base
}
}
protected function getSelectManager($entityType)
protected function getSelectManager($entityType = null)
{
if (!$entityType) {
$entityType = $this->getEntityType();
}
return $this->getSelectManagerFactory()->create($entityType);
}