feat
This commit is contained in:
parent
42ec4d0ba9
commit
2d1f17d9d5
53
main.ipynb
53
main.ipynb
@ -2903,7 +2903,7 @@
|
||||
" competition = await competitions_col.find_one({'_id': ObjectId(competition_id)})\n",
|
||||
" data = json.dumps(competition, cls=MongoJSONEncoder, ensure_ascii=False)\n",
|
||||
" return templates.TemplateResponse(\n",
|
||||
" request=request, name=\"form/competition_edit.html\", context={\"competition\": str(data), \"user\": user}\n",
|
||||
" request=request, name=\"form/competition_edit.html\", context={\"competition\": str(data), \"competition_id\": competition_id, \"user\": user}\n",
|
||||
" )\n"
|
||||
],
|
||||
"display_name": ".venv"
|
||||
@ -4554,6 +4554,48 @@
|
||||
"id": "6157e497",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# @app.get('/profile/delivery/{type_d}/{item_id}')\n",
|
||||
"# async def profile_delivery_by_old(request: Request, type_d:str, item_id:str, user: Dict = Security(get_current_user)):\n",
|
||||
"# cursor = delivery_collection.aggregate([\n",
|
||||
"# {\"$match\": {\n",
|
||||
"# \"$or\": [\n",
|
||||
"# {\"sender._id\": user.get('_id')},\n",
|
||||
"# {\"user._id\": user.get('_id')},\n",
|
||||
"# {\"receiver._id\": user.get('_id')}\n",
|
||||
"# ],\n",
|
||||
"# f'{type_d}_id': ObjectId(item_id),\n",
|
||||
"# 'prod': PROD,\n",
|
||||
"# }},\n",
|
||||
"# {\"$sort\": {\"_id\": -1}},\n",
|
||||
"# {\"$group\": {\n",
|
||||
"# \"_id\": \"$post_id\",\n",
|
||||
"# \"doc\": {\"$first\": \"$$ROOT\"}\n",
|
||||
"# }},\n",
|
||||
"# {\"$replaceRoot\": {\"newRoot\": \"$doc\"}},\n",
|
||||
"# {\"$sort\": {\"_id\": -1}},\n",
|
||||
"# ])\n",
|
||||
"\n",
|
||||
"# data = [doc async for doc in cursor]\n",
|
||||
"# data.sort(key=lambda doc: doc[\"_id\"].generation_time, reverse=True)\n",
|
||||
"\n",
|
||||
"# return templates.TemplateResponse(\n",
|
||||
"# request=request,\n",
|
||||
"# name=\"profile/delivery_old.html\",\n",
|
||||
"# context={\n",
|
||||
"# \"user\": user,\n",
|
||||
"# \"data\": data,\n",
|
||||
"# }\n",
|
||||
"# )\n"
|
||||
],
|
||||
"display_name": ".venv"
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "089ba597",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"@app.get('/profile/delivery/competition/{competition_id}')\n",
|
||||
"async def profile_delivery_by_competition(request: Request, competition_id:str, user: Dict = Security(get_current_user)):\n",
|
||||
@ -4564,7 +4606,6 @@
|
||||
" {\"user._id\": user.get('_id')},\n",
|
||||
" {\"receiver._id\": user.get('_id')}\n",
|
||||
" ],\n",
|
||||
" 'competition_id': ObjectId(competition_id),\n",
|
||||
" 'prod': PROD,\n",
|
||||
" }},\n",
|
||||
" {\"$sort\": {\"_id\": -1}},\n",
|
||||
@ -4577,6 +4618,8 @@
|
||||
" ])\n",
|
||||
"\n",
|
||||
" data = [doc async for doc in cursor]\n",
|
||||
" data.sort(key=lambda doc: doc[\"_id\"].generation_time, reverse=True)\n",
|
||||
"\n",
|
||||
" return templates.TemplateResponse(\n",
|
||||
" request=request,\n",
|
||||
" name=\"profile/delivery_old.html\",\n",
|
||||
@ -4591,7 +4634,7 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "d68edb20",
|
||||
"id": "2148ef21",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -4617,6 +4660,8 @@
|
||||
" ])\n",
|
||||
"\n",
|
||||
" data = [doc async for doc in cursor]\n",
|
||||
" data.sort(key=lambda doc: doc[\"_id\"].generation_time, reverse=True)\n",
|
||||
"\n",
|
||||
" return templates.TemplateResponse(\n",
|
||||
" request=request,\n",
|
||||
" name=\"profile/delivery_old.html\",\n",
|
||||
@ -4624,7 +4669,7 @@
|
||||
" \"user\": user,\n",
|
||||
" \"data\": data,\n",
|
||||
" }\n",
|
||||
" )\n"
|
||||
" )"
|
||||
],
|
||||
"display_name": ".venv"
|
||||
},
|
||||
|
||||
42
main.py
42
main.py
@ -2162,7 +2162,7 @@ async def form_(
|
||||
competition = await competitions_col.find_one({'_id': ObjectId(competition_id)})
|
||||
data = json.dumps(competition, cls=MongoJSONEncoder, ensure_ascii=False)
|
||||
return templates.TemplateResponse(
|
||||
request=request, name="form/competition_edit.html", context={"competition": str(data), "user": user}
|
||||
request=request, name="form/competition_edit.html", context={"competition": str(data), "competition_id": competition_id, "user": user}
|
||||
)
|
||||
|
||||
|
||||
@ -3459,6 +3459,40 @@ async def profile_delivery_history_post(request: Request, post_id:str, user: Dic
|
||||
)
|
||||
|
||||
|
||||
# @app.get('/profile/delivery/{type_d}/{item_id}')
|
||||
# async def profile_delivery_by_old(request: Request, type_d:str, item_id:str, user: Dict = Security(get_current_user)):
|
||||
# cursor = delivery_collection.aggregate([
|
||||
# {"$match": {
|
||||
# "$or": [
|
||||
# {"sender._id": user.get('_id')},
|
||||
# {"user._id": user.get('_id')},
|
||||
# {"receiver._id": user.get('_id')}
|
||||
# ],
|
||||
# f'{type_d}_id': ObjectId(item_id),
|
||||
# 'prod': PROD,
|
||||
# }},
|
||||
# {"$sort": {"_id": -1}},
|
||||
# {"$group": {
|
||||
# "_id": "$post_id",
|
||||
# "doc": {"$first": "$$ROOT"}
|
||||
# }},
|
||||
# {"$replaceRoot": {"newRoot": "$doc"}},
|
||||
# {"$sort": {"_id": -1}},
|
||||
# ])
|
||||
|
||||
# data = [doc async for doc in cursor]
|
||||
# data.sort(key=lambda doc: doc["_id"].generation_time, reverse=True)
|
||||
|
||||
# return templates.TemplateResponse(
|
||||
# request=request,
|
||||
# name="profile/delivery_old.html",
|
||||
# context={
|
||||
# "user": user,
|
||||
# "data": data,
|
||||
# }
|
||||
# )
|
||||
|
||||
|
||||
@app.get('/profile/delivery/competition/{competition_id}')
|
||||
async def profile_delivery_by_competition(request: Request, competition_id:str, user: Dict = Security(get_current_user)):
|
||||
cursor = delivery_collection.aggregate([
|
||||
@ -3468,7 +3502,6 @@ async def profile_delivery_by_competition(request: Request, competition_id:str,
|
||||
{"user._id": user.get('_id')},
|
||||
{"receiver._id": user.get('_id')}
|
||||
],
|
||||
'competition_id': ObjectId(competition_id),
|
||||
'prod': PROD,
|
||||
}},
|
||||
{"$sort": {"_id": -1}},
|
||||
@ -3481,6 +3514,8 @@ async def profile_delivery_by_competition(request: Request, competition_id:str,
|
||||
])
|
||||
|
||||
data = [doc async for doc in cursor]
|
||||
data.sort(key=lambda doc: doc["_id"].generation_time, reverse=True)
|
||||
|
||||
return templates.TemplateResponse(
|
||||
request=request,
|
||||
name="profile/delivery_old.html",
|
||||
@ -3513,6 +3548,8 @@ async def profile_delivery_by_exhibition(request: Request, exhibition_id:str, us
|
||||
])
|
||||
|
||||
data = [doc async for doc in cursor]
|
||||
data.sort(key=lambda doc: doc["_id"].generation_time, reverse=True)
|
||||
|
||||
return templates.TemplateResponse(
|
||||
request=request,
|
||||
name="profile/delivery_old.html",
|
||||
@ -3522,7 +3559,6 @@ async def profile_delivery_by_exhibition(request: Request, exhibition_id:str, us
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@app.get(
|
||||
"/profile/delivery",
|
||||
response_class=HTMLResponse,
|
||||
|
||||
@ -31,6 +31,7 @@
|
||||
<span class="b_0jst1">{{ {-1:'Формируется',0:'Прием заявок',1:'Идет отбор',2:'Закончился'}[competition.get('status',-1)] }}</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
<span class="b_sdf">До {{ (competition.date_finish.strftime('%d.%m.%Y')) if competition.date_finish else ''}}</span>
|
||||
<header class="c_m876y b_9xtz9">
|
||||
<h3 class="c_hysjg b_8f3uh">{{ competition.title }}</h3>
|
||||
</header>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{% import "competition/list.html" as competition %}
|
||||
{% import "components/checkbox.html" as checkbox %}
|
||||
|
||||
{% macro section(user, competition) -%}
|
||||
{% macro section(user, competition, competition_id) -%}
|
||||
<form class="c_sbrxk">
|
||||
<div class="c_dtjoh">
|
||||
<h3>Выбор</h3>
|
||||
@ -346,7 +346,7 @@ function bindLinkValidation({
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const competition = JSON.parse({{competition|tojson}})
|
||||
const competitionId = competition._id
|
||||
const competitionId = `{{competition_id}}`
|
||||
|
||||
document.getElementById('title').value = competition.title;
|
||||
document.getElementById('preview_title').textContent = competition.title;
|
||||
@ -595,7 +595,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
|
||||
console.log('Отправка формы...');
|
||||
try {
|
||||
const res = await fetch(`/api/competition/${competitionId}`, {
|
||||
const res = await fetch(`/api/competition/{{competition_id}}`, {
|
||||
method: 'PUT',
|
||||
body: formData
|
||||
});
|
||||
@ -895,5 +895,4 @@ input[type="number"]:focus::-webkit-inner-spin-button {display: none;}
|
||||
.c_sbrxk{z-index: 1000;}
|
||||
#preview_poster{width: 335px;}
|
||||
</style>
|
||||
|
||||
{%- endmacro %}
|
||||
@ -14,6 +14,6 @@
|
||||
|
||||
{% block content %}
|
||||
{{ header.section(user) }}
|
||||
{{ form.section(user, competition) }}
|
||||
{{ form.section(user, competition, competition_id) }}
|
||||
{{ footer.section() }}
|
||||
{% endblock %}
|
||||
|
||||
@ -82,6 +82,8 @@
|
||||
<span class="b_bvl0d">Получить</span>
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if doc.status == 'Получено' %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<p class="b_6spaf">
|
||||
{{ (doc._id.generation_time.strftime('%d.%m.%Y')) if doc._id else ''}}
|
||||
@ -125,10 +127,7 @@
|
||||
</div>
|
||||
</article>
|
||||
{% endif %}
|
||||
{% for doc in data if doc.status in statuses %}
|
||||
{{ render_doc(doc) }}
|
||||
{% endfor %}
|
||||
{% for doc in data if doc.status not in statuses %}
|
||||
{% for doc in data %}
|
||||
{{ render_doc(doc) }}
|
||||
{% endfor %}
|
||||
<script defer>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user