Redesign org list

This commit is contained in:
cuom1999 2022-06-18 14:32:37 +07:00
parent cd5672abf0
commit 289e9ab7db
5 changed files with 238 additions and 185 deletions

View file

@ -6,12 +6,24 @@ from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('judge', '0126_languagetemplate'),
("judge", "0126_languagetemplate"),
]
operations = [
migrations.AlterModelOptions(
name='submission',
options={'permissions': (('abort_any_submission', 'Abort any submission'), ('rejudge_submission', 'Rejudge the submission'), ('rejudge_submission_lot', 'Rejudge a lot of submissions'), ('spam_submission', 'Submit without limit'), ('view_all_submission', 'View all submission'), ('resubmit_other', "Resubmit others' submission"), ('view_public_submission', 'View public submissions')), 'verbose_name': 'submission', 'verbose_name_plural': 'submissions'},
name="submission",
options={
"permissions": (
("abort_any_submission", "Abort any submission"),
("rejudge_submission", "Rejudge the submission"),
("rejudge_submission_lot", "Rejudge a lot of submissions"),
("spam_submission", "Submit without limit"),
("view_all_submission", "View all submission"),
("resubmit_other", "Resubmit others' submission"),
("view_public_submission", "View public submissions"),
),
"verbose_name": "submission",
"verbose_name_plural": "submissions",
},
),
]

View file

@ -238,9 +238,16 @@ class OrganizationList(TitleMixin, ListView, OrganizationBase):
def get_context_data(self, **kwargs):
context = super(OrganizationList, self).get_context_data(**kwargs)
context["my_organizations"] = []
context["page_type"] = "organizations"
if self.request.profile:
context["my_organizations"] = self.request.profile.organizations.all()
context["my_organizations"] = context["organizations"].filter(
id__in=self.request.profile.organizations.values("id")
)
other_organizations = context["organizations"].exclude(
id__in=context["my_organizations"]
)
context["open_organizations"] = other_organizations.filter(is_open=True)
context["private_organizations"] = other_organizations.filter(is_open=False)
return context

View file

@ -88,7 +88,9 @@ class SubmissionDetailBase(LoginRequiredMixin, TitleMixin, SubmissionMixin, Deta
problem = submission.problem
if self.request.user.has_perm("judge.view_all_submission"):
return submission
if problem.is_public and self.request.user.has_perm("judge.view_public_submission"):
if problem.is_public and self.request.user.has_perm(
"judge.view_public_submission"
):
return submission
if submission.user_id == profile.id:
return submission