[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'
|
||||
|
||||
_columns = {
|
||||
'purchase_tender':fields.boolean('Purchase Tender'),
|
||||
'purchase_requisition':fields.boolean('Purchase Requisition'),
|
||||
}
|
||||
purchase_installer()
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<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="type">form</field>
|
||||
<field name="inherit_id" ref="base.res_config_installer"/>
|
||||
|
@ -13,12 +13,12 @@
|
|||
</form>
|
||||
<xpath expr="//label[@string='description']"
|
||||
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>
|
||||
<separator string="title" position="replace"/>
|
||||
<group colspan="8">
|
||||
<separator string="Purchase Tender" colspan="4"/>
|
||||
<field name="purchase_tender"/>
|
||||
<separator string="Purchase Requisition" colspan="4"/>
|
||||
<field name="purchase_requisition"/>
|
||||
</group>
|
||||
</data>
|
||||
</field>
|
||||
|
@ -36,7 +36,7 @@
|
|||
|
||||
<record id="purchase_installer_todo" model="ir.actions.todo">
|
||||
<field name="action_id" ref="action_purchase_install_module"/>
|
||||
<field name="sequence">2</field>
|
||||
<field name="sequence">3</field>
|
||||
|
||||
</record>
|
||||
</data>
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
"depends" : ["purchase","mrp"],
|
||||
"init_xml" : [],
|
||||
"demo_xml" : [],
|
||||
"update_xml" : [ "wizard//purchase_tender_partner.xml",
|
||||
"update_xml" : ["wizard/purchase_requisition_partner_view.xml",
|
||||
"purchase_requisition_view.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'),
|
||||
'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'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders'),
|
||||
'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 = {
|
||||
'date_start': lambda *args: time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'state': lambda *args: 'open',
|
||||
'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'),
|
||||
}
|
||||
|
||||
|
@ -83,11 +86,9 @@ class purchase_requisition_line(osv.osv):
|
|||
_columns = {
|
||||
'product_id': fields.many2one('product.product', 'Product'),
|
||||
'product_uom_id': fields.many2one('product.uom', 'Product UoM'),
|
||||
|
||||
'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),
|
||||
'product_qty': fields.float('Date End', digits=(16,2)),
|
||||
'requisition_id' : fields.many2one('purchase.requisition','Purchase Requisition', ondelete='cascade')
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
</page>
|
||||
<page string="Quotations">
|
||||
<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=""/>
|
||||
</group>
|
||||
<field name="purchase_ids" nolabel="1" colspan="4"/>
|
||||
|
@ -73,10 +73,10 @@
|
|||
<separator colspan="4"/>
|
||||
<group col="8" colspan="4">
|
||||
<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_cancel" states="draft,open,in_progress" 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_cancel" states="draft,open," string="Cancel" type="object" icon="gtk-cancel" />
|
||||
<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" />
|
||||
</group>
|
||||
|
||||
|
@ -100,21 +100,22 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_purchase_tender_filter" model="ir.ui.view">
|
||||
<field name="name">purchase.tender.list.select</field>
|
||||
<field name="model">purchase.tender</field>
|
||||
<record id="view_purchase_requisition_filter" model="ir.ui.view">
|
||||
<field name="name">purchase.requisition.list.select</field>
|
||||
<field name="model">purchase.requisition</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Purchase Tender">
|
||||
<search string="Search Purchase Requisition">
|
||||
<group col='10' colspan='4'>
|
||||
<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"/>
|
||||
<field name="name" select="1" string="Tender Reference"/>
|
||||
<field name="name" select="1" string="Requisition Reference"/>
|
||||
<field name="purchase_ids" select="1"/>
|
||||
<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 name="exclusive" select="1" />
|
||||
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
|
@ -134,7 +135,7 @@
|
|||
<field name="res_model">purchase.requisition</field>
|
||||
<field name="view_type">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>
|
||||
|
||||
<menuitem
|
||||
|
|
|
@ -2,33 +2,33 @@
|
|||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="group_purchase_tender_manager" model="res.groups">
|
||||
<field name="name">Purchase Tender / Manager</field>
|
||||
<record id="group_purchase_requisition_manager" model="res.groups">
|
||||
<field name="name">Purchase Requisition / Manager</field>
|
||||
</record>
|
||||
<record id="group_purchase_tender_user" model="res.groups">
|
||||
<field name="name">Purchase Tender / User</field>
|
||||
<record id="group_purchase_requisition_user" model="res.groups">
|
||||
<field name="name">Purchase Requisition / User</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.rule.group" id="purchase_tender_comp_rule_group">
|
||||
<field name="name">Purchase Tender multi-company</field>
|
||||
<field name="model_id" ref="model_purchase_tender"/>
|
||||
<record model="ir.rule.group" id="purchase_requisition_comp_rule_group">
|
||||
<field name="name">Purchase Requisition multi-company</field>
|
||||
<field name="model_id" ref="model_purchase_requisition"/>
|
||||
<field name="global" eval="True"/>
|
||||
</record>
|
||||
<record model="ir.rule" id="purchase_tender_comp_rule">
|
||||
<field name="field_id" search="[('model','=','purchase.tender'),('name','=','company_id')]" model="ir.model.fields"/>
|
||||
<field name="rule_group" ref="purchase_tender_comp_rule_group"/>
|
||||
<record model="ir.rule" id="purchase_requisition_comp_rule">
|
||||
<field name="field_id" search="[('model','=','purchase.requisition'),('name','=','company_id')]" model="ir.model.fields"/>
|
||||
<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>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule.group" id="purchase_tender_line_comp_rule_group">
|
||||
<field name="name">Purchase Tender Line multi-company</field>
|
||||
<field name="model_id" ref="model_purchase_tender_line"/>
|
||||
<record model="ir.rule.group" id="purchase_requisition_line_comp_rule_group">
|
||||
<field name="name">Purchase requisition Line multi-company</field>
|
||||
<field name="model_id" ref="model_purchase_requisition_line"/>
|
||||
<field name="global" eval="True"/>
|
||||
</record>
|
||||
<record model="ir.rule" id="purchase_tender_line_comp_rule">
|
||||
<field name="field_id" search="[('model','=','purchase.tender.line'),('name','=','company_id')]" model="ir.model.fields"/>
|
||||
<field name="rule_group" ref="purchase_tender_line_comp_rule_group"/>
|
||||
<record model="ir.rule" id="purchase_requisition_line_comp_rule">
|
||||
<field name="field_id" search="[('model','=','purchase.requisition.line'),('name','=','company_id')]" model="ir.model.fields"/>
|
||||
<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>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
import purchase_tender_partner
|
||||
import purchase_requisition_partner
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -27,9 +27,9 @@ import time
|
|||
from mx import DateTime
|
||||
from osv.orm import browse_record, browse_null
|
||||
|
||||
class purchase_tender_partner(osv.osv_memory):
|
||||
_name = "purchase.tender.partner"
|
||||
_description = "Purchase Tender Partner"
|
||||
class purchase_requisition_partner(osv.osv_memory):
|
||||
_name = "purchase.requisition.partner"
|
||||
_description = "Purchase Requisition Partner"
|
||||
_columns = {
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', 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):
|
||||
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
|
||||
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:
|
||||
raise osv.except_osv('Error!','No Product in Tender')
|
||||
True
|
||||
|
@ -68,10 +68,10 @@ class purchase_tender_partner(osv.osv_memory):
|
|||
order_obj = self.pool.get('purchase.order')
|
||||
order_line_obj = self.pool.get('purchase.order.line')
|
||||
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')
|
||||
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')
|
||||
partner_id = data[0]['partner_id']
|
||||
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,
|
||||
'company_id': tender.company_id.id,
|
||||
'fiscal_position': partner.property_account_position and partner.property_account_position.id or False,
|
||||
'tender_id':tender.id,
|
||||
'requisition_id':tender.id,
|
||||
})
|
||||
order_ids=[]
|
||||
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)
|
||||
return {}
|
||||
|
||||
purchase_tender_partner()
|
||||
purchase_requisition_partner()
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_purchase_tender_partner" model="ir.ui.view">
|
||||
<field name="name">Purchase Tender</field>
|
||||
<field name="model">purchase.tender.partner</field>
|
||||
<record id="view_purchase_requisition_partner" model="ir.ui.view">
|
||||
<field name="name">Purchase Requisition</field>
|
||||
<field name="model">purchase.requisition.partner</field>
|
||||
<field name="type">form</field>
|
||||
<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 domain="[('partner_id','=',partner_id)]" name="partner_address_id"/>
|
||||
<group colspan="4" col="6">
|
||||
|
@ -17,10 +17,10 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_purchase_tender_partner" model="ir.actions.act_window">
|
||||
<field name="name">Purchase Tender</field>
|
||||
<record id="action_purchase_requisition_partner" model="ir.actions.act_window">
|
||||
<field name="name">Purchase Requisition</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_mode">form</field>
|
||||
<field name="context">{'record_id' : active_id}</field>
|
Loading…
Reference in New Issue