Commit 981e99de authored by Jérémie Passerat's avatar Jérémie Passerat

Rectificatifs suite tests utilisateurs Vue

parent 0c0f316e
......@@ -80,7 +80,7 @@ class CreerUtilisateur(Resource):
@users.doc(description="vérification qu'un utilisateur est enrengistré dans la base")
class VerifierUtilisateur(Resource):
@users.response(200, "Vérification de l'utilisateur effectuée")
@users.response(200, "Vérification de l'utilisateur ratée")
@users.response(400, "Vérification de l'utilisateur ratée")
## vérification qu'un utilisateur est enrengistré dans la base
def get(self):
......@@ -88,7 +88,7 @@ class VerifierUtilisateur(Resource):
access_token = create_access_token(identity=request.args.get("login"))
return make_response(jsonify(access_token=access_token), 200)
else:
return "L'utilisateur n'existe pas", 404
return "L'utilisateur n'existe pas", 400
@users.route('/changePassword')
......@@ -233,7 +233,10 @@ class SupprimerTiers(Resource):
version = contenu_dao.get_version_tiers_avec_id(id_tiers["$oid"], request.args.get('auteur'))
contenu_dao.supprimer_tiers(id_tiers["$oid"], request.args.get('auteur'), version)
return str(contenu_dao.existe_en_tiers(id_tiers["$oid"])), 200
if request.args.get('auteur') == "Aucun":
return str(contenu_dao.existe_en_tiers(id_tiers["$oid"])), 200
else:
return '1', 200
@contenus.route("/newContenu")
......@@ -349,6 +352,7 @@ class gerer_maj_tiers(Resource):
## gérer la réponse à une maj tiers
@jwt_required()
def patch(self):
id_tiers = json.loads(request.json["id_tiers"])
if request.json["reponse"] == 'o':
......@@ -615,4 +619,4 @@ class supprimer_evaluation(Resource):
if __name__ == '__main__':
app.run(host='0.0.0.0')
app.run()
......@@ -222,7 +222,7 @@ class ContenuDao:
for i in range(len(tiers)):
tmp = tiers[i]
if tmp[0]["contenu"] == ObjectId(id_contenu):
return int(tmp[1]["version"])
return tmp[1]["version"]
return 0
## mise à jour d'un contenu
......@@ -344,10 +344,17 @@ class ContenuDao:
"tiers": [{"contenu": ObjectId(id_tiers)},
{"version": nouvelle_version}]}})
else:
# on vire le précédent
self.base_donnees.utilisateur.update({"nom": auteur},
{"$pull": {
"tiers": [{"contenu": ObjectId(id_tiers)},
{"version": nouvelle_version - 1}]}})
# et on ajoute la version maj
self.base_donnees.utilisateur.update({"nom": auteur},
{"$push": {
"majRejetees": [{"contenu": ObjectId(id_tiers),
"version": nouvelle_version}]}})
"tiers": [{"contenu": ObjectId(id_tiers)},
{"version": str(nouvelle_version - 1) + 'r'}]}})
## Permet de savoir si au moins un tiers est mettable à jour pour un auteur
# @param auteur l'auteur concerné
......@@ -372,11 +379,10 @@ class ContenuDao:
liste = list()
# On réfcupère tous les ties d'un auteur
tiers = self.get_contenus_tiers(auteur)
for (id, version) in tiers:
versionCourante = self.get_version_courante(id["contenu"])
if version["version"] < versionCourante:
liste += self.get_contenu_par_id(id["contenu"])
liste.append(self.get_contenu_par_id(id["contenu"]))
return liste
......
......@@ -28,14 +28,12 @@ class DemandePubDao:
self.base_donnees.encours.update_one({"_id": ObjectId(id_contenu_en_cours)}, {"$set": {"isPublie": "oui"}})
## Récupérer une demande de publication via son id
# @param id_demande_pub un id de demande de publication
# @return la demande de publication désirée
def get_demande_pub_via_id(self, id_demande_pub):
return self.base_donnees.demandesPub.find_one({"_id": ObjectId(id_demande_pub)})
## Récupérer la dernière insertion dasn les demaindes de publication
# @return le dernier id inséré dans les demandes de publication
def id_derniere_demande_publication_ajoutee(self):
......@@ -66,13 +64,27 @@ class DemandePubDao:
# On met à jour le tiers (chez le 'demandeur' de la publication)
version = ContenuDao().get_version_courante(id_contenu)
ContenuDao().maj_tiers(id_contenu, version, auteur_en_cours)
self.rendre_publications_obsoletes(id_contenu, auteur_en_cours)
else:
# on change l'état de la demande de publication
self.base_donnees.demandesPub.update_one({"_id": ObjectId(id_publication)}, {"$set": {"etat": "refus"}})
## Quand unhe publication est validée, toutes les autres publications en cours sur le contenu passent en statut "obsolete"
# @param id_contenu l'id du contenu lié à la publication acceptée
def rendre_publications_obsoletes(self, id_contenu, auteur_en_cours):
# 1. On récupère toutes les publications liées à l'id id_contenu
all_publications = self.base_donnees.demandesPub.find({"$and": [{"idContenu": ObjectId(id_contenu)},
{"etat": "enCours"},
{"auteurDemande": {"$ne": auteur_en_cours}}
]})
for all_entries in all_publications:
self.base_donnees.demandesPub.update({"_id": all_entries["_id"]}, {"$set": {"etat": "obsolete"}})
## Supprimer une demande de publication
# @param idPub l'id de la demande de publication
def supprimer_publication(self, idPub):
self.base_donnees.demandesPub.delete_one({"_id": ObjectId(idPub)})
......@@ -97,7 +109,6 @@ class DemandePubDao:
def get_id_contenu_en_cours_associe_a_une_publication(self, id_dde_publication):
if type(id_dde_publication) == str:
id_dde_publication = ObjectId(id_dde_publication)
print("id dde publication", id_dde_publication, " de type ", type(id_dde_publication))
return self.base_donnees.demandesPub.find_one({"_id": id_dde_publication})["idContenuEnCours"]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment