mirror of
https://gitlab.com/flectra-hq/flectra.git
synced 2026-10-25 23:40:05 -05:00
[Fix] Fixed less files issue
This commit is contained in:
1 parent
2ca0a57291
commit
64137e7d72
29 files changed
+94
-94
No files matched your search
@@ -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",
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
|
||||
|
||||
@@ -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>
|
||||
@@ -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__."
|
||||
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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 #
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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__)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,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,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):
|
||||
|
||||
@@ -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,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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
File renamed without changes.
File renamed without changes.
@@ -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' />
|
||||
|
||||
Reference in new issue
Block a user