general: store/display error context stack (#74791) #1219

Merged
fpeters merged 1 commits from wip/74791-logged-error-condition-context into main 2024-03-15 07:38:24 +01:00
Owner
No description provided.
fpeters force-pushed wip/74791-logged-error-condition-context from d040044cf7 to eb1fd751c5 2024-03-03 14:42:37 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from eb1fd751c5 to 128b2c07a4 2024-03-03 15:02:54 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 3c3c8a7d82 to 98c9c2611b 2024-03-03 15:52:35 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 98c9c2611b to 7d456247f2 2024-03-03 16:02:19 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 7d456247f2 to d39209a125 2024-03-03 16:12:14 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from ee718ae982 to 0860081b91 2024-03-03 17:17:27 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 0860081b91 to 9ec09a29b6 2024-03-03 17:24:46 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from b658a0640e to 7b752274e4 2024-03-03 18:13:31 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 017ca8061e to eb431e869b 2024-03-03 18:38:14 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 4f329e639e to 8724341116 2024-03-03 18:59:42 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 5f78f4f447 to 66639f8d26 2024-03-03 19:24:42 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 66639f8d26 to 6fe1b41d0a 2024-03-03 19:30:36 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 6fe1b41d0a to 6dbfc4e4d3 2024-03-03 19:38:17 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from b9068ac03a to cb38ef28e0 2024-03-04 07:21:13 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from cb38ef28e0 to d0ab915eae 2024-03-04 07:32:20 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from d0ab915eae to 4dd25715f2 2024-03-04 14:44:21 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 4dd25715f2 to 3b6161be9b 2024-03-04 15:11:52 +01:00 Compare
fpeters force-pushed wip/74791-logged-error-condition-context from 3b6161be9b to 755d21022a 2024-03-04 15:32:53 +01:00 Compare
fpeters reviewed 2024-03-04 15:39:34 +01:00
@ -3370,0 +3369,4 @@
assert error.context == {
'stack': [
{
'condition': '2//0',
Author
Owner

Plutôt que juste enregistrer l'expression en erreur on empile des contextes. (ça n'est pas encore exploité au-delà des conditions, mais ça pourra être étendu pour avoir dans la pile l'action de workflow puis sa condition puis l'appel webservice repris dedans, par exemple).

Plutôt que juste enregistrer l'expression en erreur on empile des contextes. (ça n'est pas encore exploité au-delà des conditions, mais ça pourra être étendu pour avoir dans la pile l'action de workflow puis sa condition puis l'appel webservice repris dedans, par exemple).
@ -1543,0 +1572,4 @@
# condition error and wscall error
assert pub.loggederror_class.count() == 2
wscall_error, condition_error = pub.loggederror_class.select(order_by='id')
Author
Owner

Autre évolution possible, pour le moment ça peut se trouver à enregistrer la même situation à plusieurs niveaux, il y aurait moyen par la suite de marquer l'erreur comme déjà enregistrée, pour ne plus avoir qu'une erreur logguée.

Autre évolution possible, pour le moment ça peut se trouver à enregistrer la même situation à plusieurs niveaux, il y aurait moyen par la suite de marquer l'erreur comme déjà enregistrée, pour ne plus avoir qu'une erreur logguée.
@ -30,1 +30,4 @@
class ErrorFrame:
def __init__(self, context):
self.context = context or {}
Author
Owner

C'est juste un objet pour le gabarit.

C'est juste un objet pour le gabarit.
@ -246,0 +252,4 @@
def get_admin_url(self):
if not getattr(self, '_formdef', None):
return ''
return self._formdef.get_field_admin_url(field=self)
Author
Owner

Pour permettre comme demandé dans le ticket d'avoir un lien vers le champ en question, ajout d'un get_admin_url() sur les champs.

Pour permettre comme demandé dans le ticket d'avoir un lien vers le champ en question, ajout d'un get_admin_url() sur les champs.
wcs/formdef.py Outdated
@ -1957,2 +1957,4 @@
except EOFError:
pass # old format
for field in o.fields or []:
field._formdef = o # keep formdef reference
Author
Owner

Pour avoir le get_admin_url sur les champs il faut avoir dans ceux-ci une référence au formdef.

Pour avoir le get_admin_url sur les champs il faut avoir dans ceux-ci une référence au formdef.
wcs/workflows.py Outdated
@ -3052,1 +3052,3 @@
return self.parent.get_admin_url() + 'items/%s/' % self.id
if self.parent:
return self.parent.get_admin_url() + 'items/%s/' % self.id
return ''
Author
Owner

Ça arrive dans un test que le self.parent n'existe pas, on fait sans.

Ça arrive dans un test que le self.parent n'existe pas, on fait sans.
fpeters changed title from WIP: general: store/display error context stack (#74791) to general: store/display error context stack (#74791) 2024-03-04 15:39:50 +01:00
lguerin approved these changes 2024-03-11 15:21:09 +01:00
fpeters force-pushed wip/74791-logged-error-condition-context from 755d21022a to 7383ad1798 2024-03-15 07:26:52 +01:00 Compare
fpeters merged commit 96af0663eb into main 2024-03-15 07:38:24 +01:00
fpeters deleted branch wip/74791-logged-error-condition-context 2024-03-15 07:38:24 +01:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#1219
No description provided.