summaryrefslogtreecommitdiff
path: root/addons/auth_oauth/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/auth_oauth/views
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/auth_oauth/views')
-rw-r--r--addons/auth_oauth/views/auth_oauth_templates.xml44
-rw-r--r--addons/auth_oauth/views/auth_oauth_views.xml46
-rw-r--r--addons/auth_oauth/views/res_config_settings_views.xml40
-rw-r--r--addons/auth_oauth/views/res_users_views.xml20
4 files changed, 150 insertions, 0 deletions
diff --git a/addons/auth_oauth/views/auth_oauth_templates.xml b/addons/auth_oauth/views/auth_oauth_templates.xml
new file mode 100644
index 00000000..529bd8f2
--- /dev/null
+++ b/addons/auth_oauth/views/auth_oauth_templates.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <template id="assets_frontend" inherit_id="web.assets_frontend" name="OAuth Providers Assets">
+ <xpath expr="//link[last()]" position="after">
+ <link rel="stylesheet" type="text/scss" href="/auth_oauth/static/src/scss/auth_oauth.scss"/>
+ </xpath>
+ </template>
+
+ <template id="providers" name="OAuth Providers">
+ <t t-if="len(providers) &gt; 0">
+ <em t-attf-class="d-block text-center text-muted small my-#{len(providers) if len(providers) &lt; 3 else 3}">- or -</em>
+ <div class="o_auth_oauth_providers list-group mt-1 mb-1 text-left">
+ <a t-foreach="providers" t-as="p" class="list-group-item list-group-item-action py-2" t-att-href="p['auth_link']">
+ <i t-att-class="p['css_class']"/>
+ <t t-esc="p['body']"/>
+ </a>
+ </div>
+ </t>
+ </template>
+
+ <template id="login" inherit_id="web.login" name="OAuth Login buttons">
+ <xpath expr="//form" position="before">
+ <t t-set="form_small" t-value="True" t-if="len(providers) &gt; 2"/>
+ </xpath>
+ <xpath expr="//div[hasclass('o_login_auth')]" position="inside">
+ <t t-call="auth_oauth.providers"/>
+ </xpath>
+ </template>
+
+ <template id="signup" inherit_id="auth_signup.signup" name="OAuth Signup buttons">
+ <xpath expr="//form" position="before">
+ <t t-set="form_small" t-value="True"/>
+ </xpath>
+ <xpath expr="//div[hasclass('o_login_auth')]" position="inside">
+ <t t-call="auth_oauth.providers"/>
+ </xpath>
+ </template>
+
+ <template id="reset_password" inherit_id="auth_signup.reset_password" name="OAuth Reset Password buttons">
+ <xpath expr="//div[hasclass('o_login_auth')]" position="inside">
+ <t t-call="auth_oauth.providers"/>
+ </xpath>
+ </template>
+</odoo>
diff --git a/addons/auth_oauth/views/auth_oauth_views.xml b/addons/auth_oauth/views/auth_oauth_views.xml
new file mode 100644
index 00000000..1d9fecdc
--- /dev/null
+++ b/addons/auth_oauth/views/auth_oauth_views.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<odoo>
+ <record id="view_oauth_provider_form" model="ir.ui.view">
+ <field name="name">auth.oauth.provider.form</field>
+ <field name="model">auth.oauth.provider</field>
+ <field name="arch" type="xml">
+ <form string="arch">
+ <sheet>
+ <group>
+ <field name="name" />
+ <field name="client_id" />
+ <field name="enabled" />
+ <field name="body" />
+ <field name="css_class" groups="base.group_no_one" />
+ </group>
+ <group>
+ <field name="auth_endpoint" />
+ <field name="scope" />
+ <field name="validation_endpoint" />
+ <field name="data_endpoint" />
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+ <record id="view_oauth_provider_tree" model="ir.ui.view">
+ <field name="name">auth.oauth.provider.tree</field>
+ <field name="model">auth.oauth.provider</field>
+ <field name="arch" type="xml">
+ <tree string="arch">
+ <field name="sequence" widget="handle"/>
+ <field name="name" />
+ <field name="client_id" />
+ <field name="enabled" />
+ </tree>
+ </field>
+ </record>
+ <record id="action_oauth_provider" model="ir.actions.act_window">
+ <field name="name">Providers</field>
+ <field name="res_model">auth.oauth.provider</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+ <menuitem id="menu_oauth_providers" name="OAuth Providers"
+ parent="base.menu_users" sequence="30"
+ action="action_oauth_provider" groups="base.group_no_one"/>
+</odoo>
diff --git a/addons/auth_oauth/views/res_config_settings_views.xml b/addons/auth_oauth/views/res_config_settings_views.xml
new file mode 100644
index 00000000..7bb93d21
--- /dev/null
+++ b/addons/auth_oauth/views/res_config_settings_views.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="res_config_settings_view_form" model="ir.ui.view">
+ <field name="name">res.config.settings.view.form.inherit.auth.oauth</field>
+ <field name="model">res.config.settings</field>
+ <field name="inherit_id" ref="base_setup.res_config_settings_view_form"/>
+ <field name="arch" type="xml">
+ <div id="msg_module_auth_oauth" position="replace">
+ <div class="content-group" attrs="{'invisible': [('module_auth_oauth','=',False)]}">
+ <div class="mt8">
+ <button type="action" name="%(auth_oauth.action_oauth_provider)d" string="OAuth Providers" icon="fa-arrow-right" class="btn-link"/>
+ </div>
+ </div>
+ </div>
+ <div id="module_auth_oauth" position="after">
+ <div class="col-12 col-lg-6 o_setting_box"
+ id="signin_google_setting"
+ attrs="{'invisible': [('module_auth_oauth','=',False)]}">
+ <div class="o_setting_left_pane">
+ <field name="auth_oauth_google_enabled"/>
+ </div>
+ <div class="o_setting_right_pane">
+ <label string="Google Authentication" for="auth_oauth_google_enabled"/>
+ <a href="https://www.odoo.com/documentation/14.0/applications/general/auth/google.html" title="Documentation" class="o_doc_link" target="_blank"></a>
+ <div class="text-muted">
+ Allow users to sign in with their Google account
+ </div>
+ <div class="content-group" attrs="{'invisible': [('auth_oauth_google_enabled','=',False)]}">
+ <div class="row mt16">
+ <label for="auth_oauth_google_client_id" string="Client ID:" class="col-lg-3 o_light_label"/>
+ <field name="auth_oauth_google_client_id" placeholder="e.g. 1234-xyz.apps.googleusercontent.com"/>
+ </div>
+ <a href="https://www.odoo.com/documentation/14.0/applications/general/auth/google.html" target="_blank"><i class="fa fa-fw fa-arrow-right"/>Tutorial</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </field>
+ </record>
+</odoo>
diff --git a/addons/auth_oauth/views/res_users_views.xml b/addons/auth_oauth/views/res_users_views.xml
new file mode 100644
index 00000000..11a12e18
--- /dev/null
+++ b/addons/auth_oauth/views/res_users_views.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="view_users_form" model="ir.ui.view">
+ <field name="name">res.users.form.inherit</field>
+ <field name="model">res.users</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="base.view_users_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//page[@name='access_rights']" position="after">
+ <page string="Oauth" name="oauth">
+ <group>
+ <field name="oauth_provider_id"/>
+ <field name="oauth_uid"/>
+ <field name="oauth_access_token"/>
+ </group>
+ </page>
+ </xpath>
+ </field>
+ </record>
+</odoo>