Skip to content
8 changes: 4 additions & 4 deletions applications/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ class ApplicationAdmin(admin.ModelAdmin):
list_filter = ('status', 'first_timer', 'reimb', 'graduation_year',
'university', 'origin', 'under_age', 'diet')
list_per_page = 200
search_fields = ('user__name', 'user__email',
'description',)
search_fields = ('user__name__unaccent', 'user__email__unaccent',
'description__unaccent',)
ordering = ('submission_date',)
date_hierarchy = 'submission_date'

Expand Down Expand Up @@ -47,7 +47,7 @@ class OtherApplicationAdmin(admin.ModelAdmin):
list_display = ('user', 'name', 'status', 'status_last_updated', 'diet')
list_filter = ('status', 'under_age', 'diet')
list_per_page = 200
search_fields = ('user__name', 'user__email',)
search_fields = ('user__name__unaccent', 'user__email__unaccent',)
ordering = ('submission_date',)
date_hierarchy = 'submission_date'

Expand All @@ -72,7 +72,7 @@ class SponsorApplicationAdmin(OtherApplicationAdmin):
class DraftApplicationAdmin(admin.ModelAdmin):
list_display = ('user', 'name')
list_per_page = 200
search_fields = ('user__name', 'user__email',)
search_fields = ('user__name__unaccent', 'user__email__unaccent',)
ordering = ('user__name',)

def name(self, obj):
Expand Down
5 changes: 3 additions & 2 deletions baggage/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class BaggageRoomAdmin(admin.ModelAdmin):
'room', 'row', 'col', 'door_row', 'door_col'
)
search_fields = (
'room',
'room__unaccent',
)

