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
f330a17e
Commit
f330a17e
authored
May 11, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Un contenu anonyme est réappropriable par un auteur
parent
28748478
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
19 deletions
+39
-19
Menu.py
Menu.py
+16
-5
Utils.py
Utils.py
+23
-14
Contenu1
auteur_2/Contenu1
+0
-0
No files found.
Menu.py
View file @
f330a17e
...
@@ -356,10 +356,17 @@ class Menu:
...
@@ -356,10 +356,17 @@ class Menu:
self
.
menu_contenus_en_cours
()
self
.
menu_contenus_en_cours
()
elif
action
==
'v'
:
elif
action
==
'v'
:
self
.
valider_modification
(
id
)
self
.
valider_modification
(
id
)
print
(
"La demande de validation du contenu a été effectuée"
)
# Si le contenu validé est d'origine personnelle on peut supprimer le en cours (sinon on le conserve)
# Si le contenu validé est d'origine personnelle on peut supprimer le en cours (sinon on le conserve)
if
not
Utils
.
is_tiers_auteur
(
self
.
auteur_en_cours
,
id
)
or
Utils
.
is_anonyme
(
id
):
if
not
Utils
.
is_tiers_auteur
(
self
.
auteur_en_cours
,
id
)
or
Utils
.
is_anonyme
(
id
):
Utils
.
supprimer_contenu_en_cours
(
int
(
id
))
Utils
.
supprimer_contenu_en_cours
(
int
(
id
))
else
:
print
(
"La demande de validation du contenu a été effectuée"
)
if
not
Utils
.
is_tiers_auteur
(
self
.
auteur_en_cours
,
id
):
print
(
"Le contenu a été mis à jour"
)
elif
Utils
.
is_anonyme
(
id
):
print
(
"Le contenu a été mis à jour et vous en êtes le nouveau propriétaire"
)
print
(
"Appuyer sur q pour revenir en arriere : "
)
print
(
"Appuyer sur q pour revenir en arriere : "
)
input
()
input
()
...
@@ -385,7 +392,7 @@ class Menu:
...
@@ -385,7 +392,7 @@ class Menu:
def
afficher_contenus_en_cours
(
self
,
contenu
):
def
afficher_contenus_en_cours
(
self
,
contenu
):
for
elt
in
contenu
:
for
elt
in
contenu
:
print
(
"id Modif :"
,
elt
[
"idContenuEC"
],
"auteur original :"
,
elt
[
"auteur"
]
,
" - id Original :"
,
print
(
"id Modif :"
,
elt
[
"idContenuEC"
],
"auteur original :"
,
Utils
.
get_auteur_origine_contenu_en_cours
(
elt
[
"idContenuEC"
])
,
" - id Original :"
,
elt
[
"reference"
],
elt
[
"reference"
],
"version original"
,
elt
[
"version"
],
" date modif "
,
elt
[
"date"
],
end
=
''
)
"version original"
,
elt
[
"version"
],
" date modif "
,
elt
[
"date"
],
end
=
''
)
if
Utils
.
is_en_cours_demande
(
elt
[
"idContenuEC"
],
self
.
auteur_en_cours
):
if
Utils
.
is_en_cours_demande
(
elt
[
"idContenuEC"
],
self
.
auteur_en_cours
):
...
@@ -465,14 +472,18 @@ class Menu:
...
@@ -465,14 +472,18 @@ class Menu:
def
valider_modification
(
self
,
idContenuEnCours
):
def
valider_modification
(
self
,
idContenuEnCours
):
# on récupère l'auteur et l'id du contenu "de base" associé à la modif
# on récupère l'auteur et l'id du contenu "de base" associé à la modif
auteur
=
Utils
.
get_auteur_contenu_en_cours
(
idContenuEnCours
)
auteur
=
Utils
.
get_auteur_
origine_
contenu_en_cours
(
idContenuEnCours
)
idContenu
=
Utils
.
get_id_contenu_associe_a_un_en_cours
(
idContenuEnCours
)
idContenu
=
Utils
.
get_id_contenu_associe_a_un_en_cours
(
idContenuEnCours
)
branche
=
Utils
.
get_branche_contenu_en_cours
(
idContenuEnCours
)
branche
=
Utils
.
get_branche_contenu_en_cours
(
idContenuEnCours
)
# si modification d'un contenu personnel ou d'un contenu anonyme, elle est faite directement
# si modification d'un contenu personnel ou d'un contenu anonyme, elle est faite directement
if
auteur
==
self
.
auteur_en_cours
or
Utils
.
is_anonyme
(
idContenu
):
chemin
=
Utils
.
get_chemin_du_contenu
(
idContenu
)
chemin
=
Utils
.
get_chemin_du_contenu
(
idContenu
)
if
auteur
==
self
.
auteur_en_cours
:
Utils
.
maj_contenu
(
chemin
,
idContenu
,
branche
)
Utils
.
maj_contenu
(
chemin
,
idContenu
,
branche
)
# Si
elif
Utils
.
is_anonyme
(
idContenu
):
Utils
.
maj_contenu
(
chemin
,
idContenu
,
branche
,
self
.
auteur_en_cours
)
Utils
.
supprimer_tiers
(
idContenu
,
self
.
auteur_en_cours
,
Utils
.
get_version_tiers_avec_id
(
idContenu
,
self
.
auteur_en_cours
))
# Dans le cas contraire, on bascule vers une demande de publication de contenu
# Dans le cas contraire, on bascule vers une demande de publication de contenu
else
:
else
:
Utils
.
demande_publication
(
idContenu
,
idContenuEnCours
,
self
.
auteur_en_cours
,
auteur
)
Utils
.
demande_publication
(
idContenu
,
idContenuEnCours
,
self
.
auteur_en_cours
,
auteur
)
...
...
Utils.py
View file @
f330a17e
...
@@ -120,11 +120,11 @@ class Utils:
...
@@ -120,11 +120,11 @@ class Utils:
@
staticmethod
@
staticmethod
def
get_contenus_panier
(
auteur
):
def
get_contenus_panier
(
auteur
):
curseur_perso
=
Utils
.
get_contenus
(
auteur
,
True
)
curseur_perso
=
Utils
.
get_contenus
(
auteur
,
True
)
print
(
"nbre contenus panier : "
,
curseur_perso
.
count
())
print
(
"nbre contenus panier : "
,
curseur_perso
.
count
())
id_tiers
=
Utils
.
get_contenus_tiers
(
auteur
)
id_tiers
=
Utils
.
get_contenus_tiers
(
auteur
)
print
(
"nbre contenus tiers : "
,
len
(
id_tiers
))
print
(
"nbre contenus tiers : "
,
len
(
id_tiers
))
curseur_en_cours
=
Utils
.
get_contenus_en_cours
(
auteur
)
curseur_en_cours
=
Utils
.
get_contenus_en_cours
(
auteur
)
print
(
"nbre contenus en cours : "
,
curseur_en_cours
.
count
())
print
(
"nbre contenus en cours : "
,
curseur_en_cours
.
count
())
contenus_tiers
=
list
()
contenus_tiers
=
list
()
contenus_persos
=
list
()
contenus_persos
=
list
()
contenus_en_cours
=
list
()
contenus_en_cours
=
list
()
...
@@ -139,7 +139,7 @@ class Utils:
...
@@ -139,7 +139,7 @@ class Utils:
for
contenu
in
curseur_en_cours
:
for
contenu
in
curseur_en_cours
:
contenus_en_cours
.
append
(
contenu
)
contenus_en_cours
.
append
(
contenu
)
# on garde le développement de l'évaliation pour plus tard
# on garde le développement de l'évaliation pour plus tard
#return contenus_persos + contenus_en_cours + contenus_tiers
#
return contenus_persos + contenus_en_cours + contenus_tiers
return
contenus_persos
return
contenus_persos
## Consultation de tous les contenus, sans distinction
## Consultation de tous les contenus, sans distinction
...
@@ -331,7 +331,7 @@ class Utils:
...
@@ -331,7 +331,7 @@ class Utils:
@
staticmethod
@
staticmethod
## affichage d'un contenu de fichier
## affichage d'un contenu de fichier
# @param chemin le fichier à afficher
# @param chemin le fichier à afficher
def
affichage
(
chemin
,
get_chemin
=
False
):
def
affichage
(
chemin
,
get_chemin
=
False
):
with
open
(
chemin
,
"r"
)
as
fichier
:
with
open
(
chemin
,
"r"
)
as
fichier
:
texte
=
fichier
.
read
()
texte
=
fichier
.
read
()
...
@@ -409,7 +409,7 @@ class Utils:
...
@@ -409,7 +409,7 @@ class Utils:
# fichier.seek(0, 2)
# fichier.seek(0, 2)
# print("pront:", fichier.read())
# print("pront:", fichier.read())
fichier
.
close
()
fichier
.
close
()
#Utils.affichage(chemin)
#
Utils.affichage(chemin)
UtilsGit
.
commit
(
repertoire
,
nomFichier
,
"modification"
)
UtilsGit
.
commit
(
repertoire
,
nomFichier
,
"modification"
)
# si on est dans le cas d'une modification 1ere d'un contenu, on l'entre en bd (sinon il y est déja)
# si on est dans le cas d'une modification 1ere d'un contenu, on l'entre en bd (sinon il y est déja)
...
@@ -423,7 +423,7 @@ class Utils:
...
@@ -423,7 +423,7 @@ class Utils:
## Mettre à jour un contenu (branche principale)
## Mettre à jour un contenu (branche principale)
@
staticmethod
@
staticmethod
def
maj_contenu
(
chemin
,
idContenu
,
nomBranche
):
def
maj_contenu
(
chemin
,
idContenu
,
nomBranche
,
auteur
=
None
):
repertoire
=
chemin
[:
chemin
.
rfind
(
"/"
)
+
1
]
repertoire
=
chemin
[:
chemin
.
rfind
(
"/"
)
+
1
]
fin
=
Utils
.
affichage
(
chemin
)
fin
=
Utils
.
affichage
(
chemin
)
...
@@ -438,6 +438,9 @@ class Utils:
...
@@ -438,6 +438,9 @@ class Utils:
Utils
.
statdb
.
contenu
.
update_one
({
"id"
:
int
(
idContenu
)},
{
Utils
.
statdb
.
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
:
Utils
.
statdb
.
contenu
.
update_one
({
"id"
:
int
(
idContenu
)},
{
"$set"
:
{
"auteur"
:
auteur
}})
## Supprimer une évaluation (définitif)
## Supprimer une évaluation (définitif)
# @param idEval l'id de l'évaluation à supprimer
# @param idEval l'id de l'évaluation à supprimer
...
@@ -527,17 +530,23 @@ class Utils:
...
@@ -527,17 +530,23 @@ class Utils:
## récupérer l'auteur initial d'un contenu en cours (peut être l'auteur effectuant la modification ou non)
## récupérer l'auteur initial d'un contenu en cours (peut être l'auteur effectuant la modification ou non)
# @param idContenuEnCours l'id du contenu en cours de modification
# @param idContenuEnCours l'id du contenu en cours de modification
@
staticmethod
@
staticmethod
def
get_auteur_contenu_en_cours
(
idContenuEnCours
):
def
get_auteur_contenu_en_cours
(
id_contenu_en_cours
):
id_contenu
=
Utils
.
get_id_contenu_associe_a_un_en_cours
(
idContenuEnCours
)
return
Utils
.
statdb
.
encours
.
find_one
({
"idContenuEC"
:
id_contenu_en_cours
})[
"auteur"
]
## récupérer l'auteur initial d'un contenu en cours (peut être l'auteur effectuant la modification ou non)
# @param idContenuEnCours l'id du contenu en cours de modification
@
staticmethod
def
get_auteur_origine_contenu_en_cours
(
id_contenu_en_cours
):
id_contenu
=
Utils
.
statdb
.
encours
.
find_one
({
"idContenuEC"
:
id_contenu_en_cours
})[
"reference"
]
return
Utils
.
statdb
.
contenu
.
find_one
({
"id"
:
id_contenu
})[
"auteur"
]
return
Utils
.
statdb
.
contenu
.
find_one
({
"id"
:
id_contenu
})[
"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
@
staticmethod
@
staticmethod
def
get_branche_contenu_en_cours
(
id
ContenuEnC
ours
):
def
get_branche_contenu_en_cours
(
id
_contenu_en_c
ours
):
# id_contenu = Utils.getIdContenuAssocieAUnEnCours(idContenuEnCours)
# id_contenu = Utils.getIdContenuAssocieAUnEnCours(idContenuEnCours)
return
Utils
.
statdb
.
encours
.
find_one
({
"idContenuEC"
:
id
ContenuEnC
ours
})[
"branche"
]
return
Utils
.
statdb
.
encours
.
find_one
({
"idContenuEC"
:
id
_contenu_en_c
ours
})[
"branche"
]
## A NE JAMAIS UTILISER SANS REFLECHIR
## A NE JAMAIS UTILISER SANS REFLECHIR
# Suppression integrale de la base de données & recreation des 3 auteurs
# Suppression integrale de la base de données & recreation des 3 auteurs
...
@@ -624,7 +633,7 @@ class Utils:
...
@@ -624,7 +633,7 @@ class Utils:
# @param version le numéro de version désiré
# @param version le numéro de version désiré
@
staticmethod
@
staticmethod
def
get_commit_pour_une_version
(
idContenu
,
version
):
def
get_commit_pour_une_version
(
idContenu
,
version
):
#print("Je veux récupérer le commit associé à la version ", version, "pour le contenu ", idContenu)
#
print("Je veux récupérer le commit associé à la version ", version, "pour le contenu ", idContenu)
if
version
==
Utils
.
get_version_courante
(
idContenu
):
if
version
==
Utils
.
get_version_courante
(
idContenu
):
courante
=
Utils
.
statdb
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"versionEnCours"
]
courante
=
Utils
.
statdb
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"versionEnCours"
]
...
...
auteur_
1
/Contenu1
→
auteur_
2
/Contenu1
View file @
f330a17e
File moved
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