Commit a2be037f authored by Ivan Tyagov's avatar Ivan Tyagov

Removed duplicating code.

Better integration with erp5_web.
Added sceleton for calculation of taxes and discounts.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@12970 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 3cb8759c
......@@ -60,10 +60,6 @@
<key> <string>id</string> </key>
<value> <string>customer</string> </value>
</item>
<item>
<key> <string>isIndexable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category</string> </value>
......
......@@ -54,10 +54,6 @@
<key> <string>id</string> </key>
<value> <string>shipping</string> </value>
</item>
<item>
<key> <string>isIndexable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category</string> </value>
......
......@@ -44,10 +44,6 @@
<key> <string>id</string> </key>
<value> <string>erp5_session_cache</string> </value>
</item>
<item>
<key> <string>isIndexable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>last_id</string> </key>
<value> <string>2</string> </value>
......
......@@ -48,10 +48,6 @@
<key> <string>int_index</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>isIndexable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Ram Cache</string> </value>
......
......@@ -40,10 +40,6 @@
<key> <string>id</string> </key>
<value> <string>portal_sessions</string> </value>
</item>
<item>
<key> <string>isIndexable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
......
<type_roles>
<role id='Auditor'>
<role id='Author'>
<property id='title'>Customer</property>
<property id='priority'>10</property>
<property id='base_category_script'>ERP5Type_getSecurityCategoryFromAssignment</property>
......
<?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>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_Change_Python_Scripts_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Change_bindings_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Change_cache_settings_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Change_permissions_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Change_proxy_roles_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Copy_or_Move_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Delete_objects_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Manage_WebDAV_Locks_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Manage_properties_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Take_ownership_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Undo_changes_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_View_History_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_View_management_screens_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_WebDAV_Lock_items_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_WebDAV_Unlock_items_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_WebDAV_access_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</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>\'\'\' This script is a sceleton for implementing discounts per customer basis.\n
Because it\'s specific for every shop it needs to be implemented accordingly. \n
See also SaleOrder_viewDiscountRenderer. \n
\'\'\'\n
#customer = context.SaleOrder_getShoppingCartCustomer()\n
return None\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></string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>None</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>Person_getApplicableDiscountList</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Get applicable discount information</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.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</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>_Change_Python_Scripts_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Change_bindings_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Change_cache_settings_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Change_permissions_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Change_proxy_roles_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Copy_or_Move_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Delete_objects_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Manage_WebDAV_Locks_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Manage_properties_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Take_ownership_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_Undo_changes_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_View_History_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_View_management_screens_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_WebDAV_Lock_items_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_WebDAV_Unlock_items_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</value>
</item>
<item>
<key> <string>_WebDAV_access_Permission</string> </key>
<value>
<list>
<string>Manager</string>
</list>
</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>\'\'\' This script will find applicable taxes for customer based on his/hers location for example.\n
- B2B in EU in same country, tax \n
- B2B in EU in different country, no tax \n
- B2B and B2P from EU to outside EU, no tax \n
- B2P in EU, tax\n
\'\'\'\n
#customer = context.SaleOrder_getShoppingCartCustomer()\n
return {context.Base_translateString(\'VAT\'): 20.0,}\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></string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>_getattr_</string>
<string>context</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>Person_getApplicableTaxList</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Get applicable tax information</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -94,7 +94,6 @@
<string>my_reference</string>
<string>my_password</string>
<string>password_confirm</string>
<string>submit</string>
</list>
</value>
</item>
......@@ -142,7 +141,7 @@
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>web_form_view</string> </value>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.InputButtonField</string>
<string>InputButtonField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>submit</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<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>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</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>name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</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>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</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>name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</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>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string>Save</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </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>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>WebSite_editUserAccount:method</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -211,7 +211,7 @@
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
......
......@@ -197,7 +197,7 @@
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
......
......@@ -73,7 +73,6 @@
<key> <string>bottom</string> </key>
<value>
<list>
<string>label_header</string>
<string>listbox</string>
</list>
</value>
......@@ -107,7 +106,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Sale Orders</string> </value>
<value> <string>My Orders</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
......
......@@ -334,16 +334,12 @@
<string>ID</string>
</tuple>
<tuple>
<string>getTotalPrice</string>
<string>SaleOrder_getFormattedTotalPrice</string>
<string>Price</string>
</tuple>
<tuple>
<string>getPriceCurrencyTitle</string>
<string>Currency</string>
</tuple>
<tuple>
<string>creation_date</string>
<string>Date</string>
<string>SaleOrder_getFormattedCreationDate</string>
<string>Order Date</string>
</tuple>
</list>
</value>
......@@ -354,7 +350,7 @@
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
......@@ -373,36 +369,7 @@
<item>
<key> <string>domain_root_list</string> </key>
<value>
<list>
<tuple>
<string>source_section</string>
<string>Source Section</string>
</tuple>
<tuple>
<string>order</string>
<string>Order type</string>
</tuple>
<tuple>
<string>origin</string>
<string>Origin</string>
</tuple>
<tuple>
<string>incoterm</string>
<string>Incoterm</string>
</tuple>
<tuple>
<string>delivery_mode</string>
<string>Delivery Mode</string>
</tuple>
<tuple>
<string>segmentation</string>
<string>Segmentation</string>
</tuple>
<tuple>
<string>group</string>
<string>Group</string>
</tuple>
</list>
<list/>
</value>
</item>
<item>
......@@ -475,36 +442,7 @@
<item>
<key> <string>report_root_list</string> </key>
<value>
<list>
<tuple>
<string>source_section</string>
<string>Source Section</string>
</tuple>
<tuple>
<string>order</string>
<string>Order type</string>
</tuple>
<tuple>
<string>origin</string>
<string>Origin</string>
</tuple>
<tuple>
<string>incoterm</string>
<string>Incoterm</string>
</tuple>
<tuple>
<string>delivery_mode</string>
<string>Delivery Mode</string>
</tuple>
<tuple>
<string>segmentation</string>
<string>Segmentation</string>
</tuple>
<tuple>
<string>group</string>
<string>Group</string>
</tuple>
</list>
<list/>
</value>
</item>
<item>
......@@ -535,7 +473,7 @@
<list>
<tuple>
<string>id</string>
<string>id</string>
<string>ID</string>
</tuple>
</list>
</value>
......@@ -549,11 +487,11 @@
<string>ID</string>
</tuple>
<tuple>
<string>getTotalPrice</string>
<string>SaleOrder_getFormattedTotalPrice</string>
<string>Price</string>
</tuple>
<tuple>
<string>creation_date</string>
<string>SaleOrder_getFormattedCreationDate</string>
<string>Date</string>
</tuple>
</list>
......@@ -578,7 +516,7 @@
<value>
<list>
<tuple>
<string>creation_date</string>
<string>SaleOrder_getFormattedCreationDate</string>
<string>Date</string>
</tuple>
</list>
......
......@@ -211,7 +211,7 @@ translateString = context.Base_translateString\n
if isAnon:\n
## create first an account for user\n
context.Base_redirect(\'WebSite_joinForm\', \\\n
keep_items={\'portal_status_message\': translateString("You need to create an account. If you already have please use it to login.", mapping = dict())})\n
keep_items={\'portal_status_message\': translateString("You need to create an account. If you already have please login.", mapping = dict())})\n
return\n
else:\n
## redirect to final confirmation form\n
......
......@@ -209,7 +209,7 @@
from Products.ERP5Type.Document import newTempOrderLine\n
\n
request = context.REQUEST\n
translateString = context.Base_translateString\n
translateString = context.Base_translateString \n
quantity = field_my_buy_quantity\n
shipping_method = field_my_shipping_method\n
shopping_cart_items = context.SaleOrder_getShoppingCartItemList(include_shipping = True)\n
......@@ -243,7 +243,7 @@ if shipping_method is not None:\n
order_line.setQuantity(1)\n
\n
context.Base_redirect(\'SaleOrder_viewAsWeb\', \\\n
keep_items={\'portal_status_message\': translateString("Your cart content updated.", mapping = dict())})\n
keep_items={\'portal_status_message\': translateString("Your cart was successfuly updated.", mapping = dict())})\n
]]></string> </value>
......
......@@ -4,14 +4,24 @@
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.Form</string>
<string>ERP5Form</string>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</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>
......@@ -31,7 +41,24 @@
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
<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>
......@@ -40,115 +67,81 @@
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
<key> <string>_body</string> </key>
<value> <string>creation_date = context.getCreationDate()\n
return creation_date.strftime(\'%a, %b %Y %H:%M %p\')\n
</string> </value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>enctype</string> </key>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<key> <string>errors</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
</list>
<tuple/>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
<key> <string>co_argcount</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>center</string> </key>
<key> <string>co_varnames</string> </key>
<value>
<list/>
<tuple>
<string>_getattr_</string>
<string>context</string>
<string>creation_date</string>
</tuple>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>Title</string>
<string>your_first_name</string>
<string>your_last_name</string>
<string>your_default_email_text</string>
<string>your_default_telephone_text</string>
<string>your_default_fax_text</string>
<string>your_default_address_street_address</string>
<string>your_default_address_city</string>
<string>your_default_address_zip_code</string>
<string>your_default_address_region</string>
<string>your_reference</string>
<string>your_password</string>
<string>password_confirm</string>
<string>submit</string>
</list>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>right</string> </key>
<key> <string>func_defaults</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebSite_newCustomerAccountForm</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>newCustomerForm</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>web_form_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
<value> <string>SaleOrder_getFormattedCreationDate</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>New customer account</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
<value> <string>Format creation date</string> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
......
......@@ -68,43 +68,7 @@
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>from Products.Formulator.Errors import FormValidationError\n
\n
request = context.REQUEST\n
form_kw = request.form\n
translateString = context.Base_translateString\n
form = context.Person_viewAsWeb\n
customer = context.SaleOrder_getShoppingCartCustomer()\n
\n
## extract customer details\n
person_kw = {}\n
field_prefix = \'field_my_\'\n
for key in form_kw.keys():\n
if key.startswith(field_prefix):\n
person_kw[key.replace(field_prefix, \'\')] = form_kw[key]\n
\n
## validate form to request\n
try:\n
kw = form.validate_all_to_request(request)\n
validated = True\n
except FormValidationError, validation_errors:\n
validated = False\n
\n
if validated == False:\n
context.REQUEST.set(\'field_errors\', form.ErrorFields(validation_errors))\n
return form(validation_errors)\n
\n
## if pasword field is empty remove it\n
if person_kw[\'password\'].strip()==\'\':\n
person_kw.pop(\'password\', None)\n
person_kw.pop(\'password_confirm\', None)\n
\n
## edit customer\n
customer.edit(**person_kw)\n
\n
context.Base_redirect(\'Person_viewAsWeb\', \\\n
keep_items={\'portal_status_message\': translateString("Your account was changed.", mapping = dict()),\n
})\n
<value> <string>return \'%s %s\' %(context.getTotalPrice(), context.getPriceCurrencyTitle())\n
</string> </value>
</item>
<item>
......@@ -123,15 +87,6 @@ context.Base_redirect(\'Person_viewAsWeb\', \\\n
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
......@@ -156,29 +111,8 @@ context.Base_redirect(\'Person_viewAsWeb\', \\\n
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>Products.Formulator.Errors</string>
<string>FormValidationError</string>
<string>_getattr_</string>
<string>context</string>
<string>request</string>
<string>form_kw</string>
<string>translateString</string>
<string>form</string>
<string>customer</string>
<string>person_kw</string>
<string>field_prefix</string>
<string>_getiter_</string>
<string>key</string>
<string>_getitem_</string>
<string>_write_</string>
<string>kw</string>
<string>True</string>
<string>validated</string>
<string>validation_errors</string>
<string>False</string>
<string>None</string>
<string>_apply_</string>
<string>dict</string>
</tuple>
</value>
</item>
......@@ -195,11 +129,11 @@ context.Base_redirect(\'Person_viewAsWeb\', \\\n
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebSite_editUserAccount</string> </value>
<value> <string>SaleOrder_getFormattedTotalPrice</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Edit user account</string> </value>
<value> <string>Format total price</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
......
......@@ -74,6 +74,13 @@ shopping_cart_items = context.SaleOrder_getShoppingCartItemList(include_shipping
for order_line in shopping_cart_items:\n
resource = context.restrictedTraverse(order_line.getResource())\n
total += resource.getPrice() * order_line.getQuantity()\n
\n
# XXX: CHECK if we have to include taxes on shipping service\n
if include_taxes:\n
tax_info = context.Person_getApplicableTaxList()\n
if tax_info is not None:\n
for tax_name, tax_percent in tax_info.items():\n
total += total*(tax_percent/100)\n
\n
if include_currency:\n
currency = context.SaleOrder_getShoppingCartDefaultCurrency()\n
......@@ -96,7 +103,7 @@ else:\n
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>include_currency = False, include_shipping=False</string> </value>
<value> <string>include_shipping=False, include_taxes=False, include_currency = False</string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
......@@ -124,14 +131,15 @@ else:\n
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>2</int> </value>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>include_currency</string>
<string>include_shipping</string>
<string>include_taxes</string>
<string>include_currency</string>
<string>total</string>
<string>_getattr_</string>
<string>context</string>
......@@ -139,6 +147,10 @@ else:\n
<string>_getiter_</string>
<string>order_line</string>
<string>resource</string>
<string>tax_info</string>
<string>None</string>
<string>tax_name</string>
<string>tax_percent</string>
<string>currency</string>
<string>str</string>
</tuple>
......@@ -155,6 +167,7 @@ else:\n
<tuple>
<int>0</int>
<int>0</int>
<int>0</int>
</tuple>
</value>
</item>
......
<?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>
<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>return len(context.SaleOrder_getShoppingCartItemList())==0\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></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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>len</string>
<string>_getattr_</string>
<string>context</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>SaleOrder_isShoppingCartEmpty</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Is shopping cart empty ?</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -251,15 +251,11 @@
</item>
<item>
<key> <string>size</string> </key>
<value> <int>5</int> </value>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
<value> <string>Shipping Service</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
......@@ -308,7 +304,7 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: not here.SaleOrder_isShippingRequired()</string> </value>
<value> <string>python: not here.SaleOrder_isShippingRequired() or here.SaleOrder_isShoppingCartEmpty()</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -213,7 +213,7 @@
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>adminToolbox</string> </value>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
......@@ -265,11 +265,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
<value> <string>Shopping Cart</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
......
......@@ -103,7 +103,9 @@
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>name</string> </key>
......@@ -158,11 +160,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
<value> <string>Update</string> </value>
</item>
</dictionary>
</value>
......@@ -170,4 +168,23 @@
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.SaleOrder_isShoppingCartEmpty()</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -88,9 +88,10 @@
<key> <string>left</string> </key>
<value>
<list>
<string>form_label</string>
<string>shopping_cart</string>
<string>discounts</string>
<string>shipping</string>
<string>taxes</string>
<string>customer</string>
<string>submit</string>
<string>fake_payment</string>
......
......@@ -4,8 +4,8 @@
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>LabelField</string>
<string>Products.ERP5Form.EditorField</string>
<string>EditorField</string>
</tuple>
<none/>
</tuple>
......@@ -19,13 +19,38 @@
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary/>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</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>
......@@ -46,18 +71,54 @@
<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>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -65,6 +126,10 @@
<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>
......@@ -87,18 +152,54 @@
<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>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -107,9 +208,13 @@
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
......@@ -120,27 +225,59 @@
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
<value> <int>0</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>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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 encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
<value> <string>Customer information</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
......
......@@ -4,23 +4,17 @@
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Form.ProxyField</string>
<string>ProxyField</string>
<string>Products.ERP5Form.EditorField</string>
<string>EditorField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_price_currency</string> </value>
<value> <string>discounts</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -30,6 +24,22 @@
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -66,25 +76,49 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>extra_context</string> </key>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -102,7 +136,9 @@
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -121,25 +157,51 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>extra_context</string> </key>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<key> <string>hidden</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -153,7 +215,7 @@
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
......@@ -165,7 +227,7 @@
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
......@@ -176,26 +238,48 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>extra_context</string> </key>
<value>
<list/>
</value>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_price_currency</string> </value>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>BaseTradeSale_FieldLibrary</string> </value>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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>Currency</string> </value>
<value> <string>Discounts</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
......@@ -203,4 +287,42 @@
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/SaleOrder_viewDiscountsRenderer</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>not: here/Person_getApplicableDiscountList</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -160,11 +160,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
<value> <string>Fake Payment</string> </value>
</item>
</dictionary>
</value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>LabelField</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>form_label</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<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>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</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>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<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>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</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>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string encoding="cdata"><![CDATA[
<h1> My Order </h1>
]]></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </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>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -4,8 +4,8 @@
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>LabelField</string>
<string>Products.ERP5Form.EditorField</string>
<string>EditorField</string>
</tuple>
<none/>
</tuple>
......@@ -19,13 +19,38 @@
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary/>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</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>
......@@ -46,18 +71,54 @@
<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>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -65,6 +126,10 @@
<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>
......@@ -87,20 +152,56 @@
<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>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -109,9 +210,13 @@
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
......@@ -122,27 +227,59 @@
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
<value> <int>0</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>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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 encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
<value> <string>Shipping</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
......
......@@ -213,7 +213,7 @@
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>adminToolbox</string> </value>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
......@@ -265,11 +265,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
<value> <string>Shopping Cart</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
......
......@@ -110,7 +110,7 @@
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
......@@ -138,11 +138,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
<value> <string>Pay Button</string> </value>
</item>
</dictionary>
</value>
......
......@@ -4,8 +4,8 @@
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>StringField</string>
<string>Products.ERP5Form.EditorField</string>
<string>EditorField</string>
</tuple>
<none/>
</tuple>
......@@ -14,7 +14,7 @@
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>Title</string> </value>
<value> <string>taxes</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -24,13 +24,21 @@
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
......@@ -55,14 +63,6 @@
<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>
......@@ -79,6 +79,10 @@
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
......@@ -88,15 +92,19 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
......@@ -107,6 +115,10 @@
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -124,20 +136,14 @@
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</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>
......@@ -154,6 +160,10 @@
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
......@@ -163,15 +173,19 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
......@@ -182,6 +196,10 @@
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -195,24 +213,16 @@
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string>Register Your Account</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
......@@ -229,6 +239,10 @@
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
......@@ -238,17 +252,21 @@
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Title</string> </value>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Taxes</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
......@@ -257,10 +275,33 @@
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/SaleOrder_viewTaxesRenderer</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -98,8 +98,7 @@
<value>
<list>
<string>total_price</string>
<string>my_price_currency</string>
<string>my_creation_date</string>
<string>creation_date</string>
</list>
</value>
</item>
......
......@@ -14,7 +14,7 @@
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_creation_date</string> </value>
<value> <string>creation_date</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -124,7 +124,9 @@
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -263,4 +265,23 @@
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/SaleOrder_getFormattedCreationDate</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -329,26 +329,18 @@
<key> <string>columns</string> </key>
<value>
<list>
<tuple>
<string>id</string>
<string>ID</string>
</tuple>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>getTotalQuantity</string>
<string>Total Quantity</string>
<string>Quantity</string>
</tuple>
<tuple>
<string>getTotalPrice</string>
<string>SaleOrder_getFormattedTotalPrice</string>
<string>Price</string>
</tuple>
<tuple>
<string>getPriceCurrencyTitle</string>
<string>Currency</string>
</tuple>
</list>
</value>
</item>
......@@ -358,7 +350,7 @@
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
......@@ -510,26 +502,18 @@
<key> <string>url_columns</string> </key>
<value>
<list>
<tuple>
<string>id</string>
<string>ID</string>
</tuple>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>getTotalQuantity</string>
<string>Total Quantity</string>
<string>Quantity</string>
</tuple>
<tuple>
<string>getTotalPrice</string>
<string>SaleOrder_getFormattedTotalPrice</string>
<string>Price</string>
</tuple>
<tuple>
<string>getPriceCurrencyTitle</string>
<string>Currency</string>
</tuple>
</list>
</value>
</item>
......
......@@ -148,6 +148,14 @@
<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>
......@@ -251,7 +259,7 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: here.getTotalPrice()</string> </value>
<value> <string>here/SaleOrder_getFormattedTotalPrice</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -50,7 +50,9 @@
<tal:block tal:define="base_url context/absolute_url;\n
TPE python: options.get(\'TPE\', \'my_merchant_key_location\');\n
montant python: options.get(\'total\', here.SaleOrder_getShoppingCartTotalPrice(include_currency=True));\n
montant python: options.get(\'total\', here.SaleOrder_getShoppingCartTotalPrice(include_shipping=True,\n
include_taxes=True,\n
include_currency=True));\n
reference python: options.get(\'reference\', here.SaleOrder_getShoppingCartId()); \n
url_retour python: options.get(\'shop_url\', \'http://www.my-shop.com\');\n
url_retour_ok python: \'%s/%s?payment_successful=1&portal_status_message=Payment accepted.\' \n
......@@ -61,7 +63,7 @@
options.get(\'url_return_err\', \'Base_externalPaymentHandler\'));\n
langue python: options.get(\'language\', \'en\');\n
code_societe python: options.get(\'code_societe\', \'my_shop_code\');\n
texte_bouton python: options.get(\'text_button\', \'Secure Online Payment\');\n
texte_bouton python: options.get(\'text_button\', \'Secure Online Payment of %s\' %montant);\n
texte_libre python: options.get(\'text_free\', \'\');">\n
\n
<span tal:replace="structure python: here.payment.CreerFormulaireCM(TPE = TPE,\n
......
......@@ -51,7 +51,7 @@
<tal:block tal:define="customer here/SaleOrder_getShoppingCartCustomer">\n
\n
<h2>Customer</h2>\n
<br/>\n
\n
<table>\n
<tr>\n
<td>Name:</td>\n
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:define="discount_info here/Person_getApplicableDiscountInformation;">\n
\n
<h2>\n
<span tal:replace="python: here.Base_translateString(\'Discounts\')"/>\n
</h2>\n
\n
<p tal:condition="python: discount_info is not None"> \n
<!-- Render discount information -->\n
</p>\n
\n
<p tal:condition="python: discount_info is None">No discounts.</p>\n
\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>SaleOrder_viewDiscountsRenderer</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Discounts custom renderer</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -48,30 +48,32 @@
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:define="shipping_method here/SaleOrder_getSelectedShippingResource;">\n
\n
<h2>Shipping</h2>\n
<br/> \n
<tal:block tal:condition="python: shipping_method is not None"\n
tal:define="shipping_obj python: here.restrictedTraverse(shipping_method);">\n
<span tal:replace="shipping_obj/getTitle"/> - \n
<tal:block tal:define="shipping here/SaleOrder_getSelectedShippingResource;">\n
<h2>\n
<span tal:replace="python: here.Base_translateString(\'Shipping\')"/>\n
</h2>\n
\n
<tal:block tal:condition="python: shipping is None">\n
<h3> <span tal:replace="python: here.Base_translateString(\'You have not selected shipping\')"/></h3>\n
<p> \n
<span tal:replace="python: here.Base_translateString(\'Your current cart selection requires shipping. Please select shipping from\')"/>\n
<a href="SaleOrder_viewAsWeb">here</a>.\n
</p>\n
</tal:block>\n
\n
<tal:block tal:condition="python: shipping is not None"\n
tal:define="shipping_obj python: here.restrictedTraverse(shipping);">\n
<p>\n
<span tal:replace="shipping_obj/getTitle"/> : \n
<b>\n
<span tal:replace="shipping_obj/getPrice"/>\n
<span tal:replace="python: here.SaleOrder_getShoppingCartDefaultCurrency().getTitle()"/>\n
</b>\n
<p> Total cost of order (including shipping) will be \n
<b tal:content="python: here.SaleOrder_getShoppingCartTotalPrice(include_shipping=True, include_currency=True)"/>\n
</p>\n
</tal:block>\n
\n
<tal:block tal:condition="python: shipping_method is None">\n
<h3> You haven\'t selected shipping.</h3>\n
<p> Your current cart selection requires shipping service. \n
Please select preferred shipping service from <a href="SaleOrder_viewAsWeb"> here</a>.\n
</p>\n
</tal:block>\n
\n
</tal:block>
\n
</tal:block>\n
]]></string> </value>
</item>
......
......@@ -49,73 +49,76 @@
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:define="shopping_cart_items here/SaleOrder_getShoppingCartItemList;\n
empty_cart python: len(shopping_cart_items)==0;\n
total_price python: here.SaleOrder_getShoppingCartTotalPrice(include_currency=True);\n
empty_cart python: here.SaleOrder_isShoppingCartEmpty();\n
confirm_mode python: bool(options.get(\'confirm_mode\', False))">\n
\n
<h2>Shopping cart</h2>\n
<h2>\n
<span tal:replace="python: here.Base_translateString(\'My shopping cart\')"/>\n
</h2>\n
\n
<tal:block tal:condition = "empty_cart"> \n
<h3>Your shopping cart is empty.</h3>\n
<h3><span tal:replace="python: here.Base_translateString(\'You shopping cart is empty.\')"/></h3>\n
</tal:block>\n
\n
<form action="" tal:condition = "not: empty_cart">\n
<br/>\n
<table>\n
<thead>\n
<th>Product</th>\n
<th>Quantity</th>\n
<th>Price</th>\n
<th>Total</th>\n
</thead>\n
<tbody> \n
<tal:block tal:condition = "not: empty_cart">\n
<div class="ListContent">\n
<table cellpadding="0" cellspacing="0" width="65%">\n
<tr>\n
<td class="Data" tal:content="python: here.Base_translateString(\'Product\')"/>\n
<td class="Data" tal:content="python: here.Base_translateString(\'Quantity\')"/>\n
<td class="Data" tal:content="python: here.Base_translateString(\'Price\')"/>\n
<td class="Data" tal:content="python: here.Base_translateString(\'Total\')"/>\n
</tr>\n
<tal:block tal:repeat="order_line shopping_cart_items">\n
<tr tal:define="resource python: here.restrictedTraverse(order_line.getResource());\n
quantity python: int(order_line.getQuantity());\n
price python: resource.getPrice();\n
order_line_id python: order_line.getId();\n
currency python: here.restrictedTraverse(resource.getSupplyLinePriceCurrency()).getTitle()"> \n
<td align="right">\n
<td>\n
<p> \n
<a href="" tal:attributes="href resource/absolute_url">\n
<b tal:content="resource/getTitle"/> <br/>\n
<span tal:replace="resource/getTitle"/> \n
</a>\n
<a tal:condition="not: confirm_mode"\n
tal:attributes="href python: \'%s/SaleOrder_deleteShoppingCartItem?field_my_order_line_id=%s\' \n
%(here.absolute_url(), order_line_id)"> \n
Delete \n
</a>\n
</a>\n
%(here.absolute_url(), order_line_id)">\n
<img src="images/edittrash.png" title="Remove from shopping cart"/></a>\n
<p>\n
</td>\n
<td align="right">\n
<input tal:condition="not: confirm_mode"\n
type="input" \n
name="field_my_buy_quantity"\n
size="2"\n
tal:attributes ="value quantity"/>\n
<td>\n
<select tal:condition="not: confirm_mode"\n
name="field_my_buy_quantity">\n
<tal:block tal:repeat="index python: range(1,31)">\n
<option tal:condition="python: index!=quantity" tal:content="index" tal:attributes="value index"/>\n
<option SELECTED tal:condition="python: index==quantity" tal:content="index" tal:attributes="value index"/>\n
</tal:block>\n
</select>\n
<span tal:condition="confirm_mode" tal:content="quantity"/>\n
</td>\n
<td align="right">\n
<td>\n
<span tal:replace="price"/> <span tal:replace="currency"/>\n
</td>\n
<td align="right">\n
<td>\n
<span tal:replace="python: price*quantity"/> <span tal:replace="currency"/>\n
</td>\n
</tr>\n
</tal:block>\n
<tal:block tal:condition = "not: empty_cart">\n
<tr>\n
<td align="right"><br/>Sub Total:</td>\n
<td><br/><span tal:replace="python: here.Base_translateString(\'Sub Total\')"/></td>\n
<td></td>\n
<td></td>\n
<td align="right"> <br/>\n
<td><br/>\n
<b>\n
<span tal:replace="python: here.SaleOrder_getShoppingCartTotalPrice(include_currency=True)"/>\n
<span tal:replace="total_price"/>\n
</b>\n
</td>\n
</tr>\n
</tal:block>\n
</tbody>\n
</table>\n
</form> \n
</tal:block>
</div>\n
</tal:block> \n
</tal:block>\n
]]></string> </value>
</item>
......
......@@ -48,12 +48,14 @@
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<div>\n
<p class="headlinkred">SHOPPING CART</p>\n
<p class="headlinkred">\n
<span tal:replace="python: here.Base_translateString(\'SHOPPING CART\')"/>\n
</p>\n
\n
<table>\n
<tal:block tal:define="shopping_cart_items here/SaleOrder_getShoppingCartItemList;\n
empty_cart python: len(shopping_cart_items)==0;\n
<tal:block tal:define="shopping_cart_items here/SaleOrder_getShoppingCartItemList;\n
empty_cart python: here.SaleOrder_isShoppingCartEmpty();\n
total_price python: here.SaleOrder_getShoppingCartTotalPrice(include_currency=True);\n
website python: here.getWebSiteValue();">\n
\n
<tr tal:repeat="order_line shopping_cart_items">\n
......@@ -63,36 +65,47 @@
currency python: here.restrictedTraverse(resource.getSupplyLinePriceCurrency()).getTitle()"> \n
\n
<a class="articlelink" href="" tal:attributes="href resource/absolute_url">\n
<b tal:content="resource/getTitle"/>\n
&#149; <b tal:content="resource/getTitle"/>\n
</a>\n
<p class="article">\n
Price: <span tal:replace="price"/> <span tal:replace="currency"/><br/>\n
- quantity: <span tal:replace="quantity"/>\n
</p>\n
\n
\n
<span tal:replace="python: here.Base_translateString(\'Price\')"/> : <span tal:replace="price"/> <span tal:replace="currency"/> &nbsp;\n
<span tal:replace="python: here.Base_translateString(\'Quantity\')"/> : <span tal:replace="quantity"/>\n
</p> \n
</td>\n
</tr> \n
\n
<tal:block tal:condition = "empty_cart">\n
<tr><td>\n
<p class="article"> \n
<span tal:replace="python: here.Base_translateString(\'You shopping cart is empty.\')"/>\n
</p>\n
</td></tr>\t\t \n
</tal:block>\n
\n
<tal:block tal:condition = "not: empty_cart">\n
<tr><td><br/>\n
<tr><td>\n
<p class="article">\n
<b>Total price: <span tal:replace="python: here.SaleOrder_getShoppingCartTotalPrice(include_currency=True)"/></b>\n
<b><span tal:replace="python: here.Base_translateString(\'Total price\')"/>: \n
<span tal:replace="total_price"/>\n
</b>\n
</p> \n
</td></tr>\n
<tr>\n
<td><a class="articlelink" href="SaleOrder_viewAsWeb">Edit Shopping Cart</a></td>\n
</tr>\n
<tr>\n
<td><a class="articlelink" href="SaleOrder_confirmShopping">Proceed to checkout</a></td>\n
<td><a class="articlelink" \n
tal:attributes="href python: \'%s/product_module/SaleOrder_viewAsWeb\' %website.absolute_url()">\n
<span tal:replace="python: here.Base_translateString(\'Edit Shopping Cart\')"/>\n
</a> &nbsp; \n
<a class="articlelink"\n
tal:attributes="href python: \'%s/product_module/SaleOrder_confirmShopping\' %website.absolute_url()">\n
<span tal:replace="python: here.Base_translateString(\'Proceed to checkout\')"/>\n
</a>\n
</td>\n
</tr>\n
\n
</tal:block>\n
\n
</tal:block>\n
</tal:block>\n
</table>\n
\n
</div>
]]></string> </value>
</item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:define="shipping here/SaleOrder_getSelectedShippingResource;\n
tax_info here/Person_getApplicableTaxList;\n
total_price python: here.SaleOrder_getShoppingCartTotalPrice(include_shipping=True, \n
include_taxes=True,\n
include_currency=True);">\n
<h2>\n
<span tal:replace="python: here.Base_translateString(\'Taxes\')"/>\n
</h2>\n
\n
<p tal:condition="python: tax_info is not None">\n
<span tal:replace="python: here.Base_translateString(\'For your location the following taxes are applicable\')"/> :\n
<b>\n
<tal:block tal:repeat="tax_name python: tax_info.keys()">\n
<li tal:content="python: \'%s (%s %s)\' %(tax_name, tax_info[tax_name], \'%\')">item </li>\n
</tal:block>\n
</b>\n
</p>\n
\n
<p tal:condition="python: tax_info is None"> \n
<span tal:replace="python: here.Base_translateString(\'You do not have to pay any taxes.\')"/> \n
</p>\n
\n
<p tal:condition="python: tax_info is not None and shipping is not None"> \n
<span tal:replace="python: here.Base_translateString(\'Total cost of order (including shipping and taxes)\')"/> :\n
<b tal:content="total_price"/>\n
</p>\n
\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>SaleOrder_viewTaxesRenderer</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Taxes custom renderer</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -4,8 +4,8 @@
<pickle>
<tuple>
<tuple>
<string>Products.Formulator.StandardFields</string>
<string>LabelField</string>
<string>Products.ERP5Form.EditorField</string>
<string>EditorField</string>
</tuple>
<none/>
</tuple>
......@@ -19,13 +19,38 @@
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary/>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</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>
......@@ -46,18 +71,54 @@
<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>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -65,6 +126,10 @@
<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>
......@@ -87,18 +152,54 @@
<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>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
......@@ -107,9 +208,13 @@
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
......@@ -120,27 +225,59 @@
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
<value> <int>0</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>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</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 encoding="cdata"><![CDATA[
&nbsp;
]]></string> </value>
<value> <string>Thank you</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
......
......@@ -138,7 +138,6 @@ context.Base_redirect(\'WebSite_login\', \\\n
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
......
......@@ -88,7 +88,7 @@
<key> <string>left</string> </key>
<value>
<list>
<string>Title</string>
<string>form_title</string>
<string>your_first_name</string>
<string>your_last_name</string>
<string>your_default_email_text</string>
......
......@@ -14,7 +14,7 @@
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>label_header</string> </value>
<value> <string>form_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
......@@ -106,13 +106,13 @@
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
<value> <string>hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string encoding="cdata"><![CDATA[
<h1> My Orders </h1>
<h2> Register your new account </h2>
]]></string> </value>
</item>
......@@ -138,7 +138,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>My label</string> </value>
<value> <string>Title</string> </value>
</item>
</dictionary>
</value>
......
......@@ -130,7 +130,7 @@
</item>
<item>
<key> <string>default</string> </key>
<value> <string>Submit</string> </value>
<value> <string>Create</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......
......@@ -61,14 +61,17 @@
isAnon mtool/isAnonymousUser|nothing;">\n
<tal:block tal:condition="isAnon">\n
<tal:block tal:define="dummy python: response.expireCookie(\'__ac\', path=\'/\');\n
url python: \'%s?portal_status_message=%s\' % (request.get(\'came_from\'), here.getPortalObject().Localizer.translate(\'ui\', \'Login+and/or+password+is+incorrect.\'));\n
url python: \'%s?portal_status_message=%s\' % (request.get(\'came_from\'), here.Base_translateString(\'Login+and/or+password+is+incorrect.\'));\n
dummy python: response.redirect(url);"/>\n
\n
</tal:block>\n
<tal:block tal:condition="not: isAnon">\n
<tal:block tal:define="came_from python: request.get(\'came_from\') or here.portal_url() + \'/view\';\n
dummy python: response.redirect(came_from);" />\n
dummy python: response.redirect(\'%s?portal_status_message=%s\' \n
%(came_from, here.Base_translateString(\'Login+successful.\')));" />\n
</tal:block>\n
</tal:block>
</tal:block>\n
]]></string> </value>
</item>
......
......@@ -52,45 +52,57 @@
\n
<tal:block tal:define="isAnon here/portal_membership/isAnonymousUser">\n
<tal:block tal:condition="isAnon">\n
<p class="article">You\'re not logged in.</p>\n
<p class="article">I have an account:</p>\n
<form action="WebSite_login">\n
<p class="article">\n
<span tal:replace="python: here.Base_translateString(\'You are not logged in\')"/>\n
</p>\n
<p class="article">\n
<a class="articlelink" href="product_module/WebSite_joinForm">\n
&#149; <span tal:replace="python: here.Base_translateString(\'I want to create an account\')"/>\n
</a>\n
</p>\n
\n
<table>\n
<tr>\n
<td class="article">Username:</td>\n
<td class="article"><span tal:replace="python: here.Base_translateString(\'Username\')"/>:</td>\n
<td><input name="__ac_name" size="10" tal:attributes="value python: request.get(\'__ac_name\') or \'\'"/></td>\n
</tr>\n
<tr>\n
<td class="article">Password:</td>\n
<td><input type="password" name="__ac_password" size="10"/></td>\n
<td class="article"><span tal:replace="python: here.Base_translateString(\'Password\')"/>:</td>\n
<td><input type="password" name="__ac_password" size="10" class="input"/></td>\n
</tr>\n
<tr>\n
<td><input type="hidden" name="came_from" tal:attributes="value here/absolute_url"/>\n
<input type="hidden" name="__ac_persistent" value="1"/>\n
<input type="submit" value="Login" />\n
<input type="submit" value="Login" name="WebSite_login:method"/>\n
</td>\n
</tr>\n
</table>\n
</form>\n
\n
<a class="articlelink" href="WebSite_joinForm"> I want to create an account</a><br/>\n
\n
</tal:block>\n
\n
<tal:block tal:condition="not: isAnon"\n
tal:define="customer here/SaleOrder_getShoppingCartCustomer;\n
website here/getWebSiteValue">\n
\n
<p class="article">Hello, <span tal:replace="customer/getTitle"/></p>\n
<p class="article">\n
<b><span tal:replace="python: here.Base_translateString(\'Hello\')"/>, <span tal:replace="customer/getTitle"/></b>\n
</p>\n
<a class="articlelink" \n
tal:attributes="href python: \'%s/SaleOrderModule_viewAsWebSaleOrderList\' %website.absolute_url()">My orders</a>\n
tal:attributes="href python: \'%s/SaleOrderModule_viewAsWebSaleOrderList\' %website.sale_order_module.absolute_url()">\n
<span tal:replace="python: here.Base_translateString(\'My Orders\')"/>\n
</a> &nbsp;\n
<a class="articlelink" \n
tal:attributes="href python: \'%s/%s/Person_viewAsWeb\' %(website.absolute_url(), customer.getRelativeUrl())"> My account </a> \n
tal:attributes="href python: \'%s/%s/view?editable_mode:int=1\' %(website.absolute_url(), customer.getRelativeUrl())"> \n
<span tal:replace="python: here.Base_translateString(\'My Account\')"/>\n
</a> &nbsp;\n
<a class="articlelink" \n
tal:attributes="href python: \'%s/WebSite_logout\' %website.absolute_url()"> Log out</a><br/>\n
tal:attributes="href python: \'%s/WebSite_logout\' %website.absolute_url()">\n
<span tal:replace="python: here.Base_translateString(\'Logout\')"/>\n
</a>\n
<br/>\n
</tal:block>\n
\n
</tal:block>
</tal:block>\n
]]></string> </value>
</item>
......
60
\ No newline at end of file
65
\ 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