Fixed several minor errors creating/processing tag member links

pull/14/head
Sam Bosley 12 years ago
parent 4588748ada
commit f010730549

@ -56,6 +56,7 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.dao.TagMetadataDao;
import com.todoroo.astrid.dao.TagMetadataDao.TagMetadataCriteria;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.dao.UserDao;
import com.todoroo.astrid.data.RemoteModel;
@ -376,13 +377,9 @@ public class TagViewFragment extends TaskListFragment {
TodorooCursor<User> users = userDao.query(Query.select(User.PROPERTIES)
.where(User.UUID.in(Query.select(TagMemberMetadata.USER_UUID)
.from(TagMetadata.TABLE)
.where(Criterion.and(TagMetadata.TAG_UUID.eq(tagData.getUuid()), TagMetadata.DELETION_DATE.eq(0))))));
.where(Criterion.and(TagMetadataCriteria.byTagAndWithKey(tagData.getUuid(), TagMemberMetadata.KEY), TagMetadata.DELETION_DATE.eq(0))))));
try {
addedMembers = users.getCount() > 0;
if (addedMembers) {
membersView.setOnClickListener(null);
membersView.removeAllViews();
}
User user = new User();
for (users.moveToFirst(); !users.isAfterLast(); users.moveToNext()) {
user.clear();
@ -396,9 +393,10 @@ public class TagViewFragment extends TaskListFragment {
}
TodorooCursor<TagMetadata> byEmail = tagMetadataDao.query(Query.select(TagMemberMetadata.USER_UUID)
.where(Criterion.and(TagMetadata.TAG_UUID.eq(tagData.getUuid()),
TagMemberMetadata.USER_UUID.like("%@%")))); //$NON-NLS-1$
.where(Criterion.and(TagMetadataCriteria.byTagAndWithKey(tagData.getUuid(), TagMemberMetadata.KEY),
TagMemberMetadata.USER_UUID.like("%@%"), TagMetadata.DELETION_DATE.eq(0)))); //$NON-NLS-1$
try {
addedMembers = addedMembers || byEmail.getCount() > 0;
TagMetadata tm = new TagMetadata();
for (byEmail.moveToFirst(); !byEmail.isAfterLast(); byEmail.moveToNext()) {
tm.clear();
@ -413,6 +411,11 @@ public class TagViewFragment extends TaskListFragment {
} finally {
byEmail.close();
}
if (addedMembers) {
membersView.setOnClickListener(null);
membersView.removeAllViews();
}
}
} catch (JSONException e) {
e.printStackTrace();

@ -12,6 +12,7 @@ public class TagMemberMetadata {
public static TagMetadata newMemberMetadata(long tagId, String tagUuid, String userUuid) {
TagMetadata m = new TagMetadata();
m.setValue(TagMetadata.KEY, KEY);
m.setValue(TagMetadata.TAG_ID, tagId);
m.setValue(TagMetadata.TAG_UUID, tagUuid);
m.setValue(USER_UUID, userUuid);

@ -113,19 +113,19 @@ public class TagMetadataDao extends DatabaseDao<TagMetadata> {
public void removeMemberLink(long tagId, String tagUuid, String memberId, boolean suppressOutstanding) {
TagMetadata deleteTemplate = new TagMetadata();
deleteTemplate.setValue(TagMetadata.TAG_ID, tagId); // Need this for recording changes in outstanding table
deleteTemplate.setValue(Metadata.DELETION_DATE, DateUtilities.now());
deleteTemplate.setValue(TagMetadata.DELETION_DATE, DateUtilities.now());
deleteTemplate.setValue(TagMemberMetadata.USER_UUID, memberId); // Need this for recording changes in outstanding table
if (suppressOutstanding)
deleteTemplate.putTransitory(SyncFlags.ACTFM_SUPPRESS_OUTSTANDING_ENTRIES, true);
update(Criterion.and(TagMetadataCriteria.withKey(TagMemberMetadata.KEY), Metadata.DELETION_DATE.eq(0),
update(Criterion.and(TagMetadataCriteria.withKey(TagMemberMetadata.KEY), TagMetadata.DELETION_DATE.eq(0),
TagMetadata.TAG_UUID.eq(tagUuid), TagMemberMetadata.USER_UUID.eq(memberId)), deleteTemplate);
}
public void removeMemberLinks(long tagId, String tagUuid, String[] memberIds, boolean suppressOutstanding) {
TagMetadata deleteTemplate = new TagMetadata();
deleteTemplate.setValue(TagMetadata.TAG_ID, tagId); // Need this for recording changes in outstanding table
deleteTemplate.setValue(Metadata.DELETION_DATE, DateUtilities.now());
deleteTemplate.setValue(TagMetadata.DELETION_DATE, DateUtilities.now());
if (memberIds != null) {
for (String uuid : memberIds) {
// TODO: Right now this is in a loop because each deleteTemplate needs the individual tagUuid in order to record
@ -133,7 +133,7 @@ public class TagMetadataDao extends DatabaseDao<TagMetadata> {
deleteTemplate.setValue(TagMemberMetadata.USER_UUID, uuid); // Need this for recording changes in outstanding table
if (suppressOutstanding)
deleteTemplate.putTransitory(SyncFlags.ACTFM_SUPPRESS_OUTSTANDING_ENTRIES, true);
update(Criterion.and(TagMetadataCriteria.withKey(TagMemberMetadata.KEY), Metadata.DELETION_DATE.eq(0),
update(Criterion.and(TagMetadataCriteria.withKey(TagMemberMetadata.KEY), TagMetadata.DELETION_DATE.eq(0),
TagMetadata.TAG_UUID.eq(tagUuid), TagMemberMetadata.USER_UUID.eq(uuid)), deleteTemplate);
}
}

Loading…
Cancel
Save