设为首页 加入收藏

TOP

OpenERP弹出窗口提示小结
2014-11-23 21:12:11 来源: 作者: 【 】 浏览:14
Tags:OpenERP 窗口 提示 小结
OpenERP弹出提示窗口小结

OpenERP弹出提示窗口有三种方式,详情可参考:
http://www.cnblogs.com/cnshen/p/3205405.html
http://shine-it.net/index.php topic=2383.0
这里注意讨论的是raise osv.except_osv()这种方式,效果图如下:
\
<  http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPgoKPHN0cm9uZz4xPC9zdHJvbmc+PHN0cm9uZz6jqSC1vMjr0OjSqrXExKO/6Twvc3Ryb25nPjxzdHJvbmc+Cjwvc3Ryb25nPjxzdHJvbmc+Cjwvc3Ryb25nPjxzdHJvbmc+Cjwvc3Ryb25nPiA8cHJlIGNsYXNzPQ=="brush:java;">  from openerp.tools.translate import _
  from osv.osv import except_osv

2) 检查业务逻辑中的错误,终止代码执行,显示错误或警告信息
在类方法中需要提示的地方加如下代码:

 raiseosv.except_osv(_('Error!'), _('Error Message.'))

  注意:方法osv.except_osv()需要两个参数,把参数放在_()中是实现了参数的国际化,可以不加_()

Eg:

   
def __assistant_depmanager_prove(self, cr, uid, ids, context=None):
        for qjd in self.browse(cr, uid, ids, context=context):
            if qjd.shenqr.user_id.id == uid:
                raise osv.except_osv(_('Warning!'), _('you cannot prove yourself'))
                return False
            elif qjd.tians > 1:
                raise osv.except_osv(_('Warning!'), _('There are not enough access '))
                return False
            else:
                return True

翻译提示语
#. module: qingjia
#: code:addons/qingjia/qingjia.py:0
#, python-formatmsgid "Warning!"msgstr "提示!"
#. module: qingjia#: code:addons/qingjia/qingjia.py:0
#, python-formatmsgid "you cannot prove yourself"
msgstr "您不能审批您自己的请假单"

3)  在提示语中可以含有变量,以及对变量的中文翻译 
 
def assistant_depmanager_proved_new(self, cr, uid, ids, context=None):
        res = self.browse(cr, uid, ids, context=context)
        result = res[0]
        raise osv.except_osv(_(' Error! '), _('Your uid is "%s" ,name is "%s",the state is "%s"')%(_(uid),_('王小波'),_(result.state)))
        result = self.__assistant_depmanager_prove(cr, uid, ids, context=context)
        if result:
            self.write(cr, uid, ids, {'state': 'proved'})

说明:这里的状态翻译后是对应的英文状态名,如果还需要翻译成中文,必须使用_()
 
#. module: qingjia#: code:addons/qingjia/qingjia.py:0
#, python-format
msgid "Your uid is \"%s\" ,name is \"%s\",the state is \"%s\""
msgstr "你的用户id是:'%s',姓名是:'%s',请假单状态是:'%s'"
 
对定义的所有状态进行翻译,最后状态也将是中文的
 
#. module: qingjia
#: code:addons/qingjia/qingjia.py:0
#, python-format
msgid "wait_prove"msgstr "待批的"
 
效果图如下
 
 

      
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Opencv学习笔记(六):Mask Oper.. 下一篇c语言与函数式编程1(wrapper fun..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: