Commit 95fd09af authored by Jérome Perrin's avatar Jérome Perrin

refactor accounting closing periods


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@4748 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 9139753b
......@@ -32,7 +32,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>accounting_closing_period_workflow</string> </value>
<value> <string>accounting_period_workflow</string> </value>
</item>
<item>
<key> <string>initial_state</string> </key>
......@@ -54,7 +54,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Accounting Closing Period Workflow</string> </value>
<value> <string>Accounting Period Workflow</string> </value>
</item>
</dictionary>
</pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value> <string encoding="base64">O/INCg==</string> </value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
from Products.DCWorkflow.DCWorkflow import ValidationFailed\n
\n
closing_period = state_change.object\n
portal = closing_period.getPortalObject()\n
N_ = portal.Base_TranslateString\n
accounting_period_module = portal.accounting_period_module\n
valid_states = [\'planned\', \'confirmed\', \'delivered\']\n
\n
start_date = closing_period.getStartDate()\n
stop_date = closing_period.getStopDate()\n
\n
if start_date > stop_date : \n
raise ValidationFailed, "Start Date is After Stop Date"\n
\n
period_list = portal.accounting_period_module\\\n
.searchFolder( simulation_state = [\'planned\', \'confirmed\', \'delivered\'],\n
sort_on = \'delivery.start_date\')\n
\n
for period in period_list :\n
period = period.getObject()\n
portal.log("period", "id:%s start:%s stop:%s" % (period.getId(), period.getStartDate(), period.getStopDate()))\n
if period.getSimulationState() in valid_states :\n
if start_date <= period.getStopDate() :\n
raise ValidationFailed, N_("%s is already in an opened accounting period") % period.Base_FormatDate(start_date)\n
if len(period_list) > 1 :\n
last_period = period_list[-1].getObject()\n
if last_period.getId() == closing_period.getId() :\n
last_period = period_list[-2].getObject() \n
if (start_date - last_period.getStopDate()) > 1:\n
raise ValidationFailed, N_("Last opened period ends on ${last_openned_date}, this period starts on ${this_period_start_date}."+\n
" Accounting Periods must be consecutive.", \n
mapping = { \'last_openned_date\' : period.Base_FormatDate(last_period.getStopDate()),\n
\'this_period_start_date\' : period.Base_FormatDate(start_date) } )\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAQAAABEAAAAbAAAAQwAA
AHOHAgAAZAEAawAAbAEAfQIAAXQCAHwAAGQCAIMCAH0EAHQCAHwEAGQDAIMCAIMAAH0FAHQCAHwF
AGQEAIMCAH0GAHQCAHwFAGQFAIMCAH0HAGQGAGQHAGQIAGcDAH0IAHQCAHwEAGQJAIMCAIMAAH0J
AHQCAHwEAGQKAIMCAIMAAH0KAHwJAHwKAGoEAG8NAAF8AgBkCwCCAgBuAQABdAIAdAIAfAUAZAUA
gwIAZAwAgwIAZA0AZAYAZAcAZAgAZwMAZA4AZA8AgwACfQsAeMkAdAwAfAsAgwEARF27AH0NAHQC
AHwNAGQQAIMCAIMAAH0NAHQCAHwFAGQRAIMCAGQSAGQTAHQCAHwNAGQUAIMCAIMAAHQCAHwNAGQJ
AIMCAIMAAHQCAHwNAGQKAIMCAIMAAGYDABaDAgABdAIAfA0AZBUAgwIAgwAAfAgAagYAb0MAAXwJ
AHQCAHwNAGQKAIMCAIMAAGoBAG8mAAF8AgB8BgBkFgCDAQB0AgB8DQBkFwCDAgB8CQCDAQAWggIA
cZEBAXHWAAFx1gBXdA4AfAsAgwEAZBgAagQAb9sAAXQCAHQPAHwLAGQYAAuDAgBkEACDAgCDAAB9
EAB0AgB8EABkFACDAgCDAAB0AgB8BABkFACDAgCDAABqAgBvIAABdAIAdA8AfAsAZBkAC4MCAGQQ
AIMCAIMAAH0QAG4BAAF8CQB0AgB8EABkCgCDAgCDAAAYZBgAagQAb1kAAXwCAHwGAGQaAGQbABdk
HABoAAAEZB0AdAIAfA0AZBcAgwIAdAIAfBAAZAoAgwIAgwAAgwEAAzwEZB4AdAIAfA0AZBcAgwIA
fAkAgwEAAzyDAQGCAgBxgwIBbgEAAWQAAFMoHwAAAE4oAQAAAHMQAAAAVmFsaWRhdGlvbkZhaWxl
ZHMGAAAAb2JqZWN0cw8AAABnZXRQb3J0YWxPYmplY3RzFAAAAEJhc2VfVHJhbnNsYXRlU3RyaW5n
cxgAAABhY2NvdW50aW5nX3BlcmlvZF9tb2R1bGVzBwAAAHBsYW5uZWRzCQAAAGNvbmZpcm1lZHMJ
AAAAZGVsaXZlcmVkcwwAAABnZXRTdGFydERhdGVzCwAAAGdldFN0b3BEYXRlcx0AAABTdGFydCBE
YXRlIGlzIEFmdGVyIFN0b3AgRGF0ZXMMAAAAc2VhcmNoRm9sZGVycxAAAABzaW11bGF0aW9uX3N0
YXRlcwcAAABzb3J0X29ucxMAAABkZWxpdmVyeS5zdGFydF9kYXRlcwkAAABnZXRPYmplY3RzAwAA
AGxvZ3MGAAAAcGVyaW9kcxYAAABpZDolcyBzdGFydDolcyBzdG9wOiVzcwUAAABnZXRJZHMSAAAA
Z2V0U2ltdWxhdGlvblN0YXRlcywAAAAlcyBpcyBhbHJlYWR5IGluIGFuIG9wZW5lZCBhY2NvdW50
aW5nIHBlcmlvZHMPAAAAQmFzZV9Gb3JtYXREYXRlaQEAAABpAgAAAHNhAAAATGFzdCBvcGVuZWQg
cGVyaW9kIGVuZHMgb24gJHtsYXN0X29wZW5uZWRfZGF0ZX0sIHRoaXMgcGVyaW9kIHN0YXJ0cyBv
biAke3RoaXNfcGVyaW9kX3N0YXJ0X2RhdGV9LnMoAAAAIEFjY291bnRpbmcgUGVyaW9kcyBtdXN0
IGJlIGNvbnNlY3V0aXZlLnMHAAAAbWFwcGluZ3MRAAAAbGFzdF9vcGVubmVkX2RhdGVzFgAAAHRo
aXNfcGVyaW9kX3N0YXJ0X2RhdGUoEQAAAHMeAAAAUHJvZHVjdHMuRENXb3JrZmxvdy5EQ1dvcmtm
bG93cxAAAABWYWxpZGF0aW9uRmFpbGVkcwkAAABfZ2V0YXR0cl9zDAAAAHN0YXRlX2NoYW5nZXMO
AAAAY2xvc2luZ19wZXJpb2RzBgAAAHBvcnRhbHMCAAAATl9zGAAAAGFjY291bnRpbmdfcGVyaW9k
X21vZHVsZXMMAAAAdmFsaWRfc3RhdGVzcwoAAABzdGFydF9kYXRlcwkAAABzdG9wX2RhdGVzCwAA
AHBlcmlvZF9saXN0cwkAAABfZ2V0aXRlcl9zBgAAAHBlcmlvZHMDAAAAbGVucwkAAABfZ2V0aXRl
bV9zCwAAAGxhc3RfcGVyaW9kKBEAAABzDAAAAHN0YXRlX2NoYW5nZXMeAAAAUHJvZHVjdHMuRENX
b3JrZmxvdy5EQ1dvcmtmbG93cxAAAABWYWxpZGF0aW9uRmFpbGVkcwkAAABfZ2V0YXR0cl9zDgAA
AGNsb3NpbmdfcGVyaW9kcwYAAABwb3J0YWxzAgAAAE5fcxgAAABhY2NvdW50aW5nX3BlcmlvZF9t
b2R1bGVzDAAAAHZhbGlkX3N0YXRlc3MKAAAAc3RhcnRfZGF0ZXMJAAAAc3RvcF9kYXRlcwsAAABw
ZXJpb2RfbGlzdHMJAAAAX2dldGl0ZXJfcwYAAABwZXJpb2RzAwAAAGxlbnMJAAAAX2dldGl0ZW1f
cwsAAABsYXN0X3BlcmlvZCgAAAAAKAAAAABzDwAAAFNjcmlwdCAoUHl0aG9uKXMbAAAAQWNjb3Vu
dGluZ1BlcmlvZF9DaGVja0RhdGVzAQAAAHM0AAAADQIPARIBDwEPAQ8CEgESAg0BDQIYARgDDQAG
ARUBRAEZARkBLgETARwBJQEgAR0BEAIuASgBAAAAcxsAAABBY2NvdW50aW5nUGVyaW9kX0NoZWNr
RGF0ZXMoAQAAAHMbAAAAQWNjb3VudGluZ1BlcmlvZF9DaGVja0RhdGVzKAAAAAAoAAAAAHMPAAAA
U2NyaXB0IChQeXRob24pcwgAAAA8bW9kdWxlPgEAAABzAAAAAA==</string> </value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/hopital/portal_workflow/accounting_period_workflow/scripts/AccountingPeriod_CheckDates</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>state_change</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>state_change</string>
<string>Products.DCWorkflow.DCWorkflow</string>
<string>ValidationFailed</string>
<string>_getattr_</string>
<string>closing_period</string>
<string>portal</string>
<string>N_</string>
<string>accounting_period_module</string>
<string>valid_states</string>
<string>start_date</string>
<string>stop_date</string>
<string>period_list</string>
<string>_getiter_</string>
<string>period</string>
<string>len</string>
<string>_getitem_</string>
<string>last_period</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>AccountingPeriod_CheckDates</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -71,66 +71,70 @@
from Products.DCWorkflow.DCWorkflow import ValidationFailed\n
\n
closing_period = state_change.object\n
portal = closing_period.getPortalObject()\n
N_ = portal.Base_TranslateString\n
accounting_module = portal.accounting_module\n
valid_states = [\'cancelled\', \'stopped\', \'delivered\']\n
\n
start_date = closing_period.getStartDate()\n
stop_date = closing_period.getStopDate()\n
\n
if stop_date < start_date :\n
raise ValidationFailed, "Action Impossible: stop_date is before start_date"\n
search_params = { \'delivery.start_date\' : \'>= %s\' % start_date,\n
\'delivery.stop_date\' : \'<= %s\' % stop_date, }\n
transaction_list = accounting_module.searchFolder( **search_params)\n
\n
for cpd in context.portal_catalog(\n
portal_type="Accounting Period Delimiter", \n
simulation_state="delivered") : \n
cpd = cpd.getObject()\n
if cpd.getStartDate() < start_date < cpd.getStopDate():\n
raise ValidationFailed, "Action Impossible: start_date is in a closed period"\n
if cpd.getStartDate() < stop_date < cpd.getStopDate():\n
raise ValidationFailed, "Action Impossible: stop_date is in a closed period"\n
\n
# TODO: deliver every transaction in the period (in accounting_workflow)\n
for transaction in transaction_list : \n
transaction = transaction.getObject()\n
if transaction.getSimulationState() not in valid_states :\n
raise ValidationFailed, N_("Transaction ${transaction_path} is in invalid state (${transaction_translated_state})",\n
mapping = { \'transaction_path\' : transaction.getPath(),\n
\'transaction_translated_state\' : unicode(transaction.getTranslatedSimulationStateTitle(), \'utf8\')})\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAQAAAAoAAAARAAAAQwAA
AHMlAQAAZAEAawAAbAEAfQIAAXQCAHwAAGQCAIMCAH0EAHQCAHwEAGQDAIMCAIMAAH0FAHQCAHwE
AGQEAIMCAIMAAH0GAHwGAHwFAGoAAG8NAAF8AgBkBQCCAgBuAQABeMQAdAcAdAIAdAgAZAYAgwIA
ZAcAZAgAZAkAZAoAgwACgwEARF2eAH0JAHQCAHwJAGQLAIMCAIMAAH0JAHQCAHwJAGQDAIMCAIMA
AHwFAAQDagAAbxYAAXQCAHwJAGQEAIMCAIMAAGoAAG4CAAIBbw0AAXwCAGQMAIICAG4BAAF0AgB8
CQBkAwCDAgCDAAB8BgAEA2oAAG8WAAF0AgB8CQBkBACDAgCDAABqAABuAgACAW8NAAF8AgBkDQCC
AgBxfwABcX8AV2QAAFMoDgAAAE4oAQAAAHMQAAAAVmFsaWRhdGlvbkZhaWxlZHMGAAAAb2JqZWN0
cwwAAABnZXRTdGFydERhdGVzCwAAAGdldFN0b3BEYXRlczEAAABBY3Rpb24gSW1wb3NzaWJsZTog
c3RvcF9kYXRlIGlzIGJlZm9yZSBzdGFydF9kYXRlcw4AAABwb3J0YWxfY2F0YWxvZ3MLAAAAcG9y
dGFsX3R5cGVzGwAAAEFjY291bnRpbmcgUGVyaW9kIERlbGltaXRlcnMQAAAAc2ltdWxhdGlvbl9z
dGF0ZXMJAAAAZGVsaXZlcmVkcwkAAABnZXRPYmplY3RzMwAAAEFjdGlvbiBJbXBvc3NpYmxlOiBz
dGFydF9kYXRlIGlzIGluIGEgY2xvc2VkIHBlcmlvZHMyAAAAQWN0aW9uIEltcG9zc2libGU6IHN0
b3BfZGF0ZSBpcyBpbiBhIGNsb3NlZCBwZXJpb2QoCgAAAHMeAAAAUHJvZHVjdHMuRENXb3JrZmxv
dy5EQ1dvcmtmbG93cxAAAABWYWxpZGF0aW9uRmFpbGVkcwkAAABfZ2V0YXR0cl9zDAAAAHN0YXRl
X2NoYW5nZXMOAAAAY2xvc2luZ19wZXJpb2RzCgAAAHN0YXJ0X2RhdGVzCQAAAHN0b3BfZGF0ZXMJ
AAAAX2dldGl0ZXJfcwcAAABjb250ZXh0cwMAAABjcGQoCgAAAHMMAAAAc3RhdGVfY2hhbmdlcx4A
AABQcm9kdWN0cy5EQ1dvcmtmbG93LkRDV29ya2Zsb3dzEAAAAFZhbGlkYXRpb25GYWlsZWRzCQAA
AF9nZXRhdHRyX3MOAAAAY2xvc2luZ19wZXJpb2RzCgAAAHN0YXJ0X2RhdGVzCQAAAHN0b3BfZGF0
ZXMJAAAAX2dldGl0ZXJfcwcAAABjb250ZXh0cwMAAABjcGQoAAAAACgAAAAAcw8AAABTY3JpcHQg
KFB5dGhvbilzCwAAAGNsb3NlUGVyaW9kAQAAAHMYAAAADQIPAhIBEgINAQ0CJQAGAxIBNgENATYB
KAEAAABzCwAAAGNsb3NlUGVyaW9kKAEAAABzCwAAAGNsb3NlUGVyaW9kKAAAAAAoAAAAAHMPAAAA
U2NyaXB0IChQeXRob24pcwgAAAA8bW9kdWxlPgEAAABzAAAAAA==</string> </value>
<value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAQAAABEAAAASAAAAQwAA
AHNJAQAAZAEAawAAbAEAfQIAAXQCAHwAAGQCAIMCAH0EAHQCAHwEAGQDAIMCAIMAAH0FAHQCAHwF
AGQEAIMCAH0GAHQCAHwFAGQFAIMCAH0HAGQGAGQHAGQIAGcDAH0IAHQCAHwEAGQJAIMCAIMAAH0J
AHQCAHwEAGQKAIMCAIMAAH0KAGgAAARkCwBkDAB8CQAWAzwEZA0AZA4AfAoAFgM8fQsAdAwAdAIA
fAcAZA8AgwIAfAsAjQEAfQ0AeIsAdA4AfA0AgwEARF19AH0PAHQCAHwPAGQQAIMCAIMAAH0PAHQC
AHwPAGQRAIMCAIMAAHwIAGoHAG9MAAF8AgB8BgBkEgBkEwBoAAAEZBQAdAIAfA8AZBUAgwIAgwAA
AzwEZBYAdBAAdAIAfA8AZBcAgwIAgwAAZBgAgwIAAzyDAQGCAgBxxAABccQAV2QAAFMoGQAAAE4o
AQAAAHMQAAAAVmFsaWRhdGlvbkZhaWxlZHMGAAAAb2JqZWN0cw8AAABnZXRQb3J0YWxPYmplY3Rz
FAAAAEJhc2VfVHJhbnNsYXRlU3RyaW5ncxEAAABhY2NvdW50aW5nX21vZHVsZXMJAAAAY2FuY2Vs
bGVkcwcAAABzdG9wcGVkcwkAAABkZWxpdmVyZWRzDAAAAGdldFN0YXJ0RGF0ZXMLAAAAZ2V0U3Rv
cERhdGVzEwAAAGRlbGl2ZXJ5LnN0YXJ0X2RhdGVzBQAAAD49ICVzcxIAAABkZWxpdmVyeS5zdG9w
X2RhdGVzBQAAADw9ICVzcwwAAABzZWFyY2hGb2xkZXJzCQAAAGdldE9iamVjdHMSAAAAZ2V0U2lt
dWxhdGlvblN0YXRlc1UAAABUcmFuc2FjdGlvbiAke3RyYW5zYWN0aW9uX3BhdGh9IGlzIGluIGlu
dmFsaWQgc3RhdGUgKCR7dHJhbnNhY3Rpb25fdHJhbnNsYXRlZF9zdGF0ZX0pcwcAAABtYXBwaW5n
cxAAAAB0cmFuc2FjdGlvbl9wYXRocwcAAABnZXRQYXRocxwAAAB0cmFuc2FjdGlvbl90cmFuc2xh
dGVkX3N0YXRlcyEAAABnZXRUcmFuc2xhdGVkU2ltdWxhdGlvblN0YXRlVGl0bGVzBAAAAHV0Zjgo
EQAAAHMeAAAAUHJvZHVjdHMuRENXb3JrZmxvdy5EQ1dvcmtmbG93cxAAAABWYWxpZGF0aW9uRmFp
bGVkcwkAAABfZ2V0YXR0cl9zDAAAAHN0YXRlX2NoYW5nZXMOAAAAY2xvc2luZ19wZXJpb2RzBgAA
AHBvcnRhbHMCAAAATl9zEQAAAGFjY291bnRpbmdfbW9kdWxlcwwAAAB2YWxpZF9zdGF0ZXNzCgAA
AHN0YXJ0X2RhdGVzCQAAAHN0b3BfZGF0ZXMNAAAAc2VhcmNoX3BhcmFtc3MHAAAAX2FwcGx5X3MQ
AAAAdHJhbnNhY3Rpb25fbGlzdHMJAAAAX2dldGl0ZXJfcwsAAAB0cmFuc2FjdGlvbnMHAAAAdW5p
Y29kZSgRAAAAcwwAAABzdGF0ZV9jaGFuZ2VzHgAAAFByb2R1Y3RzLkRDV29ya2Zsb3cuRENXb3Jr
Zmxvd3MQAAAAVmFsaWRhdGlvbkZhaWxlZHMJAAAAX2dldGF0dHJfcw4AAABjbG9zaW5nX3Blcmlv
ZHMGAAAAcG9ydGFscwIAAABOX3MRAAAAYWNjb3VudGluZ19tb2R1bGVzDAAAAHZhbGlkX3N0YXRl
c3MKAAAAc3RhcnRfZGF0ZXMJAAAAc3RvcF9kYXRlcw0AAABzZWFyY2hfcGFyYW1zcwcAAABfYXBw
bHlfcxAAAAB0cmFuc2FjdGlvbl9saXN0cwkAAABfZ2V0aXRlcl9zCwAAAHRyYW5zYWN0aW9ucwcA
AAB1bmljb2RlKAAAAAAoAAAAAHMPAAAAU2NyaXB0IChQeXRob24pcycAAABBY2NvdW50aW5nUGVy
aW9kX0NoZWNrVHJhbnNhY3Rpb25zU3RhdGUBAAAAcyIAAAANAg8BEgEPAQ8BDwISARICFwEJARgC
DQAGARIBGQEMARwBKAEAAABzJwAAAEFjY291bnRpbmdQZXJpb2RfQ2hlY2tUcmFuc2FjdGlvbnNT
dGF0ZSgBAAAAcycAAABBY2NvdW50aW5nUGVyaW9kX0NoZWNrVHJhbnNhY3Rpb25zU3RhdGUoAAAA
ACgAAAAAcw8AAABTY3JpcHQgKFB5dGhvbilzCAAAADxtb2R1bGU+AQAAAHMAAAAA</string> </value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_workflow/accounting_closing_period_workflow/scripts/closePeriod</string> </value>
<value> <string>Script (Python):/hopital/portal_workflow/accounting_period_workflow/scripts/AccountingPeriod_CheckTransactionsState</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>state_change</string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
......@@ -160,11 +164,18 @@ U2NyaXB0IChQeXRob24pcwgAAAA8bW9kdWxlPgEAAABzAAAAAA==</string> </value>
<string>ValidationFailed</string>
<string>_getattr_</string>
<string>closing_period</string>
<string>portal</string>
<string>N_</string>
<string>accounting_module</string>
<string>valid_states</string>
<string>start_date</string>
<string>stop_date</string>
<string>search_params</string>
<string>_apply_</string>
<string>transaction_list</string>
<string>_getiter_</string>
<string>context</string>
<string>cpd</string>
<string>transaction</string>
<string>unicode</string>
</tuple>
</value>
</item>
......@@ -181,7 +192,7 @@ U2NyaXB0IChQeXRob24pcwgAAAA8bW9kdWxlPgEAAABzAAAAAA==</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>closePeriod</string> </value>
<value> <string>AccountingPeriod_CheckTransactionsState</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value> <string encoding="base64">O/INCg==</string> </value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
from Products.DCWorkflow.DCWorkflow import ValidationFailed\n
\n
closing_period = state_change.object\n
portal = closing_period.getPortalObject()\n
N_ = portal.Base_TranslateString\n
accounting_module = portal.accounting_module\n
valid_states = [\'cancelled\', \'stopped\', \'delivered\']\n
\n
# validate all transactions states.\n
container.AccountingPeriod_CheckTransactionsState(state_change)\n
\n
start_date = closing_period.getStartDate()\n
stop_date = closing_period.getStopDate()\n
\n
search_params = { \'delivery.start_date\' : \'>= %s\' % start_date,\n
\'delivery.stop_date\' : \'<= %s\' % stop_date, }\n
transaction_list = accounting_module.searchFolder( **search_params)\n
\n
for transaction in transaction_list : \n
transaction = transaction.getObject()\n
if transaction.getSimulationState() == \'stopped\' : \n
portal.portal_workflow.doActionFor( transaction, \'deliver_action\', \n
wf_id="accounting_workflow",\n
skip_period_validation = 1)\n
if transaction.getSimulationState() != \'delivered\' : \n
raise ValidationFailed, N_("Unable to change state for ${transaction_path}, check this transaction history",\n
mapping = {\'transaction_path\' : transaction.getPath()})\n
else :\n
transaction.log(\'AccountingPeriod_DeliverTransaction\', \'deliver %s\' % transaction.getPath())\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value> <string encoding="base64">YwAAAAAAAAAAAQAAAEAAAABzDQAAAGQBAIQAAFoAAGQAAFMoAgAAAE5jAQAAABEAAAAXAAAAQwAA
AHOsAQAAZAEAawAAbAEAfQIAAXQCAHwAAGQCAIMCAH0EAHQCAHwEAGQDAIMCAIMAAH0FAHQCAHwF
AGQEAIMCAH0GAHQCAHwFAGQFAIMCAH0HAGQGAGQHAGQIAGcDAH0IAHQCAHQJAGQJAIMCAHwAAIMB
AAF0AgB8BABkCgCDAgCDAAB9CgB0AgB8BABkCwCDAgCDAAB9CwBoAAAEZAwAZA0AfAoAFgM8BGQO
AGQPAHwLABYDPH0MAHQNAHQCAHwHAGQQAIMCAHwMAI0BAH0OAHjbAHQPAHwOAIMBAERdzQB9EAB0
AgB8EABkEQCDAgCDAAB9EAB0AgB8EABkEgCDAgCDAABkBwBqAgBvnAABdAIAdAIAfAUAZBMAgwIA
ZBQAgwIAfBAAZBUAZBYAZBcAZBgAZBkAgwICAXQCAHwQAGQSAIMCAIMAAGQIAGoDAG8uAAF8AgB8
BgBkGgBkGwBoAAAEZBwAdAIAfBAAZB0AgwIAgwAAAzyDAQGCAgBxpAEBdAIAfBAAZB4AgwIAZB8A
ZCAAdAIAfBAAZB0AgwIAgwAAFoMCAAFx1wABcdcAV2QAAFMoIQAAAE4oAQAAAHMQAAAAVmFsaWRh
dGlvbkZhaWxlZHMGAAAAb2JqZWN0cw8AAABnZXRQb3J0YWxPYmplY3RzFAAAAEJhc2VfVHJhbnNs
YXRlU3RyaW5ncxEAAABhY2NvdW50aW5nX21vZHVsZXMJAAAAY2FuY2VsbGVkcwcAAABzdG9wcGVk
cwkAAABkZWxpdmVyZWRzJwAAAEFjY291bnRpbmdQZXJpb2RfQ2hlY2tUcmFuc2FjdGlvbnNTdGF0
ZXMMAAAAZ2V0U3RhcnREYXRlcwsAAABnZXRTdG9wRGF0ZXMTAAAAZGVsaXZlcnkuc3RhcnRfZGF0
ZXMFAAAAPj0gJXNzEgAAAGRlbGl2ZXJ5LnN0b3BfZGF0ZXMFAAAAPD0gJXNzDAAAAHNlYXJjaEZv
bGRlcnMJAAAAZ2V0T2JqZWN0cxIAAABnZXRTaW11bGF0aW9uU3RhdGVzDwAAAHBvcnRhbF93b3Jr
Zmxvd3MLAAAAZG9BY3Rpb25Gb3JzDgAAAGRlbGl2ZXJfYWN0aW9ucwUAAAB3Zl9pZHMTAAAAYWNj
b3VudGluZ193b3JrZmxvd3MWAAAAc2tpcF9wZXJpb2RfdmFsaWRhdGlvbmkBAAAAc04AAABVbmFi
bGUgdG8gY2hhbmdlIHN0YXRlIGZvciAke3RyYW5zYWN0aW9uX3BhdGh9LCBjaGVjayB0aGlzIHRy
YW5zYWN0aW9uIGhpc3RvcnlzBwAAAG1hcHBpbmdzEAAAAHRyYW5zYWN0aW9uX3BhdGhzBwAAAGdl
dFBhdGhzAwAAAGxvZ3MjAAAAQWNjb3VudGluZ1BlcmlvZF9EZWxpdmVyVHJhbnNhY3Rpb25zCgAA
AGRlbGl2ZXIgJXMoEQAAAHMeAAAAUHJvZHVjdHMuRENXb3JrZmxvdy5EQ1dvcmtmbG93cxAAAABW
YWxpZGF0aW9uRmFpbGVkcwkAAABfZ2V0YXR0cl9zDAAAAHN0YXRlX2NoYW5nZXMOAAAAY2xvc2lu
Z19wZXJpb2RzBgAAAHBvcnRhbHMCAAAATl9zEQAAAGFjY291bnRpbmdfbW9kdWxlcwwAAAB2YWxp
ZF9zdGF0ZXNzCQAAAGNvbnRhaW5lcnMKAAAAc3RhcnRfZGF0ZXMJAAAAc3RvcF9kYXRlcw0AAABz
ZWFyY2hfcGFyYW1zcwcAAABfYXBwbHlfcxAAAAB0cmFuc2FjdGlvbl9saXN0cwkAAABfZ2V0aXRl
cl9zCwAAAHRyYW5zYWN0aW9uKBEAAABzDAAAAHN0YXRlX2NoYW5nZXMeAAAAUHJvZHVjdHMuRENX
b3JrZmxvdy5EQ1dvcmtmbG93cxAAAABWYWxpZGF0aW9uRmFpbGVkcwkAAABfZ2V0YXR0cl9zDgAA
AGNsb3NpbmdfcGVyaW9kcwYAAABwb3J0YWxzAgAAAE5fcxEAAABhY2NvdW50aW5nX21vZHVsZXMM
AAAAdmFsaWRfc3RhdGVzcwkAAABjb250YWluZXJzCgAAAHN0YXJ0X2RhdGVzCQAAAHN0b3BfZGF0
ZXMNAAAAc2VhcmNoX3BhcmFtc3MHAAAAX2FwcGx5X3MQAAAAdHJhbnNhY3Rpb25fbGlzdHMJAAAA
X2dldGl0ZXJfcwsAAAB0cmFuc2FjdGlvbigAAAAAKAAAAABzDwAAAFNjcmlwdCAoUHl0aG9uKXMk
AAAAQWNjb3VudGluZ1BlcmlvZF9EZWxpdmVyVHJhbnNhY3Rpb25zAQAAAHMoAAAADQIPARIBDwEP
ARIDEAISARICFwEJARgCDQAGARIBHwElAxkBDAElAigBAAAAcyQAAABBY2NvdW50aW5nUGVyaW9k
X0RlbGl2ZXJUcmFuc2FjdGlvbnMoAQAAAHMkAAAAQWNjb3VudGluZ1BlcmlvZF9EZWxpdmVyVHJh
bnNhY3Rpb25zKAAAAAAoAAAAAHMPAAAAU2NyaXB0IChQeXRob24pcwgAAAA8bW9kdWxlPgEAAABz
AAAAAA==</string> </value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value> <string>Script (Python):/hopital/portal_workflow/accounting_period_workflow/scripts/AccountingPeriod_DeliverTransactions</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>state_change</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>state_change</string>
<string>Products.DCWorkflow.DCWorkflow</string>
<string>ValidationFailed</string>
<string>_getattr_</string>
<string>closing_period</string>
<string>portal</string>
<string>N_</string>
<string>accounting_module</string>
<string>valid_states</string>
<string>container</string>
<string>start_date</string>
<string>stop_date</string>
<string>search_params</string>
<string>_apply_</string>
<string>transaction_list</string>
<string>_getiter_</string>
<string>transaction</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>AccountingPeriod_DeliverTransactions</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.DCWorkflow.States</string>
<string>StateDefinition</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>confirmed</string> </value>
</item>
<item>
<key> <string>permission_roles</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Closed Accounting Period</string> </value>
</item>
<item>
<key> <string>transitions</string> </key>
<value>
<tuple>
<string>deliver</string>
<string>deliver_action</string>
<string>plan</string>
<string>reopen_action</string>
</tuple>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary>
<item>
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Author</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>Modify portal content</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>View</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -34,7 +34,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Closed Period</string> </value>
<value> <string>Bookeeped</string> </value>
</item>
<item>
<key> <string>transitions</string> </key>
......@@ -69,8 +69,8 @@
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Author</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
......@@ -88,8 +88,9 @@
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Author</string>
<string>Manager</string>
<string>Owner</string>
<string>Member</string>
</tuple>
</value>
</item>
......
......@@ -42,8 +42,8 @@
<tuple>
<string>cancel</string>
<string>cancel_action</string>
<string>deliver</string>
<string>deliver_action</string>
<string>plan</string>
<string>plan_action</string>
</tuple>
</value>
</item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.DCWorkflow.States</string>
<string>StateDefinition</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>planned</string> </value>
</item>
<item>
<key> <string>permission_roles</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Open</string> </value>
</item>
<item>
<key> <string>transitions</string> </key>
<value>
<tuple>
<string>confirm</string>
<string>confirm_action</string>
</tuple>
</value>
</item>
<item>
<key> <string>type_list</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Persistence</string>
<string>PersistentMapping</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_container</string> </key>
<value>
<dictionary>
<item>
<key> <string>Access contents information</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Author</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>Modify portal content</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>View</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -24,7 +24,7 @@
</item>
<item>
<key> <string>actbox_name</string> </key>
<value> <string>Cancel Closing Period</string> </value>
<value> <string>Cancel Accounting Period</string> </value>
</item>
<item>
<key> <string>actbox_url</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.DCWorkflow.Transitions</string>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actbox_category</string> </key>
<value> <string>workflow</string> </value>
</item>
<item>
<key> <string>actbox_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>actbox_url</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>after_script_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>guard</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>confirm</string> </value>
</item>
<item>
<key> <string>new_state_id</string> </key>
<value> <string>confirmed</string> </value>
</item>
<item>
<key> <string>script_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>2</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.DCWorkflow.Transitions</string>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actbox_category</string> </key>
<value> <string>workflow</string> </value>
</item>
<item>
<key> <string>actbox_name</string> </key>
<value> <string>Close Accounting Period</string> </value>
</item>
<item>
<key> <string>actbox_url</string> </key>
<value> <string>%(content_url)s/BaseWorkflow_viewWorkflowActionDialog?workflow_action=confirm_action</string> </value>
</item>
<item>
<key> <string>after_script_name</string> </key>
<value> <string>confirm</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>guard</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>confirm_action</string> </value>
</item>
<item>
<key> <string>new_state_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>script_name</string> </key>
<value> <string>AccountingPeriod_CheckTransactionsState</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.DCWorkflow.Guard</string>
<string>Guard</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>roles</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
</tuple>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -24,7 +24,7 @@
</item>
<item>
<key> <string>actbox_name</string> </key>
<value> <string>Close Accounting Period</string> </value>
<value> <string>Definitively Close Accounting Period</string> </value>
</item>
<item>
<key> <string>actbox_url</string> </key>
......@@ -54,7 +54,7 @@
</item>
<item>
<key> <string>script_name</string> </key>
<value> <string>closePeriod</string> </value>
<value> <string>AccountingPeriod_DeliverTransactions</string> </value>
</item>
<item>
<key> <string>title</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.DCWorkflow.Transitions</string>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actbox_category</string> </key>
<value> <string>workflow</string> </value>
</item>
<item>
<key> <string>actbox_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>actbox_url</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>after_script_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>guard</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>plan</string> </value>
</item>
<item>
<key> <string>new_state_id</string> </key>
<value> <string>planned</string> </value>
</item>
<item>
<key> <string>script_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>2</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.DCWorkflow.Transitions</string>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actbox_category</string> </key>
<value> <string>workflow</string> </value>
</item>
<item>
<key> <string>actbox_name</string> </key>
<value> <string>Open Accounting Period</string> </value>
</item>
<item>
<key> <string>actbox_url</string> </key>
<value> <string>%(content_url)s/BaseWorkflow_viewWorkflowActionDialog?workflow_action=plan_action</string> </value>
</item>
<item>
<key> <string>after_script_name</string> </key>
<value> <string>plan</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>guard</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>plan_action</string> </value>
</item>
<item>
<key> <string>new_state_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>script_name</string> </key>
<value> <string>AccountingPeriod_CheckDates</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.DCWorkflow.Guard</string>
<string>Guard</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>roles</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Assignee</string>
</tuple>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.DCWorkflow.Transitions</string>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actbox_category</string> </key>
<value> <string>workflow</string> </value>
</item>
<item>
<key> <string>actbox_name</string> </key>
<value> <string>Reopen Accounting Period</string> </value>
</item>
<item>
<key> <string>actbox_url</string> </key>
<value> <string>%(content_url)s/BaseWorkflow_viewWorkflowActionDialog?workflow_action=reopen_action</string> </value>
</item>
<item>
<key> <string>after_script_name</string> </key>
<value> <string>plan</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>guard</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>reopen_action</string> </value>
</item>
<item>
<key> <string>new_state_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>script_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.DCWorkflow.Guard</string>
<string>Guard</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>roles</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Assignee</string>
</tuple>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment