Commit b87c6970 authored by Romain Courteaud's avatar Romain Courteaud

Give shadow user access to payzen event.

parent 880a0298
<type_roles>
<role id='Assignor'>
<property id='title'>Group company</property>
<multi_property id='category'>group/company</multi_property>
<multi_property id='base_category'>group</multi_property>
</role>
<role id='Auditor'>
<property id='title'>Shadow User</property>
<property id='condition'>python: here.getDestinationSection('', portal_type='Person') != ''</property>
<property id='base_category_script'>PaymentTransactionType_getSecurityCategoryFromUser</property>
<multi_property id='base_category'>aggregate</multi_property>
</role>
</type_roles>
\ No newline at end of file
...@@ -19,6 +19,10 @@ ...@@ -19,6 +19,10 @@
<type>Payment Transaction</type> <type>Payment Transaction</type>
<workflow>local_permission_slapos_interaction_workflow</workflow> <workflow>local_permission_slapos_interaction_workflow</workflow>
</chain> </chain>
<chain>
<type>Payzen Event</type>
<workflow>local_permission_slapos_interaction_workflow</workflow>
</chain>
<chain> <chain>
<type>Person</type> <type>Person</type>
<workflow>local_permission_slapos_interaction_workflow</workflow> <workflow>local_permission_slapos_interaction_workflow</workflow>
......
...@@ -1417,3 +1417,30 @@ class TestSystemEventModule(TestSlapOSGroupRoleSecurityMixin): ...@@ -1417,3 +1417,30 @@ class TestSystemEventModule(TestSlapOSGroupRoleSecurityMixin):
self.assertRoles(module, 'R-SHADOW-PERSON', ['Author']) self.assertRoles(module, 'R-SHADOW-PERSON', ['Author'])
self.assertRoles(module, 'G-COMPANY', ['Auditor', 'Author']) self.assertRoles(module, 'G-COMPANY', ['Auditor', 'Author'])
self.assertRoles(module, 'ERP5TypeTestCase', ['Owner']) self.assertRoles(module, 'ERP5TypeTestCase', ['Owner'])
class TestPayzenEvent(TestSlapOSGroupRoleSecurityMixin):
def test_GroupCompany(self):
product = self.portal.system_event_module.newContent(
portal_type='Payzen Event')
product.updateLocalRolesOnSecurityGroups()
self.assertSecurityGroup(product,
['G-COMPANY', self.user_id], False)
self.assertRoles(product, 'G-COMPANY', ['Assignor'])
self.assertRoles(product, self.user_id, ['Owner'])
def test_ShadowUser(self):
reference = 'TESTPERSON-%s' % self.generateNewId()
person = self.portal.person_module.newContent(portal_type='Person',
reference=reference)
product = self.portal.system_event_module.newContent(
portal_type='Payzen Event')
product.edit(
destination_section_value=person,
)
product.updateLocalRolesOnSecurityGroups()
shadow_reference = 'SHADOW-%s' % reference
self.assertSecurityGroup(product,
['G-COMPANY', self.user_id, shadow_reference], False)
self.assertRoles(product, 'G-COMPANY', ['Assignor'])
self.assertRoles(product, shadow_reference, ['Auditor'])
self.assertRoles(product, self.user_id, ['Owner'])
...@@ -277,3 +277,19 @@ class TestSlapOSLocalPermissionSlapOSInteractionWorkflow( ...@@ -277,3 +277,19 @@ class TestSlapOSLocalPermissionSlapOSInteractionWorkflow(
self.assertSecurityGroup(payment_transaction, [self.user_id, self.assertSecurityGroup(payment_transaction, [self.user_id,
'G-COMPANY', 'SHADOW-%s' % self.person_user.getReference()], 'G-COMPANY', 'SHADOW-%s' % self.person_user.getReference()],
False) False)
def test_PayzenEvent_setDestinationSection(self):
self._makePerson()
payment_transaction = self.portal.system_event_module.newContent(
portal_type='Payzen Event')
self.assertSecurityGroup(payment_transaction, [self.user_id,
'G-COMPANY'],
False)
payment_transaction.edit(
destination_section=self.person_user.getRelativeUrl())
transaction.commit()
self.assertSecurityGroup(payment_transaction, [self.user_id,
'G-COMPANY', 'SHADOW-%s' % self.person_user.getReference()],
False)
<?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>PayzenEvent_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>Payzen Event</string>
</list>
</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>
132 133
\ No newline at end of file \ No newline at end of file
...@@ -58,6 +58,7 @@ Organisation ...@@ -58,6 +58,7 @@ Organisation
Organisation Module Organisation Module
PDF PDF
Payment Transaction Payment Transaction
Payzen Event
Person Person
Person Module Person Module
Phone Call Phone Call
......
Account Account
Account Module Account Module
Payzen Event
Accounting Period Accounting Period
Accounting Transaction Accounting Transaction
Accounting Transaction Module Accounting Transaction Module
......
...@@ -3,6 +3,7 @@ Computer Network | local_permission_slapos_interaction_workflow ...@@ -3,6 +3,7 @@ Computer Network | local_permission_slapos_interaction_workflow
Computer | local_permission_slapos_interaction_workflow Computer | local_permission_slapos_interaction_workflow
Hosting Subscription | local_permission_slapos_interaction_workflow Hosting Subscription | local_permission_slapos_interaction_workflow
Payment Transaction | local_permission_slapos_interaction_workflow Payment Transaction | local_permission_slapos_interaction_workflow
Payzen Event | local_permission_slapos_interaction_workflow
Person | local_permission_slapos_interaction_workflow Person | local_permission_slapos_interaction_workflow
Slave Instance | local_permission_slapos_interaction_workflow Slave Instance | local_permission_slapos_interaction_workflow
Software Installation | local_permission_slapos_interaction_workflow Software Installation | local_permission_slapos_interaction_workflow
......
<type_roles>
<role id='Author'>
<property id='title'>Member</property>
<multi_property id='category'>role/member</multi_property>
<multi_property id='base_category'>role</multi_property>
</role>
</type_roles>
\ No newline at end of file
9 10
\ No newline at end of file \ No newline at end of file
Business Process Business Process
Business Process Module Business Process Module
Payzen Event \ No newline at end of file
\ No newline at end of file
Business Process Business Process
Business Process Module Business Process Module
Payzen Event \ No newline at end of file
\ No newline at end of file
<base_category_list> <base_category_list>
<portal_type id="Payzen Event"> <portal_type id="Payzen Event">
<item>destination</item> <item>destination</item>
<item>destination_section</item>
<item>source</item> <item>source</item>
</portal_type> </portal_type>
<portal_type id="Payzen Event Message"> <portal_type id="Payzen Event Message">
......
91 92
\ No newline at end of file \ No newline at end of file
Payzen Event Message | predecessor Payzen Event Message | predecessor
Payzen Event | destination Payzen Event | destination
Payzen Event | destination_section
Payzen Event | source Payzen Event | source
\ 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