fix
This commit is contained in:
parent
21b98735ce
commit
c824e52878
@ -1,6 +1,6 @@
|
||||
from functools import cached_property
|
||||
|
||||
from django.contrib.auth.models import User, Group
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.db.models import Q
|
||||
from django.utils import timezone
|
||||
|
@ -30,3 +30,7 @@ class MainView(BaseView):
|
||||
new_tasks = set(Task.objects.filter(public=True)) - set(all_tasks)
|
||||
self.context['new_tasks'] = sample(new_tasks, k=min(5, len(new_tasks)))
|
||||
self.context['groups'] = Group.objects.filter(Q(editors__in=self.request.user.username) | Q(creator=self.request.user) | Q(users=self.request.user)).distinct()
|
||||
|
||||
def post(self):
|
||||
group = Group.objects.create(name=self.request.POST['name'], creator=self.request.user)
|
||||
return '/group?group_id=' + str(group.id)
|
||||
|
@ -2,7 +2,7 @@ import io
|
||||
from zipfile import ZipFile
|
||||
|
||||
from Main.models import Solution, Progress, SolutionFile
|
||||
from SprintLib.BaseView import BaseView
|
||||
from SprintLib.BaseView import BaseView, AccessError
|
||||
from SprintLib.queue import send_testing
|
||||
from SprintLib.utils import write_bytes
|
||||
|
||||
@ -23,6 +23,9 @@ class TaskView(BaseView):
|
||||
if hasattr(self.entities, 'setTask'):
|
||||
self.entities.add('task', self.entities.setTask.task)
|
||||
self.entities.add('set', self.entities.setTask.set)
|
||||
else:
|
||||
if not self.entities.task.public and not self.entities.task.creator == self.request.user and not self.request.user.username in self.entities.task.editors:
|
||||
raise AccessError()
|
||||
if self.request.method == "GET":
|
||||
return
|
||||
self.solution = Solution.objects.create(
|
||||
|
@ -3,9 +3,48 @@
|
||||
{% block title %}Главная{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<h2>Мои группы</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<h2>Мои группы</h2>
|
||||
</td>
|
||||
{% if user.userinfo.can_create %}
|
||||
<td>
|
||||
<button style="margin-left: 20px;" class="btn btn-success" data-toggle="modal" data-target="#example"><i class="fa fa-plus"></i></button>
|
||||
<div class="modal fade" id="example" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<form method="POST">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLongTitle">Создать новую группу</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
{% csrf_token %}
|
||||
<input type="text" name="name" placeholder="Имя группы">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal"><i class="fa fa-times-circle"></i> Закрыть</button>
|
||||
<button type="submit" class="btn btn-success"><i class="fa fa-plus-circle"></i> Создать</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</table>
|
||||
{% for group in groups %}
|
||||
<a href="/group?group_id={{ group.id }}">{{ group.name }}</a>
|
||||
<a href="/group?group_id={{ group.id }}">{{ group.name }}</a><br>
|
||||
{% endfor %}
|
||||
<hr><hr>
|
||||
<h2>Топ задач сегодня</h2>
|
||||
|
Loading…
Reference in New Issue
Block a user