Hello,
I create a module with a form to add information of clients like aregitreer. Then I try put a button 'save' at foot of form with the same function like button save at the top. I do not know how can do it inherit of ORM mathod of button save.
Mi computer have Ubuntu 14.04, Mi version Odoo 8.0.0.1 community,
This is de python code:
# -*- coding: utf-8 -*-# importamos modulosfrom openerp import models, fields, api
# Clase declara el modelo de la base de datos del modulo para construirlo al instalarseclass admision(models.Model):
# llamo al modelo _name = 'admision.ingreso' # aqui van las funciones y campos #Declaro el ID de la tabla del modulo en python para que SQL pueda darlo como primary key id = fields.Integer(string ='Numero de ingreso', readonly=True) # bloque 1: datos paciente Nombre = fields.Char(string='Nombre',size=60,required=True) Apellidos = fields.Char(string='Apellidos',size=60, required=True) Nif = fields.Char(string='NIF',size=30, required=True) Fecha_Nacimiento = fields.Date(string='Fecha de nacimiento',required=True) Direccion_Paciente = fields.Char(string='Dirección del paciente', size=100,required=True) Poblacion_Paciente = fields.Char(string='Población del paciente', size=60 ,required=True) Provincia_Paciente = fields.Char(string='Provincia del paciente', size=60 ,required=True) # en el archivo XML este bloque se divide en dos CP_Paciente = fields.Char(string='CP del paciente', size= 6 ,required=True) Telefono1_Paciente = fields.Char(string='Telefono fijo paciente', size=9 ,required=True) Telefono2_Paciente = fields.Char(string='Telefono movil paciente', size=9 ,required=True) Email2_Paciente = fields.Char(string='Email del paciente', size=60,required=True) Paciente_Activo = fields.Boolean(string='Paciente activo') Capacitado_Legalmente = fields.Boolean(string='Capacitado legalmente') Fecha_Contacto = fields.Date(string='Fecha de contacto',required=True) Fecha_Actualizacion = fields.Date(string='Fecha de actualización') # Aquí va datos tabla de tutores y titulares Nombre_Tutor_Legal = fields.Char(string='Nombre del tutor', size=60) Apellido_Tutor_Legal = fields.Char(string='Apellido del tutor', size=60) Nif_Tutor_Legal = fields.Char(string='NIF del tutor', size=30) Direccion = fields.Char(string='Dirección del tutor', size=100) Poblacion = fields.Char(string='Población del tutor', size=60) Provincia = fields.Char(string='Provincia del tutor', size=60 ) CP = fields.Char(string='Código postal', size=6) Titular_Telefono1 = fields.Char(string='Telefono fijo tutor', size=9) Titular_Telefono2 = fields.Char(string='Telefono movil tutor', size=9) Titular_Email1 = fields.Char(string='Email titular 1', size=60) Titular_Email2 = fields.Char(string='Email titular 2', size=60) # datos de los familiares Nif_Padre = fields.Char(string='NIF del padre',size=30) Nif_Madre = fields.Char(string='NIF del madre', size=30) Mail1 = fields.Char(string='email 1', size=60) Mail2 = fields.Char(string='email 2', size=60) Telefono1 = fields.Char(string='Telefono fijo', size=9) Telefono2 = fields.Char(string='Telefono movil', size=9) # campos descriptivos Tipo_Lesion = fields.Text(string='Tipo de lesión', size=150,required=True) Conocenos = fields.Text(string='Conocenos', size=60) # metodo dentro de la clase que sirve para guardar la ficha creada en el formulario y luego pasar al modo tree o form vacio @api.multi def Metodo_Guardar(self):
self.create({'name': "Guardar"})
And this is the XML code:
<?xml version="1.0" encoding="UTF-8"?><openerp> <data> <!-- window estetica --> <record model="ir.ui.view" id="ingreso_form_view"> <field name="name">ingreso.form</field> <field name="model">admision.ingreso</field> <field name="arch" type="xml"> <form string="ingreso Form"> <sheet> <!-- Grupo global--> <group> <!-- Grupos a dos columnas--> <group> <!-- Sub Grupos Uno--> <field name="Nombre" placeholder = "José"/> <field name="Apellidos" placeholder = "García García"/> <field name="Nif" data-inputmask="'mask': '99999999-a'"/> <field name="Fecha_Nacimiento" placeholder = "24/09/1981"/> <field name="Direccion_Paciente" placeholder = "Olmo 22 1º" /> <field name="Poblacion_Paciente" placeholder = "Alicante"/> <field name="Provincia_Paciente" placeholder = "Alacant"/> <field name="CP_Paciente" data-inputmask="'mask': '99999'"/> </group> <group> <!-- Sub Grupos Uno--> <field name="Telefono1_Paciente" data-inputmask="'mask': '999999999'"/> <field name="Telefono2_Paciente" data-inputmask="'mask': '999999999'"/> <field name="Email2_Paciente" placeholder = "usuario@email.com"/> <field name="Paciente_Activo"/> <field name="Capacitado_Legalmente"/> <field name="Fecha_Contacto"/> <field name="Fecha_Actualizacion"/> </group> </group> <!-- Aquí extensión del modulo en base a la tabla desarrollada--> <group> <!-- Aqui la libreta con secciones --> <notebook> <!-- Campos que describen globalmente la situacion --> <page string="Campos descriptivos" name="Seccion uno"> <group> <group> <field name="Tipo_Lesion" placeholder = "La descripción del caso..."/> </group> <group> <field name="Conocenos" placeholder = "Aporte información aquí."/> </group> </group> </page> <!-- Datos referentes al tutor de turno --> <page string="Datos tutor" name="Seccion dos"> <group> <group> <field name="Nombre_Tutor_Legal" placeholder = "Adán"/> <field name="Apellido_Tutor_Legal" placeholder = "García García"/> <field name="Nif_Tutor_Legal" data-inputmask="'mask': '99999999-a'"/> <field name="Direccion" placeholder = "Olmo 22 1º"/> <field name="Poblacion" placeholder = "Alicante"/> <field name="Provincia" placeholder = "Alacant"/> </group> <group> <field name="CP" data-inputmask="'mask': '99999'"/> <field name="Titular_Telefono1" data-inputmask="'mask': '999999999'"/> <field name="Titular_Telefono2" data-inputmask="'mask': '999999999'"/> <field name="Titular_Email1" placeholder = "tutor@email.com"/> <field name="Titular_Email2" placeholder = "tutor2@email.com"/> </group> </group> </page> <!-- Datos referentes a los miembros principales de la unidad familiar a cargo del paciente --> <page string="Datos familiares" name="Seccion tres"> <group> <field name="Nif_Padre" data-inputmask="'mask': '99999999-a'"/> <field name="Nif_Madre" data-inputmask="'mask': '99999999-a'" /> <field name="Mail1" placeholder = "padre@email.com"/> <field name="Mail2" placeholder = "madre@email.com"/> <field name="Telefono1" data-inputmask="'mask': '999999999'"/> <field name="Telefono2" data-inputmask="'mask': '999999999'"/> </group> </page> </notebook> </group> <group> <footer><button name="Metodo_Guardar" string="Guardar" class="oe_right oe_highlight"/></footer> </group> </sheet> </form> </field> </record> <!-- override the automatically generated list view for patients --> <!--Aqui va la vista arbol con las columnas nombre, apellido y movil--> <record model="ir.ui.view" id="ingreso_tree_view"> <field name="name">ingreso.tree</field> <field name="model">admision.ingreso</field> <field name="arch" type="xml"> <tree string="ingreso Tree"> <field name="id"/> <field name="Nombre"/> <field name="Apellidos"/> <field name="Telefono2_Paciente"/> </tree> </field> </record> <!-- window action --> <!-- The following tag is an action definition for a "window action", that is an action opening a view or a set of views --> <record model="ir.actions.act_window" id="ingreso_list_action"> <field name="name"> Módulo de Ingreso de Pacientes</field> <field name="res_model">admision.ingreso</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> <field name="help" type="html"> <p class="oe_view_nocontent_create">Crea primer ingreso </p> </field> </record> <!-- top level menu: no parent --> <menuitem id="main_admision_menu" name="Admisiones"/> <!-- A first level in the left side menu is needed before using action= attribute --> <menuitem id="admision_menu" name="Admisiones" parent="main_admision_menu"/> <!-- the following menuitem should appear *after* its parent openacademy_menu and *after* its action course_list_action --> <menuitem id="ingreso_menu" name="Ingreso" parent="admision_menu" action="ingreso_list_action"/> <!-- Full id location:action="admision.ingreso_list_action" It is not required when it is the same module --> </data></openerp>
The point:
<footer><button name="Metodo_Guardar" string="Guardar" class="oe_right oe_highlight"/></footer>
And code:
@api.multi def Metodo_Guardar(self):
self.create({'name': "Guardar"}) # return { # 'type': 'ir.actions.act_window', # 'res_model': 'admision.ingreso', # 'view_type': 'form', # 'view_mode': 'form', # 'target': 'new', # }
Have you any idea for this.
Thank you for your attention and bestregards,
Marco garcia.