Geben Sie einen Standardwert für ein Feld an, das auch im Bearbeitungsformular enthalten ist

Ich habe also ein Formular (nur das Beispiel vonplone.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

Was gut funktioniert nur für Formulare hinzufügen.

Die Frage ist also: Wie kann ich diese Methode auch für ein Bearbeitungsformular verwenden? Ich erstelle das Bearbeitungsformular nicht selbst, wenn dies für die Angelegenheit relevant ist.

Bearbeiten: Ich habe etwas vergessen, das sehr relevant ist: Der in das Feld eingegebene Wert wird an einer anderen Stelle gespeichert und funktioniert bereits dank eines Ereignishandlers. Deshalb muss ich immer einen Standardwert bereitstellen können (den aktuellen Wert, der aus extrahiert wird) den Ort, an dem es gespeichert ist) und ermöglichen Sie dem Benutzer (einem Systemadministrator), diesen Wert zu ändern, ihn jedoch meistens nachzuschlagen (dh welcher Wert dieses Feld hat).

Der Anwendungsfall hier ist, dass der Systemadministrator das E-Mail-Feld der Mitglieder sehen kann. Die E-Mail wird in portal_membership gespeichert, aber wir haben das reguläre Mitgliederbearbeitungsprofil erweitert, damit nur Systemadministratoren ihre E-Mail sehen und ändern können.

Antworten auf die Frage(0)

Ihre Antwort auf die Frage