Add task limit for each column

This commit is contained in:
Frédéric Guillot
2014-02-25 22:09:44 -05:00
parent 44fc9c081f
commit 44b1806083
13 changed files with 118 additions and 25 deletions

View File

@@ -11,13 +11,14 @@ require __DIR__.'/../vendor/SimpleValidator/Validators/MinLength.php';
require __DIR__.'/../vendor/SimpleValidator/Validators/Integer.php';
require __DIR__.'/../vendor/SimpleValidator/Validators/Equals.php';
require __DIR__.'/../vendor/SimpleValidator/Validators/AlphaNumeric.php';
require __DIR__.'/../vendor/SimpleValidator/Validators/GreaterThan.php';
require __DIR__.'/../vendor/PicoDb/Database.php';
require __DIR__.'/schema.php';
abstract class Base
{
const APP_VERSION = 'master';
const DB_VERSION = 5;
const DB_VERSION = 6;
const DB_FILENAME = 'data/db.sqlite';
private static $dbInstance = null;

View File

@@ -61,8 +61,10 @@ class Board extends Base
{
$this->db->startTransaction();
foreach ($values as $column_id => $column_title) {
$this->db->table(self::TABLE)->eq('id', $column_id)->update(array('title' => $column_title));
foreach (array('title', 'task_limit') as $field) {
foreach ($values[$field] as $column_id => $field_value) {
$this->db->table(self::TABLE)->eq('id', $column_id)->update(array($field => $field_value));
}
}
$this->db->closeTransaction();
@@ -140,6 +142,8 @@ class Board extends Base
$rules = array();
foreach ($columns as $column_id => $column_title) {
$rules[] = new Validators\Integer('task_limit['.$column_id.']', t('This value must be an integer'));
$rules[] = new Validators\GreaterThan('task_limit['.$column_id.']', t('This value must be greater than %d', 0), 0);
$rules[] = new Validators\Required('title['.$column_id.']', t('The title is required'));
$rules[] = new Validators\MaxLength('title['.$column_id.']', t('The maximum length is %d characters', 50), 50);
}

View File

@@ -2,19 +2,24 @@
namespace Schema;
function version_6($pdo)
{
$pdo->exec("ALTER TABLE columns ADD COLUMN task_limit INTEGER DEFAULT '0'");
}
function version_5($pdo)
{
$pdo->exec("ALTER TABLE tasks ADD column score INTEGER");
$pdo->exec("ALTER TABLE tasks ADD COLUMN score INTEGER");
}
function version_4($pdo)
{
$pdo->exec("ALTER TABLE config ADD column timezone TEXT DEFAULT 'UTC'");
$pdo->exec("ALTER TABLE config ADD COLUMN timezone TEXT DEFAULT 'UTC'");
}
function version_3($pdo)
{
$pdo->exec('ALTER TABLE projects ADD column token TEXT');
$pdo->exec('ALTER TABLE projects ADD COLUMN token TEXT');
// For each existing project, assign a different token
$rq = $pdo->prepare("SELECT id FROM projects WHERE token IS NULL");
@@ -32,7 +37,7 @@ function version_3($pdo)
function version_2($pdo)
{
$pdo->exec('ALTER TABLE tasks ADD column date_completed INTEGER');
$pdo->exec('ALTER TABLE tasks ADD COLUMN date_completed INTEGER');
$pdo->exec('UPDATE tasks SET date_completed=date_creation WHERE is_active=0');
}