quick fix for AST-428

Conflicts:

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

@ -229,24 +229,28 @@ public class ProducteevSyncProvider extends SyncProvider<ProducteevTaskContainer
JSONArray labels = invoker.labelsShowList(dashboardId, null); JSONArray labels = invoker.labelsShowList(dashboardId, null);
readLabels(labels); readLabels(labels);
JSONArray tasks = invoker.tasksShowList(dashboardId, lastServerSync); try {
for(int i = 0; i < tasks.length(); i++) { // This invocation throws ApiServiceException for workspaces that need to be upgraded
ProducteevTaskContainer remote = parseRemoteTask(tasks.getJSONObject(i)); JSONArray tasks = invoker.tasksShowList(dashboardId, lastServerSync);
// update reminder flags for incoming remote tasks to prevent annoying for(int i = 0; i < tasks.length(); i++) {
if(remote.task.hasDueDate() && remote.task.getValue(Task.DUE_DATE) < DateUtilities.now()) ProducteevTaskContainer remote = parseRemoteTask(tasks.getJSONObject(i));
remote.task.setFlag(Task.REMINDER_FLAGS, Task.NOTIFY_AFTER_DEADLINE, false); // update reminder flags for incoming remote tasks to prevent annoying
boolean foundLocal = dataService.findLocalMatch(remote); if(remote.task.hasDueDate() && remote.task.getValue(Task.DUE_DATE) < DateUtilities.now())
remote.task.setFlag(Task.REMINDER_FLAGS, Task.NOTIFY_AFTER_DEADLINE, false);
// if creator & responsible != current user, skip / delete it boolean foundLocal = dataService.findLocalMatch(remote);
if(userId != remote.pdvTask.getValue(ProducteevTask.CREATOR_ID) &&
userId != remote.pdvTask.getValue(ProducteevTask.RESPONSIBLE_ID)) { // if creator & responsible != current user, set it to readonly
if(foundLocal) if(userId != remote.pdvTask.getValue(ProducteevTask.CREATOR_ID) &&
remote.task.setValue(Task.DELETION_DATE, DateUtilities.now()); userId != remote.pdvTask.getValue(ProducteevTask.RESPONSIBLE_ID))
remote.task.setFlag(Task.FLAGS, Task.FLAG_IS_READONLY, true);
else 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