/** * Sets multiple queue rows as done * @param type $rows */ public function setQueueRowsDone($rows) { R::begin(); foreach ($rows as $row) { $res = $this->setQueueRowDone($row); if (!$res) { return R::rollback(); } } return R::commit(); }
$email = $user->email; sendEmail($email, $recipient, $subject, $body); } } } $app->response->setBody($jsonResponse->asJson()); })->conditions(['itemId' => '\\d+']); // Update item positions $app->post('/items/positions', function () use($app, $jsonResponse) { $data = json_decode($app->environment['slim.input']); if (validateToken()) { $user = getUser(); $movedItem = null; $beforeItem = null; $afterItem = null; R::begin(); foreach ($data->positions as $posItem) { $item = R::load('item', $posItem->item); $before = $item->export(); $oldLane = $item->lane->id; $item->lane = R::load('lane', $posItem->lane); if ($oldLane != $item->lane->id) { $movedItem = $item; $beforeItem = $before; $afterItem = $item->export(); } $item->position = $posItem->position; runAutoActions($item); R::store($item); } R::commit();
/** * commit a bean with transactions * @param object $bean * @return $res false or last insert id */ public static function commitBean($bean) { R::begin(); try { $res = R::store($bean); R::commit(); } catch (Exception $e) { R::rollback(); $res = false; } return $res; }