Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Thomas Gambier
slapos.core
Commits
f75f72a4
Commit
f75f72a4
authored
Nov 05, 2019
by
Thomas Gambier
🚴🏼
Committed by
Rafael Monnerat
Dec 12, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_subscription_request: support Wechat payment
parent
11fc37c3
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
888 additions
and
52 deletions
+888
-52
master/bt5/slapos_configurator/TestTemplateItem/portal_components/test.erp5.testSlapOSConfigurator.py
...tem/portal_components/test.erp5.testSlapOSConfigurator.py
+2
-0
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/PreferenceTool_checkSystemPreferenceConsistency.py
...s_erp5/PreferenceTool_checkSystemPreferenceConsistency.py
+4
-2
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSERP5SkinSelection.py
...ortal_components/test.erp5.testSlapOSERP5SkinSelection.py
+26
-0
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSERP5SkinSelection.xml
...rtal_components/test.erp5.testSlapOSERP5SkinSelection.xml
+1
-0
master/bt5/slapos_erp5/WorkflowTemplateItem/portal_workflow/local_permission_slapos_interaction_workflow/interactions/WechatEvent_edit.xml
...os_interaction_workflow/interactions/WechatEvent_edit.xml
+102
-0
master/bt5/slapos_subscription_request/ExtensionTemplateItem/portal_components/extension.erp5.SlapOSSubscriptionRequest.xml
...l_components/extension.erp5.SlapOSSubscriptionRequest.xml
+1
-0
master/bt5/slapos_subscription_request/PathTemplateItem/accounting_module/slapos_wechat_pre_payment_template.xml
.../accounting_module/slapos_wechat_pre_payment_template.xml
+211
-0
master/bt5/slapos_subscription_request/PathTemplateItem/accounting_module/slapos_wechat_pre_payment_template/1.xml
...ccounting_module/slapos_wechat_pre_payment_template/1.xml
+51
-0
master/bt5/slapos_subscription_request/PathTemplateItem/accounting_module/slapos_wechat_pre_payment_template/2.xml
...ccounting_module/slapos_wechat_pre_payment_template/2.xml
+51
-0
master/bt5/slapos_subscription_request/PathTemplateItem/accounting_module/template_wechat_pre_payment_subscription_sale_invoice_transaction.xml
...hat_pre_payment_subscription_sale_invoice_transaction.xml
+210
-0
master/bt5/slapos_subscription_request/PathTemplateItem/accounting_module/template_wechat_pre_payment_subscription_sale_invoice_transaction/1.xml
...t_pre_payment_subscription_sale_invoice_transaction/1.xml
+121
-0
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequestModule_requestSubscriptionProxy.py
...est/SubscriptionRequestModule_requestSubscriptionProxy.py
+14
-6
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_applyCondition.py
...ubscription_request/SubscriptionRequest_applyCondition.py
+6
-0
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_applyCondition.xml
...bscription_request/SubscriptionRequest_applyCondition.xml
+1
-1
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_createRelatedSaleInvoiceTransaction.py
...ubscriptionRequest_createRelatedSaleInvoiceTransaction.py
+4
-1
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_createRelatedSaleInvoiceTransaction.xml
...bscriptionRequest_createRelatedSaleInvoiceTransaction.xml
+1
-1
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_requestPaymentTransaction.py
..._request/SubscriptionRequest_requestPaymentTransaction.py
+8
-5
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_requestPaymentTransaction.xml
...request/SubscriptionRequest_requestPaymentTransaction.xml
+1
-1
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionAlarm.xml
...rtal_components/test.erp5.testSlapOSSubscriptionAlarm.xml
+1
-0
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionChineseScenario.py
...onents/test.erp5.testSlapOSSubscriptionChineseScenario.py
+1
-1
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.py
...ortal_components/test.erp5.testSlapOSSubscriptionSkins.py
+59
-27
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.xml
...rtal_components/test.erp5.testSlapOSSubscriptionSkins.xml
+2
-6
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSTrialAlarm.xml
...Item/portal_components/test.erp5.testSlapOSTrialAlarm.xml
+1
-0
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSTrialScenario.xml
...m/portal_components/test.erp5.testSlapOSTrialScenario.xml
+1
-0
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSTrialSkins.xml
...Item/portal_components/test.erp5.testSlapOSTrialSkins.xml
+1
-0
master/bt5/slapos_subscription_request/bt/dependency_list
master/bt5/slapos_subscription_request/bt/dependency_list
+3
-1
master/bt5/slapos_subscription_request/bt/template_path_list
master/bt5/slapos_subscription_request/bt/template_path_list
+4
-0
No files found.
master/bt5/slapos_configurator/TestTemplateItem/portal_components/test.erp5.testSlapOSConfigurator.py
View file @
f75f72a4
...
@@ -258,6 +258,7 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
...
@@ -258,6 +258,7 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
'erp5_secure_payment'
,
'erp5_secure_payment'
,
'erp5_security_uid_innodb_catalog'
,
'erp5_security_uid_innodb_catalog'
,
'erp5_payzen_secure_payment'
,
'erp5_payzen_secure_payment'
,
'erp5_wechat_secure_payment'
,
'erp5_ooo_import'
,
'erp5_ooo_import'
,
'erp5_odt_style'
,
'erp5_odt_style'
,
'erp5_ods_style'
,
'erp5_ods_style'
,
...
@@ -324,6 +325,7 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
...
@@ -324,6 +325,7 @@ class TestSlapOSConfigurator(SlapOSTestCaseMixin):
'slapos_crm'
,
'slapos_crm'
,
'slapos_accounting'
,
'slapos_accounting'
,
'slapos_payzen'
,
'slapos_payzen'
,
'slapos_wechat'
,
'slapos_web'
,
'slapos_web'
,
'slapos_web_deploy'
,
'slapos_web_deploy'
,
'slapos_erp5'
,
'slapos_erp5'
,
...
...
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_erp5/PreferenceTool_checkSystemPreferenceConsistency.py
View file @
f75f72a4
...
@@ -13,8 +13,10 @@ error_list = []
...
@@ -13,8 +13,10 @@ error_list = []
preference_method_list
=
[
preference_method_list
=
[
"getPreferredHateoasUrl"
,
"getPreferredHateoasUrl"
,
"getPreferredPayzenPaymentServiceReference"
,
"getPreferredPayzenPaymentServiceReference"
,
"getPreferredPayzenIntegrationSite"
"getPreferredPayzenIntegrationSite"
,
"getPreferredWechatPaymentServiceReference"
,
"getPreferredWechatIntegrationSite"
]
]
for
method_id
in
preference_method_list
:
for
method_id
in
preference_method_list
:
...
...
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSERP5SkinSelection.py
View file @
f75f72a4
...
@@ -133,6 +133,7 @@ slapos_payzen
...
@@ -133,6 +133,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_web_redirect_assist
erp5_web_redirect_assist
erp5_km
erp5_km
...
@@ -210,6 +211,7 @@ erp5_web_minimal_theme
...
@@ -210,6 +211,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
erp5_xhtml_style
erp5_xhtml_style
external_method
external_method
...
@@ -248,6 +250,7 @@ slapos_payzen
...
@@ -248,6 +250,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_km
erp5_km
erp5_knowledge_pad
erp5_knowledge_pad
...
@@ -325,6 +328,7 @@ erp5_web_minimal_theme
...
@@ -325,6 +328,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
external_method
external_method
Images
Images
...
@@ -363,6 +367,7 @@ slapos_payzen
...
@@ -363,6 +367,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_km
erp5_km
erp5_knowledge_pad
erp5_knowledge_pad
...
@@ -439,6 +444,7 @@ erp5_web_minimal_theme
...
@@ -439,6 +444,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
external_method
external_method
Images
Images
...
@@ -474,6 +480,7 @@ slapos_payzen
...
@@ -474,6 +480,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_km
erp5_km
erp5_knowledge_pad
erp5_knowledge_pad
...
@@ -552,6 +559,7 @@ erp5_web_minimal_theme
...
@@ -552,6 +559,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
erp5_xhtml_style
erp5_xhtml_style
external_method
external_method
...
@@ -588,6 +596,7 @@ slapos_payzen
...
@@ -588,6 +596,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_km
erp5_km
erp5_km_theme
erp5_km_theme
...
@@ -667,6 +676,7 @@ erp5_web_minimal_theme
...
@@ -667,6 +676,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
erp5_xhtml_style
erp5_xhtml_style
external_method
external_method
...
@@ -703,6 +713,7 @@ slapos_payzen
...
@@ -703,6 +713,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_commerce_multiflex_layout
erp5_commerce_multiflex_layout
erp5_km
erp5_km
...
@@ -780,6 +791,7 @@ erp5_web_minimal_theme
...
@@ -780,6 +791,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
external_method
external_method
Images
Images
...
@@ -815,6 +827,7 @@ slapos_payzen
...
@@ -815,6 +827,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_km
erp5_km
erp5_web_download_theme
erp5_web_download_theme
...
@@ -892,6 +905,7 @@ erp5_web_minimal_theme
...
@@ -892,6 +905,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
erp5_xhtml_style
erp5_xhtml_style
external_method
external_method
...
@@ -928,6 +942,7 @@ slapos_payzen
...
@@ -928,6 +942,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_km
erp5_km
erp5_knowledge_pad
erp5_knowledge_pad
...
@@ -1005,6 +1020,7 @@ erp5_web_minimal_theme
...
@@ -1005,6 +1020,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
external_method
external_method
Images
Images
...
@@ -1040,6 +1056,7 @@ slapos_payzen
...
@@ -1040,6 +1056,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_km
erp5_km
erp5_knowledge_pad
erp5_knowledge_pad
...
@@ -1117,6 +1134,7 @@ erp5_web_minimal_theme
...
@@ -1117,6 +1134,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
external_method
external_method
Images
Images
...
@@ -1153,6 +1171,7 @@ slapos_payzen
...
@@ -1153,6 +1171,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_rss_style
erp5_rss_style
erp5_km
erp5_km
...
@@ -1230,6 +1249,7 @@ erp5_web_minimal_theme
...
@@ -1230,6 +1249,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
external_method
external_method
Images
Images
...
@@ -1265,6 +1285,7 @@ slapos_payzen
...
@@ -1265,6 +1285,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_web_shacache
erp5_web_shacache
erp5_km
erp5_km
...
@@ -1343,6 +1364,7 @@ erp5_web_minimal_theme
...
@@ -1343,6 +1364,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
erp5_xhtml_style
erp5_xhtml_style
external_method
external_method
...
@@ -1379,6 +1401,7 @@ slapos_payzen
...
@@ -1379,6 +1401,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_web_shadir
erp5_web_shadir
erp5_km
erp5_km
...
@@ -1457,6 +1480,7 @@ erp5_web_minimal_theme
...
@@ -1457,6 +1480,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
erp5_xhtml_style
erp5_xhtml_style
external_method
external_method
...
@@ -1495,6 +1519,7 @@ slapos_payzen
...
@@ -1495,6 +1519,7 @@ slapos_payzen
slapos_pdm
slapos_pdm
slapos_simulation
slapos_simulation
slapos_slap_tool
slapos_slap_tool
slapos_wechat
slapos_configurator
slapos_configurator
erp5_km
erp5_km
erp5_knowledge_pad
erp5_knowledge_pad
...
@@ -1571,6 +1596,7 @@ erp5_web_minimal_theme
...
@@ -1571,6 +1596,7 @@ erp5_web_minimal_theme
erp5_web_renderjs
erp5_web_renderjs
erp5_web_service
erp5_web_service
erp5_web_widget_library
erp5_web_widget_library
erp5_wechat_secure_payment
erp5_workflow
erp5_workflow
external_method
external_method
Images
Images
...
...
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSERP5SkinSelection.xml
View file @
f75f72a4
...
@@ -117,6 +117,7 @@
...
@@ -117,6 +117,7 @@
</item>
</item>
</dictionary>
</dictionary>
</list>
</list>
<none/>
</tuple>
</tuple>
</pickle>
</pickle>
</record>
</record>
...
...
master/bt5/slapos_erp5/WorkflowTemplateItem/portal_workflow/local_permission_slapos_interaction_workflow/interactions/WechatEvent_edit.xml
0 → 100644
View file @
f75f72a4
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"InteractionDefinition"
module=
"Products.ERP5.Interaction"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
actbox_category
</string>
</key>
<value>
<string>
workflow
</string>
</value>
</item>
<item>
<key>
<string>
actbox_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
actbox_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
activate_script_name
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
after_script_name
</string>
</key>
<value>
<list>
<string>
Base_updateAllLocalRoles
</string>
</list>
</value>
</item>
<item>
<key>
<string>
before_commit_script_name
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
guard
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
WechatEvent_edit
</string>
</value>
</item>
<item>
<key>
<string>
method_id
</string>
</key>
<value>
<list>
<string>
_setDestinationSection.*
</string>
</list>
</value>
</item>
<item>
<key>
<string>
once_per_transaction
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
portal_type_filter
</string>
</key>
<value>
<list>
<string>
Wechat Event
</string>
</list>
</value>
</item>
<item>
<key>
<string>
portal_type_group_filter
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
script_name
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
temporary_document_disallowed
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
2
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_subscription_request/ExtensionTemplateItem/portal_components/extension.erp5.SlapOSSubscriptionRequest.xml
View file @
f75f72a4
...
@@ -117,6 +117,7 @@
...
@@ -117,6 +117,7 @@
</item>
</item>
</dictionary>
</dictionary>
</list>
</list>
<none/>
</tuple>
</tuple>
</pickle>
</pickle>
</record>
</record>
...
...
master/bt5/slapos_subscription_request/PathTemplateItem/accounting_module/slapos_wechat_pre_payment_template.xml
0 → 100644
View file @
f75f72a4
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Payment Transaction"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_Access_contents_information_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Delete_objects_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Modify_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_View_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_count
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_mt_index
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_tree
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
source_payment/organisation_module/slapos/bank_account
</string>
<string>
source_section/organisation_module/slapos
</string>
<string>
price_currency/currency_module/CNY
</string>
<string>
specialise/sale_trade_condition_module/slapos_aggregated_trade_condition
</string>
<string>
resource/currency_module/CNY
</string>
<string>
payment_mode/wechat
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_destination_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
slapos_wechat_pre_payment_template
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Payment Transaction
</string>
</value>
</item>
<item>
<key>
<string>
start_date
</string>
</key>
<value>
<object>
<klass>
<global
id=
"1.1"
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1533254400.0
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
stop_date
</string>
</key>
<value>
<object>
<klass>
<reference
id=
"1.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1533313457.88
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Reservation
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Length"
module=
"BTrees.Length"
/>
</pickle>
<pickle>
<int>
0
</int>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_subscription_request/PathTemplateItem/accounting_module/slapos_wechat_pre_payment_template/1.xml
0 → 100644
View file @
f75f72a4
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Accounting Transaction Line"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
destination/account_module/payable
</string>
<string>
source/account_module/receivable
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
grouping_date
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
grouping_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
1
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Accounting Transaction Line
</string>
</value>
</item>
<item>
<key>
<string>
price
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
quantity
</string>
</key>
<value>
<float>
0.0
</float>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_subscription_request/PathTemplateItem/accounting_module/slapos_wechat_pre_payment_template/2.xml
0 → 100644
View file @
f75f72a4
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Accounting Transaction Line"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
destination/account_module/bank
</string>
<string>
source/account_module/bank
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
grouping_date
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
grouping_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
2
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Accounting Transaction Line
</string>
</value>
</item>
<item>
<key>
<string>
price
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
quantity
</string>
</key>
<value>
<float>
0.0
</float>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_subscription_request/PathTemplateItem/accounting_module/template_wechat_pre_payment_subscription_sale_invoice_transaction.xml
0 → 100644
View file @
f75f72a4
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Sale Invoice Transaction"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_Access_contents_information_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Delete_objects_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Modify_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_View_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_count
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_mt_index
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_tree
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
source_section/organisation_module/slapos
</string>
<string>
payment_mode/payzen
</string>
<string>
specialise/sale_trade_condition_module/slapos_aggregated_trade_condition
</string>
<string>
price_currency/currency_module/CNY
</string>
<string>
resource/currency_module/CNY
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_destination_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
template_wechat_pre_payment_subscription_sale_invoice_transaction
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Sale Invoice Transaction
</string>
</value>
</item>
<item>
<key>
<string>
start_date
</string>
</key>
<value>
<object>
<klass>
<global
id=
"1.1"
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1325376000.0
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
stop_date
</string>
</key>
<value>
<object>
<klass>
<reference
id=
"1.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1326582000.0
</float>
<string>
GMT+1
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
template_wechat_pre_payment_subscription_sale_invoice_transaction
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Length"
module=
"BTrees.Length"
/>
</pickle>
<pickle>
<int>
0
</int>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_subscription_request/PathTemplateItem/accounting_module/template_wechat_pre_payment_subscription_sale_invoice_transaction/1.xml
0 → 100644
View file @
f75f72a4
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Invoice Line"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
use/trade/sale
</string>
<string>
resource/service_module/slapos_reservation_fee
</string>
<string>
quantity_unit/unit/piece
</string>
<string>
base_contribution/base_amount/invoicing
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
1
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
1
</string>
</value>
</item>
<item>
<key>
<string>
index
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
int_index
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Invoice Line
</string>
</value>
</item>
<item>
<key>
<string>
price
</string>
</key>
<value>
<float>
188.0
</float>
</value>
</item>
<item>
<key>
<string>
quantity
</string>
</key>
<value>
<float>
1.0
</float>
</value>
</item>
<item>
<key>
<string>
stop_date
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1326585600.0
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
movement
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequestModule_requestSubscriptionProxy.py
View file @
f75f72a4
...
@@ -27,12 +27,16 @@ subscription_request = context.subscription_request_module.newContent(
...
@@ -27,12 +27,16 @@ subscription_request = context.subscription_request_module.newContent(
subscription_request
.
setDefaultEmailText
(
email
)
subscription_request
.
setDefaultEmailText
(
email
)
target_language
=
context
.
getPortalObject
().
Localizer
.
get_selected_language
()
def
wrapWithShadow
(
subscription_request
,
amount
,
subscription_reference
):
def
wrapWithShadow
(
subscription_request
,
amount
,
subscription_reference
):
subscription_request
.
activate
(
tag
=
"subscription_condition_%s"
%
subscription_request
.
getId
()
subscription_request
.
activate
(
tag
=
"subscription_condition_%s"
%
subscription_request
.
getId
()
).
SubscriptionRequest_applyCondition
(
subscription_reference
)
).
SubscriptionRequest_applyCondition
(
subscription_reference
,
target_language
)
return
subscription_request
.
SubscriptionRequest_requestPaymentTransaction
(
return
subscription_request
.
SubscriptionRequest_requestPaymentTransaction
(
amount
=
amount
,
amount
=
amount
,
tag
=
"subscription_%s"
%
subscription_request
.
getId
())
tag
=
"subscription_%s"
%
subscription_request
.
getId
(),
target_language
=
target_language
)
payment
=
person
.
Person_restrictMethodAsShadowUser
(
payment
=
person
.
Person_restrictMethodAsShadowUser
(
shadow_document
=
person
,
shadow_document
=
person
,
...
@@ -42,8 +46,12 @@ payment = person.Person_restrictMethodAsShadowUser(
...
@@ -42,8 +46,12 @@ payment = person.Person_restrictMethodAsShadowUser(
if
batch_mode
:
if
batch_mode
:
return
{
'subscription'
:
subscription_request
.
getRelativeUrl
(),
'payment'
:
payment
.
getRelativeUrl
()
}
return
{
'subscription'
:
subscription_request
.
getRelativeUrl
(),
'payment'
:
payment
.
getRelativeUrl
()
}
def
wrapRedirectWithShadow
(
payment_transaction
,
web_site
):
if
target_language
==
"zh"
:
# Wechat payment
return
payment_transaction
.
PaymentTransaction_redirectToManualPayzenPayment
(
web_site
)
def
wrapRedirectWithShadow
(
payment_transaction
,
web_site
):
return
payment_transaction
.
PaymentTransaction_redirectToManualWechatPayment
(
web_site
)
else
:
# Payzen payment
def
wrapRedirectWithShadow
(
payment_transaction
,
web_site
):
return
payment_transaction
.
PaymentTransaction_redirectToManualPayzenPayment
(
web_site
)
return
person
.
Person_restrictMethodAsShadowUser
(
return
person
.
Person_restrictMethodAsShadowUser
(
shadow_document
=
person
,
shadow_document
=
person
,
...
...
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_applyCondition.py
View file @
f75f72a4
...
@@ -2,12 +2,18 @@ from zExceptions import Unauthorized
...
@@ -2,12 +2,18 @@ from zExceptions import Unauthorized
if
REQUEST
is
not
None
:
if
REQUEST
is
not
None
:
raise
Unauthorized
raise
Unauthorized
# Set AcceptLanguage in the REQUEST so that getDefaultLanguage() can work
if
target_language
and
context
.
REQUEST
.
get
(
'AcceptLanguage'
):
context
.
REQUEST
[
'AcceptLanguage'
].
set
(
target_language
,
10
)
if
context
.
getSimulationState
()
not
in
[
"draft"
,
"planned"
]:
if
context
.
getSimulationState
()
not
in
[
"draft"
,
"planned"
]:
# Don't modify it anymore
# Don't modify it anymore
return
return
if
subscription_condition_reference
is
not
None
:
if
subscription_condition_reference
is
not
None
:
# It would be better use some clever API here.
# It would be better use some clever API here.
if
target_language
==
"zh"
:
subscription_condition_reference
+=
"_zh"
subscription_condition
=
context
.
portal_catalog
.
getResultValue
(
subscription_condition
=
context
.
portal_catalog
.
getResultValue
(
portal_type
=
"Subscription Condition"
,
portal_type
=
"Subscription Condition"
,
reference
=
subscription_condition_reference
,
reference
=
subscription_condition_reference
,
...
...
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_applyCondition.xml
View file @
f75f72a4
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
_params
</string>
</key>
<key>
<string>
_params
</string>
</key>
<value>
<string>
subscription_condition_reference=None, REQUEST=None
</string>
</value>
<value>
<string>
subscription_condition_reference=None,
target_language=None,
REQUEST=None
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
_proxy_roles
</string>
</key>
<key>
<string>
_proxy_roles
</string>
</key>
...
...
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_createRelatedSaleInvoiceTransaction.py
View file @
f75f72a4
...
@@ -7,7 +7,10 @@ portal = context.getPortalObject()
...
@@ -7,7 +7,10 @@ portal = context.getPortalObject()
current_invoice
=
context
.
getCausalityValue
()
current_invoice
=
context
.
getCausalityValue
()
if
current_invoice
is
None
:
if
current_invoice
is
None
:
invoice_template_path
=
"accounting_module/template_pre_payment_subscription_sale_invoice_transaction"
if
target_language
==
"zh"
:
# Wechat payment
invoice_template_path
=
"accounting_module/template_wechat_pre_payment_subscription_sale_invoice_transaction"
else
:
invoice_template_path
=
"accounting_module/template_pre_payment_subscription_sale_invoice_transaction"
invoice_template
=
portal
.
restrictedTraverse
(
invoice_template_path
)
invoice_template
=
portal
.
restrictedTraverse
(
invoice_template_path
)
current_invoice
=
invoice_template
.
Base_createCloneDocument
(
batch_mode
=
1
)
current_invoice
=
invoice_template
.
Base_createCloneDocument
(
batch_mode
=
1
)
...
...
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_createRelatedSaleInvoiceTransaction.xml
View file @
f75f72a4
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
_params
</string>
</key>
<key>
<string>
_params
</string>
</key>
<value>
<string>
amount, tag, payment, REQUEST=None
</string>
</value>
<value>
<string>
amount, tag, payment,
target_language,
REQUEST=None
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
_proxy_roles
</string>
</key>
<key>
<string>
_proxy_roles
</string>
</key>
...
...
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_requestPaymentTransaction.py
View file @
f75f72a4
...
@@ -8,8 +8,12 @@ current_invoice = context.getCausalityValue()
...
@@ -8,8 +8,12 @@ current_invoice = context.getCausalityValue()
current_payment
=
None
current_payment
=
None
if
current_invoice
is
None
:
if
current_invoice
is
None
:
if
target_language
==
"zh"
:
# Wechat payment, reservation fee is 188 CNY
payment_template
=
portal
.
restrictedTraverse
(
"accounting_module/slapos_pre_payment_template"
)
payment_template
=
portal
.
restrictedTraverse
(
"accounting_module/slapos_wechat_pre_payment_template"
)
quantity
=
int
(
amount
)
*
188
else
:
# Payzen payment, reservation fee is 25 EUR
payment_template
=
portal
.
restrictedTraverse
(
"accounting_module/slapos_pre_payment_template"
)
quantity
=
int
(
amount
)
*
25
current_payment
=
payment_template
.
Base_createCloneDocument
(
batch_mode
=
1
)
current_payment
=
payment_template
.
Base_createCloneDocument
(
batch_mode
=
1
)
current_payment
.
edit
(
current_payment
.
edit
(
...
@@ -22,8 +26,7 @@ if current_invoice is None:
...
@@ -22,8 +26,7 @@ if current_invoice is None:
stop_date
=
DateTime
()
stop_date
=
DateTime
()
)
)
# Hardcoded value for reservation
quantity
=
int
(
amount
)
*
25
for
line
in
current_payment
.
contentValues
():
for
line
in
current_payment
.
contentValues
():
if
line
.
getSource
()
==
"account_module/bank"
:
if
line
.
getSource
()
==
"account_module/bank"
:
line
.
setQuantity
(
-
1
*
quantity
)
line
.
setQuantity
(
-
1
*
quantity
)
...
@@ -39,6 +42,6 @@ if current_invoice is None:
...
@@ -39,6 +42,6 @@ if current_invoice is None:
context
.
reindexObject
(
activate_kw
=
{
'tag'
:
tag
})
context
.
reindexObject
(
activate_kw
=
{
'tag'
:
tag
})
context
.
activate
(
tag
=
tag
).
SubscriptionRequest_createRelatedSaleInvoiceTransaction
(
context
.
activate
(
tag
=
tag
).
SubscriptionRequest_createRelatedSaleInvoiceTransaction
(
amount
,
tag
,
current_payment
.
getRelativeUrl
())
amount
,
tag
,
current_payment
.
getRelativeUrl
()
,
target_language
)
return
current_payment
return
current_payment
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionRequest_requestPaymentTransaction.xml
View file @
f75f72a4
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
_params
</string>
</key>
<key>
<string>
_params
</string>
</key>
<value>
<string>
amount, tag, REQUEST=None
</string>
</value>
<value>
<string>
amount, tag,
target_language,
REQUEST=None
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
_proxy_roles
</string>
</key>
<key>
<string>
_proxy_roles
</string>
</key>
...
...
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionAlarm.xml
View file @
f75f72a4
...
@@ -117,6 +117,7 @@
...
@@ -117,6 +117,7 @@
</item>
</item>
</dictionary>
</dictionary>
</list>
</list>
<none/>
</tuple>
</tuple>
</pickle>
</pickle>
</record>
</record>
...
...
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionChineseScenario.py
View file @
f75f72a4
...
@@ -23,7 +23,7 @@ class TestSlapOSSubscriptionChineseScenario(TestSlapOSSubscriptionScenarioMixin)
...
@@ -23,7 +23,7 @@ class TestSlapOSSubscriptionChineseScenario(TestSlapOSSubscriptionScenarioMixin)
url_string
=
self
.
generateNewSoftwareReleaseUrl
(),
url_string
=
self
.
generateNewSoftwareReleaseUrl
(),
root_slave
=
slave
,
root_slave
=
slave
,
price
=
1888.00
,
price
=
1888.00
,
resource
=
"currency_module/
RMB
"
,
resource
=
"currency_module/
CNY
"
,
default_source_reference
=
"default"
,
default_source_reference
=
"default"
,
reference
=
"rapidvm%s"
%
self
.
new_id
,
reference
=
"rapidvm%s"
%
self
.
new_id
,
# Aggregate and Follow up to web pages for product description and
# Aggregate and Follow up to web pages for product description and
...
...
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.py
View file @
f75f72a4
...
@@ -252,9 +252,6 @@ class TestSubscriptionRequest_saveTransactionalUser(TestSubscriptionSkinsMixin):
...
@@ -252,9 +252,6 @@ class TestSubscriptionRequest_saveTransactionalUser(TestSubscriptionSkinsMixin):
class
TestSubscriptionRequest_createUser
(
TestSubscriptionSkinsMixin
):
class
TestSubscriptionRequest_createUser
(
TestSubscriptionSkinsMixin
):
def
test_SubscriptionRequest_createUser_raises_unauthorized
(
self
):
def
test_SubscriptionRequest_createUser_raises_unauthorized
(
self
):
email
=
"abc%s@nexedi.com"
%
self
.
new_id
name
=
"Cous Cous %s"
%
self
.
new_id
self
.
assertRaises
(
Unauthorized
,
self
.
portal
.
SubscriptionRequest_createUser
,
name
=
"a"
,
email
=
"b"
,
REQUEST
=
self
.
portal
.
REQUEST
)
self
.
assertRaises
(
Unauthorized
,
self
.
portal
.
SubscriptionRequest_createUser
,
name
=
"a"
,
email
=
"b"
,
REQUEST
=
self
.
portal
.
REQUEST
)
def
test_SubscriptionRequest_createUser_already_logged_in
(
self
):
def
test_SubscriptionRequest_createUser_already_logged_in
(
self
):
...
@@ -264,7 +261,6 @@ class TestSubscriptionRequest_createUser(TestSubscriptionSkinsMixin):
...
@@ -264,7 +261,6 @@ class TestSubscriptionRequest_createUser(TestSubscriptionSkinsMixin):
def
test_SubscriptionRequest_createUser_existing_person
(
self
):
def
test_SubscriptionRequest_createUser_existing_person
(
self
):
email
=
"abc%s@nexedi.com"
%
self
.
new_id
email
=
"abc%s@nexedi.com"
%
self
.
new_id
name
=
"Cous Cous %s"
%
self
.
new_id
person
=
self
.
makePerson
()
person
=
self
.
makePerson
()
person
.
setDefaultEmailText
(
email
)
person
.
setDefaultEmailText
(
email
)
self
.
tic
()
self
.
tic
()
...
@@ -273,7 +269,6 @@ class TestSubscriptionRequest_createUser(TestSubscriptionSkinsMixin):
...
@@ -273,7 +269,6 @@ class TestSubscriptionRequest_createUser(TestSubscriptionSkinsMixin):
def
test_SubscriptionRequest_createUser_existing_login
(
self
):
def
test_SubscriptionRequest_createUser_existing_login
(
self
):
email
=
"abc%s@nexedi.com"
%
self
.
new_id
email
=
"abc%s@nexedi.com"
%
self
.
new_id
name
=
"Cous Cous %s"
%
self
.
new_id
person
=
self
.
makePerson
()
person
=
self
.
makePerson
()
erp5_login
=
[
i
for
i
in
person
.
searchFolder
(
portal_type
=
"ERP5 Login"
)][
0
]
erp5_login
=
[
i
for
i
in
person
.
searchFolder
(
portal_type
=
"ERP5 Login"
)][
0
]
...
@@ -455,8 +450,6 @@ class TestSubscriptionRequest_requestPaymentTransaction(TestSubscriptionSkinsMix
...
@@ -455,8 +450,6 @@ class TestSubscriptionRequest_requestPaymentTransaction(TestSubscriptionSkinsMix
subscription_request
=
self
.
newSubscriptionRequest
(
subscription_request
=
self
.
newSubscriptionRequest
(
quantity
=
1
,
destination_section_value
=
person
,
quantity
=
1
,
destination_section_value
=
person
,
price
=
195.5
,
price_currency
=
"currency_module/EUR"
,
default_email_text
=
"abc%s@nexedi.com"
%
self
.
new_id
)
default_email_text
=
"abc%s@nexedi.com"
%
self
.
new_id
)
invoice_template_path
=
"accounting_module/template_pre_payment_subscription_sale_invoice_transaction"
invoice_template_path
=
"accounting_module/template_pre_payment_subscription_sale_invoice_transaction"
...
@@ -466,7 +459,7 @@ class TestSubscriptionRequest_requestPaymentTransaction(TestSubscriptionSkinsMix
...
@@ -466,7 +459,7 @@ class TestSubscriptionRequest_requestPaymentTransaction(TestSubscriptionSkinsMix
subscription_request
.
edit
(
causality_value
=
current_invoice
)
subscription_request
.
edit
(
causality_value
=
current_invoice
)
self
.
assertEqual
(
None
,
self
.
assertEqual
(
None
,
subscription_request
.
SubscriptionRequest_requestPaymentTransaction
(
"1"
,
"xx"
))
subscription_request
.
SubscriptionRequest_requestPaymentTransaction
(
"1"
,
"xx"
,
"en"
))
def
_test_request_payment_transaction
(
self
,
quantity
):
def
_test_request_payment_transaction
(
self
,
quantity
):
email
=
"abc%s@nexedi.com"
%
self
.
new_id
email
=
"abc%s@nexedi.com"
%
self
.
new_id
...
@@ -477,11 +470,9 @@ class TestSubscriptionRequest_requestPaymentTransaction(TestSubscriptionSkinsMix
...
@@ -477,11 +470,9 @@ class TestSubscriptionRequest_requestPaymentTransaction(TestSubscriptionSkinsMix
subscription_request
=
self
.
newSubscriptionRequest
(
subscription_request
=
self
.
newSubscriptionRequest
(
quantity
=
quantity
,
destination_section_value
=
person
,
quantity
=
quantity
,
destination_section_value
=
person
,
price
=
195.5
,
price_currency
=
"currency_module/EUR"
,
default_email_text
=
"abc%s@nexedi.com"
%
self
.
new_id
)
default_email_text
=
"abc%s@nexedi.com"
%
self
.
new_id
)
current_payment
=
subscription_request
.
SubscriptionRequest_requestPaymentTransaction
(
quantity
,
"TAG"
)
current_payment
=
subscription_request
.
SubscriptionRequest_requestPaymentTransaction
(
quantity
,
"TAG"
,
"en"
)
self
.
tic
()
self
.
tic
()
self
.
assertNotEqual
(
None
,
current_payment
)
self
.
assertNotEqual
(
None
,
current_payment
)
self
.
assertEqual
(
current_payment
.
getTitle
(),
"Payment for Reservation Fee"
)
self
.
assertEqual
(
current_payment
.
getTitle
(),
"Payment for Reservation Fee"
)
...
@@ -500,27 +491,76 @@ class TestSubscriptionRequest_requestPaymentTransaction(TestSubscriptionSkinsMix
...
@@ -500,27 +491,76 @@ class TestSubscriptionRequest_requestPaymentTransaction(TestSubscriptionSkinsMix
if
line
.
getSource
()
==
"account_module/receivable"
:
if
line
.
getSource
()
==
"account_module/receivable"
:
self
.
assertEqual
(
line
.
getQuantity
(),
25
*
quantity
)
self
.
assertEqual
(
line
.
getQuantity
(),
25
*
quantity
)
@
simulate
(
'SubscriptionRequest_createRelatedSaleInvoiceTransaction'
,
'amount, tag, payment, REQUEST=None'
,
"""assert REQUEST == None
def
_test_request_payment_transaction_chinese
(
self
,
quantity
):
email
=
"abc%s@nexedi.com"
%
self
.
new_id
name
=
"Cous Cous %s"
%
self
.
new_id
person
,
_
=
self
.
portal
.
SubscriptionRequest_createUser
(
name
=
name
,
email
=
email
)
self
.
tic
()
subscription_request
=
self
.
newSubscriptionRequest
(
quantity
=
quantity
,
destination_section_value
=
person
,
default_email_text
=
"abc%s@nexedi.com"
%
self
.
new_id
)
current_payment
=
subscription_request
.
SubscriptionRequest_requestPaymentTransaction
(
quantity
,
"TAG"
,
"zh"
)
self
.
tic
()
self
.
assertNotEqual
(
None
,
current_payment
)
self
.
assertEqual
(
current_payment
.
getTitle
(),
"Payment for Reservation Fee"
)
self
.
assertEqual
(
current_payment
.
getSourceValue
(),
person
)
self
.
assertEqual
(
current_payment
.
getDestinationValue
(),
person
)
self
.
assertEqual
(
current_payment
.
getDestinationSectionValue
(),
person
)
self
.
assertEqual
(
current_payment
.
getDestinationDecisionValue
(),
person
)
self
.
assertEqual
(
current_payment
.
getDestinationDecisionValue
(),
person
)
self
.
assertNotEqual
(
current_payment
.
getStartDate
(),
None
)
self
.
assertNotEqual
(
current_payment
.
getStopDate
(),
None
)
self
.
assertEqual
(
current_payment
.
getSimulationState
(),
"started"
)
for
line
in
current_payment
.
contentValues
():
if
line
.
getSource
()
==
"account_module/bank"
:
self
.
assertEqual
(
line
.
getQuantity
(),
-
188
*
quantity
)
if
line
.
getSource
()
==
"account_module/receivable"
:
self
.
assertEqual
(
line
.
getQuantity
(),
188
*
quantity
)
@
simulate
(
'SubscriptionRequest_createRelatedSaleInvoiceTransaction'
,
'amount, tag, payment, target_language, REQUEST=None'
,
"""assert REQUEST == None
assert payment
assert payment
assert amount == 1
assert amount == 1
assert tag == 'TAG'"""
)
assert tag == 'TAG'
assert target_language == 'en'"""
)
def
test_request_payment_transaction_q1
(
self
):
def
test_request_payment_transaction_q1
(
self
):
self
.
_test_request_payment_transaction
(
quantity
=
1
)
self
.
_test_request_payment_transaction
(
quantity
=
1
)
@
simulate
(
'SubscriptionRequest_createRelatedSaleInvoiceTransaction'
,
'amount, tag, payment, REQUEST=None'
,
"""assert REQUEST == None
@
simulate
(
'SubscriptionRequest_createRelatedSaleInvoiceTransaction'
,
'amount, tag, payment,
target_language,
REQUEST=None'
,
"""assert REQUEST == None
assert payment
assert payment
assert amount == 2
assert amount == 2
assert tag == 'TAG'"""
)
assert tag == 'TAG'
assert target_language == 'en'"""
)
def
test_request_payment_transaction_q2
(
self
):
def
test_request_payment_transaction_q2
(
self
):
self
.
_test_request_payment_transaction
(
quantity
=
2
)
self
.
_test_request_payment_transaction
(
quantity
=
2
)
@
simulate
(
'SubscriptionRequest_createRelatedSaleInvoiceTransaction'
,
'amount, tag, payment, REQUEST=None'
,
"""assert REQUEST == None
@
simulate
(
'SubscriptionRequest_createRelatedSaleInvoiceTransaction'
,
'amount, tag, payment,
target_language,
REQUEST=None'
,
"""assert REQUEST == None
assert payment
assert payment
assert amount == 10
assert amount == 10
assert tag == 'TAG'"""
)
assert tag == 'TAG'
assert target_language == 'en'"""
)
def
test_request_payment_transaction_q10
(
self
):
def
test_request_payment_transaction_q10
(
self
):
self
.
_test_request_payment_transaction
(
quantity
=
10
)
self
.
_test_request_payment_transaction
(
quantity
=
10
)
@
simulate
(
'SubscriptionRequest_createRelatedSaleInvoiceTransaction'
,
'amount, tag, payment, target_language, REQUEST=None'
,
"""assert REQUEST == None
assert payment
assert amount == 1
assert tag == 'TAG'
assert target_language == 'zh'"""
)
def
test_request_payment_transaction_chinese_q1
(
self
):
self
.
_test_request_payment_transaction_chinese
(
quantity
=
1
)
@
simulate
(
'SubscriptionRequest_createRelatedSaleInvoiceTransaction'
,
'amount, tag, payment, target_language, REQUEST=None'
,
"""assert REQUEST == None
assert payment
assert amount == 10
assert tag == 'TAG'
assert target_language == 'zh'"""
)
def
test_request_payment_transaction_chinese_q10
(
self
):
self
.
_test_request_payment_transaction_chinese
(
quantity
=
10
)
class
TestSubscriptionRequest_createRelatedSaleInvoiceTransaction
(
TestSubscriptionSkinsMixin
):
class
TestSubscriptionRequest_createRelatedSaleInvoiceTransaction
(
TestSubscriptionSkinsMixin
):
def
test_invoice_already_created
(
self
):
def
test_invoice_already_created
(
self
):
...
@@ -532,8 +572,6 @@ class TestSubscriptionRequest_createRelatedSaleInvoiceTransaction(TestSubscripti
...
@@ -532,8 +572,6 @@ class TestSubscriptionRequest_createRelatedSaleInvoiceTransaction(TestSubscripti
subscription_request
=
self
.
newSubscriptionRequest
(
subscription_request
=
self
.
newSubscriptionRequest
(
quantity
=
1
,
destination_section_value
=
person
,
quantity
=
1
,
destination_section_value
=
person
,
price
=
195.5
,
price_currency
=
"currency_module/EUR"
,
default_email_text
=
"abc%s@nexedi.com"
%
self
.
new_id
)
default_email_text
=
"abc%s@nexedi.com"
%
self
.
new_id
)
invoice_template_path
=
"accounting_module/template_pre_payment_subscription_sale_invoice_transaction"
invoice_template_path
=
"accounting_module/template_pre_payment_subscription_sale_invoice_transaction"
...
@@ -543,7 +581,7 @@ class TestSubscriptionRequest_createRelatedSaleInvoiceTransaction(TestSubscripti
...
@@ -543,7 +581,7 @@ class TestSubscriptionRequest_createRelatedSaleInvoiceTransaction(TestSubscripti
subscription_request
.
edit
(
causality_value
=
current_invoice
)
subscription_request
.
edit
(
causality_value
=
current_invoice
)
self
.
assertEqual
(
current_invoice
,
self
.
assertEqual
(
current_invoice
,
subscription_request
.
SubscriptionRequest_createRelatedSaleInvoiceTransaction
(
1
,
"xx"
,
"___payment__"
))
subscription_request
.
SubscriptionRequest_createRelatedSaleInvoiceTransaction
(
1
,
"xx"
,
"___payment__"
,
"en"
))
def
_test_creation_of_related_sale_invoice_transaction
(
self
,
quantity
):
def
_test_creation_of_related_sale_invoice_transaction
(
self
,
quantity
):
...
@@ -555,13 +593,11 @@ class TestSubscriptionRequest_createRelatedSaleInvoiceTransaction(TestSubscripti
...
@@ -555,13 +593,11 @@ class TestSubscriptionRequest_createRelatedSaleInvoiceTransaction(TestSubscripti
subscription_request
=
self
.
newSubscriptionRequest
(
subscription_request
=
self
.
newSubscriptionRequest
(
quantity
=
quantity
,
destination_section_value
=
person
,
quantity
=
quantity
,
destination_section_value
=
person
,
price
=
195.5
,
price_currency
=
"currency_module/EUR"
,
default_email_text
=
"abc%s@nexedi.com"
%
self
.
new_id
)
default_email_text
=
"abc%s@nexedi.com"
%
self
.
new_id
)
# The SubscriptionRequest_createRelatedSaleInvoiceTransaction is invoked up, as it proven on
# The SubscriptionRequest_createRelatedSaleInvoiceTransaction is invoked up, as it proven on
# test TestSubscriptionRequest_requestPaymentTransaction, so let's keep it simple, and just reinvoke
# test TestSubscriptionRequest_requestPaymentTransaction, so let's keep it simple, and just reinvoke
current_payment
=
subscription_request
.
SubscriptionRequest_requestPaymentTransaction
(
quantity
,
"TAG"
)
current_payment
=
subscription_request
.
SubscriptionRequest_requestPaymentTransaction
(
quantity
,
"TAG"
,
"en"
)
self
.
tic
()
self
.
tic
()
...
@@ -612,8 +648,6 @@ class SubscriptionRequest_processRequest(TestSubscriptionSkinsMixin):
...
@@ -612,8 +648,6 @@ class SubscriptionRequest_processRequest(TestSubscriptionSkinsMixin):
<parameter id="zz">yy</parameter>
<parameter id="zz">yy</parameter>
</instance>"""
,
</instance>"""
,
root_slave
=
False
,
root_slave
=
False
,
price
=
99.9
,
price_currency
=
"currency_module/EUR"
,
source_reference
=
"test_for_test_123"
)
source_reference
=
"test_for_test_123"
)
subscription_request
.
plan
()
subscription_request
.
plan
()
subscription_request
.
order
()
subscription_request
.
order
()
...
@@ -637,8 +671,6 @@ class SubscriptionRequest_processRequest(TestSubscriptionSkinsMixin):
...
@@ -637,8 +671,6 @@ class SubscriptionRequest_processRequest(TestSubscriptionSkinsMixin):
<parameter id="zz">yy</parameter>
<parameter id="zz">yy</parameter>
</instance>"""
,
</instance>"""
,
root_slave
=
False
,
root_slave
=
False
,
price
=
99.9
,
price_currency
=
"currency_module/EUR"
,
source_reference
=
"test_for_test_123"
)
source_reference
=
"test_for_test_123"
)
self
.
tic
()
self
.
tic
()
...
...
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.xml
View file @
f75f72a4
...
@@ -45,12 +45,7 @@
...
@@ -45,12 +45,7 @@
<item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<value>
<tuple>
<tuple/>
<string>
W:255, 4: Unused variable \'email\' (unused-variable)
</string>
<string>
W:256, 4: Unused variable \'name\' (unused-variable)
</string>
<string>
W:267, 4: Unused variable \'name\' (unused-variable)
</string>
<string>
W:276, 4: Unused variable \'name\' (unused-variable)
</string>
</tuple>
</value>
</value>
</item>
</item>
<item>
<item>
...
@@ -122,6 +117,7 @@
...
@@ -122,6 +117,7 @@
</item>
</item>
</dictionary>
</dictionary>
</list>
</list>
<none/>
</tuple>
</tuple>
</pickle>
</pickle>
</record>
</record>
...
...
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSTrialAlarm.xml
View file @
f75f72a4
...
@@ -117,6 +117,7 @@
...
@@ -117,6 +117,7 @@
</item>
</item>
</dictionary>
</dictionary>
</list>
</list>
<none/>
</tuple>
</tuple>
</pickle>
</pickle>
</record>
</record>
...
...
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSTrialScenario.xml
View file @
f75f72a4
...
@@ -124,6 +124,7 @@
...
@@ -124,6 +124,7 @@
</item>
</item>
</dictionary>
</dictionary>
</list>
</list>
<none/>
</tuple>
</tuple>
</pickle>
</pickle>
</record>
</record>
...
...
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSTrialSkins.xml
View file @
f75f72a4
...
@@ -117,6 +117,7 @@
...
@@ -117,6 +117,7 @@
</item>
</item>
</dictionary>
</dictionary>
</list>
</list>
<none/>
</tuple>
</tuple>
</pickle>
</pickle>
</record>
</record>
...
...
master/bt5/slapos_subscription_request/bt/dependency_list
View file @
f75f72a4
erp5_commerce
erp5_commerce
\ No newline at end of file
slapos_payzen
slapos_wechat
\ No newline at end of file
master/bt5/slapos_subscription_request/bt/template_path_list
View file @
f75f72a4
accounting_module/slapos_pre_payment_template
accounting_module/slapos_pre_payment_template
accounting_module/slapos_pre_payment_template/**
accounting_module/slapos_pre_payment_template/**
accounting_module/slapos_wechat_pre_payment_template
accounting_module/slapos_wechat_pre_payment_template/**
accounting_module/template_pre_payment_subscription_sale_invoice_transaction
accounting_module/template_pre_payment_subscription_sale_invoice_transaction
accounting_module/template_pre_payment_subscription_sale_invoice_transaction/**
accounting_module/template_pre_payment_subscription_sale_invoice_transaction/**
accounting_module/template_wechat_pre_payment_subscription_sale_invoice_transaction
accounting_module/template_wechat_pre_payment_subscription_sale_invoice_transaction/**
notification_message_module/slapos-free-trial-token
notification_message_module/slapos-free-trial-token
portal_alarms/slapos_subscription_request_process_**
portal_alarms/slapos_subscription_request_process_**
portal_alarms/slapos_trial_process_**
portal_alarms/slapos_trial_process_**
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment