From c448ddb293155c5ffe56c700783bad261439dd0c Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Wed, 15 Feb 2012 12:50:13 -0800 Subject: [PATCH] Include task rabbit tasks in the I've assigned filter --- .../com/todoroo/astrid/core/CustomFilterExposer.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java index 47942fe2a..9fba8aff7 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java @@ -19,6 +19,7 @@ import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.sql.Criterion; +import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.Order; import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.QueryTemplate; @@ -32,11 +33,13 @@ import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.PermaSql; import com.todoroo.astrid.dao.StoreObjectDao; +import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskApiDao.TaskCriteria; import com.todoroo.astrid.gtasks.GtasksPreferenceService; import com.todoroo.astrid.service.TagDataService; +import com.todoroo.astrid.taskrabbit.TaskRabbitMetadata; /** * Exposes Astrid's built in filters to the {@link FilterListFragment} @@ -123,9 +126,11 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr public static Filter getAssignedByMeFilter(Resources r) { Filter f = new Filter(r.getString(R.string.BFE_Assigned), r.getString(R.string.BFE_Assigned), - new QueryTemplate().where(Criterion.and(TaskCriteria.isActive(), + new QueryTemplate().join(Join.left(Metadata.TABLE, Task.ID.eq(Metadata.TASK))) + .where(Criterion.and(TaskCriteria.isActive(), Criterion.or(Task.CREATOR_ID.eq(0), Task.CREATOR_ID.eq(ActFmPreferenceService.userId())), - Task.USER_ID.neq(0))), + Criterion.or(Task.USER_ID.neq(0), + Criterion.and(Metadata.KEY.eq(TaskRabbitMetadata.METADATA_KEY), TaskRabbitMetadata.ID.gt(0))))), null); f.listingIcon = ((BitmapDrawable)r.getDrawable(R.drawable.filter_assigned)).getBitmap(); return f;