Skip to content

Commit

Permalink
Replace base_jsonify w/ jsonifier
Browse files Browse the repository at this point in the history
Rationale:

1. the name reflects better what it does
   as this is not _just_ a base module

2. solves publication issue on odoo apps store
   due to an old module registered w/ the same name
   that even if un-published blocks publishing the module
   for all versions.
   This in turn, blocks the publication of ALL modules
   that depend on base_jsonify.
  • Loading branch information
simahawk authored and nguyenminhchien committed Jan 2, 2024
1 parent aff1784 commit 4175d5c
Show file tree
Hide file tree
Showing 24 changed files with 2,251 additions and 5 deletions.
4 changes: 1 addition & 3 deletions jsonifier/README.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
This module is meant to replace `base_jsonify`.
Once is confirmed that it can be published on the apps store
the switch will be made.
wait for the bot ;)
1 change: 1 addition & 0 deletions jsonifier/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
14 changes: 12 additions & 2 deletions jsonifier/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,22 @@

{
"name": "JSONifier",
"summary": "JSON-ify data for all models - SKELETON",
"version": "14.0.0.1.0",
"summary": "JSON-ify data for all models",
"version": "14.0.1.0.0",
"category": "Uncategorized",
"website": "https://github.com/OCA/server-tools",
"author": "Akretion, ACSONE, Camptocamp, Odoo Community Association (OCA)",
"license": "LGPL-3",
"installable": True,
"depends": ["base"],
"data": [
"security/ir.model.access.csv",
"views/ir_exports_view.xml",
"views/ir_exports_resolver_view.xml",
],
"demo": [
"demo/resolver_demo.xml",
"demo/export_demo.xml",
"demo/ir.exports.line.csv",
],
}
7 changes: 7 additions & 0 deletions jsonifier/demo/export_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="ir_exp_partner" model="ir.exports">
<field name="name">Partner Export</field>
<field name="resource">res.partner</field>
</record>
</odoo>
16 changes: 16 additions & 0 deletions jsonifier/demo/ir.exports.line.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
id,export_id/id,name
name,ir_exp_partner,name
active,ir_exp_partner,active
credit_limit,ir_exp_partner,credit_limit
color,ir_exp_partner,color
category_id_name,ir_exp_partner,category_id/name
country_id_name,ir_exp_partner,country_id/name
country_id_code,ir_exp_partner,country_id/code
child_ids_name,ir_exp_partner,child_ids/name
child_ids_id,ir_exp_partner,child_ids/id
child_ids_email,ir_exp_partner,child_ids/email
child_ids_country_id_name,ir_exp_partner,child_ids/country_id/name
child_ids_country_id_code,ir_exp_partner,child_ids/country_id/code
child_ids_child_ids_name,ir_exp_partner,child_ids/child_ids/name
lang,ir_exp_partner,lang
comment,ir_exp_partner,comment
12 changes: 12 additions & 0 deletions jsonifier/demo/resolver_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="ir_exports_resolver_dict" model="ir.exports.resolver">
<field name="name">ExtraData dictionary (number/text)</field>
<field name="python_code">
is_number = field_type in ('integer', 'float')
ftype = "NUMBER" if is_number else "TEXT"
value = value if is_number else str(value)
result = {"Key": name, "Value": value, "Type": ftype, "IsPublic": True}
</field>
</record>
</odoo>
229 changes: 229 additions & 0 deletions jsonifier/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * jsonifier
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

#. module: jsonifier
#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__instance_method_name
msgid "A method defined on the model that takes a record and a field_name"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__active
msgid "Active"
msgstr ""

#. module: jsonifier
#: model:ir.model,name:jsonifier.model_base
msgid "Base"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,help:jsonifier.field_ir_exports_resolver__python_code
msgid ""
"Compute the result from 'value' by setting the variable 'result'.\n"
"For fields resolvers:\n"
":param name: name of the field\n"
":param value: value of the field\n"
":param field_type: type of the field\n"
"For global resolvers:\n"
":param value: JSON dict\n"
":param record: the record"
msgstr ""

#. module: jsonifier
#: model_terms:ir.ui.view,arch_db:jsonifier.view_ir_exports
msgid "Configuration"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__create_uid
msgid "Created by"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__create_date
msgid "Created on"
msgstr ""

#. module: jsonifier
#: model:ir.actions.act_window,name:jsonifier.act_ui_exports_resolver_view
#: model:ir.ui.menu,name:jsonifier.ui_exports_resolvers
msgid "Custom Export Resolvers"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__global_resolver_id
msgid "Custom global resolver"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__resolver_id
msgid "Custom resolver"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__display_name
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__display_name
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__display_name
msgid "Display Name"
msgstr ""

#. module: jsonifier
#: code:addons/jsonifier/models/ir_exports_line.py:0
#, python-format
msgid "Either set a function or a resolver, not both."
msgstr ""

#. module: jsonifier
#: model:ir.actions.act_window,name:jsonifier.act_ui_exports_view
#: model:ir.ui.menu,name:jsonifier.ui_exports
msgid "Export Fields"
msgstr ""

#. module: jsonifier
#: model:ir.model,name:jsonifier.model_ir_exports_resolver
msgid "Export Resolver"
msgstr ""

#. module: jsonifier
#: model:ir.model,name:jsonifier.model_ir_exports
msgid "Exports"
msgstr ""

#. module: jsonifier
#: model:ir.model,name:jsonifier.model_ir_exports_line
msgid "Exports Line"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields.selection,name:jsonifier.selection__ir_exports_resolver__type__field
msgid "Field"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__instance_method_name
msgid "Function"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields.selection,name:jsonifier.selection__ir_exports_resolver__type__global
msgid "Global"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__id
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__id
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__id
msgid "ID"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__lang_id
msgid "If set, the language in which the field is exported"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,help:jsonifier.field_ir_exports__global_resolver_id
msgid "If set, will apply the global resolver to the result"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__resolver_id
msgid "If set, will apply the resolver on the field value"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,help:jsonifier.field_ir_exports__language_agnostic
msgid ""
"If set, will set the lang to False when exporting lines without lang, "
"otherwise it uses the lang in the given context to export these fields"
msgstr ""

#. module: jsonifier
#: model_terms:ir.ui.view,arch_db:jsonifier.view_ir_exports
msgid "Index"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__lang_id
msgid "Language"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__language_agnostic
msgid "Language Agnostic"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports____last_update
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line____last_update
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver____last_update
msgid "Last Modified on"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__write_uid
msgid "Last Updated by"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__write_date
msgid "Last Updated on"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__name
msgid "Name"
msgstr ""

#. module: jsonifier
#: code:addons/jsonifier/models/ir_exports_line.py:0
#, python-format
msgid "Name and Target must have the same hierarchy depth"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__python_code
msgid "Python Code"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__target
msgid "Target"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__target
msgid ""
"The complete path to the field where you can specify a target on the step as"
" field:target"
msgstr ""

#. module: jsonifier
#: code:addons/jsonifier/models/ir_exports_line.py:0
#, python-format
msgid "The target must reference the same field as in name '%s' not in '%s'"
msgstr ""

#. module: jsonifier
#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__type
msgid "Type"
msgstr ""

#. module: jsonifier
#: code:addons/jsonifier/models/models.py:0
#, python-format
msgid "Wrong parser configuration for field: `%s`"
msgstr ""
Loading

0 comments on commit 4175d5c

Please sign in to comment.