Commit 7d45a824 authored by Fabien Morin's avatar Fabien Morin

- remove editable columns of PaySheetTransaction_view listbox because they were

not used
- in the PaySheetTransaction_viewPreview listbox, use a script to return the
editable columns, that's permit to have dinamic columns depending on the
tax_category's used.
- in PaySheetTransaction_createAllPaySheetLineList we now use just one method
to generate all Pay Sheet Lines : createPaySheetLineList.
- enhance PaySheetTransaction_defaultCalculationScript to now get
model_slice_min/max values from the cell
- improve PaySheetTransaction_getEditableObjectLineList script
- change PaySheetTransaction_getListBoxColumnList method to be able to return
editable column list

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@18261 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 2053492d
......@@ -204,7 +204,7 @@
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
......
......@@ -70,19 +70,17 @@
paysheet are called here\n
\'\'\'\n
import pprint\n
#context.log(\'listbox :%s\' % (pprint.pformat(listbox)))\n
\n
# Delete all objects in the paysheet\n
id_list = []\n
for paysheet_item in context.objectValues(portal_type= \\\n
[\'Pay Sheet Transaction Line\', \'Pay Sheet Line\']):\n
# Delete lines which became outdated and keep the sub-objects\n
# Delete lines which now became outdated and keep the sub-objects\n
id_list.append(paysheet_item.getId())\n
context.manage_delObjects(id_list)\n
\n
# create Pay Sheet Lines\n
context.createEditablePaySheetLineList(listbox, **kw)\n
context.createNotEditablePaySheetLineList()\n
context.createPaySheetLineList(listbox=listbox)\n
\n
if not(kw.has_key(\'skip_redirect\') and kw[\'skip_redirect\'] == True):\n
# Return to pay sheet default view\n
......@@ -139,7 +137,6 @@ if not(kw.has_key(\'skip_redirect\') and kw[\'skip_redirect\'] == True):\n
<string>_getattr_</string>
<string>context</string>
<string>paysheet_item</string>
<string>_apply_</string>
<string>_getitem_</string>
<string>True</string>
<string>ZTUtils</string>
......
......@@ -85,6 +85,28 @@ if base_amount_dict:\n
quantity = cell.getQuantity() or 0\n
price = cell.getPrice() or 0\n
\n
\n
salary_range_list = cell.getVariationCategoryList(\\\n
base_category_list=\'salary_range\')\n
if len(salary_range_list):\n
salary_range = salary_range_list[0] # a slice can have only one salary_range\n
# category\n
else:\n
salary_range = None\n
\n
model_slice_min = 0\n
model_slice_max = 0\n
if salary_range:\n
model = context.getSpecialiseValue()\n
cell = model.getCell(salary_range)\n
if cell is None:\n
context.log("Warning ! Can\'t find cell corresponding to : %s" %\n
salary_range)\n
else:\n
model_slice_min = cell.getQuantityRangeMin()\n
model_slice_max = cell.getQuantityRangeMax()\n
\n
\n
if not quantity and base_application-model_slice_min>0:\n
if base_application <= model_slice_max:\n
quantity = base_application-model_slice_min\n
......@@ -118,7 +140,7 @@ return {\'quantity\':quantity, \'price\':price}\n
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>base_amount_dict, model_slice_min, model_slice_max, cell</string> </value>
<value> <string>base_amount_dict, cell</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
......@@ -138,15 +160,13 @@ return {\'quantity\':quantity, \'price\':price}\n
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>4</int> </value>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>base_amount_dict</string>
<string>model_slice_min</string>
<string>model_slice_max</string>
<string>cell</string>
<string>_getattr_</string>
<string>context</string>
......@@ -162,6 +182,12 @@ return {\'quantity\':quantity, \'price\':price}\n
<string>_inplacevar_</string>
<string>quantity</string>
<string>price</string>
<string>salary_range_list</string>
<string>len</string>
<string>salary_range</string>
<string>model_slice_min</string>
<string>model_slice_max</string>
<string>model</string>
</tuple>
</value>
</item>
......
......@@ -72,37 +72,58 @@
In base cases, only \'Monthly Labour\' model line is editable (without any\n
tax_category or slice)\n
"""\n
from Products.ERP5Type.Utils import cartesianProduct\n
\n
# Get all the editable model lines\n
model = context.getSpecialiseValue()\n
if not model:\n
context.log("PaySheetTransaction_getEditables WARNING! no model found")\n
return None\n
from Products.ERP5Type.Utils import cartesianProduct\n
import pprint\n
from Products.ERP5Type.Message import Message\n
N_ = lambda msg, **kw: Message(\'erp5_ui\', msg, **kw)\n
\n
# get model lines\n
model = context.getSpecialiseValue(0)\n
model_line_list = model.contentValues(portal_type=\'Pay Sheet Model Line\')\n
\n
# remove not editable model line\n
model_line_editable_list = [x.getObject() for x in model_line_list \\\n
# remove editable model line\n
model_line_list = [x.getObject() for x in model_line_list \\\n
if x.getObject().isEditable()]\n
\n
line_list = []\n
for model_line in model_line_editable_list:\n
object_dict_list = []\n
id = 0\n
\n
for model_line in model_line_list:\n
base_category_list = model_line.getVariationBaseCategoryList()\n
base_application_list = model_line.getBaseAmountTitleList()\n
translated_base_application_list = [str(N_(x)) for x in base_application_list]\n
base_application_list = \', \'.join(translated_base_application_list)\n
list_of_list = []\n
for base_category in base_category_list:\n
list_of_list.append(model_line.getVariationCategoryList(base_category_list=\\\n
base_category))\n
list = model_line.getVariationCategoryList(base_category_list=\\\n
base_category)\n
list_of_list.append(list)\n
cartesian_product = cartesianProduct(list_of_list)\n
\n
service = model_line.getResourceValue()\n
previous_share = None\n
\n
object_dict = {}\n
for tuple in cartesian_product:\n
share_dict = {}\n
cell = model_line.getCell(*tuple)\n
if cell is None:\n
continue\n
\n
quantity = cell.getQuantity()\n
base = quantity\n
\n
base_list = [str(N_(base_application)) for base_application in \\\n
model_line.getBaseAmountTitleList()]\n
base_name = \'+\'.join(base_list)\n
\n
payroll_service = model_line.getResourceValue()\n
base_participation_list = payroll_service.getBaseAmountList()\n
\n
price = cell.getPrice()\n
if price is None:\n
price = 1\n
share_dict[cell.getTaxCategory()+\'_price\'] = price\n
share_dict[cell.getTaxCategory()+\'_quantity\'] = quantity\n
\n
tuple_dict = {}\n
for item in tuple:\n
......@@ -110,22 +131,86 @@ for model_line in model_line_editable_list:\n
tuple_dict[item.split(\'/\')[0]]=context.portal_categories.restrictedTraverse(item).getTitle()\n
tuple_dict[item.split(\'/\')[0]+\'_relative_url\']=item\n
\n
params={\\\n
\'service_title\':service.getTitleOrId(),\n
\'quantity\': cell.getQuantity(),\n
\'price\' : cell.getPrice(),\n
\'model_line\':model_line.getRelativeUrl(),\n
\'service_id\':service.getId(),\n
\'description\':model_line.getDescription(),\n
\'base_participation_list\':service.getBaseAmountTitleList(),\n
\'base_participation_string\':\', \'.join(service.getBaseAmountTitleList()),\n
\'base_application_list\':model_line.getBaseAmountTitleList(),\n
\'base_application_string\':\', \'.join(model_line.getBaseAmountTitleList()) }\n
# we want to display as lines as a paysheet line as slices\n
# this is easier to read\n
\n
salary_range = cell.getSalaryRange()\n
# if there is no slice on a contribution, the dict key will be \'no_slice\'\n
# it could be just one \'no_slice\' because a contribution have slice or not\n
if salary_range is None:\n
salary_range = \'no_slice\'\n
\n
# check that another share on the same slice have not been already add\n
if not object_dict.has_key(salary_range):\n
salary_range_title = None\n
salary_range_relative_url = None\n
if tuple_dict.has_key(\'salary_range\'):\n
salary_range_title = tuple_dict[\'salary_range\']\n
salary_range_relative_url = tuple_dict[\'salary_range_relative_url\']\n
new_uid = "new_%s" % id\n
id += 1\n
object_dict[salary_range]={\n
\'uid\':new_uid,\n
\'salary_range_title\':salary_range_title,\n
\'salary_range_relative_url\':salary_range_relative_url,\n
\'base_name\':base_name,\n
\'base\':base,\n
\'model_line\': model_line.getRelativeUrl(),\n
\'base_participation_list\':base_participation_list,\n
\'base_application_list\': base_application_list,\n
\'service_id\':payroll_service.getId()}\n
object_dict[salary_range].update(share_dict)\n
\n
# if the slice already exists, just update the share\n
else:\n
object_dict[salary_range].update(share_dict)\n
\n
object_dict_list.append(object_dict)\n
\n
for object_key in model_line.getSalaryRangeList():\n
line_list.append(model_line.asContext(**object_dict[object_key]))\n
if object_dict.has_key(\'no_slice\'):\n
line_list.append(model_line.asContext(**object_dict[\'no_slice\']))\n
\n
\n
if batch_mode:\n
object_dict_list = [x.values()[0] for x in object_dict_list]\n
return object_dict_list\n
\n
params.update(tuple_dict)\n
# sort results\n
\n
line_list.append(cell.asContext(**params))\n
def sortByTitleAscending(x, y):\n
return cmp(x.getTitle(), y.getTitle())\n
\n
def sortByTitleDescending(x, y):\n
return cmp(y.getTitle(), x.getTitle())\n
\n
def sortByIntIndexAscending(x, y):\n
return cmp(x.getIntIndex(), y.getIntIndex())\n
\n
def sortByIntIndexDescending(x, y):\n
return cmp(y.getIntIndex(), x.getIntIndex())\n
\n
sortByDefaultSortMethod = sortByIntIndexAscending\n
\n
if kw.has_key(\'sort_on\'):\n
list = kw[\'sort_on\']\n
if list[0][0] == \'title\' and list[0][1]==\'ascending\':\n
line_list.sort(sortByTitleAscending)\n
elif list[0][0] == \'title\' and list[0][1]==\'descending\':\n
line_list.sort(sortByTitleDescending)\n
elif list[0][0] == \'int_index\' and list[0][1]==\'ascending\':\n
line_list.sort(sortByIntIndexAscending)\n
elif list[0][0] == \'int_index\' and list[0][1]==\'descending\':\n
line_list.sort(sortByIntIndexDescending)\n
else:\n
line_list.sort(sortByDefaultSortMethod)\n
else:\n
line_list.sort(sortByDefaultSortMethod)\n
\n
\n
\n
#return pprint.pformat(line_list)\n
return line_list\n
</string> </value>
</item>
......@@ -149,7 +234,7 @@ return line_list\n
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>**kw</string> </value>
<value> <string>batch_mode=0, **kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
......@@ -169,40 +254,70 @@ return line_list\n
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>0</int> </value>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>batch_mode</string>
<string>kw</string>
<string>Products.ERP5Type.Utils</string>
<string>cartesianProduct</string>
<string>pprint</string>
<string>Products.ERP5Type.Message</string>
<string>Message</string>
<string>N_</string>
<string>_getattr_</string>
<string>context</string>
<string>model</string>
<string>None</string>
<string>model_line_list</string>
<string>append</string>
<string>$append0</string>
<string>_getiter_</string>
<string>x</string>
<string>model_line_editable_list</string>
<string>line_list</string>
<string>object_dict_list</string>
<string>id</string>
<string>model_line</string>
<string>base_category_list</string>
<string>base_application_list</string>
<string>str</string>
<string>translated_base_application_list</string>
<string>list_of_list</string>
<string>base_category</string>
<string>list</string>
<string>cartesian_product</string>
<string>service</string>
<string>None</string>
<string>previous_share</string>
<string>object_dict</string>
<string>tuple</string>
<string>share_dict</string>
<string>_apply_</string>
<string>cell</string>
<string>quantity</string>
<string>base</string>
<string>base_application</string>
<string>base_list</string>
<string>base_name</string>
<string>payroll_service</string>
<string>base_participation_list</string>
<string>price</string>
<string>_write_</string>
<string>tuple_dict</string>
<string>item</string>
<string>_write_</string>
<string>_getitem_</string>
<string>params</string>
<string>salary_range</string>
<string>salary_range_title</string>
<string>salary_range_relative_url</string>
<string>new_uid</string>
<string>_inplacevar_</string>
<string>object_key</string>
<string>sortByTitleAscending</string>
<string>sortByTitleDescending</string>
<string>sortByIntIndexAscending</string>
<string>sortByIntIndexDescending</string>
<string>sortByDefaultSortMethod</string>
</tuple>
</value>
</item>
......@@ -214,7 +329,9 @@ return line_list\n
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
<tuple>
<int>0</int>
</tuple>
</value>
</item>
<item>
......
......@@ -66,30 +66,37 @@
<item>
<key> <string>_body</string> </key>
<value> <string>\'\'\'\n
this small script a list of the categories used in the paysheet lines\n
this small script return a list of the categories used in the paysheet lines\n
\n
parameters :\n
- editable : if editable = 1, the columns returned are editables columns\n
else, all the columns are returned\n
\'\'\'\n
\n
column_list = []\n
\n
static_columns = [\n
(\'int_index\', \'Sort Index\'),\n
not_editable_columns = [(\'int_index\', \'Sort Index\'),\n
(\'title\', \'Title\'),\n
(\'source_section_title\', \'Source\'),\n
(\'slice\', \'Slice\'),\n
(\'base\', \'Base\'),\n
]\n
(\'base\', \'Base\'),]\n
\n
column_list.extend(static_columns)\n
if not editable:\n
column_list.extend(not_editable_columns)\n
\n
for model_line in context.contentValues(portal_type=\'Pay Sheet Line\'):\n
for model_line in context.contentValues(portal_type=\'Pay Sheet Line\'):\n
for tax_category in model_line.getTaxCategoryValueList():\n
rate = (tax_category.getRelativeUrl().replace(\'tax_category/\', \'\', 1)+\\\n
\'_rate\', tax_category.getTitle()+\' Rate\')\n
amount = (tax_category.getRelativeUrl().replace(\'tax_category/\', \'\', 1)+\\\n
\'_amount\', tax_category.getTitle()+\' Amount\')\n
if rate not in column_list:\n
column_list.append(rate)\n
column_list.append(amount)\n
price = (tax_category.getId()+\'_rate\', tax_category.getTitle()+\' Rate\')\n
quantity = (tax_category.getId()+\'_amount\', \n
tax_category.getTitle()+\' Amount\')\n
if price not in column_list:\n
column_list.append(price)\n
column_list.append(quantity)\n
\n
else:\n
pass\n
# add here the editable column you want to use\n
# currently, it\'s not required to use editable columns\n
\n
return column_list\n
</string> </value>
......@@ -108,7 +115,7 @@ return column_list\n
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
<value> <string>editable=0</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
......@@ -128,21 +135,22 @@ return column_list\n
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>0</int> </value>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>editable</string>
<string>column_list</string>
<string>static_columns</string>
<string>not_editable_columns</string>
<string>_getattr_</string>
<string>_getiter_</string>
<string>context</string>
<string>model_line</string>
<string>tax_category</string>
<string>rate</string>
<string>amount</string>
<string>price</string>
<string>quantity</string>
</tuple>
</value>
</item>
......@@ -154,7 +162,9 @@ return column_list\n
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
<tuple>
<int>0</int>
</tuple>
</value>
</item>
<item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</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>\'\'\'\n
this small script a list of the categories used in the paysheet lines\n
\n
parameters :\n
- editable : if editable = 1, the columns returned are editables columns\n
else, all the columns are returned\n
\'\'\'\n
\n
column_list = []\n
\n
not_editable_columns = [ (\'title\', \'Title\'),\n
(\'salary_range_title\', \'Slice\'),]\n
\n
if not editable:\n
column_list.extend(not_editable_columns)\n
\n
model = context.getSpecialiseValue()\n
model_line_list = model.contentValues(portal_type=\'Pay Sheet Model Line\')\n
model_line_list = [line for line in model_line_list if line.isEditable()]\n
\n
for model_line in model_line_list:\n
for tax_category in model_line.getTaxCategoryValueList():\n
price = (tax_category.getId()+\'_price\', tax_category.getTitle()+\' Rate\')\n
quantity = (tax_category.getId()+\'_quantity\', \n
tax_category.getTitle()+\' Amount\')\n
if price not in column_list:\n
column_list.append(price)\n
column_list.append(quantity)\n
\n
\n
# hidden columns are put at the end of the list, it\'s less ugly\n
hidden_columns = [(\'model_line\', \' \'),\n
(\'salary_range_relative_url\', \' \'),]\n
\n
column_list.extend(hidden_columns)\n
return column_list\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>editable=0</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>editable</string>
<string>column_list</string>
<string>not_editable_columns</string>
<string>_getattr_</string>
<string>context</string>
<string>model</string>
<string>model_line_list</string>
<string>append</string>
<string>$append0</string>
<string>_getiter_</string>
<string>line</string>
<string>model_line</string>
<string>tax_category</string>
<string>price</string>
<string>quantity</string>
<string>hidden_columns</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<int>0</int>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>PaySheetTransaction_getListBoxPreviewColumnList</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -92,8 +92,6 @@ for paysheet_line in paysheet_line_list:\n
base_category_list = paysheet_line.getVariationBaseCategoryList()\n
base_application_list = paysheet_line.getBaseAmountTitleList()\n
translated_base_application_list = [str(N_(x)) for x in base_application_list]\n
context.log(\'translated_base_application_list :%s\' %\n
translated_base_application_list)\n
base_application_list = \', \'.join(translated_base_application_list)\n
list_of_list = []\n
for base_category in base_category_list:\n
......
......@@ -72,6 +72,12 @@
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
......@@ -80,12 +86,6 @@
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>list_method</string> </key>
<value> <string></string> </value>
......@@ -98,6 +98,10 @@
<key> <string>selection_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
......@@ -159,28 +163,7 @@
<item>
<key> <string>editable_columns</string> </key>
<value>
<list>
<tuple>
<string>base</string>
<string>Base</string>
</tuple>
<tuple>
<string>employer_share_amount</string>
<string>Employer Share Amount</string>
</tuple>
<tuple>
<string>employer_share_rate</string>
<string>Employer Share Rate</string>
</tuple>
<tuple>
<string>employee_share_amount</string>
<string>Employee Share Amount</string>
</tuple>
<tuple>
<string>employee_share_rate</string>
<string>Employee Share Rate</string>
</tuple>
</list>
<list/>
</value>
</item>
<item>
......@@ -280,7 +263,7 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.PaySheetTransaction_getListBoxColumnList()</string> </value>
<value> <string>python: context.PaySheetTransaction_getListBoxColumnList()</string> </value>
</item>
</dictionary>
</pickle>
......@@ -296,7 +279,7 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: preferences.getPreference(\'preferred_listbox_view_mode_line_count\', 15)</string> </value>
<value> <string>python: context.PaySheetTransaction_getListBoxColumnList(editable=1)</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -105,19 +105,25 @@
<string>listbox_base_application_string</string>
<string>listbox_base_participation_string</string>
<string>listbox_service_id</string>
<string>listbox_salary_range</string>
<string>listbox_quantity</string>
<string>listbox_price</string>
<string>listbox_tax_category</string>
<string>listbox_tax_category_relative_url</string>
<string>listbox_salary_range_relative_url</string>
<string>listbox_id</string>
<string>listbox_employee_share_price</string>
<string>listbox_employer_share_price</string>
<string>listbox_employee_share_quantity</string>
<string>listbox_employer_share_quantity</string>
</list>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list/>
<list>
<string>listbox_salary_range</string>
</list>
</value>
</item>
<item>
......@@ -143,7 +149,7 @@
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_view_dialog</string> </value>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
......
......@@ -3,12 +3,27 @@
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ListBox" module="Products.ERP5Form.ListBox"/>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
<string>hidden</string>
<string>columns</string>
<string>all_columns</string>
<string>sort</string>
<string>list_method</string>
<string>selection_name</string>
<string>editable_columns</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox</string> </value>
......@@ -29,135 +44,15 @@
<value>
<dictionary>
<item>
<key> <string>all_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>lines</string> </key>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>select</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
......@@ -171,116 +66,36 @@
<key> <string>all_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>count_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>external_validator</string> </key>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>page_template</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>select</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string></string> </value>
......@@ -290,25 +105,13 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>stat_method</string> </key>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -323,37 +126,15 @@
<item>
<key> <string>all_columns</string> </key>
<value>
<list>
<tuple>
<string>base_application_string</string>
<string>Base Application</string>
</tuple>
</list>
<list/>
</value>
</item>
<item>
<key> <string>all_editable_columns</string> </key>
<value>
<list>
<tuple>
<string>base</string>
<string>Base Value</string>
</tuple>
<tuple>
<string>employer_share_rate</string>
<string>Employer Share Rate (%)</string>
</tuple>
<tuple>
<string>employee_share_rate</string>
<string>Employee Share Rate (%)</string>
</tuple>
</list>
<list/>
</value>
</item>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>columns</string> </key>
<value>
......@@ -402,159 +183,60 @@
<string>salary_range_relative_url</string>
<string></string>
</tuple>
<tuple>
<string>model_line</string>
<string>Model Line</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>count_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default_params</string> </key>
<key> <string>editable_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>domain_root_list</string> </key>
<key> <string>editable_permission</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>domain_tree</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>editable_columns</string> </key>
<key> <string>editable_role</string> </key>
<value>
<list>
<tuple>
<string>quantity</string>
<string>Amount</string>
</tuple>
<tuple>
<string>price</string>
<string>Percent</string>
</tuple>
<tuple>
<string>tax_category</string>
<string>Tax Category</string>
</tuple>
<tuple>
<string>description</string>
<string>Description</string>
</tuple>
<tuple>
<string>slice</string>
<string>Slice</string>
</tuple>
<tuple>
<string>model_line</string>
<string></string>
</tuple>
<tuple>
<string>tax_category_relative_url</string>
<string></string>
</tuple>
<tuple>
<string>salary_range_relative_url</string>
<string></string>
</tuple>
</list>
<list/>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_listbox</string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>global_attributes</string> </key>
<value>
<list/>
</value>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>lines</string> </key>
<value> <int>100</int> </value>
</item>
<item>
<key> <string>list_action</string> </key>
<value> <string>Folder_viewContentList</string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>meta_types</string> </key>
<value>
<list/>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
<item>
<key> <string>page_template</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>report_root_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>report_tree</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>search</string> </key>
<key> <string>not_viewable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>search_columns</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>select</string> </key>
<key> <string>read_only</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string>pay_sheet_transaction_calcul_preview</string> </value>
<value> <string>pay_sheet_transaction_calcul_preview_list_selection</string> </value>
</item>
<item>
<key> <string>sort</string> </key>
......@@ -572,27 +254,21 @@
</value>
</item>
<item>
<key> <string>sort_columns</string> </key>
<value>
<list/>
</value>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Pay Sheet Lines</string> </value>
</item>
<item>
<key> <string>stat_columns</string> </key>
<key> <string>viewable_permission</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>stat_method</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Preview</string> </value>
</item>
<item>
<key> <string>url_columns</string> </key>
<key> <string>viewable_role</string> </key>
<value>
<list/>
</value>
......@@ -614,12 +290,44 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: context.PaySheetTransaction_getEditableObjectLineList()==[]</string> </value>
<value> <string>python: context.PaySheetTransaction_getListBoxPreviewColumnList()</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: context.PaySheetTransaction_getListBoxPreviewColumnList(editable=1)</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<tuple>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: context.PaySheetTransaction_getEditableObjectLineList()==[]</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<tuple>
<global name="Method" module="Products.Formulator.MethodField"/>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>editable</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_employee_share_price</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_percent</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>editable</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_employee_share_quantity</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_money_quantity</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>editable</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_employer_share_price</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_percent</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>editable</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_employer_share_quantity</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_money_quantity</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="FloatField" module="Products.Formulator.StandardFields"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>listbox_id</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>not_float</string> </key>
<value> <string>You did not enter a floating point number.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_style</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>precision</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>figure</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>10</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_style</string> </key>
<value> <string>-1 234.5</string> </value>
</item>
<item>
<key> <string>precision</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Id</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
181
\ No newline at end of file
183
\ No newline at end of file
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