Before this commit, it was not possible to partially capture a transaction from Odoo, and doing so in the provider backend would often result in a full capture in Odoo when capture was supported. With this commit, partial captures are made available in Odoo directly from the sales order or invoice, for providers that support them. Provider can either only support full capture or also support partial ones. It also optionally managed the automatic void of the remaining amount at the user request when multiple captures are supported by the provider. As of now, the only acquirer allowing partial capture is Adyen. task-2728768 closes odoo/odoo#87251 Related: odoo/enterprise#35205 Related: odoo/documentation#2063 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
53 lines
2.2 KiB
XML
53 lines
2.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo noupdate="1">
|
|
|
|
<!-- Providers -->
|
|
|
|
<record id="payment_provider_company_rule" model="ir.rule">
|
|
<field name="name">Access providers in own companies only</field>
|
|
<field name="model_id" ref="payment.model_payment_provider"/>
|
|
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
|
|
<!-- Transactions -->
|
|
|
|
<record id="payment_transaction_user_rule" model="ir.rule">
|
|
<field name="name">Access own transactions only</field>
|
|
<field name="model_id" ref="payment.model_payment_transaction"/>
|
|
<field name="domain_force">['|', ('partner_id', '=', False), ('partner_id', '=', user.partner_id.id)]</field>
|
|
<field name="groups" eval="[(4, ref('base.group_user')), (4, ref('base.group_portal'))]"/>
|
|
</record>
|
|
|
|
<record id="transaction_company_rule" model="ir.rule">
|
|
<field name="name">Access transactions in own companies only</field>
|
|
<field name="model_id" ref="payment.model_payment_transaction"/>
|
|
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
|
|
<!-- Tokens -->
|
|
|
|
<record id="payment_token_user_rule" model="ir.rule">
|
|
<field name="name">Users can access only their own tokens</field>
|
|
<field name="model_id" ref="payment.model_payment_token"/>
|
|
<field name="domain_force">[('partner_id', '=', user.partner_id.id)]</field>
|
|
<field name="groups" eval="[(4, ref('base.group_user')),
|
|
(4, ref('base.group_portal')),
|
|
(4, ref('base.group_public'))]"/>
|
|
</record>
|
|
|
|
<record id="payment_token_company_rule" model="ir.rule">
|
|
<field name="name">Access tokens in own companies only</field>
|
|
<field name="model_id" ref="payment.model_payment_token"/>
|
|
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
|
|
<!-- Wizards -->
|
|
|
|
<record id="payment_capture_wizard_rule" model="ir.rule">
|
|
<field name="name">Payment Capture Wizard</field>
|
|
<field name="model_id" ref="model_payment_capture_wizard"/>
|
|
<field name="domain_force">[('create_uid', '=', user.id)]</field>
|
|
</record>
|
|
|
|
</odoo>
|