Bugfix when contacting OO; various bugfixes and improvements.
This commit is contained in:
parent
cf3748bf77
commit
7435ff1601
5 changed files with 33 additions and 23 deletions
|
@ -17,6 +17,9 @@ from descriptors import ArchetypeFieldDescriptor, ArchetypesClassDescriptor, \
|
|||
COMMON_METHODS = '''
|
||||
def getTool(self): return self.%s
|
||||
def getProductConfig(self): return Products.%s.config
|
||||
def skynView(self):
|
||||
"""Redirects to skyn/view."""
|
||||
return self.REQUEST.RESPONSE.redirect(self.getUrl())
|
||||
'''
|
||||
# ------------------------------------------------------------------------------
|
||||
class Generator(AbstractGenerator):
|
||||
|
|
|
@ -37,7 +37,7 @@ class PloneInstaller:
|
|||
self.ploneStuff = ploneStuff # A dict of some Plone functions or vars
|
||||
self.toLog = StringIO()
|
||||
self.typeAliases = {'sharing': '', 'gethtml': '',
|
||||
'(Default)': 'skyn/view', 'edit': 'skyn/edit',
|
||||
'(Default)': 'skynView', 'edit': 'skyn/edit',
|
||||
'index.html': '', 'properties': '', 'view': ''}
|
||||
self.tool = None # The Plone version of the application tool
|
||||
self.appyTool = None # The Appy version of the application tool
|
||||
|
@ -162,7 +162,7 @@ class PloneInstaller:
|
|||
typeActions = typeInfo.listActions()
|
||||
for action in typeActions:
|
||||
if action.id == 'view':
|
||||
page = 'skyn/view'
|
||||
page = 'skynView'
|
||||
action.edit(action='string:${object_url}/%s' % page)
|
||||
elif action.id == 'edit':
|
||||
page = 'skyn/edit'
|
||||
|
|
|
@ -328,7 +328,9 @@
|
|||
<tr tal:define="odd repeat/items/odd;
|
||||
rhComments items/comments|nothing;
|
||||
state items/review_state|nothing"
|
||||
tal:attributes="class python:test(odd, 'even', 'odd')" tal:condition="items/action">
|
||||
tal:condition="python: items['action'] and (rhComments != '_invisible_')"
|
||||
tal:attributes="class python:test(odd, 'even', 'odd')">
|
||||
|
||||
<td tal:content="python: tool.translate(contextObj.getWorkflowLabel(items['action']))"
|
||||
tal:attributes="class string:state-${state}"/>
|
||||
<td tal:define="actorid python:items.get('actor');
|
||||
|
|
|
@ -185,12 +185,9 @@ class AbstractWrapper:
|
|||
self.link(fieldName, ploneObj)
|
||||
self.o.reindexObject()
|
||||
# Call custom initialization
|
||||
try:
|
||||
if externalData: param = externalData
|
||||
else: param = True
|
||||
appyObj.onEdit(param)
|
||||
except AttributeError:
|
||||
pass
|
||||
if externalData: param = externalData
|
||||
else: param = True
|
||||
if hasattr(appyObj, 'onEdit'): appyObj.onEdit(param)
|
||||
ploneObj.reindexObject()
|
||||
return appyObj
|
||||
|
||||
|
@ -198,13 +195,16 @@ class AbstractWrapper:
|
|||
'''Check documentation of self.o.translate.'''
|
||||
return self.o.translate(label, mapping, domain)
|
||||
|
||||
def do(self, transition, comment='', doAction=False, doNotify=False):
|
||||
def do(self, transition, comment='', doAction=False, doNotify=False,
|
||||
doHistory=True):
|
||||
'''This method allows to trigger on p_self a workflow p_transition
|
||||
programmatically. If p_doAction is False, the action that must
|
||||
normally be executed after the transition has been triggered will
|
||||
not be executed. If p_doNotify is False, the notifications
|
||||
(email,...) that must normally be launched after the transition has
|
||||
been triggered will not be launched.'''
|
||||
been triggered will not be launched. If p_doHistory is False, there
|
||||
will be no trace from this transition triggering in the workflow
|
||||
history.'''
|
||||
wfTool = self.o.portal_workflow
|
||||
availableTransitions = [t['id'] for t in \
|
||||
wfTool.getTransitionsFor(self.o)]
|
||||
|
@ -222,6 +222,12 @@ class AbstractWrapper:
|
|||
# (actions, notifications) after the transition has been executed by DC
|
||||
# workflow.
|
||||
self.o._v_appy_do = {'doAction': doAction, 'doNotify': doNotify}
|
||||
if not doHistory:
|
||||
comment = '_invisible_' # Will not be displayed.
|
||||
# At first sight, I wanted to remove the entry from
|
||||
# self.o.workflow_history. But Plone determines the state of an
|
||||
# object by consulting the target state of the last transition in
|
||||
# this workflow_history.
|
||||
wfTool.doActionFor(self.o, transitionName, comment=comment)
|
||||
del self.o._v_appy_do
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue