Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpenQuizz
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
10
Issues
10
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Weber Rodolphe
OpenQuizz
Commits
981e99de
Commit
981e99de
authored
Jul 07, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rectificatifs suite tests utilisateurs Vue
parent
0c0f316e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
13 deletions
+34
-13
app.py
app.py
+8
-4
contenu_dao.py
modele/contenu_dao.py
+11
-5
demande_pubDao.py
modele/demande_pubDao.py
+15
-4
No files found.
app.py
View file @
981e99de
...
...
@@ -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
(
2
00
,
"Vérification de l'utilisateur ratée"
)
@
users
.
response
(
4
00
,
"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"
,
40
4
return
"L'utilisateur n'existe pas"
,
40
0
@
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
()
modele/contenu_dao.py
View file @
981e99de
...
...
@@ -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
...
...
modele/demande_pubDao.py
View file @
981e99de
...
...
@@ -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"
]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment