Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
10935 Lượt xem

Hi everyone,I'm trying to inherit the base_calendar view in a new module that i was developed but i have these errors:

OpenERP Server Error

AssertionError: Did not expect element record there, line 1

myfile.py

from osv import fields,osv import time from datetime import datetime from tools.translate import _ from datetime import datetime, timedelta, date from dateutil import parser from dateutil import rrule from dateutil.relativedelta import relativedelta from openerp.osv import fields, osv from openerp.service import web_services from openerp.tools.translate import _ import pytz import re import time from openerp import tools, SUPERUSER_ID

class emploi_temps(osv.osv):

_name = 'emploi.temps'
_columns = {
  'name': fields.char('Objet',size=32, required=True),
  'date_debut': fields.datetime('Date Début', required=True),
  'date_fin': fields.datetime('Date fin', required=True),
  'professeur_id': fields.many2one('professeur.entity','Professeur', required=True),
}

emploi_temps()

class calendar_event(osv.osv):

_name = 'calendar.event'
_inherit='calendar.event'
_columns = {

}

calendar_event()

myfile.xml:

<?xml version="1.0" encoding="utf-8"?>

<openerp> <data>

<!--  ce menu est celui existant dans la barre en haut -->
<menuitem name="Gestion Emploi" id="menu_emp"/>

<menuitem name="Emploi" id="menu_emp1" parent="menu_emp"/>

    <record model="ir.ui.view" id="view_school_emploi_form">
        <field name="name">emploi.form</field>
        <field name="model">emploi.temps</field>
        <field name="type">form</field>
        <field name="arch" type="xml">
           <form string="Emploi du temps"  version="7.0">

                <group col="4" colspan="6">      
                    <field name="professeur_id" />
                    <field name="name" />
                    <field name="date_debut" />
                    <field name="date_fin" />
                </group>
           </form>
        </field>
    </record>   

    <record model="ir.ui.view" id="view_school_emploi__tree">
        <field name="name">emploi.tree</field>
        <field name="model">emploi.temps</field>
        <field name="type">tree</field>
        <field name="arch" type="xml">
            <tree string="Emploi du temps">
                <field name="professeur_id" />
                <field name="name" />
                <field name="date_debut" />
                <field name="date_fin" />
            </tree>
        </field>
    </record>


**<record model="ir.ui.view" id="view_calendar_inherit">
    <field name="name">calendar.event.inherit</field>
    <field name="model">calendar.event</field>
    <field name="type">calendar</field>
    <field name="inherit_id" ref="base_calendar.view_crm_meeting_calendar">calendar</field>
    <field name="arch" type="xml">

    </field>
</record>** 


<record model="ir.actions.act_window" id="action_school_emploi_form">
    <field name="name">Emploi du temps</field>
    <field name="res_model">emploi.temps</field>
    <field name="view_type">form</field>
    <field name="view_mode">tree,form,calendar</field>
</record>

<!--  Et finalement il y a le menu qui contient l'action pour ouvrir la vue tree de ton module -->

<menuitem action="action_school_emploi_form" id="menu_emp2" parent="menu_emp1" />

</data> </openerp>

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi,

you can create the view calender without inherit.

For example :

<record id="emploi_temps_calendar" model="ir.ui.view">
            <field name="name">emploi.temps.calendar</field>
            <field name="model">emploi.temps</field>
            <field name="type">calendar</field>              
            <field name="arch" type="xml">
                <calendar color="professeur_id" date_delay="duration"
                    date_start="date_debut" string="temps">
                    <field name="name" />
                    <field name="date_debut" />
                    <field name="date_fin" />                        
                </calendar>
            </field>
</record>
Ảnh đại diện
Huỷ bỏ
Tác giả

Hi thank you for your answer; I did it at first;but i want to create a recurrent meetings that's why i used the inheritance from the calendar_event;any other idea please?

@oumaima your requirement is displaying multiple models data in same calendar view. right ?

Tác giả Câu trả lời hay nhất

Hi now i can install the module and i have not error;but i added a new class that i linked to my calendar view.The problem is that i want to display my calendar view in a new menuitem;also when i want to add a new element (in the enseignant view) i have a view a bad view calendar

emploi.py

class emploi_temps(osv.osv):

_name = 'emploi.temps'
_inherit = 'calendar.event'
_columns = {
  'professeur_id': fields.many2one('professeur.entity','Professeur', required=True),
}

