"""
def clause(field_name, expression):
- return Q(**{"%s__icontains" % field_name: expression})
+ if field_name.startswith('EXACT:'):
+ field_name = field_name[6:]
+ return Q(**{"%s__iexact" % field_name: expression})
+ else:
+ return Q(**{"%s__icontains" % field_name: expression})
terms = normalize_query(query_string)
# them all up.
term_filter = build_query(query_string, ['title', 'author',
- 'publisher', 'marcxml'])
+ 'publisher', 'marcxml',
+ 'EXACT:barcode'])
if ENABLE_USER_FILTERS and user:
user_filter = models.Item.filter_for_user(user)
else:
# any sites as results.
sites = models.Site.objects.none()
else:
- term_filter = build_query(query_string, ['course__name',
+ term_filter = build_query(query_string, ['course__code',
+ 'course__name',
'course__department__name',
'owner__last_name',
'owner__first_name'])