source: publico/ILSAALMaterial/trunk/Extensions/requisicao_workflow.py @ 1423

Última Alteração nesse arquivo desde 1423 foi 1423, incluída por joaoantonio, 14 anos atrás

novo codigo gerado

File size: 13.2 KB
Linha 
1"""Workflow: requisicao_workflow
2"""
3
4# Copyright (c) 2005 by Interlegis
5#
6
7# Generator: ArchGenXML Version 1.4.0-RC1 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 <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 = 'ILSAALMaterial'
38
39def setuprequisicao_workflow(self, workflow):
40    """Define the requisicao_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 ['Almoxarife']:
46        if not role in self.__ac_roles__:
47            data.append(role)
48    portal.__ac_roles__ = tuple(data)
49
50    workflow.setProperties(title='requisicao_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 ['novo', 'emAtendimento', 'pendente', 'cancelado', 'atendidoTotal', 'atendidoParcial']:
57        workflow.states.addState(s)
58
59    for t in ['tornarPendente', 'atender', 'salvar', 'cancelar', 'finalizarTotal', 'finalizarParcial']:
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', 'Access contents information', 'Add itemRequisitado Content']:
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('novo')
75
76    ## States initialization
77
78    stateDef = workflow.states['novo']
79    stateDef.setProperties(title="""novo""",
80                           transitions=['salvar'])
81    stateDef.setPermission('View',
82                           0,
83                           ['Owner'])
84    stateDef.setPermission('Modify portal content',
85                           0,
86                           ['Owner'])
87    stateDef.setPermission('Change portal events',
88                           0,
89                           ['Owner'])
90    stateDef.setPermission('Access contents information',
91                           0,
92                           ['Owner'])
93
94    stateDef = workflow.states['emAtendimento']
95    stateDef.setProperties(title="""emAtendimento""",
96                           transitions=['cancelar', 'finalizarTotal', 'finalizarParcial', 'tornarPendente'])
97    stateDef.setPermission('View',
98                           1,
99                           ['Almoxarife', 'Owner', 'Authenticated'])
100    stateDef.setPermission('Modify portal content',
101                           1,
102                           ['Almoxarife'])
103    stateDef.setPermission('Change portal events',
104                           0,
105                           ['Almoxarife'])
106    stateDef.setPermission('Access contents information',
107                           1,
108                           ['Almoxarife', 'Owner', 'Authenticated'])
109
110    stateDef = workflow.states['pendente']
111    stateDef.setProperties(title="""pendente""",
112                           transitions=['atender'])
113    stateDef.setPermission('View',
114                           1,
115                           ['Almoxarife', 'Owner', 'Authenticated'])
116    stateDef.setPermission('Modify portal content',
117                           1,
118                           ['Almoxarife', 'Owner'])
119    stateDef.setPermission('Change portal events',
120                           0,
121                           ['Almoxarife', 'Owner'])
122    stateDef.setPermission('Add itemRequisitado Content',
123                           0,
124                           ['Almoxarife', 'Owner'])
125    stateDef.setPermission('Access contents information',
126                           1,
127                           ['Almoxarife', 'Owner', 'Authenticated'])
128
129    stateDef = workflow.states['cancelado']
130    stateDef.setProperties(title="""cancelado""",
131                           transitions=[])
132    stateDef.setPermission('View',
133                           0,
134                           ['Almoxarife', 'Owner'])
135    stateDef.setPermission('Change portal events',
136                           0,
137                           ['Almoxarife', 'Owner'])
138    stateDef.setPermission('Access contents information',
139                           0,
140                           ['Almoxarife', 'Owner'])
141
142    stateDef = workflow.states['atendidoTotal']
143    stateDef.setProperties(title="""atendidoTotal""",
144                           transitions=[])
145    stateDef.setPermission('View',
146                           0,
147                           ['Almoxarife', 'Owner'])
148    stateDef.setPermission('Change portal events',
149                           0,
150                           ['Almoxarife', 'Owner'])
151    stateDef.setPermission('Access contents information',
152                           0,
153                           ['Almoxarife', 'Owner'])
154
155    stateDef = workflow.states['atendidoParcial']
156    stateDef.setProperties(title="""atendidoParcial""",
157                           transitions=[])
158    stateDef.setPermission('View',
159                           0,
160                           ['Almoxarife', 'Owner'])
161    stateDef.setPermission('Change portal events',
162                           0,
163                           ['Almoxarife', 'Owner'])
164    stateDef.setPermission('Access contents information',
165                           0,
166                           ['Almoxarife', 'Owner'])
167
168    ## Transitions initialization
169
170    transitionDef = workflow.transitions['tornarPendente']
171    transitionDef.setProperties(title="""tornarPendente""",
172                                new_state_id="""pendente""",
173                                trigger_type=1,
174                                script_name="""""",
175                                after_script_name="""""",
176                                actbox_name="""tornarPendente""",
177                                actbox_url="""""",
178                                actbox_category="""workflow""",
179                                props={'guard_roles': 'Almoxarife'},
180                                )
181
182    transitionDef = workflow.transitions['atender']
183    transitionDef.setProperties(title="""atender""",
184                                new_state_id="""emAtendimento""",
185                                trigger_type=1,
186                                script_name="""""",
187                                after_script_name="""""",
188                                actbox_name="""atender""",
189                                actbox_url="""""",
190                                actbox_category="""workflow""",
191                                props={'guard_roles': 'Almoxarife'},
192                                )
193
194    transitionDef = workflow.transitions['salvar']
195    transitionDef.setProperties(title="""salvar""",
196                                new_state_id="""pendente""",
197                                trigger_type=1,
198                                script_name="""""",
199                                after_script_name="""""",
200                                actbox_name="""salvar""",
201                                actbox_url="""""",
202                                actbox_category="""workflow""",
203                                props={'guard_roles': 'Owner'},
204                                )
205
206    transitionDef = workflow.transitions['cancelar']
207    transitionDef.setProperties(title="""cancelar""",
208                                new_state_id="""cancelado""",
209                                trigger_type=1,
210                                script_name="""""",
211                                after_script_name="""""",
212                                actbox_name="""cancelar""",
213                                actbox_url="""""",
214                                actbox_category="""workflow""",
215                                props={'guard_roles': 'Almoxarife'},
216                                )
217
218    transitionDef = workflow.transitions['finalizarTotal']
219    transitionDef.setProperties(title="""finalizarTotal""",
220                                new_state_id="""atendidoTotal""",
221                                trigger_type=1,
222                                script_name="""""",
223                                after_script_name="""""",
224                                actbox_name="""finalizarTotal""",
225                                actbox_url="""""",
226                                actbox_category="""workflow""",
227                                props={'guard_roles': 'Almoxarife'},
228                                )
229
230    transitionDef = workflow.transitions['finalizarParcial']
231    transitionDef.setProperties(title="""finalizarParcial""",
232                                new_state_id="""atendidoParcial""",
233                                trigger_type=1,
234                                script_name="""""",
235                                after_script_name="""""",
236                                actbox_name="""finalizarParcial""",
237                                actbox_url="""""",
238                                actbox_category="""workflow""",
239                                props={'guard_roles': 'Almoxarife'},
240                                )
241
242    ## State Variable
243    workflow.variables.setStateVar('review_state')
244
245    ## Variables initialization
246    variableDef = workflow.variables['review_history']
247    variableDef.setProperties(description="""Provides access to workflow history""",
248                              default_value="""""",
249                              default_expr="""state_change/getHistory""",
250                              for_catalog=0,
251                              for_status=0,
252                              update_always=0,
253                              props={'guard_permissions': 'Request review; Review portal content'})
254
255    variableDef = workflow.variables['comments']
256    variableDef.setProperties(description="""Comments about the last transition""",
257                              default_value="""""",
258                              default_expr="""python:state_change.kwargs.get('comment', '')""",
259                              for_catalog=0,
260                              for_status=1,
261                              update_always=1,
262                              props=None)
263
264    variableDef = workflow.variables['time']
265    variableDef.setProperties(description="""Time of the last transition""",
266                              default_value="""""",
267                              default_expr="""state_change/getDateTime""",
268                              for_catalog=0,
269                              for_status=1,
270                              update_always=1,
271                              props=None)
272
273    variableDef = workflow.variables['actor']
274    variableDef.setProperties(description="""The ID of the user who performed the last transition""",
275                              default_value="""""",
276                              default_expr="""user/getId""",
277                              for_catalog=0,
278                              for_status=1,
279                              update_always=1,
280                              props=None)
281
282    variableDef = workflow.variables['action']
283    variableDef.setProperties(description="""The last transition""",
284                              default_value="""""",
285                              default_expr="""transition/getId|nothing""",
286                              for_catalog=0,
287                              for_status=1,
288                              update_always=1,
289                              props=None)
290
291    ## Worklists Initialization
292
293
294    # WARNING: below protected section is deprecated.
295    # Add a tagged value 'worklist' with the worklist name to your state(s) instead.
296
297    ##code-section create-workflow-setup-method-footer #fill in your manual code here
298    ##/code-section create-workflow-setup-method-footer
299
300
301
302def createrequisicao_workflow(self, id):
303    """Create the workflow for ILSAALMaterial.
304    """
305
306    ob = DCWorkflowDefinition(id)
307    setuprequisicao_workflow(self, ob)
308    return ob
309
310addWorkflowFactory(createrequisicao_workflow,
311                   id='requisicao_workflow',
312                   title='requisicao_workflow')
313
314##code-section create-workflow-module-footer #fill in your manual code here
315##/code-section create-workflow-module-footer
316
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.