This question has been flagged
2 Replies
3834 Views

I don't understand :


scheduler_demo/data/sheduler_data.xml :


<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<data noupdate="1">
<record id="ir_cron_scheduler_demo_action" model="ir.cron">
<field name="name">Demo scheduler</field>
<field name="model_id" ref="model_scheduler_demo"></field>
<field name="state">code</field>
<field name="code">model.process_demo_scheduler_queue()</field>
<field name="active" eval="True"></field>
<field name="user_id" ref="base.user_root"></field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
</record>
</data>
</odoo>


scheduler_demo/models/__init__.py : 


from . import scheduler_demo


scheduler_demo/models/sheduler_demo.py :


# -*- coding: utf-8 -*-
from odoo import models, fields, api


class SchedulerDemo(models.Model):
_name = 'scheduler.demo'

name = fields.Char(required=True)
number_of_updates = fields.Integer('Number of updates')

@api.model
def _process_demo_scheduler_queue(self):
# Contains all records for the model scheduler.demo
scheduler_demo_records = self.env['scheduler.demo'].search([])

# Loop over the records one by one
for demo_record in scheduler_demo_records:
number_of_updates = demo_record.number_of_updates + 1

# Update the record with the new number of updates
demo_record.write({
'number_of_updates': number_of_updates
})


scheduler_demo/security/ir.model.access.csv :


id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_scheduler_demo,access_scheduler_demo,model_scheduler_demo,base.group_user,1,1,1,1


scheduler_demo/views/menu.xml :


<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<menuitem id="scheduler_demo_menu_root"
name="Scheduler tutorial"
sequence="98"></menuitem>

<menuitem id="menu_scheduler_demo"
name="Scheduler records"
parent="scheduler_demo_menu_root"
action="action_scheduler_demo_records"
sequence="1"></menuitem>

<record id="action_scheduler_demo_records" model="ir.actions.act_window">
<field name="name">Scheduler records</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">scheduler.demo</field>
<field name="search_view_id" ref="scheduler_demo_search_view"></field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a new scheduler record by clicking on 'Create'.
</p>
</field>
</record>
</odoo>


scheduler_demo/scheduler_demo.xml :

<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="scheduler_demo_tree_view" model="ir.ui.view">
<field name="name">scheduler.demo.tree</field>
<field name="model">scheduler.demo</field>
<field name="arch" type="xml">
<tree string="Scheduler records">
<field name="name"></field>
<field name="number_of_updates"></field>
</tree>
</field>
</record>

<record id="scheduler_demo_form_view" model="ir.ui.view">
<field name="name">scheduler.demo.form</field>
<field name="model">scheduler.demo</field>
<field name="arch" type="xml">
<form string="Scheduler record">
<sheet>
<group name="main_info">
<field name="name"></field>
<field name="number_of_updates"></field>
<field name="write_date"></field>
</group>
</sheet>
</form>
</field>
</record>

<record id="scheduler_demo_search_view" model="ir.ui.view">
<field name="name">scheduler.demo.search</field>
<field name="model">scheduler.demo</field>
<field name="arch" type="xml">
<search string="Scheduler records">
<field name="name"></field>
<field name="number_of_updates"></field>
</search>
</field>
</record>
</odoo>

scheduler_demo/__init__py :

from . import models

scheduler_demo/__manifest__.py :

{
'name': "scheduler_demo",
'summary': """ """,
'description': """ """,
'author': "An Awesome Developer",
'version': '13.0.0.1',
'depends': ['base', 'web'],
'data': [
'security/ir.model.access.csv',
'data/scheduler_data.xml',
'views/scheduler_demo.xml',
'views/menu.xml',
],
'qweb': [],
'installable': True,
'application': False,
'auto_install': False,
}

ERROR :


Error:

Odoo Server Error


