允许使用条形码作为启动程序

odoo11-addon-barcode-action的Python项目详细描述


BetaLicense: AGPL-3OCA/server-uxTranslate me on WeblateTry me on Runbot

此模块允许使用条形码作为操作的启动程序。

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

目录

Usage

必须使用上下文中的以下数据配置操作: *模型:我们可以找到方法的模型(必需) *方法:要执行的方法(必需) *res_id:id作为基(可选)

方法必须返回操作。使用演示数据安装此模块将 安装一个演示应用程序,允许系统管理员查找 由编码在条形码中的外部引用组成的伙伴。

转到settings/find partners并扫描包含 现有合作伙伴的内部引用。你一读条形码 系统将重定向到该合作伙伴的窗体视图。

本例的技术实现:

操作:

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

漏洞在GitHub Issues上跟踪。 如果出现问题,请检查是否已报告您的问题。 如果你先发现了它,请提供详细的 feedback

不要就技术问题直接与贡献者联系。

Credits

Authors

  • 克鲁布兰卡
  • eficent

Contributors

Maintainers

此模块由OCA维护。

Odoo Community Association

oca,或odoo社区协会,是一个非营利性组织 任务是支持odoo特性和 促进其广泛应用。

这个模块是github上OCA/server-ux项目的一部分。

欢迎您的贡献。要了解如何访问https://odoo-community.org/page/Contribute

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java检查整数是0还是检查变量是null更好?   java Android Kotlin(初学者)使用File(),并从ACTION\u GET\u内容返回Uri   java JavaFx在“内部场景”和根场景之间切换   spring将XMLBean配置转换为java配置   java JPA HIBERNATE映射列两次(embeddedID和POJO)   c#单态模式模型在什么情况下适用?   java请求。getRemoteUser在特定时间后返回null?   spring boot中PUT api控制器的java my单元测试用例失败   java在字符串中互换地解析和替换值   java Android JNI在应用程序中检测到错误:调用JNI GetMethodID时出现挂起异常   JavaSpringDataMongo:使用非简单键持久化映射   爪哇玻璃鱼连接被拒绝   java如何在用户注册时发送特定电子邮件id的自动回复?   Java列表:实例化时和之后的赋值之间的差异