Skip to main content
Odoo Community Association

Barcode action launcher

Beta License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

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

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. 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.

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

Credits

Authors

  • Creu Blanca

  • ForgeFlow

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

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 project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file odoo_addon_barcode_action-19.0.1.0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for odoo_addon_barcode_action-19.0.1.0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 34e7f1375589759dbd0a56c98f8136a11f4a088ac32c2a837c9b121f0b36a698
MD5 195ae84859fa77a1bd35608ed6577abd
BLAKE2b-256 ab2f26b3900acc6e683bf9f0f0c730ba5ce34d4aba5651bb670c4463fc32b83b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

19.0.1.0.0.2 This release

1 file

18.0.1.0.0.4

1 file

18.0.1.0.0.2

1 file

17.0.1.0.1

1 file

17.0.1.0.0.4

1 file

17.0.1.0.0.3

1 file

17.0.1.0.0.2

1 file

16.0.1.0.1.4

1 file

16.0.1.0.1.2

1 file

16.0.1.0.1

1 file

16.0.1.0.0.9

1 file

16.0.1.0.0.8

1 file

16.0.1.0.0.3

1 file

15.0.1.0.0.5

1 file

15.0.1.0.0.3

1 file

15.0.1.0.0.2

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page