templates - estructura - modelo transitorio odoo
Odoo-¿Usar plantilla en la vista de calendario? (2)
La vista de calendario no es muy personalizable ya que su propio diseño ya está bastante involucrado. Todavía puede funcionar usando un widget diferente. Puede usar: <field name="someField" widget="yourWidget"/>
Si eso funciona, puede codificar su propio widget utilizando una plantilla de su elección.
La configuración de su propio widget no requiere mucho código, pero está un poco involucrado en términos de la comprensión requerida del Odoo Web Client.
Consulte aquí la parte específica de la documentación, con un ejemplo mínimo: https://www.odoo.com/documentation/8.0/howtos/web.html#creating-a-new-type-of-field
¿Es posible usar la plantilla Qweb
en la vista de calendario? Quiero modificarlo un poco, pero todo lo que puedo hacer es simplemente agregar nuevos campos para que se field1, field2, field3.....
en el elemento del calendario, como este - field1, field2, field3.....
¿Hay alguna forma mejor de personalizar la vista de calendario, como se puede hacer con la vista kanban utilizando el motor de plantillas Qweb?
Por ejemplo, si uso así:
<record model="ir.ui.view" id="view_calendar_service_work_calendar">
<field name="name">Service Works Calendar</field>
<field name="model">calendar.service.work</field>
<field name="priority" eval="1"/>
<field name="arch" type="xml">
<calendar string="Service Works" date_start="start_time" color="employee_id" date_stop="end_time" mode="week">
<field name="name"/>
<field name="employee_id"/>
<template>
<t t-name="something"></t>
</template>
</calendar>
</field>
</record>
Esto arrojará un error:
Uncaught TypeError: Cannot read property ''type'' of undefined
http://localhost:8090/web_calendar/static/src/js/web_calendar.js:414
De hecho, si uso cualquier otra cosa que no sea la etiqueta de campo, arrojará ese error. Ni siquiera puedo usar la etiqueta div. ¿Entonces parece que no puedes diseñar el calendario en absoluto?
Puede definir en Calendar Controller los siguientes atributos. Estas son las reglas que se definen en el marco de odoo. Todas estas son atributos que se usan en la etiqueta del calendario. por lo que no puede usar la etiqueta de la plantilla en el calendario.
- cuerda
- color
- date_start
- date_stop
- Dia largo
- date_delay
- todo el dia
- event_open_popup
- asistente
- color_is_attendee
- avatar_filter
- avatar_model
- avatar_title
- use_contacts
- quick_add
- monitor
- tipo
- modo ==> mes / semana / día
- html
Ejemplo:
<field name="arch" type="xml">
<calendar string="Meetings" date_start="start" date_stop="stop" date_delay="duration" all_day="allday"
display="[name]" color="color_partner_id" attendee="partner_ids" avatar_model="res.partner"
use_contacts="True" event_open_popup="%(calendar.view_calendar_event_form_popup)s">
<field name="name"/>
<field name="user_id"/>
<field name="color_partner_id"/>
<field name="partner_ids"/>
</calendar>
</field>
Si cambia la vista del calendario, puede modificarlo en el módulo web_calendar.
espero que entiendas.