37 messages in net.sourceforge.lists.plone-developersRe: CMFFormController should abort th...
FromSent OnAttachments
Dorneles TreméaNov 9, 2007 3:17 pm 
Philipp von WeitershausenNov 10, 2007 7:07 am 
Dorneles TreméaNov 10, 2007 7:58 am 
Wichert AkkermanNov 10, 2007 12:22 pm 
Martin AspeliNov 10, 2007 2:12 pm 
Wichert AkkermanNov 10, 2007 4:20 pm 
Philipp von WeitershausenNov 11, 2007 1:32 am 
Dorneles TreméaNov 11, 2007 5:19 pm 
Alan RunyanNov 11, 2007 5:20 pm 
Martin AspeliNov 11, 2007 5:44 pm 
Martin AspeliNov 11, 2007 5:51 pm 
Wichert AkkermanNov 12, 2007 4:37 am 
Sidnei da SilvaNov 12, 2007 4:43 am 
Daniel KraftNov 12, 2007 5:40 am 
Martin AspeliNov 12, 2007 5:52 am 
Dorneles TreméaNov 12, 2007 9:35 am 
Wichert AkkermanNov 12, 2007 9:56 am 
Martin AspeliNov 12, 2007 9:59 am 
Martin AspeliNov 12, 2007 10:00 am 
Dorneles TreméaNov 12, 2007 10:56 am 
Martin AspeliNov 12, 2007 11:14 am 
Martin AspeliNov 12, 2007 11:21 am 
Wichert AkkermanNov 12, 2007 11:36 am 
Martin AspeliNov 12, 2007 11:41 am 
Sidnei da SilvaNov 12, 2007 11:47 am 
Martin AspeliNov 12, 2007 12:04 pm 
Dorneles TreméaNov 12, 2007 12:28 pm 
Dorneles TreméaNov 12, 2007 12:34 pm 
Dorneles TreméaNov 12, 2007 1:29 pm 
Wichert AkkermanNov 12, 2007 1:32 pm 
Martin AspeliNov 12, 2007 1:41 pm 
Dorneles TreméaNov 12, 2007 1:44 pm 
Martin AspeliNov 12, 2007 1:46 pm 
Wichert AkkermanNov 12, 2007 1:46 pm 
Martin AspeliNov 12, 2007 1:47 pm 
Dorneles TreméaNov 12, 2007 5:11 pm 
Daniel NouriNov 13, 2007 4:14 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: CMFFormController should abort the current transaction when the validation failsActions...
From:Martin Aspeli (opti@public.gmane.org)
Date:Nov 12, 2007 1:46:22 pm
List:net.sourceforge.lists.plone-developers

Dorneles Treméa wrote:

Archetypes is far from the only user of CMFFormController! :)

I know, and I already said this earlier. Anyway, the 'form processing' principle is the same, independent on what products are involved...

I don't think that's true. But we're arguing semantics.

I'd say that writing persistent things while at validation is a perfectly valid use case, and then the fact that it does not roll those changes back when the validation fails is what is broken...

No way - validation is about ensuring something is valid. Relying on the framework to roll back for you if something is invalid is implicit and magical and weird. IMHO. :-)

I discovered (and you pointed out) that the widget.process_form() is called from two places:

- some point inside BaseObject.validation()

- some point inside BaseObject.processForm()

This means I can postpone the object creation until the second call.

It would be great if Archetypes pass an additional keyword to the widget.process_form() call saying that it's in the 'validating' or the 'processing' phase... otherwise we'll need to mess with the REQUEST and set some kind of flag...

What do you think about this additional keyword? Do I have your +1 here?

Mmm, I wouldn't mind a keyword, but I still think you're fundamentally misusing the idea of a widget. process_form() turns a form request into a value that's useful for persistence. It's a converter. Creating objects in there is just wrong.

I'll implement the support for failed/succeeded validation events, if I got a +2 from you... :-)

+2 for such events :)

Martin