emploi_temps()

emploi_view.xml

<openerp>
<data>



 <record model="ir.ui.view" id="event_form_view_inherit">
        <field name="name">emploi.temps.form</field>
        <field name="model">emploi.temps</field>
        <field name="inherit_id" ref="base_calendar.event_form_view"/>
        <field name="type">form</field>
        <field name="arch" type="xml">
            <field name="name" position="after">
      <field name="professeur_id" />
    </field>
        </field>
    </record>


 <record model="ir.ui.view" id="event_tree_view_inherit">
        <field name="name">emploi.temps.tree</field>
        <field name="model">emploi.temps</field>
        <field name="inherit_id" ref="base_calendar.event_tree_view"/>
        <field name="type">tree</field>
        <field name="arch" type="xml">
            <field name="name" position="after">
      <field name="professeur_id" />
    </field>
        </field>
    </record>


 <record model="ir.ui.view" id="event_calendar_view_inherit">
        <field name="name">emploi.temps.calendar</field>
        <field name="model">emploi.temps</field>
        <field name="inherit_id" ref="base_calendar.event_calendar_view"/>
        <field name="type">calendar</field>
        <field name="arch" type="xml">
            <field name="name" position="after">
      <field name="professeur_id" />
    </field>
        </field>
    </record>

</data> </openerp>

professeur.py

enter code hereclass professeur_entity(osv.osv):

_name = 'professeur.entity'
_columns = {
  'name': fields.char('Nom', required=True, size=32),
  'prenom': fields.char('Prenom', required=True, size=32),
  'emp_ids': fields.one2many('emploi.temps','professeur_id', 'Emploi'),
}

professeur_entity()

professeur_view.xml

enter code here<!--  ce menu est celui existant dans la barre en haut -->
<menuitem name="Gestion professeur" id="menu_prof"/>

<menuitem name="Enseignant" id="menu_prof1" parent="menu_prof"/>

<record model="ir.ui.view" id="view_school_prof_form">
    <field name="name">prof.form</field>
    <field name="model">professeur.entity</field>
    <field name="type">form</field>
    <field name="arch" type="xml">
       <form string="Enseignant"  version="7.0">
           <group col="4" colspan="6">       
               <field name="name"/>
               <field name="prenom"/>
            </group>
            <field name="emp_ids" colspan="4" nolabel="1" />    
       </form>
    </field>
</record>   

    <record model="ir.ui.view" id="view_school_prof_tree">
    <field name="name">prof.tree</field>
    <field name="model">professeur.entity</field>
    <field name="type">tree</field>
    <field name="arch" type="xml">
        <tree string="Enseignants"  version="7.0">
               <field name="name"/>
               <field name="prenom"/>

       </tree>
    </field>
</record>

<record model="ir.actions.act_window" id="action_school_prof_form">
    <field name="name">Liste des enseignants</field>
    <field name="res_model">professeur.entity</field>
    <field name="view_type">form</field>
    <field name="view_mode">tree,form</field>
</record>

    <!--  Et finalement il y a le menu qui contient l'action pour ouvrir la vue tree de ton module -->

<menuitem action="action_school_prof_form" id="menu_prof2" parent="menu_prof1" />
Ảnh đại diện
Huỷ bỏ

To display calendar view in a new menuitem . create a new record model="ir.actions.act_window" and with <field name="view_mode">calendar</field>

Tác giả

Hi thank you for you're reply;i can install the module but when i click in the calendar view i have this error:Uncaught Error: Champ state inconnu dans le domaine [["state","in",["done"]]]

in your view xml add <field name="state" invisible="1" />

Tác giả

I did: <field name="state" position="replace"/> because it's a inherit view but it still doesn't work;any other idea please?

Tác giả

it work now but the view is disorganized and when i cliked in the calendar view i have this error ;any idea please?
TypeError: Invalid attribute dictionary: str

Did you did it ? I'm trying to do something like this but the view is disorganized... And I also have that error :"TypeError: Invalid attribute dictionary: str" ...

Tác giả

Hi Anabela,it work's for me i just change the inherited module and for the disorganized view you can rewrite the code of the inherited view

Bài viết liên quan Trả lời Lượt xem Hoạt động
17
thg 12 21
24651
1
thg 12 18
19712
1
thg 7 15
7236
2
thg 3 15
5553
2
thg 3 15
8858