Methode eines Plone-Objektes nicht gefunden

Django, Flask, Bottle, WSGI, CGI…
Antworten
jholzer
User
Beiträge: 8
Registriert: Mittwoch 5. April 2006, 15:04

Hallo!

Ich habe einen Plone-Type gebastelt, dessen Attribute ich von Workflow-Skripten aus ändern will. Hierfür brauch ich ja Set-Methoden in meiner Typen-Klasse.

Umgesetzt habe ich diese wie folgt:

Code: Alles auswählen

xyzDocumentSchema = BaseSchema + Schema((
	StringField('Beschreibung'),
	FileField('Datei',
              required=1,
              primary=1,
              widget=FileWidget(),
              ),
	))

class xyzDocument(BaseContent):
	global_allow = 1
	schema = xyzDocumentSchema
	
	def setDescription(self, value, **kwargs):
        	self.getField('Beschreibung').set(self, value, **kwargs)

registerType(xyzDocument)
Diese Methode ist zwar erst nachträglich hinzugekommen, aber nach einem Refresh und nem ReInstall sollte das wohl tun.

Wenn ich jetzt aber in meinem Workflow-Skript die Methode setDesccription aufrufen will bekomme ich die Meldung "global name 'setDescription' is not defined ".

Kann mir jemand sagen, was ich hier falsch mache?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

jholzer hat geschrieben:Wenn ich jetzt aber in meinem Workflow-Skript die Methode setDesccription aufrufen will bekomme ich die Meldung "global name 'setDescription' is not defined ".
Hi jholzer!

Ich kann jetzt nichts ausergewöhnliches an deinem Code finden. Bitte lass uns an der Lösung teilhaben, wenn du herausgefunden hast warum es nicht funktioniert.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
jholzer
User
Beiträge: 8
Registriert: Mittwoch 5. April 2006, 15:04

Hi!

Scheint ein Fehler vor dem Bildschirm gewesen zu sein.
Ich hab´s schlicht und einfach auf den flaschn Objektype gelegt *g*
Fabian Kochem
User
Beiträge: 36
Registriert: Mittwoch 5. April 2006, 14:11
Wohnort: Köln

Warum benutzt du nicht die Archetypes-interne Funktion setFoobar()?
In diesem Falle also self.setBeschreibung().
Antworten