source: publico/ILPortalCasas/trunk/Ouvidoria/PloneOnbudsman/Extensions/onbudsman_claim_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: 12.3 KB
Linha 
1"""Workflow: onbudsman_claim_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_claim_workflow(self, workflow):
40    """Define the onbudsman_claim_workflow workflow.
41    """
42
43    workflow.setProperties(title='onbudsman_claim_workflow')
44
45    ##code-section create-workflow-setup-method-header #fill in your manual code here
46    ##/code-section create-workflow-setup-method-header
47
48
49    for s in ['pending', 'accepted', 'rejected', 'resolved', 'moving', 'new']:
50        workflow.states.addState(s)
51
52    for t in ['post', 'move', 'resolve', 'accept', 'reject']:
53        workflow.transitions.addTransition(t)
54
55    for v in ['review_history', 'comments', 'time', 'actor', 'action']:
56        workflow.variables.addVariable(v)
57
58    for p in ['View', 'Modify portal content', 'Change portal events', 'Access contents information']:
59        workflow.addManagedPermission(p)
60
61    for l in []:
62        if not l in workflow.worklists.objectValues():
63            workflow.worklists.addWorklist(l)
64
65    ## Initial State
66
67    workflow.states.setInitialState('pending')
68
69    ## States initialization
70
71    stateDef = workflow.states['pending']
72    stateDef.setProperties(title="""Pending""",
73                           transitions=['reject', 'accept', 'move'])
74    stateDef.setPermission('View',
75                           1,
76                           ['Manager', 'Reviewer'])
77    stateDef.setPermission('Modify portal content',
78                           0,
79                           ['Manager'])
80    stateDef.setPermission('Change portal events',
81                           0,
82                           ['Manager', 'Reviewer'])
83    stateDef.setPermission('Access contents information',
84                           1,
85                           ['Manager', 'Reviewer'])
86
87    stateDef = workflow.states['accepted']
88    stateDef.setProperties(title="""Accepted""",
89                           transitions=['move', 'resolve'])
90    stateDef.setPermission('View',
91                           1,
92                           ['Manager', 'Reviewer'])
93    stateDef.setPermission('Modify portal content',
94                           0,
95                           ['Manager'])
96    stateDef.setPermission('Change portal events',
97                           0,
98                           ['Manager', 'Reviewer'])
99    stateDef.setPermission('Access contents information',
100                           1,
101                           ['Manager', 'Reviewer'])
102
103    stateDef = workflow.states['rejected']
104    stateDef.setProperties(title="""Rejected""",
105                           transitions=[])
106    stateDef.setPermission('View',
107                           1,
108                           ['Manager', 'Reviewer'])
109    stateDef.setPermission('Modify portal content',
110                           0,
111                           ['Manager'])
112    stateDef.setPermission('Change portal events',
113                           0,
114                           ['Manager'])
115    stateDef.setPermission('Access contents information',
116                           1,
117                           ['Manager', 'Reviewer'])
118
119    stateDef = workflow.states['resolved']
120    stateDef.setProperties(title="""Resolved""",
121                           transitions=[])
122    stateDef.setPermission('View',
123                           1,
124                           ['Manager', 'Reviewer'])
125    stateDef.setPermission('Modify portal content',
126                           0,
127                           ['Manager'])
128    stateDef.setPermission('Change portal events',
129                           0,
130                           ['Manager'])
131    stateDef.setPermission('Access contents information',
132                           1,
133                           ['Manager', 'Reviewer'])
134
135    stateDef = workflow.states['moving']
136    stateDef.setProperties(title="""Moving""",
137                           transitions=['resolve', 'move'])
138    stateDef.setPermission('View',
139                           1,
140                           ['Manager', 'Reviewer'])
141    stateDef.setPermission('Modify portal content',
142                           0,
143                           ['Manager'])
144    stateDef.setPermission('Change portal events',
145                           0,
146                           ['Manager', 'Reviewer'])
147    stateDef.setPermission('Access contents information',
148                           1,
149                           ['Manager', 'Reviewer'])
150
151    stateDef = workflow.states['new']
152    stateDef.setProperties(title="""Being created""",
153                           transitions=['post'])
154    stateDef.setPermission('View',
155                           1,
156                           ['Owner', 'Manager'])
157    stateDef.setPermission('Modify portal content',
158                           0,
159                           ['Owner', 'Manager'])
160    stateDef.setPermission('Change portal events',
161                           0,
162                           ['Manager', 'Reviewer'])
163    stateDef.setPermission('Access contents information',
164                           1,
165                           ['Owner', 'Manager'])
166
167    ## Transitions initialization
168
169    transitionDef = workflow.transitions['post']
170    transitionDef.setProperties(title="""post""",
171                                new_state_id="""pending""",
172                                trigger_type=1,
173                                script_name="""""",
174                                after_script_name="""""",
175                                actbox_name="""post""",
176                                actbox_url="""""",
177                                actbox_category="""workflow""",
178                                props={},
179                                )
180
181    transitionDef = workflow.transitions['move']
182    transitionDef.setProperties(title="""move""",
183                                new_state_id="""moving""",
184                                trigger_type=1,
185                                script_name="""""",
186                                after_script_name="""""",
187                                actbox_name="""move""",
188                                actbox_url="""""",
189                                actbox_category="""workflow""",
190                                props={'guard_permissions': 'Review portal content'},
191                                )
192
193    transitionDef = workflow.transitions['resolve']
194    transitionDef.setProperties(title="""resolve""",
195                                new_state_id="""resolved""",
196                                trigger_type=1,
197                                script_name="""""",
198                                after_script_name="""""",
199                                actbox_name="""resolve""",
200                                actbox_url="""""",
201                                actbox_category="""workflow""",
202                                props={'guard_permissions': 'Review portal content'},
203                                )
204
205    transitionDef = workflow.transitions['accept']
206    transitionDef.setProperties(title="""accept""",
207                                new_state_id="""accepted""",
208                                trigger_type=1,
209                                script_name="""""",
210                                after_script_name="""""",
211                                actbox_name="""accept""",
212                                actbox_url="""""",
213                                actbox_category="""workflow""",
214                                props={'guard_permissions': 'Review portal content'},
215                                )
216
217    transitionDef = workflow.transitions['reject']
218    transitionDef.setProperties(title="""reject""",
219                                new_state_id="""rejected""",
220                                trigger_type=1,
221                                script_name="""""",
222                                after_script_name="""""",
223                                actbox_name="""reject""",
224                                actbox_url="""""",
225                                actbox_category="""workflow""",
226                                props={'guard_roles': 'Reviewer'},
227                                )
228
229    ## State Variable
230    workflow.variables.setStateVar('review_state')
231
232    ## Variables initialization
233    variableDef = workflow.variables['review_history']
234    variableDef.setProperties(description="""Provides access to workflow history""",
235                              default_value="""""",
236                              default_expr="""state_change/getHistory""",
237                              for_catalog=0,
238                              for_status=0,
239                              update_always=0,
240                              props={'guard_permissions': 'Request review; Review portal content'})
241
242    variableDef = workflow.variables['comments']
243    variableDef.setProperties(description="""Comments about the last transition""",
244                              default_value="""""",
245                              default_expr="""python:state_change.kwargs.get('comment', '')""",
246                              for_catalog=0,
247                              for_status=1,
248                              update_always=1,
249                              props=None)
250
251    variableDef = workflow.variables['time']
252    variableDef.setProperties(description="""Time of the last transition""",
253                              default_value="""""",
254                              default_expr="""state_change/getDateTime""",
255                              for_catalog=0,
256                              for_status=1,
257                              update_always=1,
258                              props=None)
259
260    variableDef = workflow.variables['actor']
261    variableDef.setProperties(description="""The ID of the user who performed the last transition""",
262                              default_value="""""",
263                              default_expr="""user/getId""",
264                              for_catalog=0,
265                              for_status=1,
266                              update_always=1,
267                              props=None)
268
269    variableDef = workflow.variables['action']
270    variableDef.setProperties(description="""The last transition""",
271                              default_value="""""",
272                              default_expr="""transition/getId|nothing""",
273                              for_catalog=0,
274                              for_status=1,
275                              update_always=1,
276                              props=None)
277
278    ## Worklists Initialization
279
280
281    # WARNING: below protected section is deprecated.
282    # Add a tagged value 'worklist' with the worklist name to your state(s) instead.
283
284    ##code-section create-workflow-setup-method-footer #fill in your manual code here
285    ##/code-section create-workflow-setup-method-footer
286
287
288
289def createonbudsman_claim_workflow(self, id):
290    """Create the workflow for PloneOnbudsman.
291    """
292   
293    ob = DCWorkflowDefinition(id)
294    setuponbudsman_claim_workflow(self, ob)
295    return ob
296
297addWorkflowFactory(createonbudsman_claim_workflow,
298                   id='onbudsman_claim_workflow',
299                   title='onbudsman_claim_workflow')
300
301##code-section create-workflow-module-footer #fill in your manual code here
302##/code-section create-workflow-module-footer
303
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.