quick fix for AST-428

Conflicts:

	astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java
pull/14/head
Tim Su 14 years ago
parent 26d8421e1a
commit 0de220849a

@ -229,24 +229,28 @@ public class ProducteevSyncProvider extends SyncProvider<ProducteevTaskContainer
JSONArray labels = invoker.labelsShowList(dashboardId, null);
readLabels(labels);
JSONArray tasks = invoker.tasksShowList(dashboardId, lastServerSync);
for(int i = 0; i < tasks.length(); i++) {
ProducteevTaskContainer remote = parseRemoteTask(tasks.getJSONObject(i));
// update reminder flags for incoming remote tasks to prevent annoying
if(remote.task.hasDueDate() && remote.task.getValue(Task.DUE_DATE) < DateUtilities.now())
remote.task.setFlag(Task.REMINDER_FLAGS, Task.NOTIFY_AFTER_DEADLINE, false);
boolean foundLocal = dataService.findLocalMatch(remote);
// if creator & responsible != current user, skip / delete it
if(userId != remote.pdvTask.getValue(ProducteevTask.CREATOR_ID) &&
userId != remote.pdvTask.getValue(ProducteevTask.RESPONSIBLE_ID)) {
if(foundLocal)
remote.task.setValue(Task.DELETION_DATE, DateUtilities.now());
try {
// This invocation throws ApiServiceException for workspaces that need to be upgraded
JSONArray tasks = invoker.tasksShowList(dashboardId, lastServerSync);
for(int i = 0; i < tasks.length(); i++) {
ProducteevTaskContainer remote = parseRemoteTask(tasks.getJSONObject(i));
// update reminder flags for incoming remote tasks to prevent annoying
if(remote.task.hasDueDate() && remote.task.getValue(Task.DUE_DATE) < DateUtilities.now())
remote.task.setFlag(Task.REMINDER_FLAGS, Task.NOTIFY_AFTER_DEADLINE, false);
boolean foundLocal = dataService.findLocalMatch(remote);
// if creator & responsible != current user, set it to readonly
if(userId != remote.pdvTask.getValue(ProducteevTask.CREATOR_ID) &&
userId != remote.pdvTask.getValue(ProducteevTask.RESPONSIBLE_ID))
remote.task.setFlag(Task.FLAGS, Task.FLAG_IS_READONLY, true);
else
continue;
}
remote.task.setFlag(Task.FLAGS, Task.FLAG_IS_READONLY, false);
remoteTasks.add(remote);
remoteTasks.add(remote);
}
} catch (ApiServiceException ase) {
// catch it here, so that other dashboards can still be synchronized
handleException("pdv-sync", ase, true); //$NON-NLS-1$
}
}

Loading…
Cancel
Save