Merge branch 'LQDJudge:master' into master

This commit is contained in:
Dung T.Bui 2023-05-16 12:47:53 +07:00 committed by GitHub
commit 49a186f72f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 132 additions and 90 deletions

View file

@ -847,6 +847,7 @@ class ContestStats(TitleMixin, ContestMixin, DetailView):
continue
problem_idx = codes.index(problem_code)
bin_idx = math.floor(point * self.POINT_BIN / max_point)
bin_idx = max(min(bin_idx, self.POINT_BIN), 0)
counter[problem_idx][bin_idx] += count
for i in range(num_problems):
problem_points[i] = [

View file

@ -27,6 +27,7 @@ class FeedView(InfinitePaginationMixin, ListView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["has_next_page"] = context["page_obj"].has_next()
try:
context["feed_content_url"] = reverse(self.url_name)
except Exception as e:

View file

@ -304,15 +304,18 @@ class OrganizationHome(OrganizationHomeView, FeedView):
return context
class OrganizationUsers(QueryStringSortMixin, OrganizationMixin, FeedView):
class OrganizationUsers(
DiggPaginatorMixin, QueryStringSortMixin, OrganizationMixin, ListView
):
template_name = "organization/users.html"
all_sorts = frozenset(("points", "problem_count", "rating", "performance_points"))
default_desc = all_sorts
default_sort = "-performance_points"
paginate_by = 100
context_object_name = "users"
def get_queryset(self):
return ranker(
return (
self.organization.members.filter(is_unlisted=False)
.order_by(self.order, "id")
.select_related("user")
@ -347,6 +350,9 @@ class OrganizationUsers(QueryStringSortMixin, OrganizationMixin, FeedView):
"organization_user_kick",
args=[self.organization.id, self.organization.slug],
)
context["users"] = ranker(
context["users"], rank=self.paginate_by * (context["page_obj"].number - 1)
)
context["first_page_href"] = "."
context["page_type"] = "users"

View file

@ -194,7 +194,7 @@ class ProblemSolution(
PageVoteDetailView,
BookMarkDetailView,
):
context_object_name = "problem"
context_object_name = "solution"
template_name = "problem/editorial.html"
def get_title(self):
@ -220,7 +220,7 @@ class ProblemSolution(
) and not self.request.user.has_perm("judge.see_private_solution"):
raise Http404()
context["solution"] = solution
context["problem"] = self.problem
context["has_solved_problem"] = self.problem.id in self.get_completed_problems()
return context
@ -1118,7 +1118,6 @@ def problem_submit(request, problem, submission=None):
# Save a query
model.source = source
cache.set(f"submission_source_file:{model.id}", form.source_file_name, 3600)
model.judge(rejudge=False, judge_id=form.cleaned_data["judge"])
return HttpResponseRedirect(