[IMP]discount shown on ticket. if pos have no order lines it can not validate for ticket print. and improve report of sale detail
bzr revid: sgo@tinyerp.com-20121005070033-o51n2w72j7322zg5
This commit is contained in:
@@ -91,16 +91,17 @@ class pos_details(report_sxw.rml_parse):
|
||||
def _get_sum_dis_2(self):
|
||||
return self.discount or 0.0
|
||||
|
||||
def _get_sum_discount(self, objects):
|
||||
def _get_sum_discount(self, form):
|
||||
#code for the sum of discount value
|
||||
return reduce(lambda acc, object:
|
||||
acc + reduce(
|
||||
lambda sum_dis, line:
|
||||
sum_dis + ((line.price_unit * line.qty) * (line.discount / 100)),
|
||||
object.lines,
|
||||
0.0),
|
||||
objects,
|
||||
0.0)
|
||||
pos_obj = self.pool.get('pos.order')
|
||||
user_obj = self.pool.get('res.users')
|
||||
user_ids = form['user_ids'] or self._get_all_users()
|
||||
company_id = user_obj.browse(self.cr, self.uid, self.uid).company_id.id
|
||||
pos_ids = pos_obj.search(self.cr, self.uid, [('date_order','>=',form['date_start'] + ' 00:00:00'),('date_order','<=',form['date_end'] + ' 23:59:59'),('user_id','in',user_ids),('company_id','=',company_id)])
|
||||
for pos in pos_obj.browse(self.cr, self.uid, pos_ids):
|
||||
for pol in pos.lines:
|
||||
self.total_discount += ((pol.price_unit * pol.qty) * (pol.discount / 100))
|
||||
return self.total_discount or False
|
||||
|
||||
def _get_payments(self, form):
|
||||
statement_line_obj = self.pool.get("account.bank.statement.line")
|
||||
@@ -179,11 +180,12 @@ class pos_details(report_sxw.rml_parse):
|
||||
self.qty = 0.0
|
||||
self.total_invoiced = 0.0
|
||||
self.discount = 0.0
|
||||
self.total_discount = 0.0
|
||||
self.localcontext.update({
|
||||
'time': time,
|
||||
'strip_name': self._strip_name,
|
||||
'getpayments': self._get_payments,
|
||||
'getsumdisc': self._get_sum_dis_2,
|
||||
'getsumdisc': self._get_sum_discount,
|
||||
'gettotalofthaday': self._total_of_the_day,
|
||||
'gettaxamount': self._get_tax_amount,
|
||||
'pos_sales_details':self._pos_sales_details,
|
||||
|
||||
@@ -373,7 +373,7 @@
|
||||
<para style="terp_default_Bold_9">Total discount</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ formatLang(getsumdisc(), dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para>
|
||||
<para style="terp_default_Right_9_Bold">[[ formatLang(getsumdisc(data['form']), dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -966,6 +966,9 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
|
||||
this.$('#payment-paid-total').html(paidTotal.toFixed(2));
|
||||
this.$('#payment-remaining').html(remaining.toFixed(2));
|
||||
this.$('#payment-change').html(change.toFixed(2));
|
||||
if((currentOrder.selected_orderline == undefined))
|
||||
remaining = 1
|
||||
|
||||
if(this.pos_widget.action_bar){
|
||||
this.pos_widget.action_bar.set_button_disabled('validation', remaining > 0);
|
||||
}
|
||||
|
||||
@@ -541,6 +541,7 @@
|
||||
|
||||
<t t-name="PosTicket">
|
||||
<div class="pos-sale-ticket">
|
||||
|
||||
<div class="pos-right-align"><t t-esc="new Date().toString(Date.CultureInfo.formatPatterns.shortDate + ' ' +
|
||||
Date.CultureInfo.formatPatterns.longTime)"/></div>
|
||||
<br />
|
||||
@@ -553,12 +554,22 @@
|
||||
<tr t-foreach="widget.currentOrderLines.toArray()" t-as="order">
|
||||
<td>
|
||||
<t t-esc="order.get_product().get('name')"/>
|
||||
<t t-if="order.get_discount() > 0">
|
||||
<li>
|
||||
<t t-esc="order.get_discount()"/>% discount
|
||||
</li>
|
||||
</t>
|
||||
</td>
|
||||
<td class="pos-right-align">
|
||||
<t t-esc="order.get_quantity().toFixed(0)"/>
|
||||
</td>
|
||||
<td class="pos-right-align">
|
||||
<t t-esc="widget.format_currency(order.get_list_price() * (1 - order.get_discount()/100) * order.get_quantity().toFixed(2))"/>
|
||||
<t t-esc="widget.format_currency(order.get_list_price() * order.get_quantity().toFixed(2))"/>
|
||||
<t t-if="order.get_discount() > 0">
|
||||
<li class="pos-right-align">
|
||||
-<t t-esc="widget.format_currency(order.get_list_price() * (order.get_discount()/100) * order.get_quantity().toFixed(2))"/>
|
||||
</li>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user