Programacion Interactiva

Descubre una Nueva y Poderosa Herramienta.

FrameWork de Nueva Generacion

Acceso a tu Informacion desde cualquier Dispositivo con Navegador.

Enfoque en el Backend

Frontend de forma facil con Odoo y XML.

Creacion de Verticales

Creacion de nuevas Verticales Conquistando nuevos Mercados.

Asesoria Especializada

Consultoria desde $15 USD por Hora.

Publicidad

miércoles, 28 de septiembre de 2016

Nuevos atributos para Color en Vistas Avanzadas Odoo

Decoradores para vistas de Lista Odoo 9


    En OpenERP 7 y Odoo 8.0 teníamos la posibilidad de añadir atributos de color (color) y fuente (font) en las vistas de lista, para poder identificarlas de una manera mas sencilla, en Odoo 9.0 encontré que cambio un poco y ahora utiliza atributos especiales para ello (decoradores), veamos un ejemplo:

Vista con Colores en versiones anteriores a Odoo 9.0

<tree string="Pedidos de Venta" colors="blue:state=='confirmed'" >
    .....
    .....
    .....
</tree>

Atributos para Colores en Odoo 9.0

<tree string="Pedidos de Venta" decoration-info="state=='confirmed'">
    .....
    .....
    .....
</tree>

Otros decoradores son:
  • decoration-bf - Lineas en BOLD 
  • decoration-it - Lineas en ITALICS 
  • decoration-danger - Color LIGHT RED 
  • decoration-info - Color LIGHT BLUE 
  • decoration-muted - Color LIGHT GRAY 
  • decoration-primary - Color LIGHT PURPLE 
  • decoration-success - Color LIGHT GREEN 
  • decoration-warning - Color LIGHT BROWN

lunes, 19 de septiembre de 2016

Widget Boton Contador de Elementos en Formularios Odoo


Para añadir un botón en un formulario con un contador de los elementos que mostrará (como el de la imagen superior), debemos calcular el número de resultados en un campo y, posteriormente, mostrarlo:
1
2
3
4
5
6
7
8
serials_qty = fields.Integer(
        compute="_get_serials_qty",
        readonly=True)
 
@api.one
def _get_serials_qty(self):
     cond = [('partner_id', '=', self.id)]
     self.serials_qty = len(self.env['stock.production.lot'].search(cond))
1
2
3
4
5
6
7
8
<div class="oe_right oe_button_box" name="contact_buttons">
     <button class="oe_inline oe_stat_button" type="action" icon="fa-list"
              name="%(client_serial_numbers.act_contact_serial_numbers)d">
              <field name="serials_qty"
                     string="Núm. de serie"
                     widget="statinfo" />
     </button>
</div>
En el xml definimos un div como el mostrado y dentro de la etiqueta button insertamos el campo en el que hemos calculado la cantidad, con el atributo statinfo.
Fuente Tomada de Odootricks

Añadir Fuentes TTF a Informes Qweb

Para cambiar la fuente a un informe, debemos seguir estos pasos:
Primero, descargar la fuente con formato .ttf de internet. Es muy fácil encontrar la fuente que queremos buscando un poco. Segundo, abrir el código de nuestro informe y definirnos una nueva font-family de la siguiente manera:
1
2
3
4
5
6
7
8
9
10
11
<div class="header">
      <style type="text/css">
             <![CDATA[
                        @font-face {
                          font-family: 'MyFontName';
                          src: url('module_name/static/src/font/cour.ttf') format('truetype');
                        }
               ]]>
       </style>
---
</div>
Por último, la utilizamos:
1
<span style="font-family:'MyFontName';" t-field="o.company_id.name" /><br />
Fuente Tomada de Odootricks

Añadir Direccion de Partner en Reportes Qweb de forma Facil


En el sistema Qweb the Odoo existen widgets para distintos ámbitos, pero en esta entrada vamos a hablar sobre el widget the contact
Este widget nos hace la vida más fácil porque con solo una linea y pocos parametros nos muestra toda la información de un cliente.
Código ejemplo:
1
2
3
<div t-field="o.partner_id"  
         t-field-options='{"widget": "contact", "fields": ["name", "address", "city", 
         "phone", "mobile", "fax", "website", "email"],   "no_marker": true}'/>
En este ejemplo podemos ver todos los posibles parametros:
  • name
  • address
  • country_image
  • city
  • phone
  • mobile
  • fax
  • website
  • email
Pero si usted no tiene suficiente con estos parametros en este link puede encontrar información de como añadir uno nuevo.
Fuente Tomada de Odootricks

Filtros XML Odoo usando la libreria Time & Datetime

¿Podemos añadir filtros en  Odoo usando librerias para el Manejo de Fechas?



La respuesta es Si, el Core de Odoo tiene el manejo de algunas librerías y métodos para enviar información desde una vista XML y esta sea renderizada al momento de ejecutar una acción sobre ella, un filtro, una agrupación, abrir una ventana de un formulario, etc...

Mostrare dos ejemplos sobre el uso de las librerias time y  datetime en vistas XML, muy similar a lo que nosotros realizamos en Python:

<!-- Usando libreria Time -->
<filter string="Today"
   domain="[('date','<', time.strftime('%%Y-%%m-%%d 00:59:59')), 
   ('date','>=', time.strftime('%%Y-%%m-%%d 00:00:00'))]"
   help="Today objects" />
 
<!-- Usando libreria datetime -->
<filter  string="Ejemplo 2"
   domain="[('date','&#60=',(datetime.date.today()-datetime.timedelta
   (days=7)).strftime('%%Y-%%m-%%d 00:00:00'))]" />

En estos casos podemos ver los caracteres &#60 , esto es porque en xml no podemos usar estos elementos <, > ya que son reservados.

En esta web podrá consultar los codigos html de los caracteres.

Pero también existe un palabra reservado muy útil current_date, esta palabra retorna la fecha actual y puede ser usada en un dominio o un tree color como en este ejemplo:
<tree colors="grey:date_end &#60 current_date;">


Fuente Tomada de Odootricks