diff --git a/colleges/templates/colleges/fellowship_list.html b/colleges/templates/colleges/fellowship_list.html index 4fdf630908c8f0160159d1ae317cd22f6bf08b2f..1c0e007cdbc8147c636c06ae9a2d47a8d331694d 100644 --- a/colleges/templates/colleges/fellowship_list.html +++ b/colleges/templates/colleges/fellowship_list.html @@ -65,8 +65,30 @@ </tbody> </table> + <div class="mt-2"> + <ul class="list-inline"> + <li class="list-inline-item">Last name startswith:</li> + <li class="list-inline-item"> + <form action="" method="get">{{ searchform }} + {% if request.GET.field %} + <input type="hidden" name="field" value="{{ request.GET.field }}"> + {% if request.GET.specialty %} + <input type="hidden" name="specialty" value="{{ request.GET.specialty }}"> + {% endif %} + {% endif %} + <input class="btn btn-outline-secondary" type="submit" value="Search"> + </form> + </li> + </ul> + </div> + {% if view.kwargs.acad_field %} - <h3>Fellowships {% if view.kwargs.acad_field %}in {{ view.kwargs.acad_field }}{% if view.kwargs.specialty %} ({{ view.kwargs.specialty }}){% endif %}{% endif %}:</h3> + <h3>Fellowships + {% if view.kwargs.acad_field %}in {{ view.kwargs.acad_field }} + {% if view.kwargs.specialty %} ({{ view.kwargs.specialty }}){% endif %} + {% endif %} + {% if request.GET.text %} with last name starting with {{ request.GET.text }}{% endif %} + :</h3> <br/> {% endif %} <table class="table mt-3"> diff --git a/colleges/views.py b/colleges/views.py index 45b600d438b59098178a0956bf7d798dcc5f896a..751d35b09c37f779de89c562b1ec916346d5b892 100644 --- a/colleges/views.py +++ b/colleges/views.py @@ -144,8 +144,17 @@ class FellowshipListView(PermissionsMixin, PaginationMixin, ListView): queryset = queryset.filter(guest=False) elif self.request.GET.get('type') == 'guest': queryset = queryset.filter(guest=True) + if self.request.GET.get('text'): + query = Q_with_alternative_spellings( + contributor__profile__last_name__istartswith=self.request.GET['text']) + queryset = queryset.filter(query) return queryset + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context['searchform'] = SearchTextForm(initial={'text': self.request.GET.get('text')}) + return context + class FellowshipStartEmailView(PermissionsMixin, MailView): """