Traceback (most recent call last):

  File "/opt/odoo/odoo/tools/convert.py", line 712, in parse

    self._tag_root(de)

  File "/opt/odoo/odoo/tools/convert.py", line 674, in _tag_root

    f(rec)

  File "/opt/odoo/odoo/tools/convert.py", line 674, in _tag_root

    f(rec)

  File "/opt/odoo/odoo/tools/convert.py", line 577, in _tag_record

    record = model._load_records([data], self.mode == 'update')

  File "/opt/odoo/odoo/models.py", line 4084, in _load_records

    records = self._load_records_create([data['values'] for data in to_create])

  File "/opt/odoo/odoo/models.py", line 3998, in _load_records_create

    return self.create(values)

  File "<decorator-gen-40>", line 2, in create

  File "/opt/odoo/odoo/api.py", line 317, in _model_create_single

    return self.browse().concat(*(create(self, vals) for vals in arg))

  File "/opt/odoo/odoo/api.py", line 317, in <genexpr>

    return self.browse().concat(*(create(self, vals) for vals in arg))

  File "/opt/odoo/odoo/addons/base/models/ir_cron.py", line 71, in create

    return super(ir_cron, self).create(values)

  File "<decorator-gen-3>", line 2, in create

  File "/opt/odoo/odoo/api.py", line 335, in _model_create_multi

    return create(self, [arg])

  File "/opt/odoo/odoo/models.py", line 3740, in create

    for data in parent_data_list

  File "<decorator-gen-34>", line 2, in create

  File "/opt/odoo/odoo/api.py", line 336, in _model_create_multi

    return create(self, arg)

  File "/opt/odoo/odoo/addons/base/models/ir_actions.py", line 59, in create

    res = super(IrActions, self).create(vals_list)

  File "<decorator-gen-3>", line 2, in create

  File "/opt/odoo/odoo/api.py", line 336, in _model_create_multi

    return create(self, arg)

  File "/opt/odoo/odoo/models.py", line 3746, in create

    records = self._create(data_list)

  File "/opt/odoo/odoo/models.py", line 3832, in _create

    cr.execute(query, params)

  File "/opt/odoo/odoo/sql_db.py", line 168, in wrapper

    return f(self, *args, **kwargs)

  File "/opt/odoo/odoo/sql_db.py", line 245, in execute

    res = self._obj.execute(query, params)

psycopg2.IntegrityError: ERREUR:  une valeur NULL viole la contrainte NOT NULL de la colonne « activity_user_type »

DETAIL:  La ligne en échec contient (586, Demo scheduler, ir.actions.server, null, null, action, list,form, 1, 2020-09-25 13:32:44.223276, 1, 2020-09-25 13:32:44.223276, ir_cron, code, 5, 394, null, model.process_demo_scheduler_queue(), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null)



During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/opt/odoo/odoo/http.py", line 624, in _handle_exception

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

  File "/opt/odoo/odoo/http.py", line 310, in _handle_exception

    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])

  File "/opt/odoo/odoo/tools/pycompat.py", line 14, in reraise

    raise value

  File "/opt/odoo/odoo/http.py", line 669, in dispatch

    result = self._call_function(**self.params)

  File "/opt/odoo/odoo/http.py", line 350, in _call_function

    return checked_call(self.db, *args, **kwargs)

  File "/opt/odoo/odoo/service/model.py", line 94, in wrapper

    return f(dbname, *args, **kwargs)

  File "/opt/odoo/odoo/http.py", line 339, in checked_call

    result = self.endpoint(*a, **kw)

  File "/opt/odoo/odoo/http.py", line 915, in __call__

    return self.method(*args, **kw)

  File "/opt/odoo/odoo/http.py", line 515, in response_wrap

    response = f(*args, **kw)

  File "/opt/odoo/addons/web/controllers/main.py", line 1326, in call_button

    action = self._call_kw(model, method, args, kwargs)

  File "/opt/odoo/addons/web/controllers/main.py", line 1314, in _call_kw

    return call_kw(request.env[model], method, args, kwargs)

  File "/opt/odoo/odoo/api.py", line 387, in call_kw

    result = _call_kw_multi(method, model, args, kwargs)

  File "/opt/odoo/odoo/api.py", line 374, in _call_kw_multi

    result = method(recs, *args, **kwargs)

  File "<decorator-gen-65>", line 2, in button_immediate_upgrade

  File "/opt/odoo/odoo/addons/base/models/ir_module.py", line 72, in check_and_log

    return method(self, *args, **kwargs)

  File "/opt/odoo/odoo/addons/base/models/ir_module.py", line 634, in button_immediate_upgrade

    return self._button_immediate_function(type(self).button_upgrade)

  File "/opt/odoo/odoo/addons/base/models/ir_module.py", line 573, in _button_immediate_function

    modules.registry.Registry.new(self._cr.dbname, update_module=True)

  File "/opt/odoo/odoo/modules/registry.py", line 86, in new

    odoo.modules.load_modules(registry._db, force_demo, status, update_module)

  File "/opt/odoo/odoo/modules/loading.py", line 419, in load_modules

    force, status, report, loaded_modules, update_module, models_to_check)

  File "/opt/odoo/odoo/modules/loading.py", line 315, in load_marked_modules

    perform_checks=perform_checks, models_to_check=models_to_check

  File "/opt/odoo/odoo/modules/loading.py", line 225, in load_module_graph

    load_data(cr, idref, mode, kind='data', package=package, report=report)

  File "/opt/odoo/odoo/modules/loading.py", line 68, in load_data

    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)

  File "/opt/odoo/odoo/tools/convert.py", line 736, in convert_file

    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)

  File "/opt/odoo/odoo/tools/convert.py", line 803, in convert_xml_import

    obj.parse(doc.getroot())

  File "/opt/odoo/odoo/tools/convert.py", line 721, in parse

    exc_info[2]

  File "/opt/odoo/odoo/tools/pycompat.py", line 13, in reraise

    raise value.with_traceback(tb)

  File "/opt/odoo/odoo/tools/convert.py", line 712, in parse

    self._tag_root(de)

  File "/opt/odoo/odoo/tools/convert.py", line 674, in _tag_root

    f(rec)

  File "/opt/odoo/odoo/tools/convert.py", line 674, in _tag_root

    f(rec)

  File "/opt/odoo/odoo/tools/convert.py", line 577, in _tag_record

    record = model._load_records([data], self.mode == 'update')

  File "/opt/odoo/odoo/models.py", line 4084, in _load_records

    records = self._load_records_create([data['values'] for data in to_create])

  File "/opt/odoo/odoo/models.py", line 3998, in _load_records_create

    return self.create(values)

  File "<decorator-gen-40>", line 2, in create

  File "/opt/odoo/odoo/api.py", line 317, in _model_create_single

    return self.browse().concat(*(create(self, vals) for vals in arg))

  File "/opt/odoo/odoo/api.py", line 317, in <genexpr>

    return self.browse().concat(*(create(self, vals) for vals in arg))

  File "/opt/odoo/odoo/addons/base/models/ir_cron.py", line 71, in create

    return super(ir_cron, self).create(values)

  File "<decorator-gen-3>", line 2, in create

  File "/opt/odoo/odoo/api.py", line 335, in _model_create_multi

    return create(self, [arg])

  File "/opt/odoo/odoo/models.py", line 3740, in create

    for data in parent_data_list

  File "<decorator-gen-34>", line 2, in create

  File "/opt/odoo/odoo/api.py", line 336, in _model_create_multi

    return create(self, arg)

  File "/opt/odoo/odoo/addons/base/models/ir_actions.py", line 59, in create

    res = super(IrActions, self).create(vals_list)

  File "<decorator-gen-3>", line 2, in create

  File "/opt/odoo/odoo/api.py", line 336, in _model_create_multi

    return create(self, arg)

  File "/opt/odoo/odoo/models.py", line 3746, in create

    records = self._create(data_list)

  File "/opt/odoo/odoo/models.py", line 3832, in _create

    cr.execute(query, params)

  File "/opt/odoo/odoo/sql_db.py", line 168, in wrapper

    return f(self, *args, **kwargs)

  File "/opt/odoo/odoo/sql_db.py", line 245, in execute

    res = self._obj.execute(query, params)

odoo.tools.convert.ParseError: "ERREUR:  une valeur NULL viole la contrainte NOT NULL de la colonne « activity_user_type »

DETAIL:  La ligne en échec contient (586, Demo scheduler, ir.actions.server, null, null, action, list,form, 1, 2020-09-25 13:32:44.223276, 1, 2020-09-25 13:32:44.223276, ir_cron, code, 5, 394, null, model.process_demo_scheduler_queue(), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null)

" while parsing /home/brenda/Code/app_odoo/scheduler_demo/data/scheduler_data.xml:2, near

<odoo>

  <data noupdate="1">

    <record id="ir_cron_scheduler_demo_action" model="ir.cron">

      <field name="name">Demo scheduler</field>

      <field name="model_id" ref="model_scheduler_demo"/>

      <field name="state">code</field>

      <field name="code">model.process_demo_scheduler_queue()</field>

      <field name="active" eval="True"/>

      <field name="user_id" ref="base.user_root"/>

      <field name="interval_number">1</field>

      <field name="interval_type">days</field>

      <field name="numbercall">-1</field>

    </record>

  </data>

</odoo>



I do not understand the error, I tested a lot of modification without success, could someone help me please.

Avatar
Discard
Author Best Answer


I found the solution to my problem

Avatar
Discard