-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #183 from lalithkota/17.0-develop
Moved required portals to base registry
- Loading branch information
Showing
72 changed files
with
7,566 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# ODK App User Mapping | ||
|
||
Refer to https://docs.openg2p.org. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import models |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"name": "ODK App User Mapping", | ||
"category": "G2P", | ||
"version": "17.0.0.0.0", | ||
"sequence": 1, | ||
"author": "OpenG2P", | ||
"website": "https://openg2p.org", | ||
"license": "LGPL-3", | ||
"depends": ["base", "account", "g2p_odk_importer"], | ||
"data": [ | ||
"security/ir.model.access.csv", | ||
"views/registration_user_backend_view.xml", | ||
"views/odk_app_user.xml", | ||
], | ||
"assets": { | ||
"web.assets_frontend": [], | ||
"web.assets_common": [], | ||
"website.assets_wysiwyg": [], | ||
}, | ||
"application": True, | ||
"installable": True, | ||
"auto_install": False, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
# Translation of Odoo Server. | ||
# This file contains the translation of the following modules: | ||
# * g2p_odk_user_mapping | ||
# | ||
msgid "" | ||
msgstr "" | ||
"Project-Id-Version: Odoo Server 17.0\n" | ||
"Report-Msgid-Bugs-To: \n" | ||
"Last-Translator: \n" | ||
"Language-Team: \n" | ||
"MIME-Version: 1.0\n" | ||
"Content-Type: text/plain; charset=UTF-8\n" | ||
"Content-Transfer-Encoding: \n" | ||
"Plural-Forms: \n" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model,name:g2p_odk_user_mapping.model_res_partner | ||
msgid "Contact" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model_terms:ir.actions.act_window,help:g2p_odk_user_mapping.view_odk_app_action | ||
msgid "Create a odk app user" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_odk_app_user__create_uid | ||
msgid "Created by" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_odk_app_user__create_date | ||
msgid "Created on" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_odk_app_user__display_name | ||
msgid "Display Name" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#. odoo-python | ||
#: code:addons/g2p_odk_user_mapping/models/res_partner.py:0 | ||
#, python-format | ||
msgid "Failed to fetch app users" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_odk_app_user__id | ||
msgid "ID" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_odk_app_user__write_uid | ||
msgid "Last Updated by" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_odk_app_user__write_date | ||
msgid "Last Updated on" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model,name:g2p_odk_user_mapping.model_odk_app_user | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_res_partner__odk_app_user | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_res_users__odk_app_user | ||
msgid "ODK App User" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_odk_app_user__odk_user_id | ||
msgid "ODK App User ID" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_odk_app_user__name | ||
msgid "ODK App User Name" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_res_partner__odk_config_id | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_res_users__odk_config_id | ||
msgid "ODK Config" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model_terms:ir.ui.view,arch_db:g2p_odk_user_mapping.view_res_partner_form_inherit_registration | ||
msgid "ODk User Configuration" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_odk_app_user__partner_id | ||
msgid "Partner" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_res_partner__session | ||
#: model:ir.model.fields,field_description:g2p_odk_user_mapping.field_res_users__session | ||
msgid "Session Token" | ||
msgstr "" | ||
|
||
#. module: g2p_odk_user_mapping | ||
#: model:ir.actions.act_window,name:g2p_odk_user_mapping.view_odk_app_action | ||
msgid "odk.app.user.action" | ||
msgstr "" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
from . import res_partner | ||
from . import odk_app_user |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
from odoo import fields, models | ||
|
||
|
||
class ODKAppUser(models.Model): | ||
_name = "odk.app.user" | ||
_description = "ODK App User" | ||
|
||
name = fields.Char(string="ODK App User Name") | ||
odk_user_id = fields.Integer(string="ODK App User ID") | ||
partner_id = fields.Many2one("res.partner", string="Partner") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
import json | ||
import logging | ||
|
||
import requests | ||
|
||
from odoo import _, api, fields, models | ||
from odoo.exceptions import UserError, ValidationError | ||
|
||
_logger = logging.getLogger(__name__) | ||
|
||
|
||
class ResPartner(models.Model): | ||
_inherit = "res.partner" | ||
|
||
odk_config_id = fields.Many2one("odk.config", string="ODK Config") | ||
odk_app_user = fields.Many2one("odk.app.user", string="ODK App User") | ||
session = fields.Char(string="Session Token", readonly=True) | ||
|
||
@api.onchange("odk_config_id") | ||
def _onchange_odk_config_id(self): | ||
self.odk_app_user = [ | ||
5, | ||
] | ||
if self.odk_config_id: | ||
base_url = self.odk_config_id.base_url | ||
project_id = self.odk_config_id.project | ||
username = self.odk_config_id.username | ||
password = self.odk_config_id.password | ||
self._login(base_url, username, password) | ||
if self.session: | ||
app_users = self._fetch_app_users(base_url, project_id) | ||
_logger.info( | ||
"LOG----->ODK APP USER:%s" | ||
% [f"{user['id']} -{user['displayName']}" for user in app_users] | ||
) | ||
return {"domain": {"odk_app_user": [("id", "in", [user["id"] for user in app_users])]}} | ||
else: | ||
return {"domain": {"odk_app_user": []}} | ||
|
||
def _login(self, base_url, username, password): | ||
login_url = f"{base_url}/v1/sessions" | ||
headers = {"Content-Type": "application/json"} | ||
data = json.dumps({"email": username, "password": password}) | ||
try: | ||
response = requests.post(login_url, headers=headers, data=data, timeout=10) | ||
response.raise_for_status() | ||
if response.status_code == 200: | ||
self.session = response.json()["token"] | ||
except Exception as e: | ||
_logger.exception("Login failed: %s", e) | ||
raise ValidationError(f"Login failed: {e}") from e | ||
|
||
def _fetch_app_users(self, base_url, project_id): | ||
url = f"{base_url}/v1/projects/{project_id}/app-users" | ||
headers = { | ||
"Content-Type": "application/json", | ||
"X-Extended-Metadata": "true", | ||
"Authorization": f"Bearer {self.session}", | ||
} | ||
response = requests.get(url, headers=headers, timeout=10) | ||
|
||
if response.status_code == 200: | ||
app_users_data = response.json() | ||
query = """ | ||
DELETE FROM odk_app_user WHERE partner_id = %s | ||
""" | ||
self.env.cr.execute(query, (self.id.origin or self.id,)) | ||
|
||
for user in app_users_data: | ||
self.env["odk.app.user"].create( | ||
{"name": user["displayName"], "odk_user_id": user["id"], "partner_id": self.id.origin} | ||
) | ||
return app_users_data | ||
else: | ||
raise UserError(_("Failed to fetch app users")) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[build-system] | ||
requires = ["whool"] | ||
build-backend = "whool.buildapi" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink | ||
access_odk_app_user,odk_app_user_name,model_odk_app_user,,1,1,1,1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<?xml version="1.0" encoding="utf-8" ?> | ||
<odoo> | ||
<record id="view_odk_app_tree" model="ir.ui.view"> | ||
<field name="name">odk.app.user.tree</field> | ||
<field name="model">odk.app.user</field> | ||
<field name="arch" type="xml"> | ||
<tree> | ||
<field name="odk_user_id" /> | ||
<field name="name" /> | ||
<field name="partner_id" /> | ||
</tree> | ||
</field> | ||
</record> | ||
|
||
<record id="view_odk_app_action" model="ir.actions.act_window"> | ||
<field name="name">odk.app.user.action</field> | ||
<field name="res_model">odk.app.user</field> | ||
<field name="view_mode">tree,form</field> | ||
<field name="view_id" ref="view_odk_app_tree" /> | ||
<field name="help" type="html"> | ||
<p class="o_view_nocontent_smiling_face"> | ||
Create a odk app user | ||
</p> | ||
</field> | ||
</record> | ||
</odoo> |
23 changes: 23 additions & 0 deletions
23
g2p_odk_user_mapping/views/registration_user_backend_view.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<odoo> | ||
<record id="view_res_partner_form_inherit_registration" model="ir.ui.view"> | ||
<field name="name">res.partner.form.inherit.registration</field> | ||
<field name="model">res.partner</field> | ||
<field name="inherit_id" ref="base.view_partner_form" /> | ||
<field name="arch" type="xml"> | ||
<xpath expr="//sheet" position="inside"> | ||
<group string="ODk User Configuration"> | ||
<field | ||
name="odk_config_id" | ||
options="{'no_create': True}" | ||
invisible="context.get('default_supplier_rank') < 1" | ||
/> | ||
<field | ||
name="odk_app_user" | ||
options="{'no_create': True}" | ||
invisible="context.get('default_supplier_rank') < 1" | ||
/> | ||
</group> | ||
</xpath> | ||
</field> | ||
</record> | ||
</odoo> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# G2P Service Provider Beneficiary Management | ||
|
||
Refer to https://docs.openg2p.org. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
from . import controllers | ||
from . import models |
33 changes: 33 additions & 0 deletions
33
g2p_service_provider_beneficiary_management/__manifest__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
{ | ||
"name": "G2P Service Provider Beneficiary Management", | ||
"category": "G2P", | ||
"version": "17.0.0.0.0", | ||
"sequence": 1, | ||
"author": "OpenG2P", | ||
"website": "https://openg2p.org", | ||
"license": "LGPL-3", | ||
"depends": [ | ||
"g2p_service_provider_portal_base", | ||
"g2p_registry_membership", | ||
"website", | ||
], | ||
"data": [ | ||
"views/dashboard.xml", | ||
"views/error_page.xml", | ||
"views/group_template.xml", | ||
"views/success_page.xml", | ||
"views/individual_page.xml", | ||
], | ||
"assets": { | ||
"web.assets_frontend": [ | ||
"g2p_service_provider_beneficiary_management/static/src/css/style.css", | ||
], | ||
"web.assets_common": [], | ||
"website.assets_wysiwyg": [], | ||
}, | ||
"demo": [], | ||
"images": [], | ||
"application": True, | ||
"installable": True, | ||
"auto_install": False, | ||
} |
1 change: 1 addition & 0 deletions
1
g2p_service_provider_beneficiary_management/controllers/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import main |
Oops, something went wrong.