def get_actions(self, request):
Expand All @@ -19,7 +19,8 @@ class BaggageListAdmin(admin.ModelAdmin):
'bid', 'owner', 'status', 'btype', 'color', 'description', 'special', 'time', 'updated'
)
search_fields = (
'owner__email', 'owner__name', 'status', 'btype', 'color', 'description'
'owner__email__unaccent', 'owner__name__unaccent', 'status__unaccent', 'btype__unaccent',
'color__unaccent', 'description__unaccent'
)
list_filter = (
'status', 'btype', 'color', 'special'
Expand Down
27 changes: 15 additions & 12 deletions baggage/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,12 @@ class BaggageListFilter(django_filters.FilterSet):

def search_filter(self, queryset, name, value):
queryfilter = queryset.annotate(fullpos=Concat('room', 'row', 'col', output_field=CharField()))
return queryfilter.filter((Q(owner__email__icontains=value) | Q(owner__name__icontains=value) |
Q(status__icontains=value) | Q(btype__icontains=value) | Q(color__icontains=value) |
Q(description__icontains=value) | Q(fullpos__icontains=value)))
return queryfilter.filter((Q(owner__email__unaccent__icontains=value) |
Q(owner__name__unaccent__icontains=value) |
Q(status__unaccent__icontains=value) | Q(btype__unaccent__icontains=value) |
Q(color__unaccent__icontains=value) |
Q(description__unaccent__icontains=value) |
Q(fullpos__unaccent__icontains=value)))

def search_time(self, queryset, name, value):
if name == 'time_from':
Expand All @@ -39,15 +42,15 @@ class BaggageUsersFilter(django_filters.FilterSet):
search = django_filters.CharFilter(method='search_filter', label='Search')

def search_filter(self, queryset, name, value):
return queryset.filter(Q(hacker__user__email__icontains=value) |
Q(hacker__user__name__icontains=value) |
Q(volunteer__user__email__icontains=value) |
Q(volunteer__user__name__icontains=value) |
Q(mentor__user__email__icontains=value) |
Q(mentor__user__name__icontains=value) |
Q(sponsor__user__email__icontains=value) |
Q(sponsor__user__name__icontains=value) |
Q(qr_identifier__icontains=value))
return queryset.filter(Q(hacker__user__email__unaccent__icontains=value) |
Q(hacker__user__name__unaccent__icontains=value) |
Q(volunteer__user__email__unaccent__icontains=value) |
Q(volunteer__user__name__unaccent__icontains=value) |
Q(mentor__user__email__unaccent__icontains=value) |
Q(mentor__user__name__unaccent__icontains=value) |
Q(sponsor__user__email__unaccent__icontains=value) |
Q(sponsor__user__name__unaccent__icontains=value) |
Q(qr_identifier__unaccent__icontains=value))

class Meta:
model = CheckIn
Expand Down
8 changes: 5 additions & 3 deletions checkin/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ class CheckinAdmin(admin.ModelAdmin):
list_display = (
'user', 'type', 'application', 'update_time'
)
search_fields = ('user__email', 'user__name', 'hacker__user__name', 'hacker__user__email', 'volunteer__user__name',
'volunteer__user__email', 'mentor__user__name', 'mentor__user__email', 'sponsor__user__name',
'sponsor__user__email')
search_fields = ('user__email__unaccent', 'user__name__unaccent', 'hacker__user__name__unaccent',
'hacker__user__email__unaccent', 'volunteer__user__name__unaccent',
'volunteer__user__email__unaccent', 'mentor__user__name__unaccent',
'mentor__user__email__unaccent', 'sponsor__user__name__unaccent',
'sponsor__user__email__unaccent')
date_hierarchy = 'update_time'
list_filter = ('user', )
actions = ['delete_selected', ]
Expand Down
6 changes: 3 additions & 3 deletions checkin/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ class ApplicationCheckinFilter(django_filters.FilterSet):
search = django_filters.CharFilter(method='search_filter', label='Search')

def search_filter(self, queryset, name, value):
return queryset.filter(Q(user__email__icontains=value) | Q(user__name__icontains=value) |
return queryset.filter(Q(user__email__unaccent__icontains=value) | Q(user__name__unaccent__icontains=value) |
Q(uuid__icontains=value.replace('-', '')))

class Meta:
Expand All @@ -34,8 +34,8 @@ class SponsorApplicationCheckinFilter(django_filters.FilterSet):
search = django_filters.CharFilter(method='search_filter', label='Search')

def search_filter(self, queryset, name, value):
return queryset.filter(Q(user__email__icontains=value) | Q(user__name__icontains=value) |
Q(name__icontains=value))
return queryset.filter(Q(user__email__unaccent__icontains=value) | Q(user__name__unaccent__icontains=value) |
Q(name__unaccent__icontains=value))

class Meta:
model = SponsorApplication
Expand Down
2 changes: 1 addition & 1 deletion discord/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class DiscordUserAdmin(admin.ModelAdmin):
list_display = (
'user', 'discord_id', 'checked_in'
)
search_fields = ('user__email', 'user__name')
search_fields = ('user__email__unaccent', 'user__name__unaccent')
list_filter = ('user',)
actions = ['delete_selected', ]

Expand Down
8 changes: 4 additions & 4 deletions discord/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ class DiscordFilter(django_filters.FilterSet):
search = django_filters.CharFilter(method='search_filter', label='Search')

def search_filter(self, queryset, name, value):
return queryset.filter(Q(user__email__icontains=value) |
Q(user__name__icontains=value) |
Q(discord_username__icontains=value) |
Q(team_name__icontains=value))
return queryset.filter(Q(user__email__unaccent__icontains=value) |
Q(user__name__unaccent__icontains=value) |
Q(discord_username__unaccent__icontains=value) |
Q(team_name__unaccent__icontains=value))

class Meta:
model = DiscordUser
Expand Down
5 changes: 3 additions & 2 deletions hardware/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def status_filter(self, queryset, name, value):
return qs.distinct()

def search_filter(self, queryset, name, value):
return queryset.filter(Q(item_type__name__icontains=value) | Q(user__name__icontains=value))
return queryset.filter(Q(item_type__name__unaccent__icontains=value) | Q(user__name__unaccent__icontains=value))

class Meta:
model = Request
Expand All @@ -50,7 +50,8 @@ def status_filter(self, queryset, name, value):
return queryset.get_active()

def search_filter(self, queryset, name, value):
return queryset.filter(Q(item__item_type__name__icontains=value) | Q(user__name__icontains=value))
return queryset.filter(Q(item__item_type__name__unaccent__icontains=value) |
Q(user__name__unaccent__icontains=value))

class Meta:
model = Borrowing
Expand Down
2 changes: 1 addition & 1 deletion hardware/views/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ def identify_hacker(self, request):
Gets a list of suggestions based on the input (typeahead)
"""
checkins = CheckIn.objects.filter(
Q(hacker__user__name__icontains=request.POST['query']) |
Q(hacker__user__name__unaccent__icontains=request.POST['query']) |
Q(hacker__user__email__startswith=request.POST['query']) |
Q(qr_identifier=request.POST['query']))

Expand Down
8 changes: 4 additions & 4 deletions judging/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@

class ProjectAdmin(admin.ModelAdmin):
list_display = ('title', 'url', 'desired_prizes', 'description', 'university')
search_fields = ['title', 'url', 'university', 'desired_prizes',
'submitter_first_name', 'submitter_last_name']
search_fields = ['title__unaccent', 'url', 'university__unaccent', 'desired_prizes__unaccent',
'submitter_first_name__unaccent', 'submitter_last_name__unaccent']
list_per_page = 100


class ChallengeAdmin(admin.ModelAdmin):
list_display = ('name',)
search_fields = ['name']
search_fields = ['name__unaccent']


class RoomAdmin(admin.ModelAdmin):
list_display = ('name', 'challenge', 'main_judge')
search_fields = ['name', 'challenge', 'main_judge']
search_fields = ['name__unaccent', 'challenge__name__unaccent', 'main_judge__name__unaccent']


class PresentationAdmin(admin.ModelAdmin):
Expand Down
4 changes: 2 additions & 2 deletions meals/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class MealsMealAdmin(admin.ModelAdmin):
'id', 'name', 'times', 'opened', 'starts', 'ends'
)
search_fields = (
'name',
'name__unaccent',
)

def get_actions(self, request):
Expand All @@ -19,7 +19,7 @@ class MealsEatenAdmin(admin.ModelAdmin):
'id', 'meal', 'user', 'time'
)
search_fields = (
'name', 'user__name', 'user__email'
'meal__name__unaccent', 'user__name__unaccent', 'user__email__unaccent'
)
list_filter = (
'meal', 'user'
Expand Down
6 changes: 3 additions & 3 deletions meals/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class MealsListFilter(django_filters.FilterSet):
kind = django_filters.ChoiceFilter(label='Type', choices=MEAL_TYPE, empty_label='Any')

def search_filter(self, queryset, name, value):
return queryset.filter((Q(name__icontains=value) | Q(kind__icontains=value)))
return queryset.filter((Q(name__unaccent__icontains=value) | Q(kind__unaccent__icontains=value)))

class Meta:
model = Meal
Expand Down Expand Up @@ -55,8 +55,8 @@ def search_filter(self, queryset, name, value):
checkin = CheckIn.objects.get(qr_identifier=value)
return queryset.filter(user=checkin.application.user)
except CheckIn.DoesNotExist:
return queryset.filter(Q(meal__name__icontains=value) |
Q(user__name__icontains=value) | Q(user__email__icontains=value))
return queryset.filter(Q(meal__name__unaccent__icontains=value) |
Q(user__name__unaccent__icontains=value) | Q(user__email__unaccent__icontains=value))

class Meta:
model = Meal
Expand Down
3 changes: 2 additions & 1 deletion organizers/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ class VoteAdmin(admin.ModelAdmin):
list_display = ('application', 'user', 'tech', 'personal', 'calculated_vote')
list_per_page = 200
list_filter = ('user', 'application')
search_fields = ('application__user__name', 'application__user__email', 'user__name', 'user__email')
search_fields = ('application__user__name__unaccent', 'application__user__email__unaccent',
'user__name__unaccent', 'user__email__unaccent')
actions = ['delete_selected', ]


Expand Down
40 changes: 20 additions & 20 deletions organizers/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ class ApplicationFilter(django_filters.FilterSet):

def search_filter(self, queryset, name, value):
return queryset.filter(
Q(user__email__icontains=value)
| Q(user__name__icontains=value)
| Q(university__icontains=value)
| Q(origin__icontains=value)
Q(user__email__unaccent__icontains=value)
| Q(user__name__unaccent__icontains=value)
| Q(university__unaccent__icontains=value)
| Q(origin__unaccent__icontains=value)
)

class Meta:
Expand All @@ -51,10 +51,10 @@ class DubiousApplicationFilter(django_filters.FilterSet):

def search_filter(self, queryset, name, value):
return queryset.filter(
Q(user__email__icontains=value)
| Q(user__name__icontains=value)
| Q(university__icontains=value)
| Q(origin__icontains=value)
Q(user__email__unaccent__icontains=value)
| Q(user__name__unaccent__icontains=value)
| Q(university__unaccent__icontains=value)
| Q(origin__unaccent__icontains=value)
)

class Meta:
Expand All @@ -67,10 +67,10 @@ class BlacklistApplicationFilter(django_filters.FilterSet):

def search_filter(self, queryset, name, value):
return queryset.filter(
Q(user__email__icontains=value)
| Q(user__name__icontains=value)
| Q(university__icontains=value)
| Q(origin__icontains=value)
Q(user__email__unaccent__icontains=value)
| Q(user__name__unaccent__icontains=value)
| Q(university__unaccent__icontains=value)
| Q(origin__unaccent__icontains=value)
)

class Meta:
Expand All @@ -94,10 +94,10 @@ class InviteFilter(django_filters.FilterSet):

def search_filter(self, queryset, name, value):
return queryset.filter(
Q(user__email__icontains=value)
| Q(user__name__icontains=value)
| Q(university__icontains=value)
| Q(origin__icontains=value)
Q(user__email__unaccent__icontains=value)
| Q(user__name__unaccent__icontains=value)
| Q(university__unaccent__icontains=value)
| Q(origin__unaccent__icontains=value)
)

class Meta:
Expand Down Expand Up @@ -273,9 +273,9 @@ class SponsorFilter(django_filters.FilterSet):

def search_filter(self, queryset, name, value):
return queryset.filter(
Q(email__icontains=value)
| Q(user__name__icontains=value)
| Q(name__icontains=value)
Q(email__unaccent__icontains=value)
| Q(user__name__unaccent__icontains=value)
| Q(name__unaccent__icontains=value)
)

class Meta:
Expand Down Expand Up @@ -307,7 +307,7 @@ class SponsorUserFilter(django_filters.FilterSet):
search = django_filters.CharFilter(method="search_filter", label="Search")

def search_filter(self, queryset, name, value):
return queryset.filter(Q(email__icontains=value) | Q(name__icontains=value))
return queryset.filter(Q(email__unaccent__icontains=value) | Q(name__unaccent__icontains=value))

class Meta:
model = User
Expand Down
2 changes: 1 addition & 1 deletion reimbursement/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class ReimbursementAdmin(admin.ModelAdmin):
)
list_filter = ("status", "origin", "reimbursed_by")

search_fields = ["hacker__name", "hacker__email", "origin"]
search_fields = ["hacker__name__unaccent", "hacker__email__unaccent", "origin__unaccent"]
list_per_page = 200

ordering = ("creation_time",)
Expand Down
12 changes: 6 additions & 6 deletions reimbursement/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ class ReimbursementFilter(django_filters.FilterSet):

def search_filter(self, queryset, name, value):
return queryset.filter(
Q(hacker__email__icontains=value)
| Q(hacker__name__icontains=value)
| Q(origin__icontains=value)
Q(hacker__email__unaccent__icontains=value)
| Q(hacker__name__unaccent__icontains=value)
| Q(origin__unaccent__icontains=value)
)

class Meta:
Expand Down Expand Up @@ -51,9 +51,9 @@ class SendReimbursementFilter(django_filters.FilterSet):

def search_filter(self, queryset, name, value):
return queryset.filter(
Q(hacker__email__icontains=value)
| Q(hacker__name__icontains=value)
| Q(origin__icontains=value)
Q(hacker__email__unaccent__icontains=value)
| Q(hacker__name__unaccent__icontains=value)
| Q(origin__unaccent__icontains=value)
)

class Meta:
Expand Down
2 changes: 1 addition & 1 deletion teams/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class TeamAdmin(admin.ModelAdmin):
list_display = ('team_code', 'user',)
list_per_page = 200
list_filter = ('team_code', 'user')
search_fields = ('team_code', 'user__name')
search_fields = ('team_code', 'user__name__unaccent')
actions = ['delete_selected', ]


Expand Down
Loading