forked from bnjjs1998/Votes
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBlock_votes.py
More file actions
76 lines (64 loc) · 2.84 KB
/
Block_votes.py
File metadata and controls
76 lines (64 loc) · 2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from datetime import datetime
from flask import render_template, jsonify, request
from flask_login import UserMixin, login_required, current_user
from app import *
from app import app
from app import mongo
from request_friend import collections_user
@app.route('/B_btn', methods=['POST'])
@login_required
def block_btn():
data = request.get_json()
# Afficher les données reçues pour débogage
print(f"Data received for Block result: {data}")
# Validation des données
title = data.get('question_title')
try:
# Vérifier si la question existe
question = mongo.db.questions.find_one({'title_question': title})
question_id = question['_id']
print(f"Question ID : {question_id}")
#on va regarder si la question est pas déja archivé
list_document_block = mongo.db.scrutin_archive.find_one({'_id': question_id})
if list_document_block :
#actualulis
return jsonify({
"message": "Sondage déja blocké",
'status': 'success',
})
# Changer le statut de la question
mongo.db.questions.update_one(
{'_id': question_id},
{'$set': {'status': 'blocked'}}
)
# Vérifier si le statut a été mis à jour
updated_question = mongo.db.questions.find_one({'_id': question_id})
if updated_question.get('status') == 'blocked':
print("Mise à jour réussie : le statut est maintenant 'blocked'.")
result_filtre = list(mongo.db.questions.aggregate([
{'$match': {'_id': question_id}}, # Correctement fermé
{'$merge': {'into': 'scrutin_archive'}} # Supprimé l'espace dans le nom
]))
# Vérifié que le document est bien archivé
document_block = mongo.db.scrutin_archive.find_one({'_id': question_id})
if document_block:
print('Le document à bien été archivé')
# On peut suprimer le document de question
result_delete = mongo.db.questions.delete_one({'_id': question_id})
if result_delete:
print('Le document à bien été supprimé de la collection question')
#On fait la requête
delete_result = mongo.db.questions.delete_one({'_id': question_id})
if delete_result:
print('La question à bien été transféré aux archives')
except Exception as e:
print(f"Erreur lors de l'accès à MongoDB : {e}")
return jsonify({
"success": False,
"message": "Une erreur interne est survenue."
}), 500
# Retourner une réponse en cas de succès
return jsonify({
"success": True,
"message": f"Le sondage '{title}' a été bloqué avec succès."
})