diff --git a/judge/views/contests.py b/judge/views/contests.py index b826271495..154cf76fef 100644 --- a/judge/views/contests.py +++ b/judge/views/contests.py @@ -103,7 +103,13 @@ def _get_queryset(self): ) def get_queryset(self): - return self._get_queryset().order_by(self.order, 'key').filter(end_time__lt=self._now) + self.search_query = None + queryset = self._get_queryset().order_by(self.order, 'key').filter(end_time__lt=self._now) + if 'search' in self.request.GET: + self.search_query = search_query = ' '.join(self.request.GET.getlist('search')).strip() + if search_query: + queryset = queryset.filter(Q(key__icontains=search_query) | Q(name__icontains=search_query)) + return queryset def get_paginator(self, queryset, per_page, orphans=0, allow_empty_first_page=True, **kwargs): return super().get_paginator(queryset, per_page, orphans, allow_empty_first_page, @@ -142,6 +148,7 @@ def get_context_data(self, **kwargs): context['now'] = self._now context['first_page_href'] = '.' context['page_suffix'] = '#past-contests' + context['search_query'] = self.search_query context.update(self.get_sort_context()) context.update(self.get_sort_paginate_context()) return context diff --git a/resources/vars-dark.scss b/resources/vars-dark.scss index b4e8a8e7c9..6e4f78d96b 100644 --- a/resources/vars-dark.scss +++ b/resources/vars-dark.scss @@ -47,6 +47,9 @@ $color_user_submission_activity4: #39d353; $color_info25: #023; $color_info50: #068; $color_info100: #7df; +$color_success25: #031; +$color_success50: #172; +$color_success100: #6f8; $color_warning25: #320; $color_warning50: #960; $color_warning100: #fd6; diff --git a/resources/vars-default.scss b/resources/vars-default.scss index 7b82ac9dc2..e1a9f7689d 100644 --- a/resources/vars-default.scss +++ b/resources/vars-default.scss @@ -47,6 +47,9 @@ $color_user_submission_activity4: #216e39; $color_info25: #def; $color_info50: #bdf; $color_info100: #368; +$color_success25: #ded; +$color_success50: #adb; +$color_success100: #173; $color_warning25: #ffd; $color_warning50: #feb; $color_warning100: #863; diff --git a/resources/widgets.scss b/resources/widgets.scss index 39f769b5fb..531a45d2db 100644 --- a/resources/widgets.scss +++ b/resources/widgets.scss @@ -476,33 +476,33 @@ a.close { border-radius: 5px; &.debug { - color: #383d41; - background-color: #e2e3e5; - border-color: #d6d8db; + color: $color_primary75; + background-color: $color_primary10; + border-color: $color_primary25; } &.info { - color: #0c5460; - background-color: #d1ecf1; - border-color: #bee5eb; + color: $color_info100; + background-color: $color_info25; + border-color: $color_info50; } &.success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; + color: $color_success100; + background-color: $color_success25; + border-color: $color_success50; } &.warning { - color: #856404; - background-color: #fff3cd; - border-color: #ffeeba; + color: $color_warning100; + background-color: $color_warning25; + border-color: $color_warning50; } &.error { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; + color: $color_danger100; + background-color: $color_danger25; + border-color: $color_danger50; } } } diff --git a/templates/contest/list.html b/templates/contest/list.html index c9ae466848..f87904af23 100644 --- a/templates/contest/list.html +++ b/templates/contest/list.html @@ -256,11 +256,19 @@