+ individual sorting for every tasklist

* readonly user can not change the sorting
This commit is contained in:
Max Pozdeev 2009-11-15 14:43:53 +03:00
parent 94d3764b02
commit 619183fc9a
4 changed files with 32 additions and 17 deletions

View file

@ -29,6 +29,7 @@ var page = {cur:'', prev:''};
function loadTasks()
{
if(!curList) return false;
setSort(curList.sort, 1);
var tz = -1 * (new Date()).getTimezoneOffset();
setAjaxErrorTrigger();
var search = filter.search ? '&s='+encodeURIComponent(filter.search) : '';
@ -470,14 +471,12 @@ function updateAccessStatus()
}
}
if(flag.needAuth && flag.canAllRead && !flag.isLogged) {
$("#tasklist").sortable('disable');
$('#page_tasks').addClass('readonly')
$("#authstr").text(lang.readonly).show();
addsearchToggle(1);
}
else {
$('#page_tasks').removeClass('readonly')
if(sortBy == 0) $("#tasklist").sortable('enable');
$("#authstr").text('').hide();
}
$('#page_ajax').hide();
@ -628,16 +627,25 @@ function setSort(v, init)
else if(v == 1) $('#sort>.btnstr').text($('#sortByPrio').text());
else if(v == 2) $('#sort>.btnstr').text($('#sortByDueDate').text());
else return;
if(sortBy != v) {
sortBy = v;
if(v==0) $("#tasklist").sortable('enable');
else $("#tasklist").sortable('disable');
if(!init) {
changeTaskOrder();
var exp = new Date();
exp.setTime(exp.getTime() + 3650*86400*1000); //+10 years
document.cookie = "sort="+sortBy+'; expires='+exp.toUTCString();
}
if(flag.needAuth && flag.canAllRead && !flag.isLogged) {
$("#tasklist").sortable('disable');
return;
}
sortBy = v;
if(sortBy==0) $("#tasklist").sortable('enable');
else $("#tasklist").sortable('disable');
if(!init)
{
curList.sort = sortBy;
tabLists[curList.i].sort = sortBy;
changeTaskOrder();
setAjaxErrorTrigger()
var nocache = '&rnd='+Math.random();
$.post('ajax.php?setSort'+nocache, { list:curList.id, sort:sortBy }, function(json){
resetAjaxErrorTrigger();
}, 'json');
}
}

View file

@ -23,7 +23,7 @@ if(isset($_GET['loadLists']))
while($r = $q->fetch_assoc($q))
{
$t['total']++;
$t['list'][] = array('id'=>$r['id'], 'name'=>htmlarray($r['name']));
$t['list'][] = array('id'=>$r['id'], 'name'=>htmlarray($r['name']), 'sort'=>$r['sorting']);
}
echo json_encode($t);
exit;
@ -399,6 +399,16 @@ elseif(isset($_POST['deleteList']))
echo json_encode($t);
exit;
}
elseif(isset($_GET['setSort']))
{
check_write_access();
$listId = (int)_post('list');
$sort = (int)_post('sort');
if($sort < 0 || $sort > 2) $sort = 0;
$db->ex("UPDATE lists SET sorting=$sort WHERE id=$listId");
echo json_encode(array('total'=>1));
exit;
}
###################################################################################################

View file

@ -12,9 +12,6 @@ require_once('./lang/'.$config['lang'].'.php');
$lang = new Lang();
$sort = 0;
if(isset($_COOKIE['sort']) && $_COOKIE['sort'] != '') $sort = (int)$_COOKIE['sort'];
if($config['duedateformat'] == 2) $duedateformat = 'm/d/yy';
elseif($config['duedateformat'] == 3) $duedateformat = 'dd.mm.yy';
elseif($config['duedateformat'] == 4) $duedateformat = 'dd/mm/yy';
@ -61,7 +58,6 @@ $().ready(function(){
$("#tasklist").bind("click", tasklistClick);
$("#edittags").autocomplete('ajax.php?suggestTags', {scroll: false, multiple: true, selectFirst:false, max:8, extraParams:{list:function(){return curList.id}}});
$("#priopopup").mouseleave(function(){$(this).hide()});
setSort(<?php echo $sort; ?>,1);
<?php
if($needAuth)
{

View file

@ -54,6 +54,7 @@ a { color:#0000ff; }
#sortform { overflow: hidden; z-index:101; background-color:#f9f9f9; border:1px solid #cccccc; padding:3px; }
#sortform .li { margin:1px 0px; padding:2px; cursor:pointer; }
#sortform .li:hover { background-color:#316AC5; color:white; }
#page_tasks.readonly #sort { display:none; }
.mtt-notes-showhide { font-size:8pt; font-weight:normal; margin-left:5px; }
#rss_icon { float:right;margin-top:4px; }