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 :

Ajouter le menu "Articles" dans un nouveau module [V8]


Sujet :

Odoo (ex-OpenERP)

  1. #1
    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 Ajouter le menu "Articles" dans un nouveau module
    Bonjour,

    je veux ajouter le menu "Articles" dans mon module pour afficher la liste des articles, alors j'ai fait comme ceci :
    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
    <?xml version="1.0" encoding="UTF-8"?>
     <openerp>
        <data>
    
            <record model="ir.actions.act_window" id="Articles_list_action">
                <field name="name">Articles</field>
                <field name="res_model">product.template</field>
                <field name="view_mode">tree,form</field>
                <field name="context" eval="{'search_default_filter_to_purchase': 1}"/>
                <field name="help" type="html">
                    <p class="oe_view_nocontent_create">Click to add a product.
                    </p>
                </field>
            </record>        
    
            <menuitem id="stock_menu" name="Stock"
                      parent="main_stock_piece_menu"/>
            <menuitem id="contact_menu" name="Article"
                      parent="stock_menu"
                      action="Articles_list_action"/>
    
        </data>
    </openerp>
    il me dit que : le Modèle non valide dans la définition de l'action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ParseError: "ValidateError
    Field(s) `res_model, src_model` failed against a constraint: Mod\xe8le non valide dans la d\xe9finition de l'action." while parsing /usr/lib/python2.7/dist-packages/openerp/custom/addons/gestion_stock_piece_vehicule/views/template.xml:5, near
    <record model="ir.actions.act_window" id="Articles_list_action">
                <field name="name">Articles</field>
                <field name="res_model">product.template</field>
                <field name="view_mode">tree,form</field>
                <field name="context" eval="{'search_default_filter_to_purchase': 1}"/>
                <field name="help" type="html">
                    <p class="oe_view_nocontent_create">Click to add a product.
                    </p>
                </field>
            </record>

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Bonjour, essaie avec product.product :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <field name="res_model">product.product</field>

  3. #3
    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
    non ça ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ParseError: "ValidateError
    Field(s) `res_model, src_model` failed against a constraint: Mod\xe8le non valide dans la d\xe9finition de l'action." while parsing /usr/lib/python2.7/dist-packages/openerp/custom/addons/gestion_stock_piece_vehicule/views/product.xml:4, near
    <record model="ir.actions.act_window" id="art_product_list_action">
                <field name="name">Articles</field>
                <field name="res_model">product.product</field>
                <field name="view_mode">kanban,tree,form</field>
                <field name="context" eval="{'search_default_filter_to_purchase': 1}"/>
                <field name="help" type="html">
                    <p class="oe_view_nocontent_create">Click to add a product.
                    </p>
                </field>
            </record>

  4. #4
    Membre du Club
    Homme Profil pro
    Chef de projet/développeur Odoo
    Inscrit en
    Février 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet/développeur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 47
    Points : 61
    Points
    61
    Par défaut
    Oula oula !! Que nénni !!

    Primo, on considère que tu as développé ton propre module et donc que tu situe a l’extérieur du module 'product'... (bien sur parce qu'on fait les choses bien et que l'on modifie pas les Class en mode bourrin ! non, bien sur, on hérite ! ).
    Secondo , on rappel la vue produit, c'est a dire.. quand fait le menu que l'on va créer va rappeler, le "ir.actions.act_window" donc ... (suspens) pas besoin de le réécrire. Bah oui chez les partenaires odoo on flème... Voici la formule magique :

    dans ton module, dans ton xml :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <menuitem name="Alleluia" action="product.product_normal_action_sell" id="un_nouveau_id_pour_pas_faire_doublon" parent="le_menu_parent_de_ton_module_en_cours" sequence="100"/>
    Tout est dans action en fait ... action="product.product_normal_action_sell" tu rappel l'action "product_normal_action_sell" du module (dossier hein) "product"

    Attention! Là je rappel la vue des produits à vendre (le filtre par default """ <field name="context">{"search_default_filter_to_purchase":1}</field> """... et non à purchase.

    Mais si tu veux personnalisé ta vue ! il faut que tu creer la tienne comme tu as fais. mais il ne faut pas que tu oublies :

    -> ir.actions.act_window (qui designe l'ensemble des vue form, tree, kanban)
    -> ir.actions.act_window.view (1 act_window.view par forme de vue, 1 pour form, 1 pour tree, 1 pour kanban)
    -> menuitem (ou l'action appel ton ir.actions.act_window - la vue par defaut se définie dans les sequence; le plus petit chifffre pour la vue a l ouverture -> <field name="sequence" eval="2"/>)

    voici pour l'inspiration :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
            <record id="product_normal_action_sell" model="ir.actions.act_window">
                <field name="name">Products</field>
                <field name="type">ir.actions.act_window</field>
                <field name="res_model">product.product</field>
                <field name="view_mode">kanban,tree,form</field>
                <field name="view_type">form</field>
                <field name="context">{"search_default_filter_to_sell":1}</field>
                <field name="view_id" ref="product_product_tree_view"/>
                <field name="search_view_id" ref="product_search_form_view"/>
                <field name="help" type="html">
                  <p class="oe_view_nocontent_create">
                    Click to define a new product.
                  </p><p>
                    You must define a product for everything you sell, whether it's
                    a physical product, a consumable or a service you offer to
                    customers.
                  </p><p>
                    The product form contains information to simplify the sale
                    process: price, notes in the quotation, accounting data,
                    procurement methods, etc.
                  </p>
                </field>
            </record>
    
            <record id="open_view_product_tree1" model="ir.actions.act_window.view">
                <field name="sequence" eval="2"/>
                <field name="view_mode">tree</field>
                <field name="view_id" ref="product_product_tree_view"/>
                <field name="act_window_id" ref="product_normal_action_sell"/>
            </record>
    
            <record id="open_view_product_form1" model="ir.actions.act_window.view">
                <field name="sequence" eval="3"/>
                <field name="view_mode">form</field>
                <field name="view_id" ref="product_normal_form_view"/>
                <field name="act_window_id" ref="product_normal_action_sell"/>
            </record>
    
            <record id="open_view_product_kanban1" model="ir.actions.act_window.view">
                <field name="sequence" eval="1"/>
                <field name="view_mode">kanban</field>
                <field name="view_id" ref="product_kanban_view"/>
                <field name="act_window_id" ref="product_normal_action_sell"/>
            </record>
    
            <menuitem id="base.menu_product" name="Products" parent="base.menu_base_partner" sequence="9"/>
            <menuitem action="product.product_normal_action_sell" id="product.menu_products" parent="base.menu_product" sequence="1"/>


    Amen

  5. #5
    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
    Merci lilian76

    une question : comment tu as trouvé l'id de l'action "product.product_normal_action_sell" ?
    j'ai cherché dans odoo , je n'ai pas trouvé !!!!

  6. #6
    Membre du Club
    Homme Profil pro
    Chef de projet/développeur Odoo
    Inscrit en
    Février 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet/développeur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 47
    Points : 61
    Points
    61
    Par défaut
    dans les addons, tu as le dossier "product", dans product_view.xml.
    C'est plutot par expérience, les menus articles se trouvent dans le module product, mais ils auraient pu l’être dans sales aussi.
    Je sais pas si je suis trés clair...

  7. #7
    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
    Merci lilian

    Tu m'as ouvert les yeux sur plusieurs chose

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/05/2006, 19h53

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