[Plone-IT] Uso funzioni
Basa
valeriofioresi a gmail.com
Lun 3 Set 2007 10:16:09 UTC
La mia situazione iniziale era la seguente:
Ho un prodotto dal nome CTY all'interno del quale ho un prodotto di nome
Increment.
Volevo estrapolare Increment portandolo all'esterno di CTY, nel farlo ho
riscontrato problemi a chiamare la funzione Increment da CTY.
Modificando Increment cosi':
security.declarePublic('Inc')
def Inc(self,ma,mi):
"""
"""
val = 0
portal = getToolByName(self,'portal_url').getPortalObject()
cat = self.portal_catalog
query = {}
query["Type"] = "Increment"
results = cat.searchResults(**query)
for result in results:
obj = result.getObject()
if (obj.major == ma) and (obj.minor == mi):
if (obj.value > val):
val = obj.value
if (val == 0):
newId = self.generateUniqueId('Increment')
portal.invokeFactory("Increment", id = newId, title =
"Increment_Item")
newInc = getattr(self, newId)
newInc.major = ma
newInc.minor = mi + str("_")
newInc.value = 1
return newInc
else:
newId = self.generateUniqueId('Increment')
portal.invokeFactory("Increment", id = newId, title =
"Increment_Item")
newInc = getattr(self, newId)
newInc.major = ma
newInc.minor = mi + str("_")
newInc.value = val + 1
return newInc
e CTY cosi':
security.declarePublic('at_post_create_script')
def at_post_create_script(self):
"""
"""
container = self.aq_inner.aq_parent
portal = getToolByName(self,'portal_url').getPortalObject()
uid = self.generateUniqueId('Increment')
portal.invokeFactory("Increment", id = uid)
valerio = getattr(self, uid)
pid = valerio.Inc("Project",container.title)
self.setTitle(str(pid.major) + str(pid.minor) + str(pid.value))
pid = self.title
self.Create_Event_Item(pid,"Create",self.getOwner())
self.reindexObject()
posso rihiamare correttamente Increment e creare gli oggetti in modo
automatico.
Il problema principalmente verteva sull'uso improprio del comando
invokeFactory.
Adesso non è ancora perfetto ma funziona.
Thanks to all
Valerio
--
View this message in context: http://www.nabble.com/Uso-funzioni-tf4346895s21526.html#a12459389
Sent from the Plone - Italy mailing list archive at Nabble.com.
Maggiori informazioni sulla lista
Plone-IT