Skip to content

Commit

Permalink
Merge pull request #277 from awf-dbca/search-options
Browse files Browse the repository at this point in the history
Search Options
  • Loading branch information
xzzy authored Jul 24, 2024
2 parents de52ad9 + d2b4596 commit 37f0251
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 12 deletions.
45 changes: 36 additions & 9 deletions wildlifecompliance/components/users/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -1110,17 +1110,44 @@ def get(self, request, format=None):
return Response()

search_term = request.GET.get('term', '')
search_option = request.GET.get('option', 'contains')
if search_term:

data_transform = []
user_data = EmailUser.objects.annotate(
search_name=Concat('first_name', Value(' '), 'last_name')
).annotate(
legal_search_name=Concat('legal_first_name', Value(' '), 'legal_last_name')
).filter(
Q(search_name__icontains=search_term) |
Q(legal_search_name__icontains=search_term) |
Q(email__icontains=search_term)
)[:10]
user_data = []
if search_option == 'contains':
user_data = EmailUser.objects.annotate(
search_name=Concat('first_name', Value(' '), 'last_name')
).annotate(
legal_search_name=Concat('legal_first_name', Value(' '), 'legal_last_name')
).filter(
Q(search_name__icontains=search_term) |
Q(legal_search_name__icontains=search_term) |
Q(email__icontains=search_term)
)[:40]

if search_option == 'starts_with':
user_data = EmailUser.objects.annotate(
search_name=Concat('first_name', Value(' '), 'last_name')
).annotate(
legal_search_name=Concat('legal_first_name', Value(' '), 'legal_last_name')
).filter(
Q(search_name__istartswith=search_term) |
Q(legal_search_name__istartswith=search_term) |
Q(email__istartswith=search_term)
)[:40]

if search_option == 'ends_with':
user_data = EmailUser.objects.annotate(
search_name=Concat('first_name', Value(' '), 'last_name')
).annotate(
legal_search_name=Concat('legal_first_name', Value(' '), 'legal_last_name')
).filter(
Q(search_name__iendswith=search_term) |
Q(legal_search_name__iendswith=search_term) |
Q(email__iendswith=search_term)
)[:40]

for email_user in user_data:
if email_user.dob:
text = '{} {} (DOB: {})'.format(get_first_name(email_user),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,22 @@
</h3>
</div>
<div class="panel-body collapse in" :id="kBody">
<div class="row">
<div class="form-group">
<div class="form-group">
<div class="row">
<div class="form-check form-check-inline col-md-3">
<input type="radio" value="contains" v-model="search_option" checked/>
<label class="form-check-label">Contains</label>
</div>
<div class="form-check form-check-inline col-md-3">
<input type="radio" value="starts_with" v-model="search_option"/>
<label class="form-check-label">Starts with</label>
</div>
<div class="form-check form-check-inline col-md-3">
<input type="radio" value="ends_with" v-model="search_option"/>
<label class="form-check-label">Ends with</label>
</div>
</div>
<div class="row">
<!--label for="person_lookup" class="col-sm-3 control-label">Search</label-->
<div class="col-sm-6">
<select
Expand All @@ -33,7 +47,7 @@
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Expand Down Expand Up @@ -184,6 +198,7 @@ export default {
cBody: 'cBody' + vm._uid,
kBody: 'kBody' + vm._uid,
loading: [],
search_option: "contains",
searchKeywords: [],
hasSearchKeywords: false,
selected_organisation:'',
Expand Down Expand Up @@ -309,6 +324,7 @@ export default {
console.log(params)
var query = {
term: params.term,
option: vm.search_option,
type: 'public',
}
return query;
Expand Down

0 comments on commit 37f0251

Please sign in to comment.