summaryrefslogtreecommitdiff
path: root/addons/adyen_platforms/views
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/adyen_platforms/views
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/adyen_platforms/views')
-rw-r--r--addons/adyen_platforms/views/adyen_account_templates.xml30
-rw-r--r--addons/adyen_platforms/views/adyen_account_views.xml243
-rw-r--r--addons/adyen_platforms/views/adyen_transaction_views.xml36
-rw-r--r--addons/adyen_platforms/views/assets.xml10
4 files changed, 319 insertions, 0 deletions
diff --git a/addons/adyen_platforms/views/adyen_account_templates.xml b/addons/adyen_platforms/views/adyen_account_templates.xml
new file mode 100644
index 00000000..a16df255
--- /dev/null
+++ b/addons/adyen_platforms/views/adyen_account_templates.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <template id="kyc_status_message">
+ <p>New KYC Status: <t- t-esc="kyc_status"/></p>
+ <p t-if="account_holder_messages + shareholder_messages + bank_account_messages">
+ Reason(s):
+ <ul>
+ <li t-if="account_holder_messages" t-foreach="account_holder_messages" t-as="message">
+ <t t-esc="message"/>
+ </li>
+ <li t-if="shareholder_messages">
+ Shareholders:
+ <ul>
+ <li t-foreach="shareholder_messages" t-as="message">
+ <t t-esc="message"/>
+ </li>
+ </ul>
+ </li>
+ <li t-if="bank_account_messages">
+ Bank Accounts:
+ <ul>
+ <li t-foreach="bank_account_messages" t-as="message">
+ <t t-esc="message"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </p>
+ </template>
+</odoo>
diff --git a/addons/adyen_platforms/views/adyen_account_views.xml b/addons/adyen_platforms/views/adyen_account_views.xml
new file mode 100644
index 00000000..d6b650a2
--- /dev/null
+++ b/addons/adyen_platforms/views/adyen_account_views.xml
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="adyen_account_view_form" model="ir.ui.view">
+ <field name="name">adyen.account.view.form</field>
+ <field name="model">adyen.account</field>
+ <field name="arch" type="xml">
+ <form string="Adyen Account" create="false" js_class="adyen_account_form">
+ <header>
+ <field name="kyc_status" widget="statusbar" statusbar_visible="awaiting_data,pending,passed"/>
+ </header>
+ <sheet>
+ <div class="oe_button_box" name="button_box">
+ <button name="action_show_transactions" type="object"
+ class="oe_stat_button" icon="fa-credit-card">
+ <div class="o_stat_info">
+ <field name="transactions_count" class="o_stat_value"/>
+ <span class="o_stat_text"> Transactions</span>
+ </div>
+ </button>
+ </div>
+
+ <group>
+ <field name="adyen_uuid" invisible="1"/>
+
+ <group>
+ <field name="is_business" attrs="{'readonly': [('id', '!=', False)]}"/>
+ </group>
+
+ <group>
+ <field name="company_id" readonly="1"/>
+ </group>
+
+ <group string="Individual" attrs="{'invisible': [('is_business', '=', True)]}">
+ <field name="first_name"
+ attrs="{'required': [('is_business', '=', False)]}"/>
+ <field name="last_name"
+ attrs="{'required': [('is_business', '=', False)]}"/>
+ <field name="date_of_birth"
+ attrs="{'required': [('is_business', '=', False)]}"/>
+ <field name="document_number"
+ attrs="{'invisible': [('country_code', 'not in', ['AU', 'CA', 'GR', 'IT', 'US'])], 'required': [('is_business', '=', False), ('country_id', 'in', ['AU', 'CA', 'GR', 'IT', 'US'])]}"/>
+ <field name="document_type"
+ attrs="{'invisible': [('country_code', '!=', 'AU')], 'required': [('is_business', '=', False), ('country_id', '=', 'AU')]}"/>
+ <field name="id_type" attrs="{'invisible': [('adyen_uuid', '=', False)]}"/>
+ <field name="id_front" filename="id_front_filename" attrs="{'invisible': [('adyen_uuid', '=', False)]}"/>
+ <field name="id_front_filename" invisible="1"/>
+ <field name="id_back" filename="id_back_filename"
+ attrs="{'invisible': [('id_type', 'not in', ['ID_CARD', 'DRIVING_LICENSE'])]}"/>
+ <field name="id_back_filename" invisible="1"/>
+ </group>
+
+ <group string="Business" attrs="{'invisible': [('is_business', '=', False)]}">
+ <field name="legal_business_name"
+ attrs="{'required': [('is_business', '=', True)]}"/>
+ <field name="doing_business_as"
+ attrs="{'required': [('is_business', '=', True)]}"/>
+ <field name="registration_number"
+ attrs="{'required': [('is_business', '=', True)]}"/>
+ </group>
+
+ <group string="Contact">
+ <field name="email" widget="email"/>
+ <field name="phone_number"/>
+ <label for="street" string="Address"/>
+ <div class="o_address_format">
+ <field name="street" placeholder="Street" class="o_address_street"/>
+ <field name="house_number_or_name" placeholder="House number or name" class="o_address_street"/>
+ <field name="city" placeholder="City" class="o_address_city"/>
+ <field name="state_id" class="o_address_state" placeholder="State" options="{'no_open': True, 'no_quick_create': True}"
+ attrs="{'required': [('country_code', 'in', ['AU', 'CA', 'IT', 'US'])]}"/>
+ <field name="state_code" invisible="1"/>
+ <field name="zip" placeholder="ZIP" class="o_address_zip"/>
+ <field name="country_id" placeholder="Country" class="o_address_country" options="{'no_open': True, 'no_create': True}"/>
+ <field name="country_code" invisible="1"/>
+ </div>
+ </group>
+ </group>
+ <notebook attrs="{'invisible': [('adyen_uuid', '=', False)]}">
+ <page string="Shareholders" attrs="{'invisible': [('is_business', '=', False)], 'required': [('is_business', '=', True)]}">
+ <field name="shareholder_ids">
+ <tree>
+ <field name="first_name"/>
+ <field name="last_name"/>
+ <field name="kyc_status" widget="adyen_kyc_status_tag"/>
+ </tree>
+ </field>
+ </page>
+ <page string="Bank Accounts">
+ <field name="bank_account_ids">
+ <tree>
+ <field name="owner_name"/>
+ <field name="iban"/>
+ <field name="account_number"/>
+ <field name="kyc_status" widget="adyen_kyc_status_tag"/>
+ </tree>
+ </field>
+ </page>
+ <page string="Payouts">
+ <field name="payout_ids">
+ <tree>
+ <field name="name"/>
+ <field name="payout_schedule"/>
+ </tree>
+ </field>
+ </page>
+ </notebook>
+ </sheet>
+ <div class="oe_chatter">
+ <field name="message_follower_ids"/>
+ <field name="message_ids"/>
+ </div>
+ </form>
+ </field>
+ </record>
+
+ <record id="adyen_shareholder_view_form" model="ir.ui.view">
+ <field name="name">adyen.shareholder.view.form</field>
+ <field name="model">adyen.shareholder</field>
+ <field name="arch" type="xml">
+ <form string="Adyen Shareholder">
+ <header>
+ <field name="kyc_status" widget="statusbar" statusbar_visible="awaiting_data,pending,passed"/>
+ </header>
+ <sheet>
+ <div class="alert alert-warning" role="alert"
+ attrs="{'invisible': [('kyc_status_message', '=', False)]}">
+ <field name="kyc_status_message"/>
+ </div>
+ <group>
+ <field name="shareholder_uuid" invisible="1"/>
+ <group>
+ <field name="first_name"/>
+ <field name="last_name"/>
+ <field name="date_of_birth"/>
+ </group>
+ <group>
+ <field name="document_number"
+ attrs="{'invisible': [('country_code', 'not in', ['IT', 'US'])], 'required': [('country_code', 'in', ['IT', 'US'])]}"/>
+ <field name="id_type" attrs="{'invisible': [('shareholder_uuid', '=', False)]}"/>
+ <field name="id_front" filename="id_front_filename" attrs="{'invisible': [('shareholder_uuid', '=', False)]}"/>
+ <field name="id_front_filename" invisible="1"/>
+ <field name="id_back" filename="id_back_filename"
+ attrs="{'required': [('id_type', 'in', ['ID_CARD', 'DRIVING_LICENSE'])], 'invisible': [('id_type', 'not in', ['ID_CARD', 'DRIVING_LICENSE'])]}"/>
+ <field name="id_back_filename" invisible="1"/>
+ </group>
+ <group>
+ <label for="street" string="Address"/>
+ <div class="o_address_format">
+ <field name="street" placeholder="Street" class="o_address_street"/>
+ <field name="house_number_or_name" placeholder="House number or name" class="o_address_street"/>
+ <field name="city" placeholder="City" class="o_address_city"/>
+ <field name="state_id" class="o_address_state" placeholder="State" options="{'no_open': True, 'no_quick_create': True}"
+ attrs="{'required': [('country_code', 'in', ['AU', 'CA', 'IT', 'US'])]}"/>
+ <field name="zip" placeholder="ZIP" class="o_address_zip"/>
+ <field name="country_id" placeholder="Country" class="o_address_country" options="{'no_open': True, 'no_create': True}"/>
+ <field name="country_code" invisible="1"/>
+ </div>
+ </group>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="adyen_bank_account_view_form" model="ir.ui.view">
+ <field name="name">adyen.bank.account.view.form</field>
+ <field name="model">adyen.bank.account</field>
+ <field name="arch" type="xml">
+ <form string="Adyen Bank Account">
+ <header>
+ <field name="kyc_status" widget="statusbar" statusbar_visible="awaiting_data,pending,passed"/>
+ </header>
+ <sheet>
+ <div class="alert alert-warning" role="alert"
+ attrs="{'invisible': [('kyc_status_message', '=', False)]}">
+ <field name="kyc_status_message"/>
+ </div>
+ <group>
+ <field name="bank_account_uuid" invisible="1"/>
+ <group>
+ <field name="country_id" options='{"no_open": True, "no_create": True}'/>
+ <field name="country_code" invisible="1"/>
+ <field name="currency_id"/>
+ <field name="iban"
+ attrs="{'invisible': [('country_code', 'not in', ['AT', 'BE', 'CH', 'CZ', 'DE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'IE', 'IT', 'LT', 'LU', 'NL', 'PL', 'PT'])],
+ 'required': [('country_code', 'in', ['AT', 'BE', 'CH', 'CZ', 'DE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'IE', 'IT', 'LT', 'LU', 'NL', 'PL', 'PT'])]}"/>
+ <field name="account_type"
+ attrs="{'invisible': [('country_code', '!=', 'US')], 'required': [('country_code', '=', 'US')]}"/>
+ <field name="account_number"
+ attrs="{'invisible': [('country_code', 'not in', ['AU', 'CA', 'US'])], 'required': [('country_code', 'in', ['AU', 'CA', 'US'])]}"/>
+ <field name="branch_code"
+ attrs="{'invisible': [('country_code', 'not in', ['AU', 'CA', 'US'])], 'required': [('country_code', 'in', ['AU', 'CA', 'US'])]}"/>
+ <field name="bank_code"
+ attrs="{'invisible': [('country_code', '!=', 'CA')], 'required': [('country_code', '=', 'CA')]}"/>
+ <field name="bank_statement" filename="bank_statement_filename" attrs="{'invisible': [('bank_account_uuid', '=', False)]}"/>
+ <field name="bank_statement_filename" invisible="1"/>
+ </group>
+ <group>
+ <field name="owner_name"/>
+ <label for="owner_street" string="Owner Address" attrs="{'invisible': [('country_code', 'not in', ['CA', 'US'])]}"/>
+ <div class="o_address_format" attrs="{'invisible': [('country_code', 'not in', ['CA', 'US'])]}">
+ <field name="owner_street" placeholder="Street" class="o_address_street" attrs="{'required': [('country_code', 'in', ['CA', 'US'])]}"/>
+ <field name="owner_house_number_or_name" placeholder="House number or name" class="o_address_street" attrs="{'required': [('country_code', 'in', ['CA', 'US'])]}"/>
+ <field name="owner_city" placeholder="City" class="o_address_city" attrs="{'required': [('country_code', 'in', ['CA', 'US'])]}"/>
+ <field name="owner_state_id" class="o_address_state" placeholder="State" options="{'no_open': True, 'no_quick_create': True}"
+ attrs="{'required': [('country_code', 'in', ['CA', 'US'])]}"/>
+ <field name="owner_zip" placeholder="ZIP" class="o_address_zip" attrs="{'required': [('country_code', 'in', ['CA', 'US'])]}"/>
+ <field name="owner_country_id" placeholder="Country" class="o_address_country" options='{"no_open": True, "no_create": True}'
+ attrs="{'required': [('country_code', 'in', ['CA', 'US'])]}"/>
+ </div>
+ </group>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="adyen_payout_view_form" model="ir.ui.view">
+ <field name="name">adyen.payout.view.form</field>
+ <field name="model">adyen.payout</field>
+ <field name="arch" type="xml">
+ <form string="Adyen Payout">
+ <header>
+ <button name="send_payout_request" string="Request a payout now" class="oe_highlight" type="object" attrs="{'invisible': [('code', '=', False)]}"/>
+ </header>
+ <sheet>
+ <group>
+ <field name="code" invisible="1"/>
+ <field name="name"/>
+ <field name="payout_schedule"/>
+ <field name="adyen_bank_account_id"/>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="adyen_account_action_create" model="ir.actions.act_window">
+ <field name="name">Create an Adyen Account</field>
+ <field name="res_model">adyen.account</field>
+ <field name="view_mode">form</field>
+ </record>
+</odoo>
diff --git a/addons/adyen_platforms/views/adyen_transaction_views.xml b/addons/adyen_platforms/views/adyen_transaction_views.xml
new file mode 100644
index 00000000..667a4d36
--- /dev/null
+++ b/addons/adyen_platforms/views/adyen_transaction_views.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="adyen_transaction_view_form" model="ir.ui.view">
+ <field name="name">adyen.transaction.view.form</field>
+ <field name="model">adyen.transaction</field>
+ <field name="arch" type="xml">
+ <form>
+ <sheet>
+ <group>
+ <field name="reference"/>
+ <field name="amount" widget='monetary'/>
+ <field name="currency_id" invisible="1"/>
+ <field name="date"/>
+ <field name="description"/>
+ <field name="status"/>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="adyen_transaction_view_list" model="ir.ui.view">
+ <field name="name">adyen.transaction.view.list</field>
+ <field name="model">adyen.transaction</field>
+ <field name="arch" type="xml">
+ <tree js_class="adyen_transactions_tree">
+ <field name="reference"/>
+ <field name="amount" widget='monetary'/>
+ <field name="currency_id" invisible="1"/>
+ <field name="date"/>
+ <field name="description"/>
+ <field name="status"/>
+ </tree>
+ </field>
+ </record>
+</odoo>
diff --git a/addons/adyen_platforms/views/assets.xml b/addons/adyen_platforms/views/assets.xml
new file mode 100644
index 00000000..e1d29146
--- /dev/null
+++ b/addons/adyen_platforms/views/assets.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <template id="assets_backend" inherit_id="web.assets_backend" name="Adyen for Platforms Backend Assets">
+ <xpath expr="." position="inside">
+ <script type="text/javascript" src="/adyen_platforms/static/src/js/adyen_account_fields.js"></script>
+ <script type="text/javascript" src="/adyen_platforms/static/src/js/adyen_account_views.js"></script>
+ <script type="text/javascript" src="/adyen_platforms/static/src/js/adyen_transactions.js"></script>
+ </xpath>
+ </template>
+</odoo>