Podaj wartość domyślną w polu również w formularzu edycji
Mam więc formularz (właśnie otrzymuję przykład zplone.directives.form):
from plone.directives import form
from zope import schema
class IMySchema(form.Schema):
title = schema.TextLine(title=u"Title")
@form.default_value(field=IMySchema['title'])
def default_title(data):
return data.context.suggested_title
Co działa dobrze tylko w przypadku dodawania formularzy.
Więc pytanie brzmi: jak mogę użyć tej samej metody w formularzu edycji? Sam nie generuję formularza edycji, jeśli ma to znaczenie dla sprawy.
Edycja: Zapomniałem czegoś, co jest dość istotne: wartość wprowadzona w polu jest przechowywana gdzie indziej, a to już działa dzięki obsłudze zdarzeń, dlatego muszę mieć możliwość zapewnienia zawsze wartości domyślnej (aktualna wartość wyodrębniona z to miejsce, w którym jest przechowywane) i pozwala użytkownikowi (administratorowi systemu) na zmianę tej wartości, ale przede wszystkim na jej wyszukanie (tj. jaką wartość ma to pole).
Przypadek użycia tutaj pozwala administratorowi systemu zobaczyć pole e-mail członków. Wiadomość e-mail jest zapisywana w witrynie portal_membership, ale rozszerzyliśmy profil edycji zwykłych członków, aby umożliwić tylko administratorom systemu wyświetlanie ich wiadomości e-mail i możliwość ich zmiany.