diff options
8 files changed, 41 insertions, 42 deletions
diff --git a/addons/purchase/res_config.py b/addons/purchase/res_config.py index 2808b267f4f..91f72246381 100644 --- a/addons/purchase/res_config.py +++ b/addons/purchase/res_config.py @@ -49,14 +49,13 @@ class purchase_config_settings(osv.osv_memory): 'module_purchase_double_validation': fields.boolean("Force two levels of approvals", help='Provide a double validation mechanism for purchases exceeding minimum amount.\n' '-This installs the module purchase_double_validation.'), - 'module_purchase_requisition': fields.boolean("Manage calls for bids", - help="""Calls for bids are used when you want to generate requests for quotations to several suppliers for a given set of products. + 'module_purchase_requisition': fields.boolean("Manage calls for tenders", + help="""Calls for tenders are used when you want to generate requests for quotations to several suppliers for a given set of products. You can configure per product if you directly do a Request for Quotation - to one supplier or if you want a Call for Bids to compare offers from several suppliers."""), - 'group_advance_purchase_requisition': fields.boolean("Choose from several bids in a call for bids", + to one supplier or if you want a Call for Tenders to compare offers from several suppliers."""), + 'group_advance_purchase_requisition': fields.boolean("Choose from several bids in a call for tenders", implied_group='purchase.group_advance_bidding', - help="""In the process of a public bidding, you can compare the bid lines and choose for each requested product from which bid you - buy which quantity"""), + help="""In the process of a public tendering, you can compare the tender lines and choose for each requested product which quantity you will buy from each bid."""), 'module_purchase_analytic_plans': fields.boolean('Use multiple analytic accounts on purchase orders', help='Allows the user to maintain several analysis plans. These let you split lines on a purchase order between several accounts and analytic plans.\n' '-This installs the module purchase_analytic_plans.'), diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py index c4bdb641a20..85b2e98f356 100644 --- a/addons/purchase_requisition/purchase_requisition.py +++ b/addons/purchase_requisition/purchase_requisition.py @@ -39,13 +39,13 @@ class purchase_requisition(osv.osv): return result _columns = { - 'name': fields.char('Call for Bids Reference', required=True, copy=False), + 'name': fields.char('Call for Tenders Reference', required=True, copy=False), 'origin': fields.char('Source Document'), 'ordering_date': fields.date('Scheduled Ordering Date'), - 'date_end': fields.datetime('Bid Submission Deadline'), - 'schedule_date': fields.date('Scheduled Delivery Date', select=True, help="The expected and scheduled delivery date where all the products are received"), + 'date_end': fields.datetime('Tender Closing Deadline'), + 'schedule_date': fields.date('Scheduled Date', select=True, help="The expected and scheduled delivery date where all the products are received"), 'user_id': fields.many2one('res.users', 'Responsible'), - 'exclusive': fields.selection([('exclusive', 'Select only one RFQ (exclusive)'), ('multiple', 'Select multiple RFQ')], 'Bid Selection Type', required=True, help="Select only one RFQ (exclusive): On the confirmation of a purchase order, it cancels the remaining purchase order.\nSelect multiple RFQ: It allows to have multiple purchase orders.On confirmation of a purchase order it does not cancel the remaining orders"""), + 'exclusive': fields.selection([('exclusive', 'Select only one RFQ (exclusive)'), ('multiple', 'Select multiple RFQ')], 'Tender Selection Type', required=True, help="Select only one RFQ (exclusive): On the confirmation of a purchase order, it cancels the remaining purchase order.\nSelect multiple RFQ: It allows to have multiple purchase orders.On confirmation of a purchase order it does not cancel the remaining orders"""), 'description': fields.text('Description'), 'company_id': fields.many2one('res.company', 'Company', required=True), 'purchase_ids': fields.one2many('purchase.order', 'requisition_id', 'Purchase Orders', states={'done': [('readonly', True)]}), @@ -123,7 +123,7 @@ class purchase_requisition(osv.osv): return res def open_rfq(self, cr, uid, ids, context=None): - """ This opens rfq view to view all quotations associated to the call for bids + """ This opens rfq view to view all quotations associated to the call for tenders @return: the RFQ tree view """ if context is None: @@ -200,12 +200,12 @@ class purchase_requisition(osv.osv): def check_valid_quotation(self, cr, uid, quotation, context=None): """ Check if a quotation has all his order lines bid in order to confirm it if its the case - return True if all order line have been selected during bidding process, else return False + return True if all order line have been selected during tendering process, else return False args : 'quotation' must be a browse record """ for line in quotation.order_line: - if line.state != 'confirmed' or line.product_qty != line.quantity_bid: + if line.state != 'confirmed' or line.product_qty != line.quantity_tendered: return False return True @@ -227,7 +227,7 @@ class purchase_requisition(osv.osv): :param line: the source tender's line from which we generate a line :param purchase_id: the id of the new purchase """ - return {'product_qty': line.quantity_bid, + return {'product_qty': line.quantity_tendered, 'order_id': purchase_id} def generate_po(self, cr, uid, ids, context=None): @@ -292,7 +292,7 @@ class purchase_requisition(osv.osv): for quotation in tender.purchase_ids: if quotation.state in ['draft', 'sent', 'bid']: self.pool.get('purchase.order').signal_workflow(cr, uid, [quotation.id], 'purchase_cancel') - po.message_post(cr, uid, [quotation.id], body=_('Cancelled by the call for bids associated to this request for quotation.'), context=context) + po.message_post(cr, uid, [quotation.id], body=_('Cancelled by the call for tenders associated to this request for quotation.'), context=context) return True @@ -305,7 +305,7 @@ class purchase_requisition_line(osv.osv): 'product_id': fields.many2one('product.product', 'Product'), 'product_uom_id': fields.many2one('product.uom', 'Product Unit of Measure'), 'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product Unit of Measure')), - 'requisition_id': fields.many2one('purchase.requisition', 'Call for Bids', ondelete='cascade'), + 'requisition_id': fields.many2one('purchase.requisition', 'Call for Tenders', ondelete='cascade'), 'company_id': fields.related('requisition_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True), 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account',), 'schedule_date': fields.date('Scheduled Date'), @@ -335,7 +335,7 @@ class purchase_order(osv.osv): _inherit = "purchase.order" _columns = { - 'requisition_id': fields.many2one('purchase.requisition', 'Call for Bids', copy=False), + 'requisition_id': fields.many2one('purchase.requisition', 'Call for Tenders', copy=False), } def wkf_confirm_order(self, cr, uid, ids, context=None): @@ -364,7 +364,7 @@ class purchase_order_line(osv.osv): _inherit = 'purchase.order.line' _columns = { - 'quantity_bid': fields.float('Quantity Bid', digits_compute=dp.get_precision('Product Unit of Measure'), help="Technical field for not loosing the initial information about the quantity proposed in the bid"), + 'quantity_tendered': fields.float('Quantity Tendered', digits_compute=dp.get_precision('Product Unit of Measure'), help="Technical field for not loosing the initial information about the quantity proposed in the tender", oldname='quantity_bid'), } def action_draft(self, cr, uid, ids, context=None): @@ -373,8 +373,8 @@ class purchase_order_line(osv.osv): def action_confirm(self, cr, uid, ids, context=None): super(purchase_order_line, self).action_confirm(cr, uid, ids, context=context) for element in self.browse(cr, uid, ids, context=context): - if not element.quantity_bid: - self.write(cr, uid, ids, {'quantity_bid': element.product_qty}, context=context) + if not element.quantity_tendered: + self.write(cr, uid, ids, {'quantity_tendered': element.product_qty}, context=context) return True def generate_po(self, cr, uid, tender_id, context=None): @@ -386,7 +386,7 @@ class product_template(osv.osv): _inherit = 'product.template' _columns = { - 'purchase_requisition': fields.boolean('Call for Bids', help="Check this box to generate Call for Bids instead of generating requests for quotation from procurement.") + 'purchase_requisition': fields.boolean('Call for Tenders', help="Check this box to generate Call for Tenders instead of generating requests for quotation from procurement.") } diff --git a/addons/purchase_requisition/purchase_requisition_report.xml b/addons/purchase_requisition/purchase_requisition_report.xml index 7089415ec07..84e3b695d14 100644 --- a/addons/purchase_requisition/purchase_requisition_report.xml +++ b/addons/purchase_requisition/purchase_requisition_report.xml @@ -2,7 +2,7 @@ <openerp> <data> <report - string="Call for Bids" + string="Call for Tenders" id="action_report_purchase_requisitions" model="purchase.requisition" report_type="qweb-pdf" diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml index 44a1f7f3bcb..922b05db5ab 100644 --- a/addons/purchase_requisition/purchase_requisition_view.xml +++ b/addons/purchase_requisition/purchase_requisition_view.xml @@ -28,10 +28,10 @@ <field name="name">purchase.requisition.form</field> <field name="model">purchase.requisition</field> <field name="arch" type="xml"> - <form string="Call for Bids"> + <form string="Call for Tenders"> <header> <button name="sent_suppliers" states="draft" string="Confirm Call" class="oe_highlight"/> - <button name="open_bid" states="in_progress" string="Close Call for Bids" class="oe_highlight"/> + <button name="open_bid" states="in_progress" string="Close Call for Tenders" class="oe_highlight"/> <button name="tender_reset" states="cancel" string="Reset to Draft" type="object" /> <button name="open_product_line" states="open" string="Choose product lines" type="object" class="oe_highlight" groups="purchase.group_advance_bidding"/> <button name="generate_po" states="open" string="Done" type="object" class="oe_highlight"/> @@ -127,7 +127,7 @@ <field name="name">purchase.requisition.tree</field> <field name="model">purchase.requisition</field> <field name="arch" type="xml"> - <tree fonts="bold:message_unread==True" colors="grey:state == 'cancel';red:date_end and date_end<current_date;black:date_end>current_date;" string="Call for Bids"> + <tree fonts="bold:message_unread==True" colors="grey:state == 'cancel';red:date_end and date_end<current_date;black:date_end>current_date;" string="Call for Tenders"> <field name="message_unread" invisible="1"/> <field name="name"/> <field name="ordering_date"/> @@ -144,12 +144,12 @@ <field name="name">purchase.requisition.list.select</field> <field name="model">purchase.requisition</field> <field name="arch" type="xml"> - <search string="Search Call for Bids"> - <field name="name" string="Call for Bids"/> + <search string="Search Call for Tenders"> + <field name="name" string="Call for Tenders"/> <field name="exclusive" /> - <filter icon="terp-document-new" name="draft" string="New" domain="[('state','=','draft')]" help="New Call for Bids"/> - <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','in_progress')]" help="Call for Bids in negotiation"/> - <filter icon="terp-dialog-close" string="Closed Bids" domain="[('state','=','open')]" help="Call for Bids where bids are closed"/> + <filter icon="terp-document-new" name="draft" string="New" domain="[('state','=','draft')]" help="New Call for Tenders"/> + <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','in_progress')]" help="Call for Tenders in negotiation"/> + <filter icon="terp-dialog-close" string="Closed Tenders" domain="[('state','=','open')]" help="Call for Tenders where tenders are closed"/> <separator/> <filter icon="terp-personal-" string="Unassigned" domain="[('user_id','=', False)]" help="Unassigned Requisition"/> <field name="user_id" /> @@ -166,7 +166,7 @@ <record model="ir.actions.act_window" id="action_purchase_requisition"> - <field name="name">Calls for Bids</field> + <field name="name">Calls for Tenders</field> <field name="type">ir.actions.act_window</field> <field name="res_model">purchase.requisition</field> <field name="view_type">form</field> @@ -175,12 +175,12 @@ <field name="search_view_id" ref="view_purchase_requisition_filter"/> <field name="help" type="html"> <p class="oe_view_nocontent_create"> - Click to start a new Call for Bids process. + Click to start a new Call for Tenders process. </p><p> - A Call for Bids is a procedure for generating competing offers from - different bidders. In the call for bids, you can record the + A Call for Tenders is a procedure for generating competing offers from + different bidders. In the call for tenders, you can record the products you need to buy and generate the creation of RfQs to - suppliers. Once the bids have been registered, you can review and + suppliers. Once the tenders have been registered, you can review and compare them and you can validate some and cancel others. </p> </field> @@ -233,7 +233,7 @@ <field name="product_id"/> <field name="price_unit"/> <field name="product_qty"/> - <field name="quantity_bid"/> + <field name="quantity_tendered"/> <field name="product_uom" groups="product.group_uom"/> <field name="price_subtotal"/> <field name="state" invisible="1"/> @@ -246,7 +246,7 @@ </record> <record id="purchase_line_tree" model="ir.actions.act_window"> - <field name="name">Bid Lines</field> + <field name="name">Tender Lines</field> <field name="res_model">purchase.order.line</field> <field name="context">{"search_default_groupby_product" : True,}</field> <field name="view_type">form</field> diff --git a/addons/purchase_requisition/test/purchase_requisition.yml b/addons/purchase_requisition/test/purchase_requisition.yml index 7ced8ec22c2..f097a62c995 100644 --- a/addons/purchase_requisition/test/purchase_requisition.yml +++ b/addons/purchase_requisition/test/purchase_requisition.yml @@ -46,7 +46,7 @@ !context uid: 'res_users_purchase_requisition_user' - - I open another requisition and set tender state to choose bidding line. + I open another requisition and set tender state to choose tendering line. - !python {model: purchase.requisition}: | self.tender_in_progress(cr, uid, [ref("requisition1")], context=context) diff --git a/addons/purchase_requisition/views/report_purchaserequisition.xml b/addons/purchase_requisition/views/report_purchaserequisition.xml index 209a92bc3a3..441fc09ba79 100644 --- a/addons/purchase_requisition/views/report_purchaserequisition.xml +++ b/addons/purchase_requisition/views/report_purchaserequisition.xml @@ -8,11 +8,11 @@ <div class="page"> <div class="oe_structure"/> - <h2>Call for Bids <span t-field="o.name"/></h2> + <h2>Call for Tenders <span t-field="o.name"/></h2> <div class="row mt32 mb32"> <div class="col-xs-3"> - <strong>Call for Bif Reference:</strong><br/> + <strong>Call for Tender Reference:</strong><br/> <span t-field="o.name"/> </div> <div class="col-xs-3"> diff --git a/addons/purchase_requisition/wizard/bid_line_qty.py b/addons/purchase_requisition/wizard/bid_line_qty.py index 769e5be0bcc..cf5dfa96e27 100644 --- a/addons/purchase_requisition/wizard/bid_line_qty.py +++ b/addons/purchase_requisition/wizard/bid_line_qty.py @@ -32,5 +32,5 @@ class bid_line_qty(osv.osv_memory): def change_qty(self, cr, uid, ids, context=None): active_ids = context and context.get('active_ids', []) data = self.browse(cr, uid, ids, context=context)[0] - self.pool.get('purchase.order.line').write(cr, uid, active_ids, {'quantity_bid': data.qty}) + self.pool.get('purchase.order.line').write(cr, uid, active_ids, {'quantity_tendered': data.qty}) return {'type': 'ir.actions.act_window_close'} diff --git a/addons/purchase_requisition/wizard/purchase_requisition_partner.py b/addons/purchase_requisition/wizard/purchase_requisition_partner.py index 286ab343a28..613feab8e28 100644 --- a/addons/purchase_requisition/wizard/purchase_requisition_partner.py +++ b/addons/purchase_requisition/wizard/purchase_requisition_partner.py @@ -36,7 +36,7 @@ class purchase_requisition_partner(osv.osv_memory): record_id = context and context.get('active_id', False) or False tender = self.pool.get('purchase.requisition').browse(cr, uid, record_id, context=context) if not tender.line_ids: - raise osv.except_osv(_('Error!'), _('Define product(s) you want to include in the call for bids.')) + raise osv.except_osv(_('Error!'), _('Define product(s) you want to include in the call for tenders.')) return res def create_order(self, cr, uid, ids, context=None): |
