[IMP] purchase_requisition: rename the object and improve the view
bzr revid: sbh@tinyerp.com-20100416061750-2wortgmkaeogbh0t
This commit is contained in:
parent
60b45a3049
commit
6333a21be7
|
@ -25,7 +25,7 @@ class purchase_installer(osv.osv_memory):
|
||||||
_inherit = 'res.config.installer'
|
_inherit = 'res.config.installer'
|
||||||
|
|
||||||
_columns = {
|
_columns = {
|
||||||
'purchase_tender':fields.boolean('Purchase Tender'),
|
'purchase_requisition':fields.boolean('Purchase Requisition'),
|
||||||
}
|
}
|
||||||
purchase_installer()
|
purchase_installer()
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data>
|
<data>
|
||||||
<record id="view_purchase_install_module_form" model="ir.ui.view">
|
<record id="view_purchase_install_module_form" model="ir.ui.view">
|
||||||
<field name="name">Purchase Tender</field>
|
<field name="name">Purchase Requisition</field>
|
||||||
<field name="model">purchase.installer</field>
|
<field name="model">purchase.installer</field>
|
||||||
<field name="type">form</field>
|
<field name="type">form</field>
|
||||||
<field name="inherit_id" ref="base.res_config_installer"/>
|
<field name="inherit_id" ref="base.res_config_installer"/>
|
||||||
|
@ -13,12 +13,12 @@
|
||||||
</form>
|
</form>
|
||||||
<xpath expr="//label[@string='description']"
|
<xpath expr="//label[@string='description']"
|
||||||
position="attributes">
|
position="attributes">
|
||||||
<attribute name="string"> This module allows you to manage your Purchase Tenders.</attribute>
|
<attribute name="string"> This module allows you to manage your Purchase Requisition.</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
<separator string="title" position="replace"/>
|
<separator string="title" position="replace"/>
|
||||||
<group colspan="8">
|
<group colspan="8">
|
||||||
<separator string="Purchase Tender" colspan="4"/>
|
<separator string="Purchase Requisition" colspan="4"/>
|
||||||
<field name="purchase_tender"/>
|
<field name="purchase_requisition"/>
|
||||||
</group>
|
</group>
|
||||||
</data>
|
</data>
|
||||||
</field>
|
</field>
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
<record id="purchase_installer_todo" model="ir.actions.todo">
|
<record id="purchase_installer_todo" model="ir.actions.todo">
|
||||||
<field name="action_id" ref="action_purchase_install_module"/>
|
<field name="action_id" ref="action_purchase_install_module"/>
|
||||||
<field name="sequence">2</field>
|
<field name="sequence">3</field>
|
||||||
|
|
||||||
</record>
|
</record>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
"depends" : ["purchase","mrp"],
|
"depends" : ["purchase","mrp"],
|
||||||
"init_xml" : [],
|
"init_xml" : [],
|
||||||
"demo_xml" : [],
|
"demo_xml" : [],
|
||||||
"update_xml" : [ "wizard//purchase_tender_partner.xml",
|
"update_xml" : ["wizard/purchase_requisition_partner_view.xml",
|
||||||
"purchase_requisition_view.xml",
|
"purchase_requisition_view.xml",
|
||||||
"security/ir.model.access.csv","purchase_requisition_sequence.xml"],
|
"security/ir.model.access.csv","purchase_requisition_sequence.xml"],
|
||||||
|
|
||||||
|
|
|
@ -36,14 +36,17 @@ class purchase_requisition(osv.osv):
|
||||||
'user_id': fields.many2one('res.users', 'Responsible'),
|
'user_id': fields.many2one('res.users', 'Responsible'),
|
||||||
'exclusive': fields.selection([('exclusive','Purchase Tender (exclusive)'),('multiple','Multiple Requisitions')],'Requisition Type', help="If the requisition is exclusive, it will cancel all purchase orders when you confirm one of them", required=True),
|
'exclusive': fields.selection([('exclusive','Purchase Tender (exclusive)'),('multiple','Multiple Requisitions')],'Requisition Type', help="If the requisition is exclusive, it will cancel all purchase orders when you confirm one of them", required=True),
|
||||||
'description': fields.text('Description'),
|
'description': fields.text('Description'),
|
||||||
|
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||||
'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders'),
|
'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders'),
|
||||||
'line_ids' : fields.one2many('purchase.requisition.line','requisition_id','Products to Purchase'),
|
'line_ids' : fields.one2many('purchase.requisition.line','requisition_id','Products to Purchase'),
|
||||||
'state': fields.selection([('draft','Draft'),('open','Open'),('cancel','Cancelled'),('close','Close')], 'State', required=True)
|
'state': fields.selection([('draft','Draft'),('open','Open'),('cancel','Cancelled'),('close','Close'),('done','Done')], 'State', required=True)
|
||||||
}
|
}
|
||||||
_defaults = {
|
_defaults = {
|
||||||
'date_start': lambda *args: time.strftime('%Y-%m-%d %H:%M:%S'),
|
'date_start': lambda *args: time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||||
'state': lambda *args: 'open',
|
'state': lambda *args: 'open',
|
||||||
'exclusive': lambda *args: 'multiple',
|
'exclusive': lambda *args: 'multiple',
|
||||||
|
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
|
||||||
|
'user_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).id ,
|
||||||
'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'purchase.order.requisition'),
|
'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'purchase.order.requisition'),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,11 +86,9 @@ class purchase_requisition_line(osv.osv):
|
||||||
_columns = {
|
_columns = {
|
||||||
'product_id': fields.many2one('product.product', 'Product'),
|
'product_id': fields.many2one('product.product', 'Product'),
|
||||||
'product_uom_id': fields.many2one('product.uom', 'Product UoM'),
|
'product_uom_id': fields.many2one('product.uom', 'Product UoM'),
|
||||||
|
|
||||||
'product_qty': fields.float('Quantity', digits=(16,2)),
|
'product_qty': fields.float('Quantity', digits=(16,2)),
|
||||||
'tender_id' : fields.many2one('purchase.tender','Purchase Tender', ondelete='cascade'),
|
'requisition_id' : fields.many2one('purchase.requisition','Purchase Requisition', ondelete='cascade'),
|
||||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||||
'product_qty': fields.float('Date End', digits=(16,2)),
|
|
||||||
'requisition_id' : fields.many2one('purchase.requisition','Purchase Requisition', ondelete='cascade')
|
'requisition_id' : fields.many2one('purchase.requisition','Purchase Requisition', ondelete='cascade')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
</page>
|
</page>
|
||||||
<page string="Quotations">
|
<page string="Quotations">
|
||||||
<group col="8" colspan="4">
|
<group col="8" colspan="4">
|
||||||
<button name="%(action_purchase_tender_partner)d" string="New RfQr" type="action" />
|
<button name="%(action_purchase_requisition_partner)d" string="New RfQr" type="action" />
|
||||||
<label colspan="6" string=""/>
|
<label colspan="6" string=""/>
|
||||||
</group>
|
</group>
|
||||||
<field name="purchase_ids" nolabel="1" colspan="4"/>
|
<field name="purchase_ids" nolabel="1" colspan="4"/>
|
||||||
|
@ -73,10 +73,10 @@
|
||||||
<separator colspan="4"/>
|
<separator colspan="4"/>
|
||||||
<group col="8" colspan="4">
|
<group col="8" colspan="4">
|
||||||
<field name="state" select="1" readonly ="1"/>
|
<field name="state" select="1" readonly ="1"/>
|
||||||
<button name="tender_close" states="open,draft,in_progress" string="Close" type="object" icon="gtk-close" />
|
<button name="tender_close" states="open,draft" string="Close" type="object" icon="gtk-close" />
|
||||||
<button name="tender_open" states="draft,in_progress" string="Open" type="object" icon="gtk-go-forward" />
|
<button name="tender_open" states="draft,in_progress" string="Open" type="object" icon="gtk-go-forward" />
|
||||||
<button name="tender_cancel" states="draft,open,in_progress" string="Cancel" type="object" icon="gtk-cancel" />
|
<button name="tender_cancel" states="draft,open," string="Cancel" type="object" icon="gtk-cancel" />
|
||||||
<button name="tender_confirm" states="open,in_progress" string="Confirm" type="object" icon="gtk-go-up" />
|
<button name="tender_confirm" states="open" string="Confirm" type="object" icon="gtk-go-up" />
|
||||||
<button name="tender_reset" states="done,cancel" string="Reset to Draft" type="object" icon="gtk-convert" />
|
<button name="tender_reset" states="done,cancel" string="Reset to Draft" type="object" icon="gtk-convert" />
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
|
@ -100,21 +100,22 @@
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="view_purchase_tender_filter" model="ir.ui.view">
|
<record id="view_purchase_requisition_filter" model="ir.ui.view">
|
||||||
<field name="name">purchase.tender.list.select</field>
|
<field name="name">purchase.requisition.list.select</field>
|
||||||
<field name="model">purchase.tender</field>
|
<field name="model">purchase.requisition</field>
|
||||||
<field name="type">search</field>
|
<field name="type">search</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<search string="Search Purchase Tender">
|
<search string="Search Purchase Requisition">
|
||||||
<group col='10' colspan='4'>
|
<group col='10' colspan='4'>
|
||||||
<filter icon="terp-purchase" string="Quotations" domain="[('state','=','draft')]" separator="1"/>
|
<filter icon="terp-purchase" string="Quotations" domain="[('state','=','draft')]" separator="1"/>
|
||||||
<filter icon="terp-purchase" string="Approved" domain="[('state','=','confirmed')]" separator="1"/>
|
<filter icon="terp-purchase" string="Approved" domain="[('state','=','open')]" separator="1"/>
|
||||||
<separator orientation="vertical"/>
|
<separator orientation="vertical"/>
|
||||||
<field name="name" select="1" string="Tender Reference"/>
|
<field name="name" select="1" string="Requisition Reference"/>
|
||||||
<field name="purchase_ids" select="1"/>
|
<field name="purchase_ids" select="1"/>
|
||||||
<field name="user_id" select="1" widget="selection">
|
<field name="user_id" select="1" widget="selection">
|
||||||
<filter icon="terp-partner" domain="[('create_uid','=',uid)]" help="My Tender "/>
|
<filter icon="terp-partner" domain="[('create_uid','=',uid)]" help="My Requisition "/>
|
||||||
</field>
|
</field>
|
||||||
|
<field name="exclusive" select="1" />
|
||||||
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
|
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
|
||||||
</group>
|
</group>
|
||||||
<newline/>
|
<newline/>
|
||||||
|
@ -134,7 +135,7 @@
|
||||||
<field name="res_model">purchase.requisition</field>
|
<field name="res_model">purchase.requisition</field>
|
||||||
<field name="view_type">form</field>
|
<field name="view_type">form</field>
|
||||||
<field name="view_mode">tree,form</field>
|
<field name="view_mode">tree,form</field>
|
||||||
<field name="search_view_id" ref="view_purchase_tender_filter"/>
|
<field name="search_view_id" ref="view_purchase_requisition_filter"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem
|
<menuitem
|
||||||
|
|
|
@ -2,33 +2,33 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
|
||||||
<record id="group_purchase_tender_manager" model="res.groups">
|
<record id="group_purchase_requisition_manager" model="res.groups">
|
||||||
<field name="name">Purchase Tender / Manager</field>
|
<field name="name">Purchase Requisition / Manager</field>
|
||||||
</record>
|
</record>
|
||||||
<record id="group_purchase_tender_user" model="res.groups">
|
<record id="group_purchase_requisition_user" model="res.groups">
|
||||||
<field name="name">Purchase Tender / User</field>
|
<field name="name">Purchase Requisition / User</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
<record model="ir.rule.group" id="purchase_tender_comp_rule_group">
|
<record model="ir.rule.group" id="purchase_requisition_comp_rule_group">
|
||||||
<field name="name">Purchase Tender multi-company</field>
|
<field name="name">Purchase Requisition multi-company</field>
|
||||||
<field name="model_id" ref="model_purchase_tender"/>
|
<field name="model_id" ref="model_purchase_requisition"/>
|
||||||
<field name="global" eval="True"/>
|
<field name="global" eval="True"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.rule" id="purchase_tender_comp_rule">
|
<record model="ir.rule" id="purchase_requisition_comp_rule">
|
||||||
<field name="field_id" search="[('model','=','purchase.tender'),('name','=','company_id')]" model="ir.model.fields"/>
|
<field name="field_id" search="[('model','=','purchase.requisition'),('name','=','company_id')]" model="ir.model.fields"/>
|
||||||
<field name="rule_group" ref="purchase_tender_comp_rule_group"/>
|
<field name="rule_group" ref="purchase_requisition_comp_rule_group"/>
|
||||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.rule.group" id="purchase_tender_line_comp_rule_group">
|
<record model="ir.rule.group" id="purchase_requisition_line_comp_rule_group">
|
||||||
<field name="name">Purchase Tender Line multi-company</field>
|
<field name="name">Purchase requisition Line multi-company</field>
|
||||||
<field name="model_id" ref="model_purchase_tender_line"/>
|
<field name="model_id" ref="model_purchase_requisition_line"/>
|
||||||
<field name="global" eval="True"/>
|
<field name="global" eval="True"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.rule" id="purchase_tender_line_comp_rule">
|
<record model="ir.rule" id="purchase_requisition_line_comp_rule">
|
||||||
<field name="field_id" search="[('model','=','purchase.tender.line'),('name','=','company_id')]" model="ir.model.fields"/>
|
<field name="field_id" search="[('model','=','purchase.requisition.line'),('name','=','company_id')]" model="ir.model.fields"/>
|
||||||
<field name="rule_group" ref="purchase_tender_line_comp_rule_group"/>
|
<field name="rule_group" ref="purchase_requisition_line_comp_rule_group"/>
|
||||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
import purchase_tender_partner
|
import purchase_requisition_partner
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
||||||
|
|
|
@ -27,9 +27,9 @@ import time
|
||||||
from mx import DateTime
|
from mx import DateTime
|
||||||
from osv.orm import browse_record, browse_null
|
from osv.orm import browse_record, browse_null
|
||||||
|
|
||||||
class purchase_tender_partner(osv.osv_memory):
|
class purchase_requisition_partner(osv.osv_memory):
|
||||||
_name = "purchase.tender.partner"
|
_name = "purchase.requisition.partner"
|
||||||
_description = "Purchase Tender Partner"
|
_description = "Purchase Requisition Partner"
|
||||||
_columns = {
|
_columns = {
|
||||||
'partner_id': fields.many2one('res.partner', 'Partner', required=True),
|
'partner_id': fields.many2one('res.partner', 'Partner', required=True),
|
||||||
'partner_address_id':fields.many2one('res.partner.address', 'Address', required=True),
|
'partner_address_id':fields.many2one('res.partner.address', 'Address', required=True),
|
||||||
|
@ -37,9 +37,9 @@ class purchase_tender_partner(osv.osv_memory):
|
||||||
|
|
||||||
|
|
||||||
def view_init(self, cr, uid, fields_list, context=None):
|
def view_init(self, cr, uid, fields_list, context=None):
|
||||||
res = super(purchase_tender_partner, self).view_init(cr, uid, fields_list, context=context)
|
res = super(purchase_requisition_partner, self).view_init(cr, uid, fields_list, context=context)
|
||||||
record_id = context and context.get('active_id', False) or False
|
record_id = context and context.get('active_id', False) or False
|
||||||
tender = self.pool.get('purchase.tender').browse(cr, uid, record_id)
|
tender = self.pool.get('purchase.requisition').browse(cr, uid, record_id)
|
||||||
if not tender.line_ids:
|
if not tender.line_ids:
|
||||||
raise osv.except_osv('Error!','No Product in Tender')
|
raise osv.except_osv('Error!','No Product in Tender')
|
||||||
True
|
True
|
||||||
|
@ -68,10 +68,10 @@ class purchase_tender_partner(osv.osv_memory):
|
||||||
order_obj = self.pool.get('purchase.order')
|
order_obj = self.pool.get('purchase.order')
|
||||||
order_line_obj = self.pool.get('purchase.order.line')
|
order_line_obj = self.pool.get('purchase.order.line')
|
||||||
partner_obj = self.pool.get('res.partner')
|
partner_obj = self.pool.get('res.partner')
|
||||||
tender_line_obj = self.pool.get('purchase.tender.line')
|
tender_line_obj = self.pool.get('purchase.requisition.line')
|
||||||
pricelist_obj = self.pool.get('product.pricelist')
|
pricelist_obj = self.pool.get('product.pricelist')
|
||||||
prod_obj = self.pool.get('product.product')
|
prod_obj = self.pool.get('product.product')
|
||||||
tender_obj = self.pool.get('purchase.tender')
|
tender_obj = self.pool.get('purchase.requisition')
|
||||||
acc_pos_obj = self.pool.get('account.fiscal.position')
|
acc_pos_obj = self.pool.get('account.fiscal.position')
|
||||||
partner_id = data[0]['partner_id']
|
partner_id = data[0]['partner_id']
|
||||||
address_id = partner_obj.address_get(cr, uid, [partner_id], ['delivery'])['delivery']
|
address_id = partner_obj.address_get(cr, uid, [partner_id], ['delivery'])['delivery']
|
||||||
|
@ -115,7 +115,7 @@ class purchase_tender_partner(osv.osv_memory):
|
||||||
'location_id': line.product_id.product_tmpl_id.property_stock_production.id,
|
'location_id': line.product_id.product_tmpl_id.property_stock_production.id,
|
||||||
'company_id': tender.company_id.id,
|
'company_id': tender.company_id.id,
|
||||||
'fiscal_position': partner.property_account_position and partner.property_account_position.id or False,
|
'fiscal_position': partner.property_account_position and partner.property_account_position.id or False,
|
||||||
'tender_id':tender.id,
|
'requisition_id':tender.id,
|
||||||
})
|
})
|
||||||
order_ids=[]
|
order_ids=[]
|
||||||
for order_line in list_line:
|
for order_line in list_line:
|
||||||
|
@ -125,5 +125,5 @@ class purchase_tender_partner(osv.osv_memory):
|
||||||
order_line_obj.create(cr,uid,order_line)
|
order_line_obj.create(cr,uid,order_line)
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
purchase_tender_partner()
|
purchase_requisition_partner()
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<openerp>
|
<openerp>
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
<record id="view_purchase_tender_partner" model="ir.ui.view">
|
<record id="view_purchase_requisition_partner" model="ir.ui.view">
|
||||||
<field name="name">Purchase Tender</field>
|
<field name="name">Purchase Requisition</field>
|
||||||
<field name="model">purchase.tender.partner</field>
|
<field name="model">purchase.requisition.partner</field>
|
||||||
<field name="type">form</field>
|
<field name="type">form</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="Purchase Tender">
|
<form string="Purchase Requisition">
|
||||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
||||||
<field domain="[('partner_id','=',partner_id)]" name="partner_address_id"/>
|
<field domain="[('partner_id','=',partner_id)]" name="partner_address_id"/>
|
||||||
<group colspan="4" col="6">
|
<group colspan="4" col="6">
|
||||||
|
@ -17,10 +17,10 @@
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="action_purchase_tender_partner" model="ir.actions.act_window">
|
<record id="action_purchase_requisition_partner" model="ir.actions.act_window">
|
||||||
<field name="name">Purchase Tender</field>
|
<field name="name">Purchase Requisition</field>
|
||||||
<field name="type">ir.actions.act_window</field>
|
<field name="type">ir.actions.act_window</field>
|
||||||
<field name="res_model">purchase.tender.partner</field>
|
<field name="res_model">purchase.requisition.partner</field>
|
||||||
<field name="view_type">form</field>
|
<field name="view_type">form</field>
|
||||||
<field name="view_mode">form</field>
|
<field name="view_mode">form</field>
|
||||||
<field name="context">{'record_id' : active_id}</field>
|
<field name="context">{'record_id' : active_id}</field>
|
Loading…
Reference in New Issue