IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Odoo (ex-OpenERP) Discussion :

Service Odoo ne se lance pas après mise à jour d'un module


Sujet :

Odoo (ex-OpenERP)

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2015
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Service Odoo ne se lance pas après mise à jour d'un module
    Bonjour à tous, voici la description du problème :
    Installation : Odoo version 8.0-20150129 sur Windows 7

    J'ai suivi ce tutoriel pour lancer le Service pour la première fois, j'ai remplacé le fichier mimetypes.pyc comme c'est indiqué dans le tutoriel et cela a marché.

    Ensuite
    lorsque j'ai suivi le tutoriel de création de module "openacademy" après avoir ajouté la vue calendrier et avoir mise à jour le module et relancé le serveur, le service odoo-server-8.0 8.0 c'est arrêté et je n'arrive plus à le relancer.
    J'ai tenté plusieurs solutions :
    - supprimé la vue "session.calendar" dans le fichier openacademy.xml ainsi que la declaration du champ 'end_date' dans le fichier models.py puis tenté de relancer le service
    - supprimé le module "openacademy" du dossier "addons" puis tenté de relancer le service
    - supprimé la base de données où le module est installé puis tenté de relancer le service
    mais sans résultat.


    Voici une partie de rapport openerp-server.log:

    Error context:
    View `session.calendar`
    [view_id: 1322, xml_id: n/a, model: openacademy.session, parent_id: n/a]
    2015-02-13 00:28:52,417 4000 ERROR win_test1 openerp.http: Exception during JSON request handling.
    Traceback (most recent call last):
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\http.py", line 526, in _handle_exception
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\http.py", line 563, in dispatch
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\http.py", line 303, in _call_function
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\service\model.py", line 113, in wrapper
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\http.py", line 300, in checked_call
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\http.py", line 792, in __call__
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\http.py", line 396, in response_wrap
    File "C:\Program Files\Odoo 8.0-20150129\server\openerp\addons\web\controllers\main.py", line 953, in call_button
    File "C:\Program Files\Odoo 8.0-20150129\server\openerp\addons\web\controllers\main.py", line 941, in _call_kw
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\api.py", line 241, in wrapper
    File "C:\Program Files\Odoo 8.0-20150129\server\openerp\addons\base\module\module.py", line 537, in button_immediate_upgrade
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\api.py", line 241, in wrapper
    File "C:\Program Files\Odoo 8.0-20150129\server\openerp\addons\base\module\module.py", line 498, in _button_immediate_function
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\modules\registry.py", line 366, in new
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\modules\loading.py", line 351, in load_modules
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\modules\loading.py", line 255, in load_marked_modules
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\modules\loading.py", line 176, in load_module_graph
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\modules\loading.py", line 118, in _load_data
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\tools\convert.py", line 901, in convert_file
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\tools\convert.py", line 987, in convert_xml_import
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\tools\convert.py", line 853, in parse
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\tools\convert.py", line 763, in _tag_record
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\api.py", line 241, in wrapper
    File "C:\Program Files\Odoo 8.0-20150129\server\openerp\addons\base\ir\ir_model.py", line 1069, in _update
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\api.py", line 241, in wrapper
    File "C:\Program Files\Odoo 8.0-20150129\server\openerp\addons\base\ir\ir_ui_view.py", line 264, in create
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\api.py", line 241, in wrapper
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\api.py", line 336, in old_api
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\models.py", line 4025, in create
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\api.py", line 239, in wrapper
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\api.py", line 462, in new_api
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\models.py", line 4216, in _create
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\api.py", line 239, in wrapper
    File "C:\Program Files\Odoo 8.0-20150129\server\.\openerp\models.py", line 1266, in _validate_fields
    ParseError: "ValidateError
    Field(s) `arch` failed against a constraint: Invalid view definition

    Error details:
    Field `end_date` does not exist

    Error context:
    View `session.calendar`
    [view_id: 1322, xml_id: n/a, model: openacademy.session, parent_id: n/a]" while parsing file:///C:/Program%20Files/Odoo%208.0-20150129/server/openerp/addons/openacademy/views/openacademy.xml:134, near
    <record model="ir.ui.view" id="session_calendar_view">
    <field name="name">session.calendar</field>
    <field name="model">openacademy.session</field>
    <field name="arch" type="xml">
    <calendar string="Session Calendar" date_start="start_date" date_stop="end_date" color="instructor_id">
    <field name="name"/>
    </calendar>
    </field>
    </record>
    2015-02-13 00:28:52,418 4000 INFO win_test1 werkzeug: 127.0.0.1 - - [13/Feb/2015 00:28:52] "POST /web/dataset/call_button HTTP/1.1" 200 -
    2015-02-13 00:29:00,467 4000 INFO win_test1 openerp.modules.loading: loading 1 modules...
    2015-02-13 00:29:00,605 4000 INFO win_test1 openerp.modules.loading: 1 modules loaded in 0.14s, 0 queries
    2015-02-13 00:29:00,812 4000 INFO win_test1 openerp.modules.loading: loading 91 modules...
    2015-02-13 00:29:00,911 4000 WARNING win_test1 openerp.models: @constrains('instructor_id', 'attendee_id') parameters must be field names
    2015-02-13 00:29:00,918 4000 INFO win_test1 openerp.modules.module: module openacademy: creating or updating database tables
    2015-02-13 00:29:01,025 4000 INFO win_test1 openerp.modules.loading: loading openacademy/templates.xml
    2015-02-13 00:29:01,028 4000 INFO win_test1 openerp.modules.loading: loading openacademy/views/openacademy.xml
    2015-02-13 00:29:01,158 4000 ERROR win_test1 openerp.addons.base.ir.ir_ui_view: Field `end_date` does not exist

    .......

    Error context:
    View `session.calendar`
    [view_id: 1349, xml_id: n/a, model: openacademy.session, parent_id: n/a]
    2015-02-13 00:30:54,654 4000 ERROR win_test1 openerp.service.server: Exception happened during processing of request from ('127.0.0.1', 50485)
    Traceback (most recent call last):
    File "SocketServer.pyc", line 593, in process_request_thread
    File "SocketServer.pyc", line 334, in finish_request
    File "SocketServer.pyc", line 649, in __init__
    File "werkzeug\serving.pyc", line 200, in handle
    File "BaseHTTPServer.pyc", line 340, in handle
    File "werkzeug\serving.pyc", line 235, in handle_one_request
    File "werkzeug\serving.pyc", line 183, in run_wsgi
    ImportError: No module named debug.tbtools
    2015-02-13 00:30:54,661 4000 INFO win_test1 openerp.modules.loading: loading 1 modules...
    2015-02-13 00:30:54,798 4000 INFO win_test1 openerp.modules.loading: 1 modules loaded in 0.14s, 0 queries
    2015-02-13 00:30:55,013 4000 INFO win_test1 openerp.modules.loading: loading 91 modules...
    2015-02-13 00:30:55,108 4000 WARNING win_test1 openerp.models: @constrains('instructor_id', 'attendee_id') parameters must be field names
    2015-02-13 00:30:55,118 4000 INFO win_test1 openerp.modules.module: module openacademy: creating or updating database tables



    Contenu du fichier openerp-server.conf

    [options]
    addons_path = C:\Program Files\Odoo 8.0-20150129\server\openerp\addons
    admin_passwd = m5aNofdiU.JY
    auto_reload = None
    bin_path = C:\Program Files\Odoo 8.0-20150129\thirdparty
    csv_internal_sep = ,
    data_dir = C:\Windows\system32\config\systemprofile\AppData\Local\OpenERP S.A.\Odoo
    db_host = localhost
    db_maxconn = 64
    db_name = aramis_prod2
    db_password = openpgpwd
    db_port = 5432
    db_template = template1
    db_user = openpg
    dbfilter = .*
    debug_mode = False
    demo = {}
    email_from = False
    geoip_database = /usr/share/GeoIP/GeoLiteCity.dat
    import_partial =
    limit_memory_hard = None
    limit_memory_soft = None
    limit_request = None
    limit_time_cpu = None
    limit_time_real = None
    list_db = True
    log_db = False
    log_handler = :INFO
    log_level = info
    logfile = C:\Program Files\Odoo 8.0-20150129\server\openerp-server.log
    logrotate = False
    longpolling_port = 8072
    max_cron_threads = 2
    osv_memory_age_limit = 1.0
    osv_memory_count_limit = False
    pg_path = C:\Program Files\Odoo 8.0-20150129\PostgreSQL\bin
    pidfile = None
    proxy_mode = False
    reportgz = False
    secure_cert_file = server.cert
    secure_pkey_file = server.pkey
    server_wide_modules = None
    smtp_password = False
    smtp_port = 25
    smtp_server = localhost
    smtp_ssl = False
    smtp_user = False
    syslog = False
    test_commit = False
    test_enable = False
    test_file = False
    test_report_directory = False
    timezone = False
    translate_modules = ['all']
    unaccent = False
    without_demo = False
    workers = None
    xmlrpc = True
    xmlrpc_interface =
    xmlrpc_port = 8069
    xmlrpcs = True
    xmlrpcs_interface =
    xmlrpcs_port = 8071



    Pouvez vous m'aider s'il vous plait.

    Cordialement.

  2. #2
    Membre éprouvé
    Avatar de Gandalf24
    Homme Profil pro
    Integrateur Odoo
    Inscrit en
    Mai 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Integrateur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 481
    Points : 1 013
    Points
    1 013
    Par défaut
    Salut,

    On dirait que ton xml attend un champ date_end qui n'existe pas pas dans ton model de name : session.calendar

    a+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2015
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Salut, merci pour la réponse !

    Il me semble que le problème vient de la ligne : end_date = fields.Date(string="End date", store=True, compute='_get_end_date', inverse='_set_end_date'), ça vient d'un tutoriel sur la création de module Odoo ici

    J'ai fini par réinstaller Odoo 8.0, j'ai encore une fois installé le module "openacademy" mais cette fois-ci, au lieu de service odoo qui ne démarre pas, j'avais erreur 500 quand je tentait de me connecter sur la base avec le module installé, donc cette fois j'ai pu tester les différentes combinaisons du code.
    Voici comment j'ai fais :
    j'ai remplacé ça : end_date = fields.Date(string="End date", store=True, compute='_get_end_date', inverse='_set_end_date')
    par ça : end_date = fields.Date(default=fields.Date.today)

    et là, tout a marché, pas d'erreur,
    donc j'ai progressivement commencé à ajouter les arguments entre les () et j'ai fini avec la même ligne de code:
    end_date = fields.Date(string="End date", store=True, compute='_get_end_date', inverse='_set_end_date')

    donc la ligne est la même que celle qui a provoqué l'erreur, sauf que cette fois elle ne provoque pas d'erreur, j'ai même fais la mise à jour de module, pas d'erreur non plus.
    Problème c'est que je ne sais toujours pas quelle était la cause de l'erreur. Pourquoi la première fois cela a provoqué l’arrêt complet du service odoo et après la réinstallation erreur serveur 500 sur la base de données où était installé le module!

    Avez vous une explication pour cela ?

    Cordialement.

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 140
    Points : 84
    Points
    84
    Par défaut
    1- vérifie dans le fichier log :openerp-server.log

    2- est-ce que tu as ajouté les 2 fonctions ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
        @api.one
        @api.depends('start_date', 'duration')
        def _get_end_date(self):
            if not (self.start_date and self.duration):
                self.end_date = self.start_date
                return
    
            # Add duration to start_date, but: Monday + 5 days = Saturday, so
            # subtract one second to get on Friday instead
            start = fields.Datetime.from_string(self.start_date)
            duration = timedelta(days=self.duration, seconds=-1)
            self.end_date = start + duration
    
        @api.one
        def _set_end_date(self):
            if not (self.start_date and self.end_date):
                return
    
            # Compute the difference between dates, but: Friday - Monday = 4 days,
            # so add one day to get 5 days instead
            start_date = fields.Datetime.from_string(self.start_date)
            end_date = fields.Datetime.from_string(self.end_date)
            self.duration = (end_date - start_date).days + 1

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2015
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Oui, tout à fait, j'ai modifié en peu le code, pour pouvoir spécifier la durée en heures au lieu de jours :
    @api.one
    @api.depends('start_date', 'duration')
    def _get_end_date(self):
    if not (self.start_date and self.duration):
    self.end_date = self.start_date
    return
    # Add duration to start_date, but: Monday + 5 days = Saturday, so
    # subtract one second to get on Friday instead
    start = fields.Datetime.from_string(self.start_date)
    duration = timedelta(hours=self.duration)
    self.end_date = start + duration

    @api.one
    def _set_end_date(self):
    if not (self.start_date and self.end_date):
    return
    # Compute the difference between dates, but: Friday - Monday = 4 days,
    # so add one day to get 5 days instead
    start_date = fields.Datetime.from_string(self.start_date)
    end_date = fields.Datetime.from_string(self.end_date)
    time_delta_hours = end_date - start_date
    time_in_seconds = time_delta_hours.total_seconds()
    time_in_float = (time_in_seconds / 3600) / 1
    self.duration = time_in_float

Discussions similaires

  1. [V8] Le service Odoo ne se lance pas
    Par pierre.bodin dans le forum Odoo (ex-OpenERP)
    Réponses: 10
    Dernier message: 20/01/2015, 16h18
  2. Worksheets_change ne se lance pas après exécution macro
    Par d0n32 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/03/2013, 17h18
  3. [WD16] Mon appli ne se lance pas apres GPWLogin
    Par jcpas dans le forum WinDev
    Réponses: 7
    Dernier message: 21/11/2011, 08h46
  4. [WS 2000] service auto ne se lance pas
    Par T3rm1nat0r dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 17/06/2011, 11h49
  5. Réponses: 1
    Dernier message: 26/05/2010, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo