Example #1
0
 protected function handleRequest(array $request)
 {
     $beforeId = $request[self::FIELD_BEFORE_PROJECT_ID];
     $title = $request[self::FIELD_TITLE];
     $description = $request[self::FIELD_DESCRIPTION];
     // FIXME: Global::lock();
     $ord = null;
     if ($beforeId) {
         $beforeProject = Project::fetch($beforeId);
         $ord = $beforeProject->getOrd();
         Project::shiftRight($ord);
     } else {
         $ord = Project::getNextOrd();
     }
     $projectId = Project::create($ord, $title, $description);
     return array(self::FIELD_PROJECT_ID => $projectId);
 }
Example #2
0
 protected function handleRequest(array $request)
 {
     $projectId = $request[self::FIELD_PROJECT_ID];
     $beforeProjectId = $request[self::FIELD_BEFORE_PROJECT_ID];
     $project = Project::fetch($projectId);
     // FIXME: Global::lock();
     if ($beforeProjectId) {
         Project::shiftLeft($project->getOrd());
         if ($beforeProjectId === $projectId) {
             throw new Exception("Can't move project before itself", EndPoint::STATUS_BAD_REQUEST);
         }
         $beforeProject = Project::fetch($beforeProjectId);
         Project::shiftRight($beforeProject->getOrd());
         Project::updateOrd($projectId, $beforeProject->getOrd());
     } else {
         Project::shiftLeft($project->getOrd());
         Project::updateOrd($projectId, Project::getNextOrd());
     }
 }