def __init__(self, filters):
super(SubmitterFilter, self).__init__(filters)
self.name = 'Submitter'
- self.person = None
+ self.person = None
self.person_match = None
def _set_key(self, str):
return ''
def _form(self):
- name = ''
- if self.person:
- name = self.person.name
- return mark_safe(('<input onKeyUp="submitter_field_change(this)" ' +
- 'name="submitter" id="submitter_input" ' +
+ name = ''
+ if self.person:
+ name = self.person.name
+ return mark_safe(('<input onKeyUp="submitter_field_change(this)" ' +
+ 'name="submitter" id="submitter_input" ' +
'value="%s"> ' % escape(name)) +
- '<select id="submitter_select" ' +
- 'disabled="true"></select>')
+ '<select id="submitter_select" ' +
+ 'disabled="true"></select>')
def key(self):
if self.person:
class StateFilter(Filter):
param = 'state'
+ action_req_key = '!'
+
def __init__(self, filters):
super(StateFilter, self).__init__(filters)
self.name = 'State'
- self.state = None
+ self.state = None
+ self.action_req = None
def _set_key(self, str):
+ self.action_req = None
+ self.state = None
+
+ if str == self.action_req_key:
+ self.action_req = True
+ self.applied = True
+ return
+
try:
self.state = State.objects.get(id=int(str))
except:
self.applied = True
def kwargs(self):
- return {'state': self.state}
+ if self.action_req == True:
+ return {'state__in': \
+ State.objects.filter(action_required = True) \
+ .values('pk').query}
+ if self.state is not None:
+ return {'state': self.state}
def condition(self):
- return self.state.name
+ if self.state:
+ return self.state.name
+ elif self.action_req == True:
+ return 'Action Required'
+ return None
+
def key(self):
+ if self.action_req == True:
+ return self.action_req_key
if self.state is None:
return None
return self.state.id
def _form(self):
str = '<select name="%s">' % self.param
str += '<option value="">any</option>'
+ if self.action_req_key:
+ str += '<option value="%s">Action Required</option>' % \
+ self.action_req_key
for state in State.objects.all():
- selected = ''
+ selected = ''
if self.state and self.state == state:
- selected = ' selected="true"'
+ selected = ' selected="true"'
str += '<option value="%d" %s>%s</option>' % \
- (state.id, selected, state.name)
+ (state.id, selected, state.name)
str += '</select>'
return mark_safe(str);
super(SearchFilter, self).__init__(filters)
self.name = 'Search'
self.param = 'q'
- self.search = None
+ self.search = None
def _set_key(self, str):
- str = str.strip()
- if str == '':
- return
+ str = str.strip()
+ if str == '':
+ return
self.search = str
self.applied = True
return self.search
def _form(self):
- value = ''
- if self.search:
- value = escape(self.search)
+ value = ''
+ if self.search:
+ value = escape(self.search)
return mark_safe('<input name="%s" value="%s">' %\
- (self.param, value))
+ (self.param, value))
def form_function(self):
return mark_safe('function(form) { return form.x.value }')
return self.description_map[self.archive_state]
def key(self):
- if self.archive_state == False:
- return None
- return self.param_map[self.archive_state]
+ if self.archive_state == False:
+ return None
+ return self.param_map[self.archive_state]
def _form(self):
s = ''
def params(self):
return [ (f.param, f.key()) for f in self._filters \
- if f.key() is not None ]
+ if f.key() is not None ]
def querystring(self, remove = None):
params = dict(self.params())