تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
5 الردود
28988 أدوات العرض

Hello, I am developing a module in Odoo 8. I have inherited product.pricelist class which definition is

class product_pricelist(osv.osv):

In my definition I have

class product_pricelist(models.Model):
    _inherit = 'product.pricelist'

When in my code I try to execute the line

raise osv.except_osv(_('Warning!'), _("At least one pricelist has no active version !\nPlease create or activate one."))

I have an error because global name osv is not defined. What is the best way to throw an exception and display an error in Odoo 8? Thanks!

الصورة الرمزية
إهمال
أفضل إجابة

You use openerp.exceptions ( except_orm() or Warning() ) like this:

from openerp.exceptions import except_orm, Warning, RedirectWarning
class product_pricelist(models.Model):
    _inherit = 'product.pricelist'

    @api.multi
    def FOO(self):
        if True:
          raise except_orm('FOO','Lorem ipsum dolor sit amet')
        else:  
          raise Warning('Lorem ipsum dolor sit amet')

 

الصورة الرمزية
إهمال
أفضل إجابة

@zbik , I tried what u said but it gives error as follows

Traceback (most recent call last):

File "/opt/odoopro/openerp/http.py", line 539, in _handle_exception

return super(JsonRequest, self)._handle_exception(exception)

File "/opt/odoopro/openerp/http.py", line 1417, in _dispatch_nodb

func, arguments = self.nodb_routing_map.bind_to_environ(request.httprequest.environ).match()

File "/usr/lib/python2.7/dist-packages/werkzeug/routing.py", line 1433, in match

raise NotFound()

NotFound: 404: Not Found

الصورة الرمزية
إهمال
الكاتب أفضل إجابة

Thanks, it works! But how can I display a warning message and then continue with the execution of the method?

الصورة الرمزية
إهمال
الكاتب

Another question, how can I display a "Yes/No" message, if the user presses "Yes" the method continues and if the user presses "No" the execution stop?

المنشورات ذات الصلة الردود أدوات العرض النشاط
0
أبريل 24
1928
4
نوفمبر 23
6030
0
أكتوبر 23
1784
0
ديسمبر 22
2679
2
ديسمبر 23
19434