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): ...@@ -80,7 +80,7 @@ class CreerUtilisateur(Resource):
@users.doc(description="vérification qu'un utilisateur est enrengistré dans la base") @users.doc(description="vérification qu'un utilisateur est enrengistré dans la base")
class VerifierUtilisateur(Resource): class VerifierUtilisateur(Resource):
@users.response(200, "Vérification de l'utilisateur effectuée") @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 ## vérification qu'un utilisateur est enrengistré dans la base
def get(self): def get(self):
...@@ -88,7 +88,7 @@ class VerifierUtilisateur(Resource): ...@@ -88,7 +88,7 @@ class VerifierUtilisateur(Resource):
access_token = create_access_token(identity=request.args.get("login")) access_token = create_access_token(identity=request.args.get("login"))
return make_response(jsonify(access_token=access_token), 200) return make_response(jsonify(access_token=access_token), 200)
else: else:
return "L'utilisateur n'existe pas", 404 return "L'utilisateur n'existe pas", 400
@users.route('/changePassword') @users.route('/changePassword')
...@@ -233,7 +233,10 @@ class SupprimerTiers(Resource): ...@@ -233,7 +233,10 @@ class SupprimerTiers(Resource):
version = contenu_dao.get_version_tiers_avec_id(id_tiers["$oid"], request.args.get('auteur')) 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) 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") @contenus.route("/newContenu")
...@@ -349,6 +352,7 @@ class gerer_maj_tiers(Resource): ...@@ -349,6 +352,7 @@ class gerer_maj_tiers(Resource):
## gérer la réponse à une maj tiers ## gérer la réponse à une maj tiers
@jwt_required() @jwt_required()
def patch(self): def patch(self):
id_tiers = json.loads(request.json["id_tiers"]) id_tiers = json.loads(request.json["id_tiers"])
if request.json["reponse"] == 'o': if request.json["reponse"] == 'o':
...@@ -615,4 +619,4 @@ class supprimer_evaluation(Resource): ...@@ -615,4 +619,4 @@ class supprimer_evaluation(Resource):
if __name__ == '__main__': if __name__ == '__main__':
app.run(host='0.0.0.0') app.run()
...@@ -222,7 +222,7 @@ class ContenuDao: ...@@ -222,7 +222,7 @@ class ContenuDao:
for i in range(len(tiers)): for i in range(len(tiers)):
tmp = tiers[i] tmp = tiers[i]
if tmp[0]["contenu"] == ObjectId(id_contenu): if tmp[0]["contenu"] == ObjectId(id_contenu):
return int(tmp[1]["version"]) return tmp[1]["version"]
return 0 return 0
## mise à jour d'un contenu ## mise à jour d'un contenu
...@@ -344,10 +344,17 @@ class ContenuDao: ...@@ -344,10 +344,17 @@ class ContenuDao:
"tiers": [{"contenu": ObjectId(id_tiers)}, "tiers": [{"contenu": ObjectId(id_tiers)},
{"version": nouvelle_version}]}}) {"version": nouvelle_version}]}})
else: 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}, self.base_donnees.utilisateur.update({"nom": auteur},
{"$push": { {"$push": {
"majRejetees": [{"contenu": ObjectId(id_tiers), "tiers": [{"contenu": ObjectId(id_tiers)},
"version": nouvelle_version}]}}) {"version": str(nouvelle_version - 1) + 'r'}]}})
## Permet de savoir si au moins un tiers est mettable à jour pour un auteur ## Permet de savoir si au moins un tiers est mettable à jour pour un auteur
# @param auteur l'auteur concerné # @param auteur l'auteur concerné
...@@ -372,11 +379,10 @@ class ContenuDao: ...@@ -372,11 +379,10 @@ class ContenuDao:
liste = list() liste = list()
# On réfcupère tous les ties d'un auteur # On réfcupère tous les ties d'un auteur
tiers = self.get_contenus_tiers(auteur) tiers = self.get_contenus_tiers(auteur)
for (id, version) in tiers: for (id, version) in tiers:
versionCourante = self.get_version_courante(id["contenu"]) versionCourante = self.get_version_courante(id["contenu"])
if version["version"] < versionCourante: if version["version"] < versionCourante:
liste += self.get_contenu_par_id(id["contenu"]) liste.append(self.get_contenu_par_id(id["contenu"]))
return liste return liste
......
...@@ -28,14 +28,12 @@ class DemandePubDao: ...@@ -28,14 +28,12 @@ class DemandePubDao:
self.base_donnees.encours.update_one({"_id": ObjectId(id_contenu_en_cours)}, {"$set": {"isPublie": "oui"}}) 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 ## Récupérer une demande de publication via son id
# @param id_demande_pub un id de demande de publication # @param id_demande_pub un id de demande de publication
# @return la demande de publication désirée # @return la demande de publication désirée
def get_demande_pub_via_id(self, id_demande_pub): def get_demande_pub_via_id(self, id_demande_pub):
return self.base_donnees.demandesPub.find_one({"_id": ObjectId(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 ## Récupérer la dernière insertion dasn les demaindes de publication
# @return le dernier id inséré dans les demandes de publication # @return le dernier id inséré dans les demandes de publication
def id_derniere_demande_publication_ajoutee(self): def id_derniere_demande_publication_ajoutee(self):
...@@ -66,13 +64,27 @@ class DemandePubDao: ...@@ -66,13 +64,27 @@ class DemandePubDao:
# On met à jour le tiers (chez le 'demandeur' de la publication) # On met à jour le tiers (chez le 'demandeur' de la publication)
version = ContenuDao().get_version_courante(id_contenu) version = ContenuDao().get_version_courante(id_contenu)
ContenuDao().maj_tiers(id_contenu, version, auteur_en_cours) ContenuDao().maj_tiers(id_contenu, version, auteur_en_cours)
self.rendre_publications_obsoletes(id_contenu, auteur_en_cours)
else: else:
# on change l'état de la demande de publication # on change l'état de la demande de publication
self.base_donnees.demandesPub.update_one({"_id": ObjectId(id_publication)}, {"$set": {"etat": "refus"}}) 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 ## Supprimer une demande de publication
# @param idPub l'id de la demande de publication # @param idPub l'id de la demande de publication
def supprimer_publication(self, idPub): def supprimer_publication(self, idPub):
self.base_donnees.demandesPub.delete_one({"_id": ObjectId(idPub)}) self.base_donnees.demandesPub.delete_one({"_id": ObjectId(idPub)})
...@@ -97,7 +109,6 @@ class DemandePubDao: ...@@ -97,7 +109,6 @@ class DemandePubDao:
def get_id_contenu_en_cours_associe_a_une_publication(self, id_dde_publication): def get_id_contenu_en_cours_associe_a_une_publication(self, id_dde_publication):
if type(id_dde_publication) == str: if type(id_dde_publication) == str:
id_dde_publication = ObjectId(id_dde_publication) 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"] 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