Skip to content
Snippets Groups Projects

Reforma vyhodnocování práv

Closed Martin Mareš requested to merge mj/rights into master
1 unresolved thread
1 file
+ 5
9
Compare changes
  • Side-by-side
  • Inline
+ 5
9
@@ -13,7 +13,7 @@ import zipfile
import mo.db as db
from mo.jobs import TheJob, job_handler, job_file_path
import mo.rights
from mo.rights import Right
from mo.submit import Submitter, SubmitException
from mo.util import logger, data_dir
from mo.util_format import inflect_number, inflect_by_number
@@ -169,17 +169,13 @@ def handle_upload_feedback(the_job: TheJob):
.filter(db.Participation.user_id.in_(user_dict.keys()))
.all())
rr = mo.rights.Rights(job.user)
rights_cache = {}
user_rights = {}
for user, pion, contest in rows:
user_dict[user.user_id] = user
if contest.contest_id not in rights_cache:
rr.get_for_contest(contest)
rights_cache[contest.contest_id] = (
rr.have_right(mo.rights.Right.upload_submits)
or (rr.have_right(mo.rights.Right.upload_feedback) and round.state == db.RoundState.grading))
user_rights[user.user_id] = rights_cache[contest.contest_id]
rr = the_job.gatekeeper.rights_for_contest(contest)
user_rights[user.user_id] = (
rr.have_right(Right.upload_submits)
or (rr.have_right(Right.upload_feedback) and round.state == db.RoundState.grading))
for f in files:
f.user = user_dict[f.user_id]
Loading