Example #1
0
 protected function handleRequest(array $request)
 {
     $listId = $request[self::FIELD_LIST_ID];
     $list = TasksList::fetch($listId);
     $projectId = $list->getProjectId();
     Project::lock($projectId);
     TasksList::erase($listId);
     TasksList::shiftLeft($projectId, $list->getOrd());
 }
Example #2
0
 protected function handleRequest(array $request)
 {
     $projectId = $request[self::FIELD_PROJECT_ID];
     $beforeId = $request[self::FIELD_BEFORE_LIST_ID];
     $title = $request[self::FIELD_TITLE];
     Project::lock($projectId);
     $ord = null;
     if ($beforeId) {
         $beforeList = TasksList::fetch($beforeId);
         if ($beforeList->getProjectId() !== $projectId) {
             throw new Exception("Insertion point for a new list is in another project", EndPoint::STATUS_BAD_REQUEST);
         }
         $ord = $beforeList->getOrd();
         TasksList::shiftRight($projectId, $ord);
     } else {
         $ord = TasksList::getNextOrd($projectId);
     }
     $listId = TasksList::create($projectId, $ord, $title);
     return array(self::FIELD_LIST_ID => $listId);
 }
Example #3
0
 protected function handleRequest(array $request)
 {
     $listId = $request[self::FIELD_LIST_ID];
     $beforeListId = $request[self::FIELD_BEFORE_LIST_ID];
     $list = TasksList::fetch($listId);
     $projectId = $list->getProjectId();
     Project::lock($projectId);
     if ($beforeListId) {
         TasksList::shiftLeft($projectId, $list->getOrd());
         if ($beforeListId === $listId) {
             throw new Exception("Can't move list before itself", EndPoint::STATUS_BAD_REQUEST);
         }
         $beforeList = TasksList::fetch($beforeListId);
         if ($beforeList->getProjectId() !== $projectId) {
             throw new Exception("Insertion point for a list is in another project", EndPoint::STATUS_BAD_REQUEST);
         }
         TasksList::shiftRight($projectId, $beforeList->getOrd());
         TasksList::updateOrd($listId, $beforeList->getOrd());
     } else {
         TasksList::shiftLeft($projectId, $list->getOrd());
         TasksList::updateOrd($listId, TasksList::getNextOrd($projectId));
     }
 }