Example #1
0
        $file = R::load('attachment', $data->fileId);
        if ($file->id) {
            $filename = $file->name;
            $before = $item->export();
            unlink('uploads/' . $file->filename);
            R::trash($file);
            R::store($item);
            logAction($actor->username . ' removed attachment ' . $filename . ' from item ' . $item->title, $before, $item, $itemId);
            $jsonResponse->addAlert('success', $filename . ' was deleted.');
            $jsonResponse->addBeans($item);
        }
    }
    $app->response->setBody($jsonResponse->asJson());
})->conditions(['itemId' => '\\d+']);
// Remove an item.
$app->post('/items/remove', function () use($app, $jsonResponse) {
    $data = json_decode($app->environment['slim.input']);
    if (validateToken(true)) {
        $item = R::load('item', $data->itemId);
        if ($item->id) {
            $before = $item->export();
            R::trash($item);
            renumberItems($item->lane_id, $item->position);
            $actor = getUser();
            logAction($actor->username . ' removed item ' . $item->title, $before, null, $data->itemId);
            $jsonResponse->addAlert('success', $item->title . ' was deleted.');
            $jsonResponse->addBeans(getBoards());
        }
    }
    $app->response->setBody($jsonResponse->asJson());
});
Example #2
0
function getNextItemPosition($columnId)
{
    $retVal = 0;
    $column = R::load('lane', $columnId);
    if ($column->id) {
        $options = R::exportAll(getUser()->ownOption);
        if ($options[0]['tasks_order'] == 1) {
            // Tasks at top of column.
            renumberItems($columnId, 0, false);
        } else {
            try {
                $retVal = $column->countOwn('item');
            } catch (Exception $e) {
                // Ignore, just means there are no items.
            }
        }
    }
    return $retVal;
}