import controllers
import res_users
+import oauth_providers
'depends': ['base', 'web'],
'data': [
],
+ 'update_xml': [
+ 'oauth_providers.xml'
+ ],
'js': [
'static/src/js/auth_oauth.js',
],
--- /dev/null
+from openerp.osv import osv, fields
+
+class oauth_providers(osv.osv):
+
+ """Class defining the configuration values of an OAuth2 provider"""
+
+ _name = 'oauth.providers'
+ _description = 'OAuth2 provider'
+ _order = 'name'
+
+ _columns = {
+ 'name' : fields.char('Provider name', required=True), # Name of the OAuth2 entity, Google, LinkedIn, etc
+ 'client_id' : fields.char('Client ID', required=True), # Our identifier
+ 'auth_endpoint' : fields.char('Authentication URL', required=True), # OAuth provider URL to authenticate users
+ 'scope' : fields.char('Accessed user data'), # OAUth user data desired to access
+ 'validation_endpoint' : fields.char('Validation URL'), # OAuth provider URL to validate tokens
+ 'icon_url' : fields.char('Icon'), # URL of the icon's provider
+ 'active' : fields.boolean('Active'),
+ 'sequence' : fields.integer(),
+ }
+
+ _sql_constraints = [
+ ('name', 'unique(name)', 'The name of the OAuth provider must be unique')
+ ]
+
+oauth_providers()
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<openerp>
+ <data>
+ <menuitem id="menu_oauth_provider" parent="base.menu_administration" name="OAuth2 Settings" action="" sequence="100" />
+ <record model="ir.ui.view" id="view_oauth_provider_form">
+ <field name="name">oauth.provider.form</field>
+ <field name="model">oauth.providers</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="arch" version="7.0">
+ <header>
+
+ </header>
+ <sheet>
+ <group name="info1" string="" col="">
+ <field name="name" />
+ <field name="client_id" />
+ <field name="active" />
+ </group>
+ <group name="info2" string="" col="">
+ <field name="auth_endpoint" />
+ <field name="scope" />
+ <field name="validation_endpoint" />
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+ <record model="ir.ui.view" id="view_oauth_provider_list">
+ <field name="name">oauth.provider.list</field>
+ <field name="model">oauth.providers</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="arch" version="7.0">
+ <field name="name" />
+ <field name="client_id" />
+ <field name="active" />
+ </tree>
+ </field>
+ </record>
+ <record model="ir.actions.act_window" id="action_oauth_provider">
+ <field name="name">Providers</field>
+ <field name="res_model">oauth.providers</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+ <menuitem id="menu_oauth_providers" parent="menu_oauth_provider" name="OAuth2 Providers" action="action_oauth_provider" sequence="0" />
+ </data>
+</openerp>
\ No newline at end of file
r = (cr.dbname, login, oauth_uid)
res = self.search(cr, uid, [("oauth_uid", "=", oauth_uid)])
- _logger.exception(res)
if res:
self.write(cr, uid, res[0], {'oauth_access_token':access_token})
else:
new_user = {
'name': name,
'login': login,
- # 'password': oauth_uid,
'user_email': login,
'oauth_provider': 'Google',
'oauth_uid': oauth_uid,