[Fix] Fixed less files issue

This commit is contained in:
Dhruvik Mevada authored and Parthiv Patel committed 2021-01-04 12:18:32 +00:00
1 parent 2ca0a57291
commit 64137e7d72
29 files changed
+94 -94

No files matched your search

+1 -1
View File
@@ -6,7 +6,7 @@
"summary": """Basic function and methods of API for openapi or XML-RPC""",
"category": "Hidden",
# "live_test_url": "http://apps.it-projects.info/shop/product/DEMO-URL?version=13.0",
"version": "13.0.1.0.1",
"version": "2.0.1.0.1",
"application": False,
"author": "FlectraHQ, IT-Projects LLC, Anvar Kildebekov",
"license": "LGPL-3",
+8 -8
View File
@@ -15,8 +15,8 @@ import six
import werkzeug.wrappers
from psycopg2.extensions import ISOLATION_LEVEL_READ_COMMITTED
import odoo
from odoo.http import request
import flectra
from flectra.http import request
try:
import simplejson as json
@@ -175,7 +175,7 @@ def transform_dictfields_to_list_of_tuples(record, dct, ENV=False):
}
the result will be
['name', 'email', ('bank_ids', ['bank_name', ('bank_id', ('id',))])]
:param odoo.models.Model record: The model object.
:param flectra.models.Model record: The model object.
:param dict dct: The dictionary.
:returns: The list of transformed fields.
:rtype: list
@@ -271,7 +271,7 @@ def get_model_for_read(model, ENV=False):
:param str model: The model to retrieve from the environment.
:param object env: Environment
:returns: the framework model if exist, otherwise raises.
:rtype: odoo.models.Model
:rtype: flectra.models.Model
:raise: werkzeug.exceptions.HTTPException if the model not found in env.
"""
if ENV:
@@ -280,7 +280,7 @@ def get_model_for_read(model, ENV=False):
test_mode = request.registry.test_cr
if not test_mode:
# Permit parallel query execution on read
# Contrary to ISOLATION_LEVEL_SERIALIZABLE as per Odoo Standard
# Contrary to ISOLATION_LEVEL_SERIALIZABLE as per Flectra Standard
cr._cnx.set_isolation_level(ISOLATION_LEVEL_READ_COMMITTED)
try:
return request.env(cr, uid)[model]
@@ -300,7 +300,7 @@ def get_dict_from_record(
"""Generates nested python dict representing one record.
Going down to the record level, as the framework does not support nested
data queries natively as they are typical for a REST API.
:param odoo.models.Model record: The singleton record to load.
:param flectra.models.Model record: The singleton record to load.
:param tuple spec: The field spec to load.
:param tuple include_fields: The extra fields.
:param tuple exclude_fields: The excluded fields.
@@ -335,8 +335,8 @@ def get_dict_from_record(
# Normal field, or unspecified relational
elif isinstance(field, six.string_types):
if not hasattr(record, field):
raise odoo.exceptions.ValidationError(
odoo._('The model "%s" has no such field: "%s".')
raise flectra.exceptions.ValidationError(
flectra._('The model "%s" has no such field: "%s".')
% (record._name, field)
)
+1 -1
View File
@@ -2,7 +2,7 @@
# Copyright 2019 Anvar Kildebekov <https://it-projects.info/team/fedoranvar>
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from odoo import api, models
from flectra import api, models
from ..lib import pinguin
@@ -71,7 +71,7 @@
-o-transform: rotate(-6deg);
-moz-transform: rotate(-6deg);
-ms-transform: rotate(-6deg);">
Tested on Odoo<br />13.0 community
Tested on Flectra<br />
</div>
<!--<div style="margin-top: 15px;
position: relative;
@@ -88,9 +88,9 @@
-o-transform: rotate(9deg);
-moz-transform: rotate(9deg);
-ms-transform: rotate(9deg);">
Tested on Odoo<br/>13.0 enterprise
Tested on Flectra<br/>
</div>-->
</div>
</div>
</div>
</section>
</section>
+2 -2
View File
@@ -1,8 +1,8 @@
# Copyright 2019 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
# Copyright 2019 Anvar Kildebekov <https://it-projects.info/team/fedoranvar>
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from odoo.tests import tagged
from odoo.tests.common import TransactionCase
from flectra.tests import tagged
from flectra.tests.common import TransactionCase
prefix = "__base_api__."
+1 -1
View File
@@ -6,7 +6,7 @@
"category": "",
# "live_test_url": "",
"images": ["images/openapi-swagger.png"],
"version": "13.0.1.2.1",
"version": "2.0.1.2.1",
"application": False,
"author": "FlectraHQ, IT-Projects LLC, Ivan Yelizariev",
"license": "LGPL-3",
+2 -2
View File
@@ -5,14 +5,14 @@
# pylint: disable=redefined-builtin
import logging
from odoo import http
from flectra import http
from . import pinguin
_logger = logging.getLogger(__name__)
#################################################################
# Odoo REST API #
# Flectra REST API #
# Version 1 #
# --------------------------------------------------------------#
# The current api version is considered stable, although #
+9 -9
View File
@@ -7,8 +7,8 @@ import time
import werkzeug.wrappers
import odoo
from odoo.http import (
import flectra
from flectra.http import (
AuthenticationError,
Response,
Root,
@@ -19,8 +19,8 @@ from odoo.http import (
rpc_response,
serialize_exception,
)
from odoo.service.server import memory_info
from odoo.tools import date_utils
from flectra.service.server import memory_info
from flectra.tools import date_utils
try:
import psutil
@@ -111,16 +111,16 @@ class ApiJsonRequest(WebRequest):
if not isinstance(
exception,
(
odoo.exceptions.Warning,
flectra.exceptions.Warning,
SessionExpiredException,
odoo.exceptions.except_orm,
flectra.exceptions.except_orm,
werkzeug.exceptions.NotFound,
),
):
_logger.exception("Exception during JSON request handling.")
error = {
"code": exception.response.status_code,
"message": "Odoo Server Error",
"message": "Flectra Server Error",
"data": serialize_exception(exception),
"openapi_message": json.loads(exception.response.response[0]),
}
@@ -130,10 +130,10 @@ class ApiJsonRequest(WebRequest):
error["message"] = "404: Not Found"
if isinstance(exception, AuthenticationError):
error["code"] = 100
error["message"] = "Odoo Session Invalid"
error["message"] = "Flectra Session Invalid"
if isinstance(exception, SessionExpiredException):
error["code"] = 100
error["message"] = "Odoo Session Expired"
error["message"] = "Flectra Session Expired"
return self._json_response(error=error)
def dispatch(self):
+3 -3
View File
@@ -6,10 +6,10 @@ import logging
import werkzeug
from odoo import http
from odoo.tools import date_utils
from flectra import http
from flectra.tools import date_utils
from odoo.addons.web.controllers.main import ensure_db
from flectra.addons.web.controllers.main import ensure_db
_logger = logging.getLogger(__name__)
+19 -19
View File
@@ -5,7 +5,7 @@
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
# pylint: disable=redefined-builtin
"""Pinguin module for Odoo REST Api.
"""Pinguin module for Flectra REST Api.
This module implements plumbing code to the REST interface interface concerning
authentication, validation, ORM access and error codes.
@@ -25,18 +25,18 @@ import traceback
import werkzeug.wrappers
import odoo
from odoo.http import request
from odoo.service import security
from odoo.tools import date_utils
import flectra
from flectra.http import request
from flectra.service import security
from flectra.tools import date_utils
from odoo.addons.base_api.lib.pinguin import (
from flectra.addons.base_api.lib.pinguin import (
error_response,
get_dict_from_record,
get_dictlist_from_model,
get_model_for_read,
)
from odoo.addons.web.controllers.main import ReportController
from flectra.addons.web.controllers.main import ReportController
from .apijsonrequest import api_route
@@ -137,14 +137,14 @@ def authenticate_token_for_user(token):
:param str token: The raw access token.
:returns: User if token is authorized for the requested user.
:rtype odoo.models.Model
:rtype flectra.models.Model
:raise: werkzeug.exceptions.HTTPException if user not found.
"""
user = request.env["res.users"].sudo().search(
[("openapi_token", "=", token)])
if user.exists():
# copy-pasted from odoo.http.py:OpenERPSession.authenticate()
# copy-pasted from flectra.http.py:OpenERPSession.authenticate()
request.session.uid = user.id
request.session.login = user.login
request.session.session_token = user.id and security.compute_session_token(
@@ -212,7 +212,7 @@ def get_data_from_auth_header(header):
err_descrip = (
'Basic auth header payload must be of the form "<%s>" (encoded to base64)'
% "user_token"
if odoo.tools.config["dbfilter"]
if flectra.tools.config["dbfilter"]
else "db_name:user_token"
)
raise werkzeug.exceptions.HTTPException(
@@ -233,7 +233,7 @@ def setup_db(httprequest, db_name):
"""
if httprequest.session.db:
return
if db_name not in odoo.service.db.list_dbs(force=True):
if db_name not in flectra.service.db.list_dbs(force=True):
raise werkzeug.exceptions.HTTPException(
response=error_response(*CODE__db_not_found)
)
@@ -285,9 +285,9 @@ def create_log_record(**kwargs):
# request (we cannot use second cursor and we cannot use aborted
# transaction)
if not test_mode:
with odoo.registry(request.session.db).cursor() as cr:
with flectra.registry(request.session.db).cursor() as cr:
# use new to save data even in case of an error in the old cursor
env = odoo.api.Environment(cr, request.session.uid, {})
env = flectra.api.Environment(cr, request.session.uid, {})
_create_log_record(env, **kwargs)
@@ -470,7 +470,7 @@ def get_model_openapi_access(namespace, model):
A dictionary containing the model API configuration for this namespace.
The layout of the dict is as follows:
```python
{'context': (Dict) odoo context (default values through context),
{'context': (Dict) flectra context (default values through context),
'out_fields_read_multi': (Tuple) field spec,
'out_fields_read_one': (Tuple) field spec,
'out_fields_create_one': (Tuple) field spec,
@@ -587,7 +587,7 @@ def wrap__resource__create_one(modelname, context, data, success_code, out_field
if not test_mode:
# Somehow don't making a commit here may lead to error
# "Record does not exist or has been deleted"
# Probably, Odoo (10.0 at least) uses different cursors
# Probably, Flectra (10.0 at least) uses different cursors
# to create and to read fields from database
request.env.cr.commit()
except Exception as e:
@@ -839,7 +839,7 @@ def get_OAS_definitions_part(
):
"""Recursively gets definition parts of the OAS for model by export fields.
:param odoo.models.Model model_obj: The model object.
:param flectra.models.Model model_obj: The model object.
:param dict export_fields_dict: The dictionary with export fields.
Example of the dict is as follows:
```python
@@ -929,10 +929,10 @@ def get_OAS_definitions_part(
{"type": "array", "items": {"type": "integer"}})
# We cannot have both required and readOnly flags in field openapi
# definition, for that reason we cannot blindly use odoo's
# definition, for that reason we cannot blindly use flectra's
# attributed readonly and required.
#
# 1) For odoo-required, but NOT odoo-related field, we do NOT use
# 1) For flectra-required, but NOT flectra-related field, we do NOT use
# openapi-readonly
#
# Example of such field can be found in sale module:
@@ -940,7 +940,7 @@ def get_OAS_definitions_part(
# states={'draft': [('readonly', False)], 'sent': [('readonly',
# False)]}, required=True, ...)
#
# 2) For odoo-required and odoo-related field, we DO use
# 2) For flectra-required and flectra-related field, we DO use
# openapi-readonly, but we don't use openapi-required
if meta["readonly"] and (not meta["required"] or meta.get("related")):
field_property.update(readOnly=True)
+2 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2018 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). -->
<odoo noupdate="1">
<flectra noupdate="1">
<record id="namespace_demo" model="openapi.namespace">
<field name="name">demo</field>
<field name="log_request">debug</field>
@@ -62,4 +62,4 @@
eval="[(4, ref('context_res_partner_demo'))]"
/>
</record>
</odoo>
</flectra>
@@ -1,7 +1,7 @@
<!-- Copyright 2019 Anvar Kildebekov <https://it-projects.info/team/fedoranvar>
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).-->
<odoo>
<flectra>
<record model="res.groups" id="group_user">
<field name="users" eval="[(4, ref('base.user_demo'))]" />
</record>
</odoo>
</flectra>
+1 -1
View File
@@ -1,6 +1,6 @@
# Copyright 2018 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from odoo import _, api, exceptions, models
from flectra import _, api, exceptions, models
class IrExports(models.Model):
+1 -1
View File
@@ -1,6 +1,6 @@
# Copyright 2018 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from odoo import fields, models
from flectra import fields, models
class IrModel(models.Model):
+3 -3
View File
@@ -8,9 +8,9 @@ import types
import urllib.parse as urlparse
from inspect import getmro, isclass
from odoo import _, api, exceptions, fields, models
from flectra import _, api, exceptions, fields, models
from odoo.addons.base_api.lib.pinguin import transform_strfields_to_dict
from flectra.addons.base_api.lib.pinguin import transform_strfields_to_dict
from ..controllers import pinguin
@@ -504,7 +504,7 @@ def getmembers(obj, predicate=None):
for key in names:
if key == "_cache":
# NEW
# trying to read this key will return error in odoo 11.0+
# trying to read this key will return error in flectra 11.0+
# AssertionError: Unexpected RecordCache(res.partner())
continue
# First try to get the value via getattr. Some descriptors don't
+1 -1
View File
@@ -1,6 +1,6 @@
# Copyright 2018 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from odoo import fields, models
from flectra import fields, models
class Log(models.Model):
+2 -2
View File
@@ -7,9 +7,9 @@ import collections
import urllib.parse as urlparse
import uuid
from odoo import api, fields, models
from flectra import api, fields, models
from odoo.addons.base_api.lib import pinguin
from flectra.addons.base_api.lib import pinguin
class Namespace(models.Model):
+1 -1
View File
@@ -3,7 +3,7 @@
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
import uuid
from odoo import api, fields, models
from flectra import api, fields, models
class ResUsers(models.Model):
+2 -2
View File
@@ -1,6 +1,6 @@
<!-- Copyright 2019 Anvar Kildebekov <https://it-projects.info/team/fedoranvar>
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).-->
<odoo>
<flectra>
<record model="ir.module.category" id="module_management">
<field name="name">OpenAPI</field>
<field name="description">User access level for OpenAPI</field>
@@ -20,4 +20,4 @@
/>
<field name="category_id" ref="openapi.module_management" />
</record>
</odoo>
</flectra>
+2 -2
View File
@@ -1,5 +1,5 @@
<!-- Copyright 2019 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).-->
<odoo>
<flectra>
<function model="res.users" name="reset_all_openapi_tokens" />
</odoo>
</flectra>
+15 -15
View File
@@ -114,12 +114,12 @@ from bravado.client import SwaggerClient
http_client = RequestsClient()
http_client.set_basic_auth('yourdomain.example.com', 'DATABASE-NAME', 'USER-TOKEN')
odoo = SwaggerClient.from_url(
flectra = SwaggerClient.from_url(
'https://yourdomain.example.com/api/v1/demo/swagger.json?token=demo_token&db=source',
http_client=http_client
)
result = odoo.res_partner.callMethodForResPartnerModel(
result = flectra.res_partner.callMethodForResPartnerModel(
method_name="search",
body={
'args': [[('email', '=', 'sync@it-projects.info')]]
@@ -129,13 +129,13 @@ result = odoo.res_partner.callMethodForResPartnerModel(
partner_id = result and result[0]
if not partner_id:
result = odoo.res_partner.addResPartner(body={
result = flectra.res_partner.addResPartner(body={
"name": "OpenAPI Support",
"email": "sync@it-projects.info"
}).response().result
partner_id = result.id
odoo.res_partner.callMethodForResPartnerSingleRecord(
flectra.res_partner.callMethodForResPartnerSingleRecord(
id=partner_id,
method_name="message_post",
body={
@@ -195,8 +195,8 @@ Comming soon...
your code. For a simple integration as well as cases when you want to use any of AWS Services it's the
best option. <b>No extra module is needed!</b> Check out detailed instruction:
<ul>
<li><a href="https://itpp.dev/sync/x2odoo/telegram2odoo-via-lambda/documentation.html">Create Notes in
Odoo from messages sent to Telegram bot</a></li>
<li><a href="https://itpp.dev/sync/x2flectra/telegram2flectra-via-lambda/documentation.html">Create Notes in
Flectra from messages sent to Telegram bot</a></li>
</ul>
</p>
@@ -219,10 +219,10 @@ Comming soon...
<div class="oe_span6">
<p class="oe_mt32">
<a href="https://syndesis.io/">Syndesis</a> is an integration platform. Syndesis allows to make data
mapping from/to Odoo without any programming. <b>No extra module is needed!</b> Check out detailed
mapping from/to Flectra without any programming. <b>No extra module is needed!</b> Check out detailed
intruction:
<ul>
<li><a href="https://itpp.dev/sync/odoo2odoo/syndesis/documentation.html">Odoo2odoo integration (via
<li><a href="https://itpp.dev/sync/flectra2flectra/syndesis/documentation.html">Flectra2flectra integration (via
Syndesis)</a></li>
</ul>
@@ -238,7 +238,7 @@ Comming soon...
<a href="https://www.dataiku.com/">Dataiku</a> is platform to analyze data. <b>No extra module is
needed!</b> Check out detailed instruction:
<ul>
<li><a href="https://itpp.dev/sync/odoo2x/odoo2dataiku/documentation.html">Analyzing Odoo GEO
<li><a href="https://itpp.dev/sync/flectra2x/flectra2dataiku/documentation.html">Analyzing Flectra GEO
Information in Dataiku</a></li>
</ul>
@@ -264,7 +264,7 @@ Comming soon...
<a href="https://powerbi.microsoft.com/">Power BI</a> is a service to visualize and analyzing data.
<b>No extra module is needed!</b> Check out detailed intruction:
<ul>
<li><a href="https://itpp.dev/sync/odoo2x/odoo2powerbi/documentation.html">Analyzing Odoo GEO
<li><a href="https://itpp.dev/sync/flectra2x/flectra2powerbi/documentation.html">Analyzing Flectra GEO
Information in Power BI</a></li>
</ul>
@@ -313,7 +313,7 @@ Comming soon...
<div class="oe_row oe_spaced">
<div class="oe_span6">
<p class="oe_mt32">
Need more? Anything with REST API support can be connected to Odoo <b>just with this module</b>!
Need more? Anything with REST API support can be connected to Flectra <b>just with this module</b>!
</p>
</div>
<div class="oe_span6">
@@ -331,7 +331,7 @@ Comming soon...
<div class="alert alert-success oe_mt32 oe_centered" align="center"
style="padding:1.3em 0.6em; font-size: 150%;">
As a buyer, you are granted to use the module in as many Odoo instances as you need!
As a buyer, you are granted to use the module in as many Flectra instances as you need!
</div>
</div>
@@ -386,7 +386,7 @@ Comming soon...
-o-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-ms-transform: rotate(3deg);">
Tested on Odoo<br />13.0 community
Tested on Flectra<br />
</div>
<div style="margin-top: 15px;
position: relative;
@@ -403,9 +403,9 @@ Comming soon...
-o-transform: rotate(-8deg);
-moz-transform: rotate(-8deg);
-ms-transform: rotate(-8deg);">
Tested on Odoo<br />13.0 enterprise
Tested on Flectra<br />
</div>
</div>
</div>
</div>
</section>
</section>
+3 -3
View File
@@ -6,9 +6,9 @@ import logging
import requests
from odoo import api
from odoo.tests import tagged
from odoo.tests.common import PORT, HttpCase, get_db_name
from flectra import api
from flectra.tests import tagged
from flectra.tests.common import PORT, HttpCase, get_db_name
from ..controllers import pinguin
+2 -2
View File
@@ -6,8 +6,8 @@ import json
from bravado_core.spec import Spec
from swagger_spec_validator import SwaggerValidationError
from odoo.tests import tagged
from odoo.tests.common import PORT, HttpCase
from flectra.tests import tagged
from flectra.tests.common import PORT, HttpCase
@tagged("post_install", "at_install")
+2 -2
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<flectra>
<record model="ir.ui.view" id="view_model_form">
<field name="name">ir.model.form</field>
<field name="model">ir.model</field>
@@ -23,4 +23,4 @@
</group>
</field>
</record>
</odoo>
</flectra>
+2 -2
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<flectra>
<record model="ir.ui.view" id="ir_exports_form_view">
<field name="name">ir.exports.form</field>
<field name="model">ir.exports</field>
@@ -252,4 +252,4 @@
parent="openapi_menu"
action="namespace_list_action"
/>
</odoo>
</flectra>
+2 -2
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" ?>
<odoo>
<flectra>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.form.view</field>
<field name="model">res.users</field>
@@ -25,4 +25,4 @@
</notebook>
</field>
</record>
</odoo>
</flectra>
+2 -2
View File
@@ -9,8 +9,8 @@
<template id="assets_backend" name="assets_backend ( Backend Theme Assets )" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/web_flectra/static/src/less/fonts.less" rel="stylesheet" type="text/less"/>
<link href="/web_flectra/static/src/less/font_rubik.less" rel="stylesheet" type="text/less"/>
<link href="/web_flectra/static/src/scss/fonts.scss" rel="stylesheet" type="text/scss"/>
<link href="/web_flectra/static/src/scss/font_rubik.scss" rel="stylesheet" type="text/scss"/>
<link rel="stylesheet" type="text/scss" href='/web_flectra/static/src/scss/theme_changer.scss' />
<link rel="stylesheet" type="text/scss" href='/web_flectra/static/src/scss/navbar.scss' />
<link rel="stylesheet" type="text/scss" href='/web_flectra/static/src/scss/apps_menu.scss' />