mirror of
https://github.com/maxpozdeev/mytinytodo.git
synced 2026-03-11 08:55:27 +00:00
+ added ability to delete completed tasks (thanks to merzhin)
This commit is contained in:
parent
3fce9df852
commit
f61890f061
7 changed files with 51 additions and 4 deletions
|
|
@ -7,7 +7,7 @@
|
|||
Author: Max Pozdeev
|
||||
Author Url: http://www.mytinytodo.net
|
||||
AppVersion: v1.3.4
|
||||
Date: 2010-02-10
|
||||
Date: 2010-02-12
|
||||
*/
|
||||
|
||||
class Lang extends DefaultLang
|
||||
|
|
@ -24,6 +24,7 @@ class Lang extends DefaultLang
|
|||
'addList' => "Новый список",
|
||||
'renameList' => "Переименовать список",
|
||||
'deleteList' => "Вы действительно хотите удалить этот список со всеми задачами?",
|
||||
'clearCompleted' => "Удалить все выполненные задачи из списка?",
|
||||
'settingsSaved' => "Настройки сохранены. Перезагрузка...",
|
||||
);
|
||||
|
||||
|
|
@ -83,6 +84,7 @@ class Lang extends DefaultLang
|
|||
'list_delete' => "Удалить список",
|
||||
'list_publish' => "Опубликовать список",
|
||||
'list_showcompleted' => "Показать завершенные задачи",
|
||||
'list_clearcompleted' => "Удалить завершенные задачи",
|
||||
'alltags' => "Все теги:",
|
||||
'alltags_show' => "Показать все",
|
||||
'alltags_hide' => "Скрыть все",
|
||||
|
|
|
|||
14
src/ajax.js
14
src/ajax.js
|
|
@ -995,7 +995,6 @@ function deleteCurList()
|
|||
if(!parseInt(json.total)) return;
|
||||
loadLists();
|
||||
}, 'json');
|
||||
|
||||
}
|
||||
|
||||
function addsearchToggle(toSearch)
|
||||
|
|
@ -1371,6 +1370,7 @@ function listMenuClick(el, menu)
|
|||
case 'btnDeleteList': deleteCurList(); break;
|
||||
case 'btnPublish': publishCurList(); break;
|
||||
case 'btnShowCompleted': showCompletedToggle(); break;
|
||||
case 'btnClearCompleted': clearCompleted(); break;
|
||||
case 'sortByHand': setSort(0); break;
|
||||
case 'sortByPrio': setSort(1); break;
|
||||
case 'sortByDueDate': setSort(2); break;
|
||||
|
|
@ -1395,3 +1395,15 @@ mytinytodo.parseAnchor = function()
|
|||
this.options.openList = a[1];
|
||||
}
|
||||
}
|
||||
|
||||
function clearCompleted()
|
||||
{
|
||||
if(!curList) return false;
|
||||
var r = confirm(lang.clearCompleted);
|
||||
if(!r) return;
|
||||
$.post(mytinytodo.mttUrl+'ajax.php?clearCompletedInList', { list:curList.id }, function(json){
|
||||
if(!parseInt(json.total)) return;
|
||||
flag.tagsChanged = true;
|
||||
if(curList.showCompl) loadTasks();
|
||||
}, 'json');
|
||||
}
|
||||
|
|
|
|||
27
src/ajax.php
27
src/ajax.php
|
|
@ -464,6 +464,33 @@ elseif(isset($_GET['parseTaskStr']))
|
|||
echo json_encode($t);
|
||||
exit;
|
||||
}
|
||||
elseif(isset($_GET['clearCompletedInList']))
|
||||
{
|
||||
check_write_access();
|
||||
stop_gpc($_POST);
|
||||
$t = array();
|
||||
$t['total'] = 0;
|
||||
$listId = (int)_post('list');
|
||||
$setCase = '';
|
||||
$aId = array();
|
||||
$q = $db->dq("SELECT tag_id,COUNT(task_id) FROM {$db->prefix}tag2task INNER JOIN {$db->prefix}todolist ON task_id=id WHERE list_id=$listId AND compl=1 GROUP BY tag_id");
|
||||
while($r = $q->fetch_row()) {
|
||||
$aId[] = $r[0];
|
||||
$setCase .= "WHEN id=$r[0] THEN $r[1]\n";
|
||||
}
|
||||
$db->ex("BEGIN");
|
||||
if($aId) {
|
||||
$ids = implode(',', $aId);
|
||||
$db->ex("UPDATE {$db->prefix}tags SET tags_count=tags_count - CASE\n $setCase END WHERE id IN ($ids)");
|
||||
$db->ex("DELETE FROM {$db->prefix}tag2task WHERE task_id IN (SELECT id FROM {$db->prefix}todolist WHERE list_id=$listId AND compl=1)");
|
||||
}
|
||||
$db->ex("DELETE FROM {$db->prefix}todolist WHERE list_id=$listId and compl=1");
|
||||
$t['total'] = $db->affected();
|
||||
$db->ex("DELETE FROM {$db->prefix}tags WHERE tags_count < 1");
|
||||
$db->ex("COMMIT");
|
||||
echo json_encode($t);
|
||||
exit;
|
||||
}
|
||||
|
||||
###################################################################################################
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ class DefaultLang
|
|||
'addListDefault' => "Todo",
|
||||
'renameList' => "Rename list",
|
||||
'deleteList' => "This will delete current list with all tasks in it.\\nAre you sure?",
|
||||
'clearCompleted' => "This will delete all completed tasks in the list.\\nAre you sure?",
|
||||
'settingsSaved' => "Settings saved. Reloading...",
|
||||
);
|
||||
|
||||
|
|
@ -81,6 +82,7 @@ class DefaultLang
|
|||
'list_delete' => "Delete list",
|
||||
'list_publish' => "Publish list",
|
||||
'list_showcompleted' => "Show completed tasks",
|
||||
'list_clearcompleted' => "Clear completed tasks",
|
||||
'alltags' => "All tags:",
|
||||
'alltags_show' => "Show all",
|
||||
'alltags_hide' => "Hide all",
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
Author: Max Pozdeev
|
||||
Author Url: http://www.mytinytodo.net
|
||||
AppVersion: v1.3.4
|
||||
Date: 2010-02-10
|
||||
Date: 2010-02-11
|
||||
*/
|
||||
|
||||
class Lang extends DefaultLang
|
||||
|
|
@ -24,6 +24,7 @@ class Lang extends DefaultLang
|
|||
'addList' => "Create new list",
|
||||
'renameList' => "Rename list",
|
||||
'deleteList' => "This will delete current list with all tasks in it.\\nAre you sure?",
|
||||
'clearCompleted' => "This will delete all completed tasks in the list.\\nAre you sure?",
|
||||
'settingsSaved' => "Settings saved. Reloading...",
|
||||
);
|
||||
|
||||
|
|
@ -83,6 +84,7 @@ class Lang extends DefaultLang
|
|||
'list_delete' => "Delete list",
|
||||
'list_publish' => "Publish list",
|
||||
'list_showcompleted' => "Show completed tasks",
|
||||
'list_clearcompleted' => "Clear completed tasks",
|
||||
'alltags' => "All tags:",
|
||||
'alltags_show' => "Show all",
|
||||
'alltags_hide' => "Hide all",
|
||||
|
|
|
|||
|
|
@ -199,6 +199,8 @@ $().ready(function(){
|
|||
<ul>
|
||||
<li class="mtt-need-list" id="btnRenameList"><?php _e('list_rename');?></li>
|
||||
<li class="mtt-need-list" id="btnDeleteList"><?php _e('list_delete');?></li>
|
||||
<li class="mtt-need-list" id="btnClearCompleted"><?php _e('list_clearcompleted');?></li>
|
||||
<li class="mtt-btnmenu-delimiter"></li>
|
||||
<li class="mtt-need-list" id="btnPublish"><div class="menu-icon"></div><?php _e('list_publish');?></li>
|
||||
<li class="mtt-need-list" id="btnShowCompleted"><div class="menu-icon"></div><?php _e('list_showcompleted');?></li>
|
||||
<li class="mtt-btnmenu-delimiter"></li>
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
1.3.3
|
||||
1.3.4
|
||||
Loading…
Reference in a new issue