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,6 +229,8 @@ public class ProducteevSyncProvider extends SyncProvider<ProducteevTaskContainer
JSONArray labels = invoker.labelsShowList(dashboardId, null); JSONArray labels = invoker.labelsShowList(dashboardId, null);
readLabels(labels); readLabels(labels);
try {
// This invocation throws ApiServiceException for workspaces that need to be upgraded
JSONArray tasks = invoker.tasksShowList(dashboardId, lastServerSync); JSONArray tasks = invoker.tasksShowList(dashboardId, lastServerSync);
for(int i = 0; i < tasks.length(); i++) { for(int i = 0; i < tasks.length(); i++) {
ProducteevTaskContainer remote = parseRemoteTask(tasks.getJSONObject(i)); ProducteevTaskContainer remote = parseRemoteTask(tasks.getJSONObject(i));
@ -237,17 +239,19 @@ public class ProducteevSyncProvider extends SyncProvider<ProducteevTaskContainer
remote.task.setFlag(Task.REMINDER_FLAGS, Task.NOTIFY_AFTER_DEADLINE, false); remote.task.setFlag(Task.REMINDER_FLAGS, Task.NOTIFY_AFTER_DEADLINE, false);
boolean foundLocal = dataService.findLocalMatch(remote); boolean foundLocal = dataService.findLocalMatch(remote);
// if creator & responsible != current user, skip / delete it // if creator & responsible != current user, set it to readonly
if(userId != remote.pdvTask.getValue(ProducteevTask.CREATOR_ID) && if(userId != remote.pdvTask.getValue(ProducteevTask.CREATOR_ID) &&
userId != remote.pdvTask.getValue(ProducteevTask.RESPONSIBLE_ID)) { userId != remote.pdvTask.getValue(ProducteevTask.RESPONSIBLE_ID))
if(foundLocal) remote.task.setFlag(Task.FLAGS, Task.FLAG_IS_READONLY, true);
remote.task.setValue(Task.DELETION_DATE, DateUtilities.now());
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$
}
} }
SyncData<ProducteevTaskContainer> syncData = populateSyncData(remoteTasks); SyncData<ProducteevTaskContainer> syncData = populateSyncData(remoteTasks);

Loading…
Cancel
Save