luns, 15 de setembro de 2014

Como insertar unha imaxe



Nesta entrada explicase como insertar un campo imaxe nun módulo de OpenERP dunha maneira sinxela . Ter unha imaxe no  noso obxexto  permitiranos  incorporala a un novo tipo de vista, a Kanban, a cal  explicarase en próximas entradas.

En primeiro lugar debo dicir que  por unha imaxe como vou  explicar agora non é necesariamente o método habitual, é un ao que eu cheguei a base de ver o código dos módulos de OpenERP, simplificalo e facer unhas cantas probas.

Tal e como temos visto para engadir un campo ou un obxecto solo será necesario modificar os arquivos modulo_exemplo.py e modulo_exemplo.xml

modulo_exemplo.py

Neste archivo haberá que insertar un campo binario. Seguindo o exemplo o código, sen a licenza e coa incorporación en violeta, queda:

# -*- coding: utf-8 -*-
from osv import osv, fields

class modulo_exemplo_obxecto(osv.osv):
  _name = 'modulo_exemplo.obxecto'
  _description = 'Obxecto'
  _columns = {
    'image': fields.binary("Imaxe", help="Seleccionar imaxe aqui")
    'cadea': fields.char('Campo char', size=200, required=True),
    'cadenaduas': fields.char('Campo char', size=200, required=False),

  }
 
modulo_exemplo_obxecto()

modulo_exemplo.xml

Neste arquivo haberá que insertar un campo na vista formulario e por o widget “image” quedando como resultado o seguinte código, destacando en violeta o insertado :

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
  <data>
    <menuitem name="Módulo exemplo" id="moduloexemplo" sequence="90"/>
    <menuitem name="Menú propio" id="moduloexemplo_menupropio" parent="moduloexemplo"/>

    <record model="ir.ui.view" id="modulo_exemplo_obxecto_tree">
      <field name="name">modulo_exemplo.obxecto.tree</field>
      <field name="model">modulo_exemplo.obxecto</field>
      <field name="type">tree</field>
      <field name="arch" type="xml">
        <tree string="obxecto">
          <field name="cadea"/>
          <field name="cadenaduas"/>
        </tree>
      </field>
    </record>

    <record model="ir.ui.view" id="modulo_exemplo.obxecto_form">
      <field name="name">modulo_exemplo.obxecto.form</field>
      <field name="model">modulo_exemplo.obxecto</field>
      <field name="type">form</field>
      <field name="arch" type="xml">
        <form string="obxecto">
          <field name="image" widget='image' />
          <field name="cadea"/>
          <field name="cadenaduas"/>
        </form>
      </field>
    </record>

    <record id="modulo_exemplo_obxecto_action" model="ir.actions.act_window">
      <field name="name">Obxecto</field>
      <field name="res_model">modulo_exemplo.obxecto</field>
      <field name="view_type">form</field>
      <field name="view_mode">tree,form</field>
    </record>

    <menuitem action="modulo_exemplo_obxecto_action" id="modulo_exemplo_obxecto_menu" sequence="1" parent="moduloexemplo_menupropio"/>

  </data>
</openerp>

Ningún comentario:

Publicar un comentario