Коммит b6ef786c создал по автору Дмитриев Алекссей Романович's avatar Дмитриев Алекссей Романович
Просмотр файлов

сделал проброс данных в шаблон

владелец 8b76f1d2
......@@ -10,14 +10,36 @@ from management.models import User
from projects.models import Project, File
def check_what_user_not_have_access(request: HttpRequest, project: Project): # True если не имеет, False, если имеет
def check_what_user_not_have_access(request: HttpRequest, project: Project): # True если не имеет, False, если имеет
return request.user.id != project.teacher.id and request.user.id != project.student.id and request.user.role != 'Администратор'
def index(request: HttpRequest):
project_id = request.GET.get("id", None)
if project_id is None:
return render(request, "projects/index.html")
if request.user.role == 'Ученик':
projects = Project.objects.filter(student=request.user)
elif request.user.role == 'Учитель':
projects = Project.objects.filter(teacher=request.user)
@dataclass
class FilePack:
file: File
name: str
@dataclass
class ProjectPack:
project: Project
files: list[FilePack]
context_projects = []
for project in projects:
files = [FilePack(file, file.file.name.split('/')[-1]) for file in File.objects.filter(project=project, version=1)]
context_projects.append(ProjectPack(project, files))
return render(request, "projects/index.html", context={'projects': context_projects,
'has_projects': len(context_projects) > 0})
try:
project = Project.objects.get(id=project_id)
if check_what_user_not_have_access(request, project):
......
......@@ -18,7 +18,7 @@
fill="#FFFFFF"></path>
</svg></a>
{% endif %}
<!-- {% if user. == null %} -->
{% if has_projects == null %}
<h1 class="title">Общий список</h1>
<div class="no-projects">
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" class="no-projects-svg">
......@@ -29,20 +29,20 @@
</svg>
<span class="no-projects-span">У вас ещё ни одного проекта...</span>
</div>
<!-- {% else %} -->
{% else %}
{% for project in projects %}
<div class="flex" id="flex{{ project_id }}"> <!-- id проекта -->
<p class="cap">{{ project_title }}</p> <!-- Название проекта -->
<button class="btn btn-projects"></button> <!-- кнопка -->
<p class="text">{{ project_body }}</p> <!-- Описание проекта -->
<div class="flex" id="flex{{ project.id }}"> <!-- id проекта -->
<p class="cap">{{ project.name }}</p> <!-- Название проекта -->
<button class="btn btn-projects"></button> <!-- кнопка --> <!--Нужно сделать ссылку по типу projects/index/id_проекта-->
<p class="text">{{ project.description }}</p> <!-- Описание проекта -->
<div class="files">
{% for file in files %} <!-- цикл для отрисовки файлов -->
{% for file in project.files %} <!-- цикл для отрисовки файлов -->
<div class="file">
<p class="filename">{{ filename }}</p>
<p class="filename">{{ file.name }}</p>
</div>
{% endfor %}
</div>
</div>
{% endfor %}
<!-- {% endif %} -->
{% endif %}
{% endblock %}
\ Нет новой строки в конце файла
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать