Skip to content

Commit

Permalink
Merge branch '16.0' into 16.0-mig-document_quick_access
Browse files Browse the repository at this point in the history
  • Loading branch information
peluko00 authored Dec 4, 2023
2 parents c5d8cc2 + f3baba9 commit 45df1c0
Show file tree
Hide file tree
Showing 63 changed files with 2,585 additions and 48 deletions.
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Available addons
----------------
addon | version | maintainers | summary
--- | --- | --- | ---
[barcode_action](barcode_action/) | 16.0.1.0.0 | | Allows to use barcodes as a launcher
[base_binary_url_import](base_binary_url_import/) | 16.0.1.0.0 | | Wizard to import binary files from URL on existing records
[base_cancel_confirm](base_cancel_confirm/) | 16.0.1.0.0 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Base Cancel Confirm
[base_custom_filter](base_custom_filter/) | 16.0.1.0.0 | [![AshishHirapara](https://github.com/AshishHirapara.png?size=30px)](https://github.com/AshishHirapara) [![ForgeFlow](https://github.com/ForgeFlow.png?size=30px)](https://github.com/ForgeFlow) | Add custom filters in standard filters and group by dropdowns
Expand All @@ -32,15 +33,16 @@ addon | version | maintainers | summary
[base_search_custom_field_filter](base_search_custom_field_filter/) | 16.0.1.0.0 | [![pedrobaeza](https://github.com/pedrobaeza.png?size=30px)](https://github.com/pedrobaeza) | Add custom filters for fields via UI
[base_substate](base_substate/) | 16.0.1.0.0 | | Base Sub State
[base_technical_features](base_technical_features/) | 16.0.1.0.0 | | Access to technical features without activating debug mode
[base_tier_validation](base_tier_validation/) | 16.0.1.3.1 | [![LoisRForgeFlow](https://github.com/LoisRForgeFlow.png?size=30px)](https://github.com/LoisRForgeFlow) | Implement a validation process based on tiers.
[base_tier_validation_formula](base_tier_validation_formula/) | 16.0.1.0.0 | | Formulas for Base tier validation
[base_tier_validation_forward](base_tier_validation_forward/) | 16.0.1.1.1 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Forward option for base tiers
[base_tier_validation](base_tier_validation/) | 16.0.1.3.3 | [![LoisRForgeFlow](https://github.com/LoisRForgeFlow.png?size=30px)](https://github.com/LoisRForgeFlow) | Implement a validation process based on tiers.
[base_tier_validation_formula](base_tier_validation_formula/) | 16.0.1.0.2 | | Formulas for Base tier validation
[base_tier_validation_forward](base_tier_validation_forward/) | 16.0.1.1.2 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Forward option for base tiers
[date_range](date_range/) | 16.0.1.0.9 | [![lmignon](https://github.com/lmignon.png?size=30px)](https://github.com/lmignon) | Manage all kind of date range
[date_range_account](date_range_account/) | 16.0.1.0.1 | [![alexis-via](https://github.com/alexis-via.png?size=30px)](https://github.com/alexis-via) | Add Date Range menu entry in Invoicing app
[filter_multi_user](filter_multi_user/) | 16.0.1.0.1 | [![LoisRForgeFlow](https://github.com/LoisRForgeFlow.png?size=30px)](https://github.com/LoisRForgeFlow) | Allows to share user-defined filters filters among several users.
[multi_step_wizard](multi_step_wizard/) | 16.0.1.0.0 | | Multi-Steps Wizards
[sequence_reset_period](sequence_reset_period/) | 16.0.1.0.0 | | Auto-generate yearly/monthly/weekly/daily sequence period ranges
[server_action_mass_edit](server_action_mass_edit/) | 16.0.2.0.1 | | Mass Editing
[test_base_binary_url_import](test_base_binary_url_import/) | 16.0.1.0.0 | | Unittests for Base Binary URL Import module
[test_base_binary_url_import](test_base_binary_url_import/) | 16.0.1.0.1 | | Unittests for Base Binary URL Import module
[user_all_groups](user_all_groups/) | 16.0.1.0.1 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Automatically add admin user to all the groups

[//]: # (end addons)
Expand Down
145 changes: 145 additions & 0 deletions barcode_action/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
=======================
Barcode action launcher
=======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:21e2362a2534bf90682aab860039912e984258ae284895df5b884421455241dd
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--ux-lightgray.png?logo=github
:target: https://github.com/OCA/server-ux/tree/16.0/barcode_action
:alt: OCA/server-ux
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-ux-16-0/server-ux-16-0-barcode_action
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-ux&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows to use barcodes as launchers of actions.

The action will launch a function that uses the barcode in order to return an action.

**Table of contents**

.. contents::
:local:

Usage
=====

Actions must be configured with the following data in the context:
* model: Model where we can find the method (required)
* method: Method to execute (required)
* res_id: Id as base (optional)

The method must return an action. Installing this module with demo data will
install a demo application that allows the system administrator to find a
partner by the external reference encoded in a barcode.

Go to *Settings / Find partners* and scan a barcode that contains the
internal reference of an existing partner. As soon as you read the barcode
the system will redirect you to that partner's form view.

Technical implementation of this example:

Action::

<act_window id="res_partner_find"
name="Find Partner"
res_model="barcode.action"
view_mode="form"
view_type="form"
context="{'default_model': 'res.partner', 'default_method': 'find_res_partner_by_ref_using_barcode'}"
target="new"/>

<menuitem id="menu_orders_customers" name="Find partners"
action="res_partner_find"
parent="base.menu_administration"/>

Python code::

import json
from odoo import api, models, _
from odoo.tools.safe_eval import safe_eval


class ResPartner(models.Model):
_inherit = 'res.partner'

@api.multi
def find_res_partner_by_ref_using_barcode(self, barcode):
partner = self.search([('ref', '=', barcode)], limit=1)
if not partner:
action = self.env.ref('res_partner_find')
result = action.read()[0]
context = safe_eval(result['context'])
context.update({
'default_state': 'warning',
'default_status': _('Partner with Internal Reference '
'%s cannot be found') % barcode
})
result['context'] = json.dumps(context)
return result
action = self.env.ref('base.action_partner_form')
result = action.read()[0]
res = self.env.ref('base.view_partner_form', False)
result['views'] = [(res and res.id or False, 'form')]
result['res_id'] = partner.id
return result

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-ux/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-ux/issues/new?body=module:%20barcode_action%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Creu Blanca
* ForgeFlow

Contributors
~~~~~~~~~~~~

* Enric Tobella <[email protected]>
* Jordi Ballester <[email protected]>
* Foram Shah <[email protected]>
* Dhara Solanki <[email protected]>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/server-ux <https://github.com/OCA/server-ux/tree/16.0/barcode_action>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions barcode_action/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import wizard
from . import models
26 changes: 26 additions & 0 deletions barcode_action/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Copyright 2017 Creu Blanca
# Copyright 2020 ForgeFlow S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).

{
"name": "Barcode action launcher",
"version": "16.0.1.0.0",
"category": "Extra Tools",
"website": "https://github.com/OCA/server-ux",
"author": "Creu Blanca, ForgeFlow, Odoo Community Association (OCA)",
"license": "AGPL-3",
"installable": True,
"application": False,
"summary": "Allows to use barcodes as a launcher",
"depends": ["barcodes"],
"data": [
"security/ir.model.access.csv",
"wizard/barcode_action_view.xml",
],
"assets": {
"web.assets_backend": [
"barcode_action/static/src/js/action_barcode_widget.esm.js",
],
},
"demo": ["demo/barcode_action_demo.xml"],
}
20 changes: 20 additions & 0 deletions barcode_action/demo/barcode_action_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="res_partner_find" model="ir.actions.act_window">
<field name="name">Find Partner</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">barcode.action</field>
<field name="view_mode">form</field>
<field
name="context"
>{'default_model': 'res.partner', 'default_method': 'find_res_partner_by_ref_using_barcode'}
</field>
<field name="target">new</field>
</record>
<menuitem
id="menu_orders_customers"
name="Find partners"
action="res_partner_find"
parent="base.menu_administration"
/>
</odoo>
136 changes: 136 additions & 0 deletions barcode_action/i18n/barcode_action.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * barcode_action
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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: barcode_action
#: model:ir.model,name:barcode_action.model_barcode_action
msgid "Barcode Action"
msgstr ""

#. module: barcode_action
#: model:ir.actions.act_window,name:barcode_action.barcode_action_action
msgid "Barcode Launcher"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action___barcode_scanned
msgid "Barcode Scanned"
msgstr ""

#. module: barcode_action
#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form
msgid "Close"
msgstr ""

#. module: barcode_action
#: model:ir.model,name:barcode_action.model_res_partner
msgid "Contact"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_uid
msgid "Created by"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_date
msgid "Created on"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__display_name
msgid "Display Name"
msgstr ""

#. module: barcode_action
#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form
msgid "Find"
msgstr ""

#. module: barcode_action
#: model:ir.actions.act_window,name:barcode_action.res_partner_find
msgid "Find Partner"
msgstr ""

#. module: barcode_action
#: model:ir.ui.menu,name:barcode_action.menu_orders_customers
msgid "Find partners"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__id
msgid "ID"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action____last_update
msgid "Last Modified on"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_uid
msgid "Last Updated by"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_date
msgid "Last Updated on"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__method
msgid "Method"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__model
msgid "Model"
msgstr ""

#. module: barcode_action
#. odoo-python
#: code:addons/barcode_action/models/res_partner.py:0
#, python-format
msgid "Partner with Internal Reference %s cannot be found"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__res_id
msgid "Res"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__state
msgid "State"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__status
msgid "Status"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields,help:barcode_action.field_barcode_action___barcode_scanned
msgid "Value of the last barcode scanned."
msgstr ""

#. module: barcode_action
#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__waiting
msgid "Waiting"
msgstr ""

#. module: barcode_action
#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__warning
msgid "Warning"
msgstr ""
Loading

0 comments on commit 45df1c0

Please sign in to comment.