Serverseitige Logik
erstellt von Veit Schiele
—
zuletzt verändert:
29.09.2009 08:39
© Veit Schiele, 2007–2009
In src/vs.registration/vs/registration/browser/registration.kss wird die Serveraktion referenziert mit:
action-server:confirmRegistrant;
confirm-registrant: kssAttr('confirm');
Beim Aufruf der Aktion wird confirmRegistran im aktuellen Kontext mit den entsprechenden Parametern aufgerufen. So wird z.B. eine HTTP POST-Anfrage zu der URL http://localhost:8080/mysite/registration/confirmRegistrant mit dem Parameter confirm gesendet.
Die serverseitige Aktion wird meist als View implementiert. Entsprechend geben wir in browser/configure.zcml folgendes an:
<browser:page
for="vs.registration.interfaces.IRegistration"
name="confirmRegistrant"
class=".confirmations.confirmedRegistrants"
attribute="confirm_registrant"
permission="zope2.RequestReview"
/>
Und die confirmedRegistrants-Klasse in browser/confirmations sieht dann so aus:
from zope.interface import alsoProvides
from kss.core import kssaction
from plone.app.kss.plonekssview import PloneKSSView
from plone.app.layout.globals.interfaces import IViewView
from Akquisition import aq_inner
from Products.Five.browser import BrowserView
from vs.Registration.interfaces import IConfirmations
class confirmedRegistrants
@kssaction
def confirm_registrant
confirm = confirm.lower()
if confirm not in ("confirm", "reject"):
return

