[IMP] purchase_requisition: rename the object and improve the view

bzr revid: sbh@tinyerp.com-20100416061750-2wortgmkaeogbh0t
This commit is contained in:
sbh (Open ERP) 2010-04-16 11:47:50 +05:30
parent 60b45a3049
commit 6333a21be7
9 changed files with 58 additions and 56 deletions

View File

@ -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()

View File

@ -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>

View File

@ -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"],

View File

@ -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')
}

View File

@ -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

View File

@ -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>

View File

@ -19,7 +19,7 @@
#
##############################################################################
import purchase_tender_partner
import purchase_requisition_partner
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -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()

View File

@ -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>