I want to create button field . If i click a button it will show a new form . Please tell anyone how to create it
Here is my code
myform.py
import time
from lxml import etree
import openerp.addons.decimal_precision as dp
import openerp.exceptions
from openerp import netsvc
from openerp import pooler
from openerp.osv import fields, osv, orm
from openerp.tools.translate import _
class my_form(osv.osv):
_name = "my.form"
_description = 'Formview Module'
_columns = {
'name': fields.char('Name', size=64),
'project': fields.char('Project', size=64),
'image': fields.binary('Image'),
'file':fields.binary('attach file')
#~ def create_field(self, cr, uid, ids, context=None):
}
my_form()
class my_form2(osv.osv):
_name="my.form2"
_description="new form"
_columns={
'add':fields.char('Address',size=64)
}
my_form2()
myform_view.xml
<openerp>
<data>
<record model="ir.ui.view" id="from_view_form">
<field name="name">form.view.form</field>
<field name="model">my.form</field>
<field name="arch" type="xml">
<form string="Form" version="7.0">
<group>
<field name="name" />
<field name="project" />
<button name="%(create_field)d" string="Create Field" type="action" />
</group>
</form>
</field>
</record>
<record model="ir.ui.view" id="from_view_form2">
<field name="name">form.view.form</field>
<field name="model">my.form</field>
<field name="arch" type="xml">
<form string="Form" version="7.0">
<group>
<field name="name"/>
</group>
</form>
</field>
</record>
<record model="ir.ui.view" id="from_view_tree">
<field name="name">form.view.tree</field>
<field name="model">my.form</field>
<field name="arch" type="xml">
<tree string="Form">
<field name="name" />
</tree>
</field>
</record>
<record model='ir.actions.act_window' id='%(create_field)d'>
<field name="name">Form</field>
<field name="res_model">my.form</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new record.
</p>
<p>This is a test class developed to learn Openerp.</p>
</field>
</record>
<record model='ir.actions.act_window' id='form_view_action'>
<field name="name">Form</field>
<field name="res_model">my.form</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new record.
</p>
<p>This is a test class developed to learn Openerp.</p>
</field>
</record>
<menuitem id="myform_ID" name="myforms" />
<menuitem id="myform_menu_ID" name="myform" parent="myform_ID" />
<menuitem id="myform_menu2_ID" name="myform" parent="myform_menu_ID" action='form_view_action' />
</data>
</openerp>
import time from lxml import etree import openerp.addons.decimal_precision as dp import openerp.exceptions from openerp import netsvc from openerp import pooler from openerp.osv import fields, osv, orm from openerp.tools.translate import _ class my_form(osv.osv): _name = "my.form" _description = 'Formview Module' _columns = { 'name': fields.char('Name', size=64), 'project': fields.char('Project', size=64), 'image': fields.binary('Image'), 'file':fields.binary('attach file') #~ def create_field(self, cr, uid, ids, context=None): } my_form() class my_form2(osv.osv): _name="my.form2" _description="new form" _columns={ 'add':fields.char('Address',size=64) } my_form2()
i try myself but its not working please tell me ef create_field(self,cr, uid, ids,create_field, context={}): if not ids: return False if context is None: context={} model_data_pool = self.pool.get('ir.model.data') view = model_data_pool.get_object(cr, uid, 'my_form2', 'view_copy_multiple', context=context) return{ 'name': _("Copy multiple records"), 'type': 'ir.actions.act_window', 'view_mode': 'form', 'view_id': [view.id], 'view_type': 'form', 'res_model': 'my.form', 'nodestroy': True, 'target': 'new', 'context': context, 'res_id': ids, }