%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/tasks/models/lists/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/tasks/models/lists/TaskListRoot.php |
<?php
namespace humhub\modules\tasks\models\lists;
use humhub\modules\content\components\ContentContainerActiveRecord;
use humhub\modules\tasks\models\Sortable;
use yii\base\Component;
/**
* Class TaskListRoot
* @todo change base class back to BaseObject after v1.3 stable
* @package humhub\modules\tasks\models\lists
*/
class TaskListRoot extends Component implements Sortable
{
/**
* @var ContentContainerActiveRecord
*/
public $contentContainer;
public function moveItemIndex($tskListId, $newIndex)
{
$testId = null;
$transaction = TaskList::getDb()->beginTransaction();
try {
$taskList = TaskList::findOne(['id' => $tskListId]);
if($taskList->addition->sort_order === $newIndex) {
return;
}
$taskLists = TaskList::findOverviewLists($this->contentContainer)->andWhere(['!=', 'content_tag.id', $taskList->id])->all();
// make sure no invalid index is given
if($newIndex < 0) {
$newIndex = 0;
} else if($newIndex >= count($taskLists)) {
$newIndex = count($taskLists);
}
array_splice($taskLists, $newIndex, 0, [$taskList]);
foreach ($taskLists as $index => $item) {
$item->addition->updateAttributes(['sort_order' => $index]);
}
$transaction->commit();
} catch (\Exception $e) {
$transaction->rollBack();
throw $e;
} catch (\Throwable $e) {
$transaction->rollBack();
throw $e;
}
}
}