diff --git a/main.ipynb b/main.ipynb
index ab076f3..6d16049 100644
--- a/main.ipynb
+++ b/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"
},
diff --git a/main.py b/main.py
index 0df7ac5..63c05e7 100644
--- a/main.py
+++ b/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,
diff --git a/templates/competition/card.html b/templates/competition/card.html
index 404e231..795b156 100644
--- a/templates/competition/card.html
+++ b/templates/competition/card.html
@@ -31,6 +31,7 @@
{{ {-1:'Формируется',0:'Прием заявок',1:'Идет отбор',2:'Закончился'}[competition.get('status',-1)] }}
{% endif %}
+ До {{ (competition.date_finish.strftime('%d.%m.%Y')) if competition.date_finish else ''}}
{{ competition.title }}