跳转到主要内容

允许使用条形码作为启动器

项目描述

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

本模块允许使用条形码作为动作的启动器。

动作将启动一个函数,该函数使用条形码以返回一个动作。

目录

使用方法

动作必须配置以下数据:* model:我们可以找到方法的模型(必需)* method:要执行的方法(必需)* res_id:作为基础的Id(可选)

该方法必须返回一个动作。安装此模块并带有演示数据将安装一个演示应用程序,允许系统管理员通过条形码中编码的外部参考找到合作伙伴。

转到设置/查找合作伙伴并扫描包含现有合作伙伴内部参考的条形码。一旦读取条形码,系统将重定向您到该合作伙伴的表单视图。

此示例的技术实现

动作

<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代码

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跟踪在GitHub Issues上。如果遇到问题,请检查那里您的问题是否已经报告。如果您首先发现它,请通过提供详细的和受欢迎的反馈来帮助我们将其摧毁。

请不要直接联系贡献者以获取支持或帮助解决技术问题。

致谢

作者

  • Creu Blanca

  • Eficent

贡献者

维护者

本模块由OCA维护。

Odoo Community Association

OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。

本模块是GitHub上OCA/server-ux项目的一部分。

欢迎您贡献力量。了解如何贡献,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

此版本没有可用的源代码分发文件。有关创建分发存档的教程,请参阅生成分发存档

构建分发

由以下支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF 赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面