diff options
| author | Raphael Collet <rco@openerp.com> | 2016-09-02 15:58:39 +0200 |
|---|---|---|
| committer | Raphael Collet <rco@openerp.com> | 2016-09-02 17:28:12 +0200 |
| commit | 9e64f9f9514194d74e166b032add8511182f2677 (patch) | |
| tree | 5086710c04c6b923be18a6d1d97b3f0f3a2a9c4a /odoo/addons/test_exceptions | |
| parent | 11812b0b9e82b2b1b9041d8250ce01e7b4a5f7ee (diff) | |
[REF] openerp: move `openerp` to `odoo`
Diffstat (limited to 'odoo/addons/test_exceptions')
| -rw-r--r-- | odoo/addons/test_exceptions/__init__.py | 4 | ||||
| -rw-r--r-- | odoo/addons/test_exceptions/__openerp__.py | 12 | ||||
| -rw-r--r-- | odoo/addons/test_exceptions/ir.model.access.csv | 2 | ||||
| -rw-r--r-- | odoo/addons/test_exceptions/models.py | 110 | ||||
| -rw-r--r-- | odoo/addons/test_exceptions/static/description/icon.png | bin | 0 -> 7636 bytes | |||
| -rw-r--r-- | odoo/addons/test_exceptions/view.xml | 126 |
6 files changed, 254 insertions, 0 deletions
diff --git a/odoo/addons/test_exceptions/__init__.py b/odoo/addons/test_exceptions/__init__.py new file mode 100644 index 00000000000..dc5e6b693d1 --- /dev/null +++ b/odoo/addons/test_exceptions/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import models diff --git a/odoo/addons/test_exceptions/__openerp__.py b/odoo/addons/test_exceptions/__openerp__.py new file mode 100644 index 00000000000..257ed67b829 --- /dev/null +++ b/odoo/addons/test_exceptions/__openerp__.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +{ + 'name': 'test-exceptions', + 'version': '0.1', + 'category': 'Tests', + 'description': """A module to generate exceptions.""", + 'depends': ['base'], + 'data': ['view.xml', 'ir.model.access.csv'], + 'installable': True, + 'auto_install': False, +} diff --git a/odoo/addons/test_exceptions/ir.model.access.csv b/odoo/addons/test_exceptions/ir.model.access.csv new file mode 100644 index 00000000000..56f99efd729 --- /dev/null +++ b/odoo/addons/test_exceptions/ir.model.access.csv @@ -0,0 +1,2 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +access_test_exceptions_model,access_test_exceptions_model,model_test_exceptions_model,,1,1,1,1 diff --git a/odoo/addons/test_exceptions/models.py b/odoo/addons/test_exceptions/models.py new file mode 100644 index 00000000000..9b5e6902681 --- /dev/null +++ b/odoo/addons/test_exceptions/models.py @@ -0,0 +1,110 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import odoo.exceptions +import odoo.osv.osv +from odoo import models, api +from odoo.tools.safe_eval import safe_eval + +class m(models.Model): + """ This model exposes a few methods that will raise the different + exceptions that must be handled by the server (and its RPC layer) + and the clients. + """ + _name = 'test.exceptions.model' + + @api.multi + def generate_except_osv(self): + # title is ignored in the new (6.1) exceptions + raise odoo.osv.osv.except_osv('title', 'description') + + @api.multi + def generate_except_orm(self): + # title is ignored in the new (6.1) exceptions + raise odoo.exceptions.except_orm('title', 'description') + + @api.multi + def generate_warning(self): + raise odoo.exceptions.Warning('description') + + @api.multi + def generate_redirect_warning(self): + action = self.env.ref('test_exceptions.action_test_exceptions') + raise odoo.exceptions.RedirectWarning('description', action.id, 'Go to the redirection') + + @api.multi + def generate_access_denied(self): + raise odoo.exceptions.AccessDenied() + + @api.multi + def generate_access_error(self): + raise odoo.exceptions.AccessError('description') + + @api.multi + def generate_exc_access_denied(self): + raise Exception('AccessDenied') + + @api.multi + def generate_undefined(self): + self.surely_undefined_symbol + + @api.multi + def generate_user_error(self): + raise odoo.exceptions.UserError('description') + + @api.multi + def generate_missing_error(self): + raise odoo.exceptions.MissingError('description') + + @api.multi + def generate_validation_error(self): + raise odoo.exceptions.ValidationError('description') + + @api.multi + def generate_except_osv_safe_eval(self): + self.generate_safe_eval(self.generate_except_osv) + + @api.multi + def generate_except_orm_safe_eval(self): + self.generate_safe_eval(self.generate_except_orm) + + @api.multi + def generate_warning_safe_eval(self): + self.generate_safe_eval(self.generate_warning) + + @api.multi + def generate_redirect_warning_safe_eval(self): + self.generate_safe_eval(self.generate_redirect_warning) + + @api.multi + def generate_access_denied_safe_eval(self): + self.generate_safe_eval(self.generate_access_denied) + + @api.multi + def generate_access_error_safe_eval(self): + self.generate_safe_eval(self.generate_access_error) + + @api.multi + def generate_exc_access_denied_safe_eval(self): + self.generate_safe_eval(self.generate_exc_access_denied) + + @api.multi + def generate_undefined_safe_eval(self): + self.generate_safe_eval(self.generate_undefined) + + @api.multi + def generate_user_error_safe_eval(self): + self.generate_safe_eval(self.generate_user_error) + + @api.multi + def generate_missing_error_safe_eval(self): + self.generate_safe_eval(self.generate_missing_error) + + @api.multi + def generate_validation_error_safe_eval(self): + self.generate_safe_eval(self.generate_validation_error) + + @api.multi + def generate_safe_eval(self, f): + globals_dict = { 'generate': f } + safe_eval("generate()", mode='exec', globals_dict=globals_dict) diff --git a/odoo/addons/test_exceptions/static/description/icon.png b/odoo/addons/test_exceptions/static/description/icon.png Binary files differnew file mode 100644 index 00000000000..b0f5613028c --- /dev/null +++ b/odoo/addons/test_exceptions/static/description/icon.png diff --git a/odoo/addons/test_exceptions/view.xml b/odoo/addons/test_exceptions/view.xml new file mode 100644 index 00000000000..70827656903 --- /dev/null +++ b/odoo/addons/test_exceptions/view.xml @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + + <record id="view_test_exceptions_model" model="ir.ui.view"> + <field name="name">Test exceptions</field> + <field name="model">test.exceptions.model</field> + <field name="arch" type="xml"> + <form string="Test exceptions" version="6.1"> + <label string="Each button generates a specific exception on the server. The text on the right is the expected representation of the exception when displayed on the client. Button marked with a '*' use safe_eval()."/> + <separator string="" colspan="8"/> + <group colspan="8" col="8"> + <group colspan="4" col="8"> + <group colspan="8" col="8"> + <button name="generate_except_osv" string="except_osv" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Warning-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_except_orm" string="except_orm" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Warning-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_warning" string="Warning" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Warning-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_redirect_warning" string="RedirectWarning" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Warning-description-redirection button"/> + </group> + <group colspan="8" col="8"> + <button name="generate_access_denied" string="AccessDenied" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Access denied-traceback"/> + </group> + <group colspan="8" col="8"> + <button name="generate_access_error" string="AccessError" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Access rights error-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_exc_access_denied" string="Exc AccessDenied" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Access denied-traceback"/> + </group> + <group colspan="8" col="8"> + <button name="generate_undefined" string="Undefined" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Server error-traceback"/> + </group> + <group colspan="8" col="8"> + <button name="generate_user_error" string="UserError" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Warning-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_missing_error" string="MissingError" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Missing Error-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_validation_error" string="ValidationError" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Validation Error-description"/> + </group> + </group> + <group colspan="4" col="8"> + <group colspan="8" col="8"> + <button name="generate_except_osv_safe_eval" string="except_osv*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Warning-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_except_orm_safe_eval" string="except_orm*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Warning-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_warning_safe_eval" string="Warning*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Warning-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_redirect_warning_safe_eval" string="RedirectWarning*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Warning-description-redirection button"/> + </group> + <group colspan="8" col="8"> + <button name="generate_access_denied_safe_eval" string="AccessDenied*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Access denied-traceback"/> + </group> + <group colspan="8" col="8"> + <button name="generate_access_error_safe_eval" string="AccessError*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Access rights error-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_exc_access_denied_safe_eval" string="Exc AccessDenied*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Access denied-traceback"/> + </group> + <group colspan="8" col="8"> + <button name="generate_undefined_safe_eval" string="Undefined*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Server error-traceback"/> + </group> + <group colspan="8" col="8"> + <button name="generate_user_error_safe_eval" string="UserError*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Warning-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_missing_error_safe_eval" string="MissingError*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Missing Error-description"/> + </group> + <group colspan="8" col="8"> + <button name="generate_validation_error_safe_eval" string="ValidationError*" type="object" icon="fa-refresh text-primary" colspan="1"/> + <label string="Validation Error-description"/> + </group> + </group> + </group> + </form> + </field> + </record> + + <record id="action_test_exceptions" model="ir.actions.act_window"> + <field name="name">Test exceptions</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">test.exceptions.model</field> + <field name="view_type">form</field> + <field name="view_mode">form</field> + <field name="target">new</field> + </record> + + <menuitem id="menu_test_exceptions" parent="base.menu_tests" name="Test exceptions"/> + + <menuitem id="menu_test_exceptions_leaf" + name="Test exceptions" + action="action_test_exceptions" + parent="menu_test_exceptions"/> + </data> +</odoo> |
