Index: casetracker.views.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/casetracker/casetracker.views.inc,v
retrieving revision 1.3.2.1
diff -u -p -r1.3.2.1 casetracker.views.inc
--- casetracker.views.inc	2 Mar 2009 15:59:54 -0000	1.3.2.1
+++ casetracker.views.inc	9 Mar 2010 19:06:18 -0000
@@ -53,6 +53,13 @@ function casetracker_views_data_casetrac
       'help' => t('Filter Case Tracker cases by the assigned user.'),
     ),
   );
+  $data['casetracker_case']['assign_to_extra'] = array(
+    'title' => t('Case assigned to or created by current user'),
+    'filter' => array(
+      'handler' => 'casetracker_views_handler_filter_user_created_or_assigned',
+      'help' => t('Filter Case Tracker cases that were created or assigned to the current user.'),
+    ),
+  );
   $data['casetracker_case']['case_priority_id'] = array(
     'title' => t('Case priority'),
     'field' => array(
@@ -208,6 +215,9 @@ function casetracker_views_handlers() {
       'casetracker_views_handler_filter_project_options' => array(
         'parent' => 'views_handler_filter_many_to_one',
       ),
+      'casetracker_views_handler_filter_user_created_or_assigned' => array(
+        'parent' => 'views_handler_filter',
+      ),
 
       // arguments: casetracker_case
       'casetracker_views_handler_argument_status' => array(
Index: includes/casetracker_views_handler_filter_user_created_or_assigned.inc
===================================================================
RCS file: includes/casetracker_views_handler_filter_user_created_or_assigned.inc
diff -N includes/casetracker_views_handler_filter_user_created_or_assigned.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ includes/casetracker_views_handler_filter_user_created_or_assigned.inc	9 Mar 2010 19:06:18 -0000
@@ -0,0 +1,17 @@
+<?php
+// $Id$
+
+class casetracker_views_handler_filter_user_created_or_assigned extends views_handler_filter {
+  function admin_summary() { }
+  function operator_form() { }
+
+  function can_expose() {
+    return false;
+  }
+
+  function query() {
+    $case_table = $this->ensure_my_table();
+    $node_table = $this->query->ensure_table('node', $this->relationship);
+    $this->query->add_where($this->options['group'], "***CURRENT_USER*** <> 0 AND ($case_table.assign_to = ***CURRENT_USER*** OR $node_table.uid = ***CURRENT_USER***)");
+  }
+}
