Открыть боковую панель
peteroshkvarkov
Project-38
Коммиты
b747a13f
Коммит
b747a13f
создал
Сен 05, 2023
по автору
Еганов Владислав Альбертович
Просмотр файлов
Улучшил ограничения и код
владелец
42c23765
Изменения
2
Скрыть пробелы
Построчно
Рядом
portal/announcements/views.py
Просмотр файла @
b747a13f
...
...
@@ -14,20 +14,13 @@ import os
def
index
(
request
):
group
=
None
superuser
=
False
anns
=
Announcement
.
objects
.
all
()
paginator
=
Paginator
(
anns
,
20
)
# Сколько объявлений на странице
page_number
=
request
.
GET
.
get
(
'page'
)
page_announcements
=
paginator
.
get_page
(
page_number
)
if
request
.
user
.
groups
.
exists
():
group
=
request
.
user
.
groups
.
all
()[
0
].
name
if
group
in
[
'Teacher'
,
'admin'
]:
superuser
=
True
data
=
{
'superuser'
:
superuser
,
'page_announcements'
:
page_announcements
,
'count'
:
anns
.
count
()}
data
=
{
'page_announcements'
:
page_announcements
,
'count'
:
anns
.
count
()}
return
render
(
request
,
'dec/dec.html'
,
context
=
data
)
...
...
@@ -87,6 +80,12 @@ def editor(request, id):
try
:
announcement
=
Announcement
.
objects
.
get
(
id
=
id
)
if
request
.
user
.
id
==
announcement
.
author_id
or
request
.
user
.
role
==
'Администратор'
:
pass
else
:
return
HttpResponsePermanentRedirect
(
'/announcements'
)
initial_data
=
{
'title'
:
announcement
.
title
,
'body'
:
announcement
.
body
,
...
...
@@ -135,7 +134,7 @@ def editannouncement(request, id):
files_to_delete
=
request
.
POST
.
get
(
'file_id_to_delete'
)
image_url
=
request
.
POST
.
get
(
'image_url'
)
if
int
(
files_to_delete
)
is
not
-
1
:
if
int
(
files_to_delete
)
!=
-
1
:
if
','
in
files_to_delete
:
files_to_delete
=
files_to_delete
.
split
(
','
)
...
...
@@ -212,6 +211,11 @@ def delete_announcement(request, id):
if
request
.
method
!=
'GET'
:
return
render
(
request
,
'WrongData.html'
)
if
request
.
user
.
id
==
Announcement
.
objects
.
get
(
id
=
id
).
author_id
or
request
.
user
.
role
==
'Администратор'
:
pass
else
:
return
HttpResponsePermanentRedirect
(
'/announcements'
)
announcement
=
Announcement
.
objects
.
get
(
id
=
id
)
files
=
announcement
.
files
.
all
()
...
...
portal/templates/dec/dec.html
Просмотр файла @
b747a13f
...
...
@@ -13,14 +13,14 @@
<input
value=
"{{ search_value }}"
name=
"q"
class=
"search-input"
type=
"text"
placeholder=
"Поиск..."
>
<button
class=
"search-button"
></button>
</div>
{%
comment %} {%
if user.role ==
administrator
or user.role ==
teacher %} {% endcomment
%}
{% if user.role ==
'Администратор'
or user.role ==
'Учитель'
%}
<a
href=
"{% url 'redactor' %}"
class=
"create-link"
>
<span>
Создать объявление
</span>
<svg
width=
"20"
height=
"20"
viewBox=
"0 0 200 200"
style=
"transform: rotate(45deg)"
>
<path
d=
"m114 100 49-49a9.9 9.9 0 0 0-14-14l-49 49-49-49a9.9 9.9 0 0 0-14 14l49 49-49 49a9.9 9.9 0 0 0 14 14l49-49 49 49a9.9 9.9 0 0 0 14-14Z"
fill=
"#FFFFFF"
></path>
</svg>
</a>
{%
comment %} {% endif %} {% endcomment
%}
{%
endif
%}
</form>
</div>
...
...
@@ -50,7 +50,7 @@
{% endif %}
</button>
{% if announcement.author == user.
username
or user.role == 'Администратор' %}
{% if announcement.author
_id
== user.
id
or user.role == 'Администратор' %}
<a
href=
"{% url 'delete' announcement.id %}"
class=
"delete-btn"
title=
"Удалить объявление"
>
<svg
viewBox=
"0 0 200 200"
width=
"22px"
height=
"22px"
><path
d=
"m114 100 49-49a9.9 9.9 0 0 0-14-14l-49 49-49-49a9.9 9.9 0 0 0-14 14l49 49-49 49a9.9 9.9 0 0 0 14 14l49-49 49 49a9.9 9.9 0 0 0 14-14Z"
fill=
"#f05454"
></path></svg>
</a>
...
...
@@ -60,6 +60,7 @@
</div>
<div
class=
"middle-info"
>
<h2
class=
"announ-title"
>
{{ announcement.title }}
</h2>
{% if announcement.author_id == user.id or user.role == 'Администратор' %}
<a
href=
"{% url 'redactor' %}/{{ announcement.id }}"
>
<svg
height=
"20px"
version=
"1.1"
viewBox=
"0 0 18 18"
width=
"20px"
>
<g
fill=
"none"
fill-rule=
"evenodd"
id=
"Page-1"
stroke=
"none"
stroke-width=
"1"
>
...
...
@@ -73,6 +74,7 @@
</g>
</svg>
</a>
{% endif %}
</div>
<p
class=
"announ-descr"
>
{{ announcement.body }}
</p>
<button
class=
"announ-btn"
>
Подробнее
</button>
...
...
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать