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
52c5ce8d
Commit
52c5ce8d
authored
Jun 04, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Sauvegarde du 04/06
parent
c1e55d94
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
67 additions
and
27 deletions
+67
-27
app.py
app.py
+43
-10
contenuDao.py
modele/contenuDao.py
+18
-17
encoursDao.py
modele/encoursDao.py
+6
-0
No files found.
app.py
View file @
52c5ce8d
...
@@ -7,9 +7,15 @@ from modele.demande_pubDao import DemandePubDao
...
@@ -7,9 +7,15 @@ from modele.demande_pubDao import DemandePubDao
from
modele.encoursDao
import
EncoursDao
from
modele.encoursDao
import
EncoursDao
from
modele.evaluationDao
import
EvaluationDao
from
modele.evaluationDao
import
EvaluationDao
from
modele.utilisateurDao
import
UtilisateurDao
from
modele.utilisateurDao
import
UtilisateurDao
import
json
import
json
from
flask
import
Flask
from
flask_cors
import
CORS
,
cross_origin
app
=
Flask
(
__name__
)
app
=
Flask
(
__name__
)
cors
=
CORS
(
app
)
app
.
config
[
'CORS_HEADERS'
]
=
'Content-Type'
contenu_dao
=
ContenuDao
()
contenu_dao
=
ContenuDao
()
utilisateur_dao
=
UtilisateurDao
()
utilisateur_dao
=
UtilisateurDao
()
...
@@ -25,22 +31,27 @@ base_donnees = client.squelette
...
@@ -25,22 +31,27 @@ base_donnees = client.squelette
## *********************************************************************************************************************
## *********************************************************************************************************************
## Routage utilisateur : 1 post, 1 get, 2 patch
## Routage utilisateur : 1 post, 1 get, 2 patch
@
app
.
route
(
'/newUser'
,
methods
=
[
'POST'
])
@
app
.
route
(
'/newUser'
,
methods
=
[
'POST'
])
@
cross_origin
()
def
creer_utilisateur
():
def
creer_utilisateur
():
utilisateur_dao
.
ajouter_utilisateur
(
request
.
json
[
"login"
])
utilisateur_dao
.
ajouter_utilisateur
(
request
.
json
[
"login"
])
return
"Utilisateur créé"
return
"Utilisateur créé"
@
app
.
route
(
'/checkUser'
,
methods
=
[
'POST'
])
@
app
.
route
(
'/checkUser'
,
methods
=
[
'GET'
])
@
cross_origin
()
def
verifier_utilisateur
():
def
verifier_utilisateur
():
return
str
(
utilisateur_dao
.
presence_utilisateur
(
request
.
json
[
"login"
]))
print
(
request
.
args
.
get
(
"login"
))
return
str
(
utilisateur_dao
.
presence_utilisateur
(
request
.
args
.
get
(
"login"
)))
@
app
.
route
(
'/changePassword'
,
methods
=
[
'PATCH'
])
@
app
.
route
(
'/changePassword'
,
methods
=
[
'PATCH'
])
@
cross_origin
()
def
changer_mdp
():
def
changer_mdp
():
pass
pass
@
app
.
route
(
'/ajouterTiers'
,
methods
=
[
'POST'
])
@
app
.
route
(
'/ajouterTiers'
,
methods
=
[
'POST'
])
@
cross_origin
()
def
ajouter_tiers
():
def
ajouter_tiers
():
contenu_dao
.
creer_tiers
(
request
.
json
[
"auteur"
],
request
.
json
[
"id_tiers"
],
1
)
contenu_dao
.
creer_tiers
(
request
.
json
[
"auteur"
],
request
.
json
[
"id_tiers"
],
1
)
return
"tiers ajouté"
return
"tiers ajouté"
...
@@ -49,6 +60,7 @@ def ajouter_tiers():
...
@@ -49,6 +60,7 @@ def ajouter_tiers():
## *********************************************************************************************************************
## *********************************************************************************************************************
## Routage contenus : beaucoup de fonctions
## Routage contenus : beaucoup de fonctions
@
app
.
route
(
"/newContenu"
,
methods
=
[
'POST'
])
@
app
.
route
(
"/newContenu"
,
methods
=
[
'POST'
])
@
cross_origin
()
def
ajouter_contenu
():
def
ajouter_contenu
():
auteur
=
request
.
json
[
"auteur"
]
auteur
=
request
.
json
[
"auteur"
]
nom_fichier
=
request
.
json
[
"nom_fichier"
]
nom_fichier
=
request
.
json
[
"nom_fichier"
]
...
@@ -58,42 +70,51 @@ def ajouter_contenu():
...
@@ -58,42 +70,51 @@ def ajouter_contenu():
@
app
.
route
(
"/getContenu/<id>"
,
methods
=
[
'GET'
])
@
app
.
route
(
"/getContenu/<id>"
,
methods
=
[
'GET'
])
@
cross_origin
()
def
get_contenu_par_id
(
id
):
def
get_contenu_par_id
(
id
):
return
json
.
dumps
(
list
(
contenu_dao
.
get_contenu_par_id
(
int
(
id
))),
default
=
json_util
.
default
)
return
json
.
dumps
(
list
(
contenu_dao
.
get_contenu_par_id
(
int
(
id
))),
default
=
json_util
.
default
)
@
app
.
route
(
"/getContenuPanier/<auteur>"
,
methods
=
[
'GET'
])
@
app
.
route
(
"/getContenuPanier/<auteur>"
,
methods
=
[
'GET'
])
@
cross_origin
()
def
get_contenu_panier
(
auteur
):
def
get_contenu_panier
(
auteur
):
print
(
contenu_dao
.
get_contenus
(
auteur
,
True
,
True
,
True
))
auteur
=
auteur
.
replace
(
"_"
,
" "
)
return
json
.
dumps
(
contenu_dao
.
get_contenus
(
auteur
,
True
,
True
,
True
),
default
=
json_util
.
default
)
return
json
.
dumps
(
contenu_dao
.
get_contenus
(
auteur
,
request
.
args
.
get
(
"perso"
),
request
.
args
.
get
(
"tiers"
),
request
.
args
.
get
(
"enCours"
)),
default
=
json_util
.
default
)
@
app
.
route
(
"/deletePerso/<id_perso>"
,
methods
=
[
'DELETE'
])
@
app
.
route
(
"/deletePerso/<id_perso>"
,
methods
=
[
'DELETE'
])
@
cross_origin
()
def
supprimer_perso
(
id_perso
):
def
supprimer_perso
(
id_perso
):
contenu_dao
.
supprimer_contenu
(
id_perso
)
contenu_dao
.
supprimer_contenu
(
id_perso
)
@
app
.
route
(
"/deleteTiers/<id_tiers>"
,
methods
=
[
'DELETE'
])
@
app
.
route
(
"/deleteTiers/<id_tiers>"
,
methods
=
[
'DELETE'
])
@
cross_origin
()
def
supprimer_tiers
(
id_tiers
):
def
supprimer_tiers
(
id_tiers
):
contenu_dao
.
supprimer_tiers
(
id_tiers
,
request
.
args
.
get
(
'auteur'
),
request
.
args
.
get
(
'version'
))
contenu_dao
.
supprimer_tiers
(
id_tiers
,
request
.
args
.
get
(
'auteur'
),
request
.
args
.
get
(
'version'
))
@
app
.
route
(
"/newContenu"
,
methods
=
[
'POST'
])
@
app
.
route
(
"/newContenu"
,
methods
=
[
'POST'
])
@
cross_origin
()
def
creer_nouveau_contenu
():
def
creer_nouveau_contenu
():
pass
pass
@
app
.
route
(
"/majContenu"
,
methods
=
[
'PATCH'
])
@
app
.
route
(
"/majContenu"
,
methods
=
[
'PATCH'
])
@
cross_origin
()
def
maj_contenu
():
def
maj_contenu
():
pass
pass
@
app
.
route
(
"/allContenus"
,
method
=
[
'GET'
])
@
app
.
route
(
"/allContenus"
,
methods
=
[
'GET'
])
@
cross_origin
()
def
get_tous_les_contenus
():
def
get_tous_les_contenus
():
return
json
.
dumps
(
list
(
contenu_dao
.
get_tous_les_contenus
()),
default
=
json_util
.
default
)
return
json
.
dumps
(
list
(
contenu_dao
.
get_tous_les_contenus
()),
default
=
json_util
.
default
)
@
app
.
route
(
"/isContenuAnonyme/<id_contenu>"
,
methods
=
[
'GET'
])
@
app
.
route
(
"/isContenuAnonyme/<id_contenu>"
,
methods
=
[
'GET'
])
@
cross_origin
()
def
is_contenu_anonyme
(
id_contenu
):
def
is_contenu_anonyme
(
id_contenu
):
return
str
(
contenu_dao
.
is_anonyme
(
id_contenu
))
return
str
(
contenu_dao
.
is_anonyme
(
id_contenu
))
...
@@ -103,26 +124,31 @@ def is_contenu_anonyme(id_contenu):
...
@@ -103,26 +124,31 @@ def is_contenu_anonyme(id_contenu):
@
app
.
route
(
"/getEnCours/<id_en_cours>"
,
methods
=
[
'GET'
])
@
app
.
route
(
"/getEnCours/<id_en_cours>"
,
methods
=
[
'GET'
])
@
cross_origin
()
def
get_contenu_en_cours
(
id_en_cours
):
def
get_contenu_en_cours
(
id_en_cours
):
return
json
.
dumps
(
list
(
en_cours_dao
.
get_contenu_en_cours
(
id_en_cours
)),
default
=
json_util
.
default
)
return
json
.
dumps
(
list
(
en_cours_dao
.
get_contenu_en_cours
(
id_en_cours
)),
default
=
json_util
.
default
)
@
app
.
route
(
"/getAuteurOrigineEnCours/<id_en_cours>"
,
methods
=
[
'GET'
])
@
app
.
route
(
"/getAuteurOrigineEnCours/<id_en_cours>"
,
methods
=
[
'GET'
])
def
get_contenu_en_cours
(
id_en_cours
):
@
cross_origin
()
def
get_auteur_otigine_contenu_en_cours
(
id_en_cours
):
return
json
.
dumps
(
list
(
en_cours_dao
.
get_auteur_origine_contenu_en_cours
(
id_en_cours
)),
default
=
json_util
.
default
)
return
json
.
dumps
(
list
(
en_cours_dao
.
get_auteur_origine_contenu_en_cours
(
id_en_cours
)),
default
=
json_util
.
default
)
@
app
.
route
(
"/isContenuDemandePublication/<id_en_cours>/<auteur>"
,
method
=
[
'GET'
])
@
app
.
route
(
"/isContenuDemandePublication/<id_en_cours>/<auteur>"
,
methods
=
[
'GET'
])
@
cross_origin
()
def
is_contenu_demande_publication
(
id_en_cours
,
auteur
):
def
is_contenu_demande_publication
(
id_en_cours
,
auteur
):
return
str
(
en_cours_dao
.
is_en_cours_demande
(
id_en_cours
,
auteur
))
return
str
(
en_cours_dao
.
is_en_cours_demande
(
id_en_cours
,
auteur
))
@
app
.
route
(
"/supprimerEnCours/<id_en_cours>"
,
methods
=
[
'DELETE'
])
@
app
.
route
(
"/supprimerEnCours/<id_en_cours>"
,
methods
=
[
'DELETE'
])
@
cross_origin
()
def
supprimer_en_cours
(
id_en_cours
):
def
supprimer_en_cours
(
id_en_cours
):
en_cours_dao
.
supprimer_contenu_en_cours
(
id_en_cours
)
en_cours_dao
.
supprimer_contenu_en_cours
(
id_en_cours
)
@
app
.
route
(
"/newEnCours"
,
methods
=
[
'POST'
])
@
app
.
route
(
"/newEnCours"
,
methods
=
[
'POST'
])
@
cross_origin
()
def
creer_en_cours
():
def
creer_en_cours
():
en_cours_dao
.
creer_en_cours
(
request
.
args
.
get
(
'id_contenu'
),
request
.
args
.
get
(
'version'
),
en_cours_dao
.
creer_en_cours
(
request
.
args
.
get
(
'id_contenu'
),
request
.
args
.
get
(
'version'
),
request
.
args
.
get
(
'branche'
))
request
.
args
.
get
(
'branche'
))
...
@@ -133,18 +159,21 @@ def creer_en_cours():
...
@@ -133,18 +159,21 @@ def creer_en_cours():
## Gestion des Publications
## Gestion des Publications
@
app
.
route
(
"/demandePublication"
,
methods
=
[
'POST'
])
@
app
.
route
(
"/demandePublication"
,
methods
=
[
'POST'
])
@
cross_origin
()
def
demande_de_publication
():
def
demande_de_publication
():
demande_pub_Dao
.
creer_demande_publication
(
request
.
args
.
get
(
'id_contenu'
),
request
.
args
.
get
(
'id_contenu_en_cours'
),
demande_pub_Dao
.
creer_demande_publication
(
request
.
args
.
get
(
'id_contenu'
),
request
.
args
.
get
(
'id_contenu_en_cours'
),
request
.
args
.
get
(
'auteur_en_cours'
),
request
.
args
.
get
(
'auteur'
))
request
.
args
.
get
(
'auteur_en_cours'
),
request
.
args
.
get
(
'auteur'
))
@
app
.
route
(
"/demandePublication/<auteur>/<emise>"
,
method
=
[
'GET'
])
@
app
.
route
(
"/demandePublication/<auteur>/<emise>"
,
methods
=
[
'GET'
])
@
cross_origin
()
def
get_demandes_pub
(
auteur
,
emise
):
def
get_demandes_pub
(
auteur
,
emise
):
return
demande_pub_Dao
.
get_demandes_pub
(
auteur
,
emise
)
return
demande_pub_Dao
.
get_demandes_pub
(
auteur
,
emise
)
@
app
.
route
(
"/demandePublication/<id_publication>"
,
method
=
[
'DELETE'
])
@
app
.
route
(
"/demandePublication/<id_publication>"
,
methods
=
[
'DELETE'
])
def
get_demandes_pub
(
id_publication
):
@
cross_origin
()
def
supprimer_demande_pub
(
id_publication
):
demande_pub_Dao
.
supprimer_publication
(
id_publication
)
demande_pub_Dao
.
supprimer_publication
(
id_publication
)
...
@@ -152,22 +181,26 @@ def get_demandes_pub(id_publication):
...
@@ -152,22 +181,26 @@ def get_demandes_pub(id_publication):
## Gestion des Evaluations
## Gestion des Evaluations
@
app
.
route
(
"/newEval"
,
methods
=
[
'POST'
])
@
app
.
route
(
"/newEval"
,
methods
=
[
'POST'
])
@
cross_origin
()
def
creer_evaluation
():
def
creer_evaluation
():
evaluation_dao
.
creer_evaluation
(
request
.
args
.
get
(
'contenus'
),
request
.
args
.
get
(
'auteur'
))
evaluation_dao
.
creer_evaluation
(
request
.
args
.
get
(
'contenus'
),
request
.
args
.
get
(
'auteur'
))
return
"evaluation créée"
return
"evaluation créée"
@
app
.
route
(
"/getEval/<auteur>/<id_evaluation>"
,
methods
=
[
'GET'
])
@
app
.
route
(
"/getEval/<auteur>/<id_evaluation>"
,
methods
=
[
'GET'
])
@
cross_origin
()
def
get_evaluation
(
auteur
,
id_evaluation
):
def
get_evaluation
(
auteur
,
id_evaluation
):
return
json
.
dumps
(
list
(
evaluation_dao
.
get_evaluations
(
auteur
,
id_evaluation
)),
default
=
json_util
.
default
)
return
json
.
dumps
(
list
(
evaluation_dao
.
get_evaluations
(
auteur
,
id_evaluation
)),
default
=
json_util
.
default
)
@
app
.
route
(
"/getEval/<auteur>"
,
methods
=
[
'GET'
])
@
app
.
route
(
"/getEval/<auteur>"
,
methods
=
[
'GET'
])
@
cross_origin
()
def
get_all_evaluations
(
auteur
):
def
get_all_evaluations
(
auteur
):
return
json
.
dumps
(
list
(
evaluation_dao
.
get_evaluations
(
auteur
,
0
)),
default
=
json_util
.
default
)
return
json
.
dumps
(
list
(
evaluation_dao
.
get_evaluations
(
auteur
,
0
)),
default
=
json_util
.
default
)
@
app
.
route
(
"/deleteEval"
,
methods
=
[
'DELETE'
])
@
app
.
route
(
"/deleteEval"
,
methods
=
[
'DELETE'
])
@
cross_origin
()
def
supprimer_evaluation
(
id_evaluation
):
def
supprimer_evaluation
(
id_evaluation
):
evaluation_dao
.
supprimer_evaluation
(
id_evaluation
)
evaluation_dao
.
supprimer_evaluation
(
id_evaluation
)
...
...
modele/contenuDao.py
View file @
52c5ce8d
...
@@ -37,7 +37,7 @@ class ContenuDao:
...
@@ -37,7 +37,7 @@ class ContenuDao:
# a décommenter quand git sera actif
# a décommenter quand git sera actif
# Utils.changer_version(idContenu, version, "")
# Utils.changer_version(idContenu, version, "")
return
self
.
base_donnees
.
contenu
.
find_one
({
"id"
:
id_contenu
})
return
self
.
base_donnees
.
contenu
.
find_one
({
"id"
:
id_contenu
})
# return Utils.
statdb.
contenu.find_one({"$and": [
# return Utils.contenu.find_one({"$and": [
# {"id": idContenu},
# {"id": idContenu},
# {"$or": [{"versionEnCours.numero": version}, {"historique.numero": version}]}
# {"$or": [{"versionEnCours.numero": version}, {"historique.numero": version}]}
# ]
# ]
...
@@ -61,7 +61,7 @@ class ContenuDao:
...
@@ -61,7 +61,7 @@ class ContenuDao:
contenus
.
append
(
contenu
)
contenus
.
append
(
contenu
)
if
en_cours
:
if
en_cours
:
curseur_en_cours
=
EncoursDao
()
.
get_
en_cours
(
auteur
)
curseur_en_cours
=
EncoursDao
()
.
get_
contenus_en_cours_auteur
(
auteur
)
for
contenu
in
curseur_en_cours
:
for
contenu
in
curseur_en_cours
:
contenus
.
append
(
contenu
)
contenus
.
append
(
contenu
)
# on garde le développement de l'évaliation pour plus tard
# on garde le développement de l'évaliation pour plus tard
...
@@ -71,15 +71,16 @@ class ContenuDao:
...
@@ -71,15 +71,16 @@ class ContenuDao:
def
creer_tiers
(
self
,
auteur
,
id_contenu
,
version
):
def
creer_tiers
(
self
,
auteur
,
id_contenu
,
version
):
self
.
base_donnees
.
statdb
.
utilisateur
.
update
({
"nom"
:
auteur
},
{
self
.
base_donnees
.
utilisateur
.
update
({
"nom"
:
auteur
},
{
"$push"
:
{
"$push"
:
{
"tiers"
:
[{
"contenu"
:
int
(
id_contenu
)},
{
"version"
:
version
}]}})
"tiers"
:
[{
"contenu"
:
int
(
id_contenu
)},
{
"version"
:
version
}]}})
def
get_contenus_persos
(
self
):
def
get_contenus_persos
(
self
,
auteur
):
return
self
.
base_donnees
.
contenu
.
find
({
"auteur"
:
auteur
})
return
self
.
base_donnees
.
contenu
.
find
({
"auteur"
:
auteur
})
def
get_contenus_tiers
(
self
,
auteur
):
def
get_contenus_tiers
(
self
,
auteur
):
return
self
.
base_donnees
.
statdb
.
utilisateur
.
find_one
({
"nom"
:
auteur
})[
"tiers"
]
print
(
"auteur a trouver : "
+
auteur
)
return
self
.
base_donnees
.
utilisateur
.
find_one
({
"nom"
:
auteur
})[
"tiers"
]
## l'auteur 'renie' son contenu, qui reste disponible dans le panier de ceux qui le possédent
## l'auteur 'renie' son contenu, qui reste disponible dans le panier de ceux qui le possédent
def
dissocier_contenu
(
self
,
id_contenu
):
def
dissocier_contenu
(
self
,
id_contenu
):
...
@@ -90,12 +91,12 @@ class ContenuDao:
...
@@ -90,12 +91,12 @@ class ContenuDao:
self
.
base_donnees
.
db
.
contenu
.
delete_one
({
"id"
:
id_contenu
})
self
.
base_donnees
.
db
.
contenu
.
delete_one
({
"id"
:
id_contenu
})
def
supprimer_tiers
(
self
,
id_contenu
,
auteur
,
version
):
def
supprimer_tiers
(
self
,
id_contenu
,
auteur
,
version
):
self
.
base_donnees
.
statdb
.
utilisateur
.
update
({
"nom"
:
auteur
},
self
.
base_donnees
.
utilisateur
.
update
({
"nom"
:
auteur
},
{
"$pull"
:
{
{
"$pull"
:
{
"tiers"
:
[{
"contenu"
:
id_contenu
},
{
"version"
:
version
}]}})
"tiers"
:
[{
"contenu"
:
id_contenu
},
{
"version"
:
version
}]}})
def
existe_en_tiers
(
self
,
id_contenu
):
def
existe_en_tiers
(
self
,
id_contenu
):
return
self
.
base_donnees
.
statdb
.
utilisateur
.
find
(
return
self
.
base_donnees
.
utilisateur
.
find
(
{
"tiers"
:
{
"$elemMatch"
:
{
"$elemMatch"
:
{
"contenu"
:
id_contenu
}}}})
.
count
()
!=
0
{
"tiers"
:
{
"$elemMatch"
:
{
"$elemMatch"
:
{
"contenu"
:
id_contenu
}}}})
.
count
()
!=
0
def
creer_nouveau_contenu
(
self
,
chemin
,
auteur_en_cours
,
idContenuEnCours
):
def
creer_nouveau_contenu
(
self
,
chemin
,
auteur_en_cours
,
idContenuEnCours
):
...
@@ -117,7 +118,7 @@ class ContenuDao:
...
@@ -117,7 +118,7 @@ class ContenuDao:
# exit(0)
# exit(0)
#commit = UtilsGit.commit(cheminFichier, "Contenu" + str(max_id), "Version 1")
#commit = UtilsGit.commit(cheminFichier, "Contenu" + str(max_id), "Version 1")
'''
'''
self.base_donnees.
statdb.
contenu.insert_one(
self.base_donnees.contenu.insert_one(
{"id": max_id + 1, "auteur": auteur_en_cours, "note": randrange(0, 10, 1),
{"id": max_id + 1, "auteur": auteur_en_cours, "note": randrange(0, 10, 1),
"fichier": "dossierContenu" + str(max_id) + "/Contenu" + str(max_id),
"fichier": "dossierContenu" + str(max_id) + "/Contenu" + str(max_id),
"versionEnCours": {"numero": 1, "date": datetime.now().strftime("
%
d/
%
m/
%
y"),
"versionEnCours": {"numero": 1, "date": datetime.now().strftime("
%
d/
%
m/
%
y"),
...
@@ -150,13 +151,13 @@ class ContenuDao:
...
@@ -150,13 +151,13 @@ class ContenuDao:
#idCommit = UtilsGit.mergeVersion(repertoire, nomBranche)
#idCommit = UtilsGit.mergeVersion(repertoire, nomBranche)
# Mise à jour des métadonnées - ok
# Mise à jour des métadonnées - ok
version_en_cours
=
self
.
base_donnees
.
statdb
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"versionEnCours"
]
version_en_cours
=
self
.
base_donnees
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"versionEnCours"
]
self
.
base_donnees
.
statdb
.
contenu
.
update_one
({
"id"
:
int
(
idContenu
)},
{
"$push"
:
{
"historique"
:
version_en_cours
}})
self
.
base_donnees
.
contenu
.
update_one
({
"id"
:
int
(
idContenu
)},
{
"$push"
:
{
"historique"
:
version_en_cours
}})
self
.
base_donnees
.
statdb
.
contenu
.
update_one
({
"id"
:
int
(
idContenu
)},
{
# self.base_donnees
.contenu.update_one({"id": int(idContenu)}, {
"$set"
:
{
"versionEnCours"
:
{
"numero"
:
version
,
"date"
:
datetime
.
now
()
.
strftime
(
"
%
d/
%
m/
%
y"
),
#
"$set": {"versionEnCours": {"numero": version, "date": datetime.now().strftime("%d/%m/%y"),
"popularite"
:
0
,
"commit"
:
idCommit
}}})
#
"popularite": 0, "commit": idCommit}}})
if
auteur
is
not
None
:
if
auteur
is
not
None
:
self
.
base_donnees
.
statdb
.
contenu
.
update_one
({
"id"
:
int
(
idContenu
)},
{
self
.
base_donnees
.
contenu
.
update_one
({
"id"
:
int
(
idContenu
)},
{
"$set"
:
{
"auteur"
:
auteur
}})
"$set"
:
{
"auteur"
:
auteur
}})
def
consulter_un_contenu
(
self
,
id
,
auteur
):
def
consulter_un_contenu
(
self
,
id
,
auteur
):
...
@@ -174,7 +175,7 @@ class ContenuDao:
...
@@ -174,7 +175,7 @@ class ContenuDao:
def
modifier_contenu
(
self
,
idContenu
,
auteur
,
enCours
=
False
):
def
modifier_contenu
(
self
,
idContenu
,
auteur
,
enCours
=
False
):
# le chemin du fichier restera tjrs le même
# le chemin du fichier restera tjrs le même
contenu
=
self
.
base_donnees
.
statdb
.
contenu
.
find_one
({
"id"
:
int
(
idContenu
)})
contenu
=
self
.
base_donnees
.
contenu
.
find_one
({
"id"
:
int
(
idContenu
)})
self
.
base_donnees
.
modification_fichier
(
self
.
chemin
+
contenu
[
"fichier"
],
idContenu
,
auteur
,
not
enCours
)
self
.
base_donnees
.
modification_fichier
(
self
.
chemin
+
contenu
[
"fichier"
],
idContenu
,
auteur
,
not
enCours
)
def
detruire_fichier_tmp
(
self
,
id
,
auteur
):
def
detruire_fichier_tmp
(
self
,
id
,
auteur
):
...
@@ -185,14 +186,14 @@ class ContenuDao:
...
@@ -185,14 +186,14 @@ class ContenuDao:
def
get_max_id_contenus
(
self
):
def
get_max_id_contenus
(
self
):
## Fonction permettant de récupérer l'id max présent en base (pour pouvoir incrémenter un nouveau contenu).
## Fonction permettant de récupérer l'id max présent en base (pour pouvoir incrémenter un nouveau contenu).
element
=
self
.
base_donnees
.
statdb
.
contenu
.
find
()
.
sort
(
"id"
,
-
1
)
.
limit
(
1
)
element
=
self
.
base_donnees
.
contenu
.
find
()
.
sort
(
"id"
,
-
1
)
.
limit
(
1
)
for
elt
in
element
:
for
elt
in
element
:
# print("id : ", elt["id"])
# print("id : ", elt["id"])
return
int
(
elt
[
"id"
])
return
int
(
elt
[
"id"
])
def
is_anonyme
(
self
,
idContenu
):
def
is_anonyme
(
self
,
idContenu
):
# print("Is anonyme : ", Utils.
statdb.
contenu.find_one({"id": idContenu})["auteur"])
# print("Is anonyme : ", Utils.contenu.find_one({"id": idContenu})["auteur"])
return
self
.
base_donnees
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"auteur"
]
==
"Aucun"
return
self
.
base_donnees
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"auteur"
]
==
"Aucun"
def
get_tous_les_contenus
(
self
):
def
get_tous_les_contenus
(
self
):
...
...
modele/encoursDao.py
View file @
52c5ce8d
...
@@ -20,6 +20,12 @@ class EncoursDao:
...
@@ -20,6 +20,12 @@ class EncoursDao:
id_contenu
=
self
.
base_donnees
.
find_one
({
"idContenuEC"
:
id_contenu_en_cours
})[
"reference"
]
id_contenu
=
self
.
base_donnees
.
find_one
({
"idContenuEC"
:
id_contenu_en_cours
})[
"reference"
]
return
self
.
base_donnees
.
contenu
.
find_one
({
"id"
:
id_contenu
})[
"auteur"
]
return
self
.
base_donnees
.
contenu
.
find_one
({
"id"
:
id_contenu
})[
"auteur"
]
## permet de récupérer tous les contenus en cours pour un auteur
# @param auteur le nom de l'auteur
def
get_contenus_en_cours_auteur
(
self
,
auteur
):
return
self
.
base_donnees
.
encours
.
find
({
"auteur"
:
auteur
})
## récupérer la branche d'un contenu en cours
## récupérer la branche d'un contenu en cours
# @param idContenuEnCours l'id du contenu en cours de modification
# @param idContenuEnCours l'id du contenu en cours de modification
def
get_contenu_en_cours
(
self
,
id_contenu_en_cours
):
def
get_contenu_en_cours
(
self
,
id_contenu_en_cours
):
...
...
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