Browse Source

Rename 'desc' column of checklist table to 'description', and update associated tests and views

master
Timothy Warren 5 years ago
parent
commit
98c55a78ad
15 changed files with 67 additions and 34 deletions
  1. +2
    -1
      .travis.yml
  2. +4
    -2
      application/libraries/Todo.php
  3. +1
    -1
      application/models/friend_model.php
  4. +10
    -11
      application/models/task_model.php
  5. +9
    -8
      application/third_party/CIUnit/libraries/Fixture.php
  6. +1
    -1
      application/views/task/ajax_checklist.php
  7. +1
    -1
      application/views/task/checklist_view.php
  8. +12
    -1
      composer.json
  9. +15
    -0
      migrations/20140813145709_rename_desc_column_migration.php
  10. +3
    -0
      tests/bootstrap.php
  11. +2
    -2
      tests/fixtures/todo_checklist_fixt.yml
  12. +1
    -1
      tests/fixtures/todo_item_comments_fixt.yml
  13. +2
    -2
      tests/libs/TodoLibTest.php
  14. +3
    -3
      tests/models/TaskModelTest.php
  15. +1
    -0
      web/index.php

+ 2
- 1
.travis.yml View File

@@ -1,12 +1,13 @@
language: php

php:
- 5.4
- 5.5
- 5.6
- hhvm

install:
- composer install
- composer install --dev --no-progress

env:
- DB=mysql

+ 4
- 2
application/libraries/Todo.php View File

@@ -424,6 +424,7 @@ class Todo {
->where('user_id', $user_id)
->where('name !=', $username)
->where('is_admin', 1)
->order_by('name')
->get();

return $groups->result_array();
@@ -510,7 +511,7 @@ class Todo {
$friends = $this->CI->db
->select('user_friend_id,user_friend_link.user_id as uid,user.username')
->from('todo_user_friend_link')
->join('user', 'user.id=user_friend_link.user_friend_id OR "todo_user"."id"="todo_user_friend_link"."user_id"', 'inner')
->join('user', 'user.id=user_friend_link.user_friend_id OR todo_user.id=todo_user_friend_link.user_id', 'inner')
->where('confirmed', FRIEND_CONFIRMED)
->where('username !=', $username)

@@ -541,6 +542,7 @@ class Todo {
->select('user_id')
->from('group_users_link')
->where('group_id', $group_id)
->order_by('user_id')
->get();

return $friends->result_array();
@@ -678,7 +680,7 @@ class Todo {
* Kanji Num
*
* Converts arabic to chinese number
* @param int $number
* @param int $orig_number
* @return string
*/
public function kanji_num($orig_number)

+ 1
- 1
application/models/friend_model.php View File

@@ -29,7 +29,7 @@ class Friend_model extends CI_Model {
$friends = $this->db
->select('user_friend_id,user_friend_link.user_id as uid,user.username,user.email')
->from('todo_user_friend_link')
->join('user', 'user.id=user_friend_link.user_friend_id OR "todo_user"."id"="todo_user_friend_link"."user_id"', 'inner')
->join('user', 'user.id=user_friend_link.user_friend_id OR todo_user.id=todo_user_friend_link.user_id', 'inner')

->group_start()
->where_in('todo_user_friend_link.user_id', $user_id)

+ 10
- 11
application/models/task_model.php View File

@@ -116,7 +116,7 @@ class Task_model extends CI_Model {
public function get_checklist($task_id)
{
//Get the checklist for the current task from the database
$chk = $this->db->select('id, task_id, "desc", is_checked')
$chk = $this->db->select('id, task_id, description, is_checked')
->from('checklist')
->where('task_id', $task_id)
->order_by('is_checked', 'asc')
@@ -138,35 +138,33 @@ class Task_model extends CI_Model {
public function add_checklist_item()
{
$task_id = (int)$this->input->post('task_id');
$desc = xss_clean($this->input->post('desc'));
$desc = $this->input->post('desc', TRUE);

//Check if the current item already exists.
$exists = $this->db->select('task_id, "desc"')
$exists = $this->db->select('task_id, description')
->from('checklist')
->where('task_id', $task_id)
->where('"desc"', $desc)
->where('description', $desc)
->get();

if($exists->num_rows() < 1)
{
//Insert the item
$this->db->set('task_id', $task_id)
->set('"desc"', $desc)
->set('description', $desc)
->insert('checklist');

//Return the row
$return = $this->db->select('id, task_id, "desc", is_checked')
$return = $this->db->select('id, task_id, description, is_checked')
->from('checklist')
->where('task_id', $task_id)
->where('"desc"', $desc)
->where('description', $desc)
->get();

return $return->row_array();
}
else
{
return FALSE;
}

return FALSE;
}

// --------------------------------------------------------------------------
@@ -235,6 +233,7 @@ class Task_model extends CI_Model {
*
* Retrieves the user's archived tasks from the database
*
* @param int $page
* @param int $per_page
* @return array
*/

+ 9
- 8
application/third_party/CIUnit/libraries/Fixture.php View File

@@ -20,13 +20,6 @@ class Fixture {
{
exit('can\'t load fixture library class when not in test mode!');
}

// Turn off foreign key checks for mysql so test tables can be easily truncated
if (getenv('DB') === 'mysql')
{
$this->_assign_db();
$this->CI->db->simple_query('SET foreign_key_checks = 0;');
}
}

/**
@@ -87,6 +80,9 @@ class Fixture {

private function truncate($table)
{
// Turn off foreign key checks for mysql so test tables can be easily truncated
if (getenv('DB') === 'mysql') $this->CI->db->simple_query('SET foreign_key_checks = 0;');

$sql = 'TRUNCATE TABLE ' . $table;

if (getenv('DB') !== 'mysql')
@@ -94,7 +90,12 @@ class Fixture {
$sql .= ' CASCADE';
}

return $this->CI->db->simple_query($sql);
$res = $this->CI->db->simple_query($sql);

// Reset foreign key checks
//if (getenv('DB') === 'mysql') $this->CI->db->simple_query('SET foreign_key_checks = 1;');

return $res;
}

}

+ 1
- 1
application/views/task/ajax_checklist.php View File

@@ -1,5 +1,5 @@

<li>
<input type="checkbox" name="checklist[]" value="<?= $id ?>" id="check_<?= $id?>" <?= ($is_checked == 1) ? 'checked="checked"' : '' ?> />
&nbsp;&nbsp;<label for="check_<?= $id ?>"><?= $desc ?></label>
&nbsp;&nbsp;<label for="check_<?= $id ?>"><?= $description ?></label>
</li>

+ 1
- 1
application/views/task/checklist_view.php View File

@@ -7,7 +7,7 @@
<?php foreach($checklist as $c) : ?>
<li>
<input type="checkbox" name="checklist[]" value="<?= $c['id'] ?>" id="check_<?= $c['id']?>" <?= ($c['is_checked']== 1) ? 'checked="checked"' : '' ?> <?= ($user_perms <= PERM_CHECKLIST_ACCESS) ? 'disabled="disabled"' : '' ?> />
&nbsp;&nbsp;<label for="check_<?= $c['id']?>"><?= $c['desc'] ?></label>
&nbsp;&nbsp;<label for="check_<?= $c['id']?>"><?= $c['description'] ?></label>
</li>
<?php endforeach ?>
<?php endif ?>

+ 12
- 1
composer.json View File

@@ -1,5 +1,16 @@
{
"name":"timw4mail/tims-todo",
"type":"project",
"license": "BSD-3-Clause",
"authors": [{
"name": "Timothy J. Warren",
"email": "tim@timshomepage.net",
"homepage": "https://timshomepage.net",
"role": "Developer"
}],
"require": {
"robmorgan/phinx": "*"
"php": ">=5.4",
"robmorgan/phinx": "*",
"ircmaxell/password-compat": "1.0.*"
}
}

+ 15
- 0
migrations/20140813145709_rename_desc_column_migration.php View File

@@ -0,0 +1,15 @@
<?php

use Phinx\Migration\AbstractMigration;

class RenameDescColumnMigration extends AbstractMigration
{
/**
* Rename 'desc' field to 'description'. Reserved words suck
*/
public function change()
{
$this->table('todo_checklist')
->renameColumn('desc', 'description');
}
}

+ 3
- 0
tests/bootstrap.php View File

@@ -1,5 +1,8 @@
<?php

// Autoloader for password compat
require_once(__DIR__ . '/../vendor/autoload.php');

// Require base bootstrap file
require_once(__DIR__ . '/../application/third_party/CIUnit/bootstrap_phpunit.php');


+ 2
- 2
tests/fixtures/todo_checklist_fixt.yml View File

@@ -1,12 +1,12 @@
0:
id: 18
task_id: 97
desc: 'Share this task'
description: 'Share this task'
is_checked: 1

1:
id: 136
task_id: 97
desc: 'Allow un-sharing'
description: 'Allow un-sharing'
is_checked: 1


+ 1
- 1
tests/fixtures/todo_item_comments_fixt.yml View File

@@ -3,7 +3,7 @@
user_id: 3
item_id: 97
comment: "This is a test comment"
time_posted: 1405457296
time_posted: 1405457299
status: 3

2:

+ 2
- 2
tests/libs/TodoLibTest.php View File

@@ -418,10 +418,10 @@ class TodoLibTest extends Todo_TestCase {
{
$expected = [
array (
'user_id' => '7',
'user_id' => '3',
),
array (
'user_id' => '3',
'user_id' => '7',
)
];
$actual = $this->CI->todo->get_friends_in_group(62);

+ 3
- 3
tests/models/TaskModelTest.php View File

@@ -427,7 +427,7 @@ class TaskModelTest extends Todo_TestCase {
'user_id' => '3',
'item_id' => '97',
'comment' => 'This is a test comment',
'time_posted' => '1405457296',
'time_posted' => '1405457299',
'email' => 'guest@timshomepage.net',
'status' => 'In Progress',
),
@@ -452,13 +452,13 @@ class TaskModelTest extends Todo_TestCase {
array (
'id' => '18',
'task_id' => '97',
'desc' => 'Share this task',
'description' => 'Share this task',
'is_checked' => '1',
),
array (
'id' => '136',
'task_id' => '97',
'desc' => 'Allow un-sharing',
'description' => 'Allow un-sharing',
'is_checked' => '1',
),
];

+ 1
- 0
web/index.php View File

@@ -271,6 +271,7 @@ define('VIEWPATH', $view_folder);
*
* And away we go...
*/
require_once '../vendor/autoload.php';
require_once BASEPATH.'core/CodeIgniter.php';
/* End of file index.php */

Loading…
Cancel
Save