source: publico/ILPortalCasas/trunk/Ouvidoria/PloneOnbudsman/Extensions/onbudsman_folder_workflow.py @ 505

Última Alteração nesse arquivo desde 505 foi 505, incluída por rafahelabazzanella, 15 anos atrás

Melhorado workflows do modelo.

File size: 15.7 KB
Linha 
1"""Workflow: onbudsman_folder_workflow
2"""
3
4# Copyright (c) 2005 by Interlegis
5#
6
7# Generator: ArchGenXML Version 1.4.0-beta2 devel
8#            http://plone.org/products/archgenxml
9#
10# GNU General Public Licence (GPL)
11#
12# This program is free software; you can redistribute it and/or modify it under
13# the terms of the GNU General Public License as published by the Free Software
14# Foundation; either version 2 of the License, or (at your option) any later
15# version.
16# This program is distributed in the hope that it will be useful, but WITHOUT
17# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
19# details.
20# You should have received a copy of the GNU General Public License along with
21# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
22# Place, Suite 330, Boston, MA  02111-1307  USA
23#
24__author__    = '''STC Interlegis <admin-stc@interlegis.gov.br>'''
25__docformat__ = 'plaintext'
26__version__   = '$ Revision 0.0 $'[11:-2]
27
28from Products.CMFCore.utils import getToolByName
29from Products.CMFCore.WorkflowTool import addWorkflowFactory
30from Products.DCWorkflow.DCWorkflow import DCWorkflowDefinition
31from Products.ExternalMethod.ExternalMethod import ExternalMethod
32
33##code-section create-workflow-module-header #fill in your manual code here
34##/code-section create-workflow-module-header
35
36
37productname = 'PloneOnbudsman'
38
39def setuponbudsman_folder_workflow(self, workflow):
40    """Define the onbudsman_folder_workflow workflow.
41    """
42    # add additional roles to portal
43    portal = getToolByName(self,'portal_url').getPortalObject()
44    data = list(portal.__ac_roles__)
45    for role in ['Ower']:
46        if not role in self.__ac_roles__:
47            data.append(role)
48    portal.__ac_roles__ = tuple(data)
49
50    workflow.setProperties(title='onbudsman_folder_workflow')
51
52    ##code-section create-workflow-setup-method-header #fill in your manual code here
53    ##/code-section create-workflow-setup-method-header
54
55
56    for s in ['published', 'authenticated', 'published_post', 'published_view', 'autheticated_post', 'authenticated_view']:
57        workflow.states.addState(s)
58
59    for t in ['authenticate', 'publish', u'I368400m1060c32c06dmm7a59', 'authenticate_post', 'publish_view', 'authenticate_view', u'I368400m1060c32c06dmm79c6', 'publish_post']:
60        workflow.transitions.addTransition(t)
61
62    for v in ['review_history', 'comments', 'time', 'actor', 'action']:
63        workflow.variables.addVariable(v)
64
65    for p in ['View', 'Modify portal content', 'Change portal events', 'Add OnbudsmanClaim Content', 'Access contents information']:
66        workflow.addManagedPermission(p)
67
68    for l in []:
69        if not l in workflow.worklists.objectValues():
70            workflow.worklists.addWorklist(l)
71
72    ## Initial State
73
74    workflow.states.setInitialState('published')
75
76    ## States initialization
77
78    stateDef = workflow.states['published']
79    stateDef.setProperties(title="""Published""",
80                           transitions=['publish_post', 'publish_view', u'I368400m1060c32c06dmm7a59', 'authenticate_post', 'authenticate_view'])
81    stateDef.setPermission('View',
82                           0,
83                           ['Anonymous', 'Manager', 'Reviewer'])
84    stateDef.setPermission('Modify portal content',
85                           0,
86                           ['Manager'])
87    stateDef.setPermission('Change portal events',
88                           0,
89                           ['Manager'])
90    stateDef.setPermission('Add OnbudsmanClaim Content',
91                           0,
92                           ['Anonymous', 'Authenticated', 'Manager'])
93    stateDef.setPermission('Access contents information',
94                           0,
95                           ['Anonymous', 'Manager', 'Reviewer'])
96
97    stateDef = workflow.states['authenticated']
98    stateDef.setProperties(title="""Authenticated""",
99                           transitions=['authenticate_post', 'authenticate_view', u'I368400m1060c32c06dmm79c6'])
100    stateDef.setPermission('View',
101                           0,
102                           ['Manager', 'Reviewer', 'Authenticated'])
103    stateDef.setPermission('Modify portal content',
104                           0,
105                           ['Owner', 'Manager'])
106    stateDef.setPermission('Change portal events',
107                           0,
108                           ['Manager'])
109    stateDef.setPermission('Add OnbudsmanClaim Content',
110                           0,
111                           ['Authenticated', 'Manager'])
112    stateDef.setPermission('Access contents information',
113                           0,
114                           ['Manager', 'Reviewer', 'Authenticated'])
115
116    stateDef = workflow.states['published_post']
117    stateDef.setProperties(title="""Published Post""",
118                           transitions=['publish'])
119    stateDef.setPermission('View',
120                           0,
121                           ['Manager', 'Reviewer'])
122    stateDef.setPermission('Modify portal content',
123                           0,
124                           ['Manager'])
125    stateDef.setPermission('Change portal events',
126                           0,
127                           ['Manager'])
128    stateDef.setPermission('Add OnbudsmanClaim Content',
129                           0,
130                           ['Anonymous', 'Authenticated', 'Manager'])
131    stateDef.setPermission('Access contents information',
132                           0,
133                           ['Manager', 'Reviewer'])
134
135    stateDef = workflow.states['published_view']
136    stateDef.setProperties(title="""Published View""",
137                           transitions=['publish'])
138    stateDef.setPermission('View',
139                           0,
140                           ['Anonymous', 'Manager', 'Reviewer'])
141    stateDef.setPermission('Modify portal content',
142                           0,
143                           ['Manager'])
144    stateDef.setPermission('Change portal events',
145                           0,
146                           ['Manager'])
147    stateDef.setPermission('Access contents information',
148                           0,
149                           ['Anonymous', 'Manager', 'Reviewer'])
150
151    stateDef = workflow.states['autheticated_post']
152    stateDef.setProperties(title="""Authenticated Post""",
153                           transitions=['authenticate'])
154    stateDef.setPermission('View',
155                           0,
156                           ['Manager', 'Reviewer'])
157    stateDef.setPermission('Modify portal content',
158                           0,
159                           ['Owner', 'Manager'])
160    stateDef.setPermission('Change portal events',
161                           0,
162                           ['Manager'])
163    stateDef.setPermission('Add OnbudsmanClaim Content',
164                           0,
165                           ['Manager', 'Authenticated'])
166    stateDef.setPermission('Access contents information',
167                           0,
168                           ['Manager', 'Reviewer'])
169
170    stateDef = workflow.states['authenticated_view']
171    stateDef.setProperties(title="""Authenticated View""",
172                           transitions=['authenticate'])
173    stateDef.setPermission('View',
174                           0,
175                           ['Manager', 'Reviewer', 'Authenticated'])
176    stateDef.setPermission('Modify portal content',
177                           0,
178                           ['Owner', 'Manager'])
179    stateDef.setPermission('Change portal events',
180                           0,
181                           ['Manager'])
182    stateDef.setPermission('Access contents information',
183                           0,
184                           ['Manager', 'Reviewer', 'Authenticated'])
185
186    ## Transitions initialization
187
188    transitionDef = workflow.transitions['authenticate']
189    transitionDef.setProperties(title="""authenticate""",
190                                new_state_id="""authenticated""",
191                                trigger_type=1,
192                                script_name="""""",
193                                after_script_name="""""",
194                                actbox_name="""authenticate""",
195                                actbox_url="""""",
196                                actbox_category="""workflow""",
197                                props={'guard_roles': 'Manager;Ower'},
198                                )
199
200    transitionDef = workflow.transitions['publish']
201    transitionDef.setProperties(title="""publish""",
202                                new_state_id="""published""",
203                                trigger_type=1,
204                                script_name="""""",
205                                after_script_name="""""",
206                                actbox_name="""publish""",
207                                actbox_url="""""",
208                                actbox_category="""workflow""",
209                                props={'guard_roles': 'Manager;Ower'},
210                                )
211
212    transitionDef = workflow.transitions['I368400m1060c32c06dmm7a59']
213    transitionDef.setProperties(title="""I368400m1060c32c06dmm7a59""",
214                                new_state_id="""authenticated""",
215                                trigger_type=1,
216                                script_name="""""",
217                                after_script_name="""""",
218                                actbox_name="""I368400m1060c32c06dmm7a59""",
219                                actbox_url="""""",
220                                actbox_category="""workflow""",
221                                props={},
222                                )
223
224    transitionDef = workflow.transitions['authenticate_post']
225    transitionDef.setProperties(title="""authenticate_post""",
226                                new_state_id="""autheticated_post""",
227                                trigger_type=1,
228                                script_name="""""",
229                                after_script_name="""""",
230                                actbox_name="""authenticate_post""",
231                                actbox_url="""""",
232                                actbox_category="""workflow""",
233                                props={'guard_roles': 'Manager;Ower'},
234                                )
235
236    transitionDef = workflow.transitions['publish_view']
237    transitionDef.setProperties(title="""publish_view""",
238                                new_state_id="""published_view""",
239                                trigger_type=1,
240                                script_name="""""",
241                                after_script_name="""""",
242                                actbox_name="""publish_view""",
243                                actbox_url="""""",
244                                actbox_category="""workflow""",
245                                props={'guard_roles': 'Manager;Ower'},
246                                )
247
248    transitionDef = workflow.transitions['authenticate_view']
249    transitionDef.setProperties(title="""authenticate_view""",
250                                new_state_id="""authenticated_view""",
251                                trigger_type=1,
252                                script_name="""""",
253                                after_script_name="""""",
254                                actbox_name="""authenticate_view""",
255                                actbox_url="""""",
256                                actbox_category="""workflow""",
257                                props={'guard_roles': 'Manager;Ower'},
258                                )
259
260    transitionDef = workflow.transitions['I368400m1060c32c06dmm79c6']
261    transitionDef.setProperties(title="""I368400m1060c32c06dmm79c6""",
262                                new_state_id="""published""",
263                                trigger_type=1,
264                                script_name="""""",
265                                after_script_name="""""",
266                                actbox_name="""I368400m1060c32c06dmm79c6""",
267                                actbox_url="""""",
268                                actbox_category="""workflow""",
269                                props={},
270                                )
271
272    transitionDef = workflow.transitions['publish_post']
273    transitionDef.setProperties(title="""publish_post""",
274                                new_state_id="""published_post""",
275                                trigger_type=1,
276                                script_name="""""",
277                                after_script_name="""""",
278                                actbox_name="""publish_post""",
279                                actbox_url="""""",
280                                actbox_category="""workflow""",
281                                props={'guard_roles': 'Manager;Ower'},
282                                )
283
284    ## State Variable
285    workflow.variables.setStateVar('review_state')
286
287    ## Variables initialization
288    variableDef = workflow.variables['review_history']
289    variableDef.setProperties(description="""Provides access to workflow history""",
290                              default_value="""""",
291                              default_expr="""state_change/getHistory""",
292                              for_catalog=0,
293                              for_status=0,
294                              update_always=0,
295                              props={'guard_permissions': 'Request review; Review portal content'})
296
297    variableDef = workflow.variables['comments']
298    variableDef.setProperties(description="""Comments about the last transition""",
299                              default_value="""""",
300                              default_expr="""python:state_change.kwargs.get('comment', '')""",
301                              for_catalog=0,
302                              for_status=1,
303                              update_always=1,
304                              props=None)
305
306    variableDef = workflow.variables['time']
307    variableDef.setProperties(description="""Time of the last transition""",
308                              default_value="""""",
309                              default_expr="""state_change/getDateTime""",
310                              for_catalog=0,
311                              for_status=1,
312                              update_always=1,
313                              props=None)
314
315    variableDef = workflow.variables['actor']
316    variableDef.setProperties(description="""The ID of the user who performed the last transition""",
317                              default_value="""""",
318                              default_expr="""user/getId""",
319                              for_catalog=0,
320                              for_status=1,
321                              update_always=1,
322                              props=None)
323
324    variableDef = workflow.variables['action']
325    variableDef.setProperties(description="""The last transition""",
326                              default_value="""""",
327                              default_expr="""transition/getId|nothing""",
328                              for_catalog=0,
329                              for_status=1,
330                              update_always=1,
331                              props=None)
332
333    ## Worklists Initialization
334
335
336    # WARNING: below protected section is deprecated.
337    # Add a tagged value 'worklist' with the worklist name to your state(s) instead.
338
339    ##code-section create-workflow-setup-method-footer #fill in your manual code here
340    ##/code-section create-workflow-setup-method-footer
341
342
343
344def createonbudsman_folder_workflow(self, id):
345    """Create the workflow for PloneOnbudsman.
346    """
347   
348    ob = DCWorkflowDefinition(id)
349    setuponbudsman_folder_workflow(self, ob)
350    return ob
351
352addWorkflowFactory(createonbudsman_folder_workflow,
353                   id='onbudsman_folder_workflow',
354                   title='onbudsman_folder_workflow')
355
356##code-section create-workflow-module-footer #fill in your manual code here
357##/code-section create-workflow-module-footer
358
Note: Veja TracBrowser para ajuda no uso do navegador do trac.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.