_columns = {
'name': fields.char('Quotation Template', required=True),
'website_description': fields.html('Description', translate=True),
_columns = {
'name': fields.char('Quotation Template', required=True),
'website_description': fields.html('Description', translate=True),
- 'quote_line': fields.one2many('sale.quote.line', 'quote_id', 'Quote Template Lines', copy=True),
+ 'quote_line': fields.one2many('sale.quote.line', 'quote_id', 'Quotation Template Lines', copy=True),
'note': fields.text('Terms and conditions'),
'options': fields.one2many('sale.quote.option', 'template_id', 'Optional Products Lines', copy=True),
'note': fields.text('Terms and conditions'),
'options': fields.one2many('sale.quote.option', 'template_id', 'Optional Products Lines', copy=True),
- 'number_of_days': fields.integer('Quote Duration', help='Number of days for the validaty date computation of the quotation'),
+ 'number_of_days': fields.integer('Quotation Duration', help='Number of days for the validity date computation of the quotation'),
}
def open_template(self, cr, uid, quote_id, context=None):
return {
}
def open_template(self, cr, uid, quote_id, context=None):
return {
'quote_id': fields.many2one('sale.quote.template', 'Quotation Template Reference', required=True, ondelete='cascade', select=True),
'name': fields.text('Description', required=True, translate=True),
'product_id': fields.many2one('product.product', 'Product', domain=[('sale_ok', '=', True)], required=True),
'quote_id': fields.many2one('sale.quote.template', 'Quotation Template Reference', required=True, ondelete='cascade', select=True),
'name': fields.text('Description', required=True, translate=True),
'product_id': fields.many2one('product.product', 'Product', domain=[('sale_ok', '=', True)], required=True),
'product_uom_qty': fields.float('Quantity', required=True, digits_compute= dp.get_precision('Product UoS')),
'product_uom_id': fields.many2one('product.uom', 'Unit of Measure ', required=True),
}
'product_uom_qty': fields.float('Quantity', required=True, digits_compute= dp.get_precision('Product UoS')),
'product_uom_id': fields.many2one('product.uom', 'Unit of Measure ', required=True),
}
}
def on_change_product_id(self, cr, uid, ids, product, context=None):
vals = {}
}
def on_change_product_id(self, cr, uid, ids, product, context=None):
vals = {}
_columns = {
'access_token': fields.char('Security Token', required=True, copy=False),
_columns = {
'access_token': fields.char('Security Token', required=True, copy=False),
- 'template_id': fields.many2one('sale.quote.template', 'Quote Template', readonly=True,
- states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}),
+ 'template_id': fields.many2one('sale.quote.template', 'Quotation Template', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}),
- 'options' : fields.one2many('sale.order.option', 'order_id', 'Optional Products Lines'),
- 'validity_date': fields.date('Expiry Date'),
+ 'options' : fields.one2many('sale.order.option', 'order_id', 'Optional Products Lines', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, copy=True),
'amount_undiscounted': fields.function(_get_total, string='Amount Before Discount', type="float",
'amount_undiscounted': fields.function(_get_total, string='Amount Before Discount', type="float",
+
+ def _get_template_id(self, cr, uid, context=None):
+ try:
+ template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'website_quote', 'website_quote_template_default')[1]
+ except ValueError:
+ template_id = False
+ return template_id
+
- 'access_token': lambda self, cr, uid, ctx={}: str(uuid.uuid4())
+ 'access_token': lambda self, cr, uid, ctx={}: str(uuid.uuid4()),
+ 'template_id' : _get_template_id,
}
def open_quotation(self, cr, uid, quote_id, context=None):
quote = self.browse(cr, uid, quote_id[0], context=context)
}
def open_quotation(self, cr, uid, quote_id, context=None):
quote = self.browse(cr, uid, quote_id[0], context=context)
- context = dict(context, lang=self.pool.get('res.partner').browse(cr, uid, partner, context).lang)
-
+ if partner:
+ context['lang'] = self.pool['res.partner'].browse(cr, uid, partner, context).lang
+
lines = [(5,)]
quote_template = self.pool.get('sale.quote.template').browse(cr, uid, template_id, context=context)
for line in quote_template.quote_line:
lines = [(5,)]
quote_template = self.pool.get('sale.quote.template').browse(cr, uid, template_id, context=context)
for line in quote_template.quote_line:
_columns = {
'template_id': fields.many2one('sale.quote.template', 'Quotation Template Reference', ondelete='cascade', select=True, required=True),
'name': fields.text('Description', required=True, translate=True),
_columns = {
'template_id': fields.many2one('sale.quote.template', 'Quotation Template Reference', ondelete='cascade', select=True, required=True),
'name': fields.text('Description', required=True, translate=True),