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
Hide 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:
self
.
menu_contenus_en_cours
()
elif
action
==
'v'
:
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)
if
not
Utils
.
is_tiers_auteur
(
self
.
auteur_en_cours
,
id
)
or
Utils
.
is_anonyme
(
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 : "
)
input
()
...
...
@@ -385,7 +392,7 @@ class Menu:
def
afficher_contenus_en_cours
(
self
,
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"
],
"version original"
,
elt
[
"version"
],
" date modif "
,
elt
[
"date"
],
end
=
''
)
if
Utils
.
is_en_cours_demande
(
elt
[
"idContenuEC"
],
self
.
auteur_en_cours
):
...
...
@@ -465,14 +472,18 @@ class Menu:
def
valider_modification
(
self
,
idContenuEnCours
):
# 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
)
branche
=
Utils
.
get_branche_contenu_en_cours
(
idContenuEnCours
)
# 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
)
# 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
else
:
Utils
.
demande_publication
(
idContenu
,
idContenuEnCours
,
self
.
auteur_en_cours
,
auteur
)
...
...
Utils.py
View file @
f330a17e
...
...
@@ -120,11 +120,11 @@ class Utils:
@
staticmethod
def
get_contenus_panier
(
auteur
):
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
)
print
(
"nbre contenus tiers : "
,
len
(
id_tiers
))
print
(
"nbre contenus tiers : "
,
len
(
id_tiers
))
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_persos
=
list
()
contenus_en_cours
=
list
()
...
...
@@ -139,7 +139,7 @@ class Utils:
for
contenu
in
curseur_en_cours
:
contenus_en_cours
.
append
(
contenu
)
# 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
## Consultation de tous les contenus, sans distinction
...
...
@@ -331,7 +331,7 @@ class Utils:
@
staticmethod
## affichage d'un contenu de fichier
# @param chemin le fichier à afficher
def
affichage
(
chemin
,
get_chemin
=
False
):
def
affichage
(
chemin
,
get_chemin
=
False
):
with
open
(
chemin
,
"r"
)
as
fichier
:
texte
=
fichier
.
read
()
...
...
@@ -409,7 +409,7 @@ class Utils:
# fichier.seek(0, 2)
# print("pront:", fichier.read())
fichier
.
close
()
#Utils.affichage(chemin)
#
Utils.affichage(chemin)
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)
...
...
@@ -423,7 +423,7 @@ class Utils:
## Mettre à jour un contenu (branche principale)
@
staticmethod
def
maj_contenu
(
chemin
,
idContenu
,
nomBranche
):
def
maj_contenu
(
chemin
,
idContenu
,
nomBranche
,
auteur
=
None
):
repertoire
=
chemin
[:
chemin
.
rfind
(
"/"
)
+
1
]
fin
=
Utils
.
affichage
(
chemin
)
...
...
@@ -436,8 +436,11 @@ class Utils:
version_en_cours
=
Utils
.
statdb
.
contenu
.
find_one
({
"id"
:
idContenu
})[
"versionEnCours"
]
Utils
.
statdb
.
contenu
.
update_one
({
"id"
:
int
(
idContenu
)},
{
"$push"
:
{
"historique"
:
version_en_cours
}})
Utils
.
statdb
.
contenu
.
update_one
({
"id"
:
int
(
idContenu
)},
{
"$set"
:
{
"versionEnCours"
:
{
"numero"
:
version
,
"date"
:
datetime
.
now
()
.
strftime
(
"
%
d/
%
m/
%
y"
),
"popularite"
:
0
,
"commit"
:
idCommit
}}})
"$set"
:
{
"versionEnCours"
:
{
"numero"
:
version
,
"date"
:
datetime
.
now
()
.
strftime
(
"
%
d/
%
m/
%
y"
),
"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)
# @param idEval l'id de l'évaluation à supprimer
...
...
@@ -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)
# @param idContenuEnCours l'id du contenu en cours de modification
@
staticmethod
def
get_auteur_contenu_en_cours
(
idContenuEnCours
):
id_contenu
=
Utils
.
get_id_contenu_associe_a_un_en_cours
(
idContenuEnCours
)
def
get_auteur_contenu_en_cours
(
id_contenu_en_cours
):
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"
]
## récupérer la branche d'un contenu en cours
# @param idContenuEnCours l'id du contenu en cours de modification
@
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)
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
# Suppression integrale de la base de données & recreation des 3 auteurs
...
...
@@ -624,7 +633,7 @@ class Utils:
# @param version le numéro de version désiré
@
staticmethod
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
):
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