Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
O
oacc_portal_overview_cdc
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse du dépôt
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté GitLab
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Le Filament
Opération Auto-Consommation Collective
oacc_portal_overview_cdc
Validations
f7d38e88
Valider
f7d38e88
rédigé
Il y a 3 mois
par
Rémi - Le Filament
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
[IMP] use 401 error instead of empty dict
parent
4145506e
Branches
Branches contenant la validation
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
1
Afficher les modifications d'espaces
En ligne
Côte à côte
Affichage de
1 fichier modifié
controllers/main.py
+28
-16
28 ajouts, 16 suppressions
controllers/main.py
avec
28 ajouts
et
16 suppressions
controllers/main.py
+
28
−
16
Voir le fichier @
f7d38e88
# Copyright 2021- Le Filament (https://le-filament.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
import
werkzeug
from
werkzeug.exceptions
import
Unauthorized
from
odoo
import
http
from
odoo
import
_
,
http
from
odoo.exceptions
import
AccessError
from
odoo.http
import
request
from
odoo.addons.oacc_portal.controllers.main
import
CustomerPortal
as
CustomerPortal
...
...
@@ -172,13 +172,18 @@ class CustomerPortal(CustomerPortal):
- When click on date range
"""
operation
=
request
.
env
[
"
acc.operation
"
].
browse
(
operation_id
)
try
:
roles
=
self
.
_get_role
(
operation
)
# Si l'opération n'a pas de courbes on renvoie un dictionnaire vide
except
AccessError
as
e
:
raise
werkzeug
.
exceptions
.
abort
(
werkzeug
.
wrappers
.
Response
(
status
=
401
)
)
from
e
# Si l'opération n'a pas de courbes on renvoie une erreur 401
# Si l'utilisateur n'est pas soit superAdmin, soit Admin, soit Pmo,
# 1. si prm_id est passé il doit aussi y avoir un partner_id
# 2. il faut vérifier qu'il est bien autorisé à accéder au partner_id
# si passé en paramètre
# sinon on renvoie un
dictionnaire vide
# sinon on renvoie un
e erreur 401
# (on ne vérifie pas qu'il ait bien accès au prm, aucune donnée ne sera renvoyée
# si les courbes du prm demandées n'appartiennent pas à ce partner)
if
not
roles
.
get
(
"
isDataCdc
"
)
or
(
...
...
@@ -194,7 +199,7 @@ class CustomerPortal(CustomerPortal):
)
)
):
r
eturn
{}
r
aise
werkzeug
.
exceptions
.
abort
(
werkzeug
.
wrappers
.
Response
(
status
=
401
))
vals
=
operation
.
get_graph
(
start_date
,
end_date
,
partner_id
,
prm_id
,
data_type
,
graph_type
)
...
...
@@ -224,19 +229,25 @@ class CustomerPortal(CustomerPortal):
- When click on button export
"""
operation
=
request
.
env
[
"
acc.operation
"
].
sudo
().
browse
(
int
(
operation_id
))
try
:
if
(
request
.
env
.
user
.
commercial_partner_id
.
id
not
in
operation
.
partner_role_ids
.
partner_id
.
ids
):
raise
Unauthorized
(
)
raise
AccessError
(
_
(
"
You are not allowed to access this operation
"
)
)
roles
=
self
.
_get_role
(
operation
)
# Si l'opération n'a pas de courbes on renvoie un Unauthorized
except
AccessError
as
e
:
raise
werkzeug
.
exceptions
.
abort
(
werkzeug
.
wrappers
.
Response
(
status
=
401
)
)
from
e
# Si l'opération n'a pas de courbes on renvoie une erreur 401
# Si l'utilisateur n'est pas soit superAdmin, soit Admin, soit Pmo,
# 1. le partner_id est obligatoire
# 2. il faut vérifier qu'il est bien autorisé à accéder au partner_id
# 3. il faut vérifier que le PRM correspond bien à une période de ce partner_id
# sur l'opération
# sinon on renvoie un
Unauthorized
# sinon on renvoie un
e erreur 401
# (on ne vérifie pas qu'il ait bien accès au prm, aucune donnée ne sera renvoyée
# si les courbes du prm demandées n'appartiennent pas à ce partner)
if
not
roles
.
get
(
"
isDataCdc
"
)
or
(
...
...
@@ -264,7 +275,8 @@ class CustomerPortal(CustomerPortal):
)
)
):
raise
Unauthorized
()
raise
werkzeug
.
exceptions
.
abort
(
werkzeug
.
wrappers
.
Response
(
status
=
401
))
file_values
=
operation
.
_export_cdc
(
start_date
,
end_date
,
partner_id
,
prm_id
,
data_type
)
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter