Открыть боковую панель
peteroshkvarkov
Project-38
Коммиты
87d4e69b
Коммит
87d4e69b
создал
Ноя 05, 2023
по автору
AdLeGeR
Просмотр файлов
создал фильтрацию по учителб
владелец
69ee5fcf
Изменения
2
Скрыть пробелы
Построчно
Рядом
portal/projects/views.py
Просмотр файла @
87d4e69b
...
@@ -423,16 +423,26 @@ def close_project(request: HttpRequest):
...
@@ -423,16 +423,26 @@ def close_project(request: HttpRequest):
def
archive
(
request
:
HttpRequest
):
def
archive
(
request
:
HttpRequest
):
projects
=
Project
.
objects
.
filter
(
_status
=
'done'
)
projects
=
Project
.
objects
.
filter
(
_status
=
'done'
)
#обработка запроса с фильтрами
if
request
.
method
==
'POST'
:
if
request
.
method
==
'POST'
:
nominations
=
request
.
POST
.
get
(
'nominations'
,
'Не указано'
).
split
(
','
)
nominations
=
request
.
POST
.
get
(
'nominations'
,
'Не указано'
).
split
(
','
)
subject
=
request
.
POST
.
get
(
'subject'
,
'Не указано'
)
subject
=
request
.
POST
.
get
(
'subject'
,
'Не указано'
)
name
=
request
.
POST
.
get
(
'name'
,
''
)
name
=
request
.
POST
.
get
(
'name'
,
''
)
teacher_id
=
request
.
POST
.
get
(
'teacher'
,
-
1
)
if
nominations
[
0
]
!=
'Не указано'
and
nominations
[
0
]
!=
''
:
if
nominations
[
0
]
!=
'Не указано'
and
nominations
[
0
]
!=
''
:
projects
=
projects
.
filter
(
nominations__in
=
nominations
)
projects
=
projects
.
filter
(
nominations__in
=
nominations
)
if
subject
!=
'Не указано'
and
subject
!=
''
:
if
subject
!=
'Не указано'
and
subject
!=
''
:
projects
=
projects
.
filter
(
_subjects__icontains
=
subject
)
projects
=
projects
.
filter
(
_subjects__icontains
=
subject
)
if
name
!=
''
:
if
name
!=
''
:
projects
=
projects
.
filter
(
name__icontains
=
name
)
projects
=
projects
.
filter
(
name__icontains
=
name
)
if
teacher_id
!=
-
1
:
try
:
teacher
=
User
.
objects
.
get
(
id
=
teacher_id
)
projects
=
projects
.
filter
(
teacher
=
teacher
)
except
User
.
DoesNotExist
:
print
(
'потом с логированием разберусь'
)
projects
=
projects
[:
20
]
projects
=
projects
[:
20
]
# упаковка проектов и файлов в один массив состоящий из объектов класса ProjectPack
# упаковка проектов и файлов в один массив состоящий из объектов класса ProjectPack
...
@@ -450,7 +460,12 @@ def archive(request:HttpRequest):
...
@@ -450,7 +460,12 @@ def archive(request:HttpRequest):
'status'
:
project
.
get_status
(),
'status'
:
project
.
get_status
(),
'subjects'
:
project
.
get_subjects
()})
'subjects'
:
project
.
get_subjects
()})
context_projects
.
append
(
values
.
copy
())
context_projects
.
append
(
values
.
copy
())
teachers
=
User
.
objects
.
filter
(
role
=
"Учитель"
,
is_other_teacher
=
False
)
teacher_arr
=
[]
for
teacher
in
teachers
:
teacher_arr
.
append
([
teacher
.
full_Name
,
teacher
.
id
])
context
=
{
'projects'
:
context_projects
,
context
=
{
'projects'
:
context_projects
,
'nominations'
:
Project
.
_nominations
,
'nominations'
:
Project
.
_nominations
,
"subjects"
:
[
subject
.
name
for
subject
in
Subject
.
objects
.
all
()]}
"subjects"
:
[
subject
.
name
for
subject
in
Subject
.
objects
.
all
()],
"teachers"
:
teacher_arr
}
return
render
(
request
,
'projects/archive.html'
,
context
=
context
)
return
render
(
request
,
'projects/archive.html'
,
context
=
context
)
portal/templates/projects/archive.html
Просмотр файла @
87d4e69b
...
@@ -58,6 +58,22 @@
...
@@ -58,6 +58,22 @@
<div
class=
"right"
>
<div
class=
"right"
>
<button
class=
"btn filter_btn"
type=
"submit"
>
Применить
</button>
<button
class=
"btn filter_btn"
type=
"submit"
>
Применить
</button>
</div>
</div>
<div
class=
"tea"
>
<h3
class=
"h3 tea"
>
Учитель*
</h3>
<div>
<input
type=
"text"
class=
"search-block-input form-input search-block-teachers teacher-open"
placeholder=
"ФИО учителя"
>
<input
type=
"text"
class=
"new-teacher wf"
placeholder=
"ФИО учителя"
name=
"new-teacher"
>
<ul
class=
"search-block-result-list"
></ul>
<ul
class=
"search-block-list"
></ul>
</div>
<input
type=
"hidden"
class=
"search-block-hidden-input"
required
>
<input
type=
"hidden"
name=
"teacher"
class=
"search-block-for-teacher"
>
<div
class=
"checkbox"
>
<input
type=
"checkbox"
name=
"teacher-checkbox"
id=
"teacher-checkbox"
onclick=
"checkbox()"
>
<label
for=
"teacher-checkbox"
class=
"checkbox-label"
>
Учитель не из лицея
</label>
</div>
</div>
</form>
</form>
</div>
</div>
...
@@ -87,6 +103,42 @@
...
@@ -87,6 +103,42 @@
{%endfor%}
{%endfor%}
</ul>
</ul>
<script
src=
"{% static 'js/global/list.js' %}"
></script>
<script
src=
"{% static 'js/global/list.js' %}"
></script>
<script
src=
"{% static 'js/projects/archive.js' %}"
></script>
<script
src=
"{% static 'js/projects/archive.js' %}"
></script>
<script
src=
"{% static 'js/global/search_block.js' %}"
></script>
<script>
let
teacher_arr
=
{{
teachers
|
js
}}
let
teacher_name
=
[];
for
(
let
i
=
0
;
i
<
teacher_arr
.
length
;
i
++
)
{
teacher_name
.
push
(
teacher_arr
[
i
][
0
]);
}
$
(
'
.search-block-subjects
'
).
on
(
'
focus
'
,
function
()
{
list_arr
=
{{
subjects_names
|
js
}};
max_item
=
3
;
add_other_text
=
true
;
});
$
(
'
.search-block-teachers
'
).
on
(
'
focus
'
,
function
()
{
list_arr
=
teacher_name
;
max_item
=
1
;
add_other_text
=
false
;
});
$
(
$
(
'
.search-block-result-list
'
)[
0
]).
on
(
'
click
'
,
function
()
{
let
input
=
$
(
'
.search-block-hidden-input
'
)[
0
];
teacher_id
(
input
);
teacher_del
();
});
function
teacher_del
()
{
$
(
$
(
'
.search-block-div
'
)[
0
]).
on
(
'
click
'
,
function
()
{
let
input
=
$
(
'
.search-block-hidden-input
'
)[
0
];
teacher_id
(
input
);
});
}
</script>
<script
src=
"{% static 'js/projects/create_page.js' %}"
></script>
{% endblock content %}
{% endblock content %}
\ No newline at end of file
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать