diff options
19 files changed, 28 insertions, 1250 deletions
diff --git a/addons/point_of_sale/__openerp__.py b/addons/point_of_sale/__openerp__.py index 13800334325..9a84760bb68 100644 --- a/addons/point_of_sale/__openerp__.py +++ b/addons/point_of_sale/__openerp__.py @@ -34,7 +34,6 @@ Main Features 'security/ir.model.access.csv', 'data/default_barcode_patterns.xml', 'wizard/pos_box.xml', - 'wizard/pos_details.xml', 'wizard/pos_discount.xml', 'wizard/pos_open_statement.xml', 'wizard/pos_payment.xml', @@ -59,10 +58,6 @@ Main Features 'views/res_config_view.xml', 'views/report_statement.xml', 'views/report_usersproduct.xml', - 'views/report_saleslines.xml', - 'views/report_detailsofsales.xml', - 'views/report_payment.xml', - 'views/report_sessionsummary.xml', 'views/report_userlabel.xml', 'views/point_of_sale.xml', 'views/point_of_sale_dashboard.xml', @@ -76,7 +71,6 @@ Main Features 'test/00_register_open.yml', 'test/01_order_to_payment.yml', 'test/02_order_to_invoice.yml', - 'test/point_of_sale_report.yml', 'test/account_statement_reports.yml', ], 'installable': True, diff --git a/addons/point_of_sale/report/__init__.py b/addons/point_of_sale/report/__init__.py index 093cf63f789..3de0210b9f0 100644 --- a/addons/point_of_sale/report/__init__.py +++ b/addons/point_of_sale/report/__init__.py @@ -1,12 +1,8 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import pos_users_product import account_statement -import pos_receipt import pos_invoice -import pos_lines -import pos_details -import pos_payment_report -import pos_report import pos_order_report +import pos_receipt +import pos_users_product diff --git a/addons/point_of_sale/report/pos_details.py b/addons/point_of_sale/report/pos_details.py deleted file mode 100644 index 4625ddbd766..00000000000 --- a/addons/point_of_sale/report/pos_details.py +++ /dev/null @@ -1,181 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -import time -from openerp.osv import osv -from openerp.report import report_sxw - - -class pos_details(report_sxw.rml_parse): - - def _get_invoice(self, inv_id): - res={} - if inv_id: - self.cr.execute("select number from account_invoice as ac where id = %s", (inv_id,)) - res = self.cr.fetchone() - return res[0] or 'Draft' - else: - return '' - - def _get_all_users(self): - user_obj = self.pool.get('res.users') - return user_obj.search(self.cr, self.uid, []) - - def _pos_sales_details(self, form): - pos_obj = self.pool.get('pos.order') - user_obj = self.pool.get('res.users') - data = [] - result = {} - 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),('state','in',['done','paid','invoiced']),('company_id','=',company_id)]) - for pos in pos_obj.browse(self.cr, self.uid, pos_ids, context=self.localcontext): - for pol in pos.lines: - result = { - 'code': pol.product_id.default_code, - 'name': pol.product_id.name, - 'invoice_id': pos.invoice_id.id, - 'price_unit': pol.price_unit, - 'qty': pol.qty, - 'discount': pol.discount, - 'total': (pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0)), - 'date_order': pos.date_order, - 'pos_name': pos.name, - 'uom': pol.product_id.uom_id.name - } - data.append(result) - self.total += result['total'] - self.qty += result['qty'] - self.discount += result['discount'] - if data: - return data - else: - return {} - - def _get_qty_total_2(self): - return self.qty - - def _get_sales_total_2(self): - return self.total - - def _get_sum_invoice_2(self, form): - 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),('invoice_id','<>',False)]) - for pos in pos_obj.browse(self.cr, self.uid, pos_ids): - for pol in pos.lines: - self.total_invoiced += (pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0)) - return self.total_invoiced or False - - def _paid_total_2(self): - return self.total or 0.0 - - def _get_sum_dis_2(self): - return self.discount or 0.0 - - def _get_sum_discount(self, form): - #code for the sum of discount value - 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") - pos_order_obj = self.pool.get("pos.order") - user_ids = form['user_ids'] or self._get_all_users() - company_id = self.pool['res.users'].browse(self.cr, self.uid, self.uid).company_id.id - pos_ids = pos_order_obj.search(self.cr, self.uid, [('date_order','>=',form['date_start'] + ' 00:00:00'),('date_order','<=',form['date_end'] + ' 23:59:59'),('state','in',['paid','invoiced','done']),('user_id','in',user_ids), ('company_id', '=', company_id)]) - data={} - if pos_ids: - st_line_ids = statement_line_obj.search(self.cr, self.uid, [('pos_statement_id', 'in', pos_ids)]) - if st_line_ids: - st_id = statement_line_obj.browse(self.cr, self.uid, st_line_ids) - a_l=[] - for r in st_id: - a_l.append(r['id']) - self.cr.execute("select aj.name,sum(amount) from account_bank_statement_line as absl,account_bank_statement as abs,account_journal as aj " \ - "where absl.statement_id = abs.id and abs.journal_id = aj.id and absl.id IN %s " \ - "group by aj.name ",(tuple(a_l),)) - - data = self.cr.dictfetchall() - return data - else: - return {} - - def _total_of_the_day(self, objects): - return self.total or 0.00 - - def _sum_invoice(self, objects): - return reduce(lambda acc, obj: - acc + obj.invoice_id.amount_total, - [o for o in objects if o.invoice_id and o.invoice_id.number], - 0.0) - - def _ellipsis(self, orig_str, maxlen=100, ellipsis='...'): - maxlen = maxlen - len(ellipsis) - if maxlen <= 0: - maxlen = 1 - new_str = orig_str[:maxlen] - return new_str - - def _strip_name(self, name, maxlen=50): - return self._ellipsis(name, maxlen, ' ...') - - def _get_tax_amount(self, form): - taxes = {} - account_tax_obj = self.pool.get('account.tax') - user_ids = form['user_ids'] or self._get_all_users() - pos_order_obj = self.pool.get('pos.order') - company_id = self.pool['res.users'].browse(self.cr, self.uid, self.uid).company_id.id - pos_ids = pos_order_obj.search(self.cr, self.uid, [('date_order','>=',form['date_start'] + ' 00:00:00'),('date_order','<=',form['date_end'] + ' 23:59:59'),('state','in',['paid','invoiced','done']),('user_id','in',user_ids), ('company_id', '=', company_id)]) - for order in pos_order_obj.browse(self.cr, self.uid, pos_ids): - currency = order.session_id.currency_id - for line in order.lines: - if line.product_id.taxes_id: - line_taxes = line.product_id.taxes_id.compute_all(line.price_unit * (1-(line.discount or 0.0)/100.0), currency, line.qty, product=line.product_id, partner=line.order_id.partner_id or False) - for tax in line_taxes['taxes']: - taxes.setdefault(tax['id'], {'name': tax['name'], 'amount':0.0}) - taxes[tax['id']]['amount'] += tax['amount'] - return taxes.values() - - def _get_user_names(self, user_ids): - user_obj = self.pool.get('res.users') - return ', '.join(map(lambda x: x.name, user_obj.browse(self.cr, self.uid, user_ids))) - - def __init__(self, cr, uid, name, context): - super(pos_details, self).__init__(cr, uid, name, context=context) - self.total = 0.0 - 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_discount, - 'gettotaloftheday': self._total_of_the_day, - 'gettaxamount': self._get_tax_amount, - 'pos_sales_details':self._pos_sales_details, - 'getqtytotal2': self._get_qty_total_2, - 'getsalestotal2': self._get_sales_total_2, - 'getsuminvoice2':self._get_sum_invoice_2, - 'getpaidtotal2': self._paid_total_2, - 'getinvoice':self._get_invoice, - 'get_user_names': self._get_user_names, - }) - - -class report_pos_details(osv.AbstractModel): - _name = 'report.point_of_sale.report_detailsofsales' - _inherit = 'report.abstract_report' - _template = 'point_of_sale.report_detailsofsales' - _wrapped_report_class = pos_details diff --git a/addons/point_of_sale/report/pos_lines.py b/addons/point_of_sale/report/pos_lines.py deleted file mode 100644 index 6f74cf40ab6..00000000000 --- a/addons/point_of_sale/report/pos_lines.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -import time -from openerp.osv import osv -from openerp.report import report_sxw - - -class pos_lines(report_sxw.rml_parse): - - def __init__(self, cr, uid, name, context): - super(pos_lines, self).__init__(cr, uid, name, context=context) - self.total = 0.0 - self.localcontext.update({ - 'time': time, - 'total_quantity': self.__total_quantity__, - 'taxes':self.__taxes__, - - }) - - def __total_quantity__(self, obj): - tot = 0 - for line in obj.lines: - tot += line.qty - self.total = tot - return self.total - - def __taxes__(self, obj): - self.cr.execute ( " Select acct.name from pos_order as po " \ - " LEFT JOIN pos_order_line as pol ON po.id = pol.order_id " \ - " LEFT JOIN product_product as pp ON pol.product_id = pp.id" - " LEFT JOIN product_taxes_rel as ptr ON pp.product_tmpl_id = ptr.prod_id " \ - " LEFT JOIN account_tax as acct ON acct.id = ptr.tax_id " \ - " WHERE pol.id = %s", (obj.id,)) - res=self.cr.fetchone()[0] - return res - - -class report_pos_lines(osv.AbstractModel): - _name = 'report.point_of_sale.report_saleslines' - _inherit = 'report.abstract_report' - _template = 'point_of_sale.report_saleslines' - _wrapped_report_class = pos_lines diff --git a/addons/point_of_sale/report/pos_order_report.py b/addons/point_of_sale/report/pos_order_report.py index 7adc4f8528b..7d528f8649d 100644 --- a/addons/point_of_sale/report/pos_order_report.py +++ b/addons/point_of_sale/report/pos_order_report.py @@ -33,6 +33,7 @@ class pos_order_report(osv.osv): 'pos_categ_id': fields.many2one('pos.category','Public Category', readonly=True), 'stock_location_id': fields.many2one('stock.location', 'Warehouse', readonly=True), 'pricelist_id': fields.many2one('product.pricelist', 'Pricelist', readonly=True), + 'session_id;: fields.many2one('pos.session', string='Session', readonly=True), } _order = 'date desc' @@ -63,6 +64,7 @@ class pos_order_report(osv.osv): pt.pos_categ_id, pc.stock_location_id, s.pricelist_id, + s.session_id, s.invoice_id IS NOT NULL AS invoiced from pos_order_line as l left join pos_order s on (s.id=l.order_id) @@ -73,6 +75,14 @@ class pos_order_report(osv.osv): left join pos_config pc on (ps.config_id=pc.id) group by s.date_order, s.partner_id,s.state, pt.categ_id, - s.user_id,s.location_id,s.company_id,s.sale_journal,s.pricelist_id,s.invoice_id,l.product_id,s.create_date,pt.categ_id,pt.pos_categ_id,p.product_tmpl_id,ps.config_id,pc.stock_location_id - having - sum(l.qty * u.factor) != 0)""") + s.user_id, s.location_id, s.company_id, s.sale_journal, + s.pricelist_id, s.invoice_id, s.create_date, s.session_id, + l.product_id, + pt.categ_id, pt.pos_categ_id, + p.product_tmpl_id, + ps.config_id, + pc.stock_location_id + HAVING + SUM(l.qty * u.factor) != 0 + ) + """) diff --git a/addons/point_of_sale/report/pos_payment_report.py b/addons/point_of_sale/report/pos_payment_report.py deleted file mode 100644 index e34e50e69bd..00000000000 --- a/addons/point_of_sale/report/pos_payment_report.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -import time -from openerp.osv import osv -from openerp.report import report_sxw - - -class pos_payment_report(report_sxw.rml_parse): - - def __init__(self, cr, uid, name, context): - super(pos_payment_report, self).__init__(cr, uid, name, context=context) - self.total = 0.0 - self.localcontext.update({ - 'time': time, - 'pos_payment': self._pos_payment, - 'pos_payment_total':self._pos_payment_total, - }) - - def _pos_payment(self, obj): - self.total = 0 - data={} - sql = """ select id from pos_order where id = %d"""%(obj.id) - self.cr.execute(sql) - if self.cr.fetchone(): - self.cr.execute ("select pt.name,pp.default_code as code,pol.qty,pu.name as uom,pol.discount,pol.price_unit, " \ - "(pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0)) as total " \ - "from pos_order as po,pos_order_line as pol,product_product as pp,product_template as pt, product_uom as pu " \ - "where pt.id=pp.product_tmpl_id and pp.id=pol.product_id and po.id = pol.order_id and pu.id=pt.uom_id " \ - "and po.state IN ('paid','invoiced') and to_char(date_trunc('day',po.date_order),'YYYY-MM-DD')::date = current_date and po.id=%d"%(obj.id)) - data=self.cr.dictfetchall() - else: - self.cr.execute ("select pt.name,pp.default_code as code,pol.qty,pu.name as uom,pol.discount,pol.price_unit, " \ - "(pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0)) as total " \ - "from pos_order as po,pos_order_line as pol,product_product as pp,product_template as pt, product_uom as pu " \ - "where pt.id=pp.product_tmpl_id and pp.id=pol.product_id and po.id = pol.order_id and pu.id=pt.uom_id " \ - "and po.state IN ('paid','invoiced') and to_char(date_trunc('day',po.date_order),'YYYY-MM-DD')::date = current_date") - data=self.cr.dictfetchall() - - for d in data: - self.total += d['price_unit'] * d['qty'] - return data - - def _pos_payment_total(self, o): - return self.total - - -class report_pos_payment(osv.AbstractModel): - _name = 'report.point_of_sale.report_payment' - _inherit = 'report.abstract_report' - _template = 'point_of_sale.report_payment' - _wrapped_report_class = pos_payment_report diff --git a/addons/point_of_sale/report/pos_report.py b/addons/point_of_sale/report/pos_report.py deleted file mode 100644 index 826e6134429..00000000000 --- a/addons/point_of_sale/report/pos_report.py +++ /dev/null @@ -1,121 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from openerp.osv import fields, osv -from openerp import tools - -class report_transaction_pos(osv.osv): - _name = "report.transaction.pos" - _description = "transaction for the pos" - _auto = False - _columns = { - 'date_create': fields.char('Date', size=16, readonly=True), - 'journal_id': fields.many2one('account.journal', 'Sales Journal', readonly=True), - 'jl_id': fields.many2one('account.journal', 'Cash Journals', readonly=True), - 'user_id': fields.many2one('res.users', 'User', readonly=True), - 'no_trans': fields.float('Number of Transaction', readonly=True), - 'amount': fields.float('Amount', readonly=True), - 'invoice_id': fields.float('Nbr Invoice', readonly=True), - 'invoice_am': fields.float('Invoice Amount', readonly=True), - 'product_nb': fields.float('Product Nb.', readonly=True), - 'disc': fields.float('Disc.', readonly=True), - } - - def init(self, cr): - tools.drop_view_if_exists(cr, 'report_transaction_pos') - cr.execute(""" - create or replace view report_transaction_pos as ( - select - min(absl.id) as id, - count(absl.id) as no_trans, - sum(absl.amount) as amount, - sum((100.0-line.discount) * line.price_unit * line.qty / 100.0) as disc, - to_char(date_trunc('day',absl.create_date),'YYYY-MM-DD')::text as date_create, - po.user_id as user_id, - po.sale_journal as journal_id, - abs.journal_id as jl_id, - count(po.invoice_id) as invoice_id, - count(p.id) as product_nb - from - account_bank_statement_line as absl, - account_bank_statement as abs, - product_product as p, - pos_order_line as line, - pos_order as po - where - absl.pos_statement_id = po.id and - line.order_id=po.id and - line.product_id=p.id and - absl.statement_id=abs.id - - group by - po.user_id,po.sale_journal, abs.journal_id, - to_char(date_trunc('day',absl.create_date),'YYYY-MM-DD')::text - ) - """) - #to_char(date_trunc('day',absl.create_date),'YYYY-MM-DD') - #to_char(date_trunc('day',absl.create_date),'YYYY-MM-DD')::text as date_create, - -class report_sales_by_user_pos(osv.osv): - _name = "report.sales.by.user.pos" - _description = "Sales by user" - _auto = False - _columns = { - 'date_order': fields.date('Order Date',required=True, select=True), - 'amount': fields.float('Total', readonly=True, select=True), - 'qty': fields.float('Quantity', readonly=True, select=True), - 'user_id': fields.many2one('res.users', 'User', readonly=True, select=True), - } - - def init(self, cr): - tools.drop_view_if_exists(cr, 'report_sales_by_user_pos') - cr.execute(""" - create or replace view report_sales_by_user_pos as ( - select - min(po.id) as id, - to_char(date_trunc('day',po.date_order),'YYYY-MM-DD')::text as date_order, - po.user_id as user_id, - sum(pol.qty)as qty, - sum((pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0))) as amount - from - pos_order as po,pos_order_line as pol,product_product as pp,product_template as pt - where - pt.id=pp.product_tmpl_id and pp.id=pol.product_id and po.id = pol.order_id - group by - to_char(date_trunc('day',po.date_order),'YYYY-MM-DD')::text, - po.user_id - - ) - """) - -class report_sales_by_user_pos_month(osv.osv): - _name = "report.sales.by.user.pos.month" - _description = "Sales by user monthly" - _auto = False - _columns = { - 'date_order': fields.date('Order Date',required=True, select=True), - 'amount': fields.float('Total', readonly=True, select=True), - 'qty': fields.float('Quantity', readonly=True, select=True), - 'user_id': fields.many2one('res.users', 'User', readonly=True, select=True), - } - - def init(self, cr): - tools.drop_view_if_exists(cr, 'report_sales_by_user_pos_month') - cr.execute(""" - create or replace view report_sales_by_user_pos_month as ( - select - min(po.id) as id, - to_char(date_trunc('month',po.date_order),'YYYY-MM-DD')::text as date_order, - po.user_id as user_id, - sum(pol.qty)as qty, - sum((pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0))) as amount - from - pos_order as po,pos_order_line as pol,product_product as pp,product_template as pt - where - pt.id=pp.product_tmpl_id and pp.id=pol.product_id and po.id = pol.order_id - group by - to_char(date_trunc('month',po.date_order),'YYYY-MM-DD')::text, - po.user_id - - ) - """) diff --git a/addons/point_of_sale/security/ir.model.access.csv b/addons/point_of_sale/security/ir.model.access.csv index 2e167277dbc..17b4f584f45 100644 --- a/addons/point_of_sale/security/ir.model.access.csv +++ b/addons/point_of_sale/security/ir.model.access.csv @@ -1,13 +1,10 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_pos_order,pos.order,model_pos_order,group_pos_user,1,1,1,1
access_pos_order_line,pos.order.line,model_pos_order_line,group_pos_user,1,1,1,1
-access_report_transaction_pos,report.transaction.pos,model_report_transaction_pos,group_pos_manager,1,1,1,1
access_stock_picking_pos_user,stock.picking pos_user,stock.model_stock_picking,group_pos_user,1,1,1,1
access_stock_warehouse_pos_user,stock.warehouse pos_user,stock.model_stock_warehouse,group_pos_user,1,0,0,0
access_pos_order_stock_worker,pos.order stock_worker,model_pos_order,stock.group_stock_user,1,0,0,0
access_stock_move_pos_user,stock.move pos_user,stock.model_stock_move,group_pos_user,1,1,1,1
-access_report_sales_by_user_pos,report.sales.by.user.pos,model_report_sales_by_user_pos,group_pos_user,1,0,0,0
-access_report_sales_by_user_pos_month,report.sales.by.user.pos.month,model_report_sales_by_user_pos_month,group_pos_user,1,0,0,0
access_report_pos_order,report.pos.order,model_report_pos_order,group_pos_user,1,1,1,1
access_account_journal_pos_user,account.journal pos_user,account.model_account_journal,group_pos_user,1,0,0,0
access_account_payment_method_pos_user,account.payment.method pos_user,account.model_account_payment_method,group_pos_manager,1,0,0,0
diff --git a/addons/point_of_sale/test/point_of_sale_report.yml b/addons/point_of_sale/test/point_of_sale_report.yml deleted file mode 100644 index c039eab4c3d..00000000000 --- a/addons/point_of_sale/test/point_of_sale_report.yml +++ /dev/null @@ -1,43 +0,0 @@ -- - In order to test the PDF reports defined on a Point Of Sale, we will print a POS Invoice Report -- - !python {model: pos.order}: | - import os - import openerp.report - from openerp import tools - data, format = openerp.report.render_report(cr, uid, [ref('pos_order_pos1')], 'point_of_sale.report_invoice', {}, {}) - if tools.config['test_report_directory']: - file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-invoice_report.'+format), 'wb+').write(data) - -- - In order to test the PDF reports defined on a Point Of Sale, we will print a POS Lines Report -- - !python {model: pos.order}: | - import os - import openerp.report - from openerp import tools - data, format = openerp.report.render_report(cr, uid, [ref('pos_order_pos1')], 'point_of_sale.report_saleslines', {}, {}) - if tools.config['test_report_directory']: - file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-lines_report.'+format), 'wb+').write(data) - -- - Print the POS Details Report through the wizard -- - !python {model: ir.ui.menu}: | - import time - ctx={} - ctx.update({'model': 'ir.ui.menu','active_ids': []}) - data_dict = {'date_start': time.strftime('%Y-%m-%d'), 'date_end': time.strftime('%Y-%m-%d'), 'user_ids': [(6,0,[ref('base.user_root')])]} - from openerp.tools import test_reports - test_reports.try_report_action(cr, uid, 'action_report_pos_details',wiz_data=data_dict, context=ctx, our_module='point_of_sale') - -- - In order to test the PDF reports defined on a Point of Sale, we will print a POS Payment Report -- - !python {model: pos.order}: | - import os, time - import openerp.report - from openerp import tools - data, format = openerp.report.render_report(cr, uid, [ref('pos_order_pos0')], 'point_of_sale.report_payment', {}, {}) - if tools.config['test_report_directory']: - file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-payment_report.'+format), 'wb+').write(data) diff --git a/addons/point_of_sale/views/point_of_sale_report.xml b/addons/point_of_sale/views/point_of_sale_report.xml index 9eee8f2c065..7d68e896f41 100644 --- a/addons/point_of_sale/views/point_of_sale_report.xml +++ b/addons/point_of_sale/views/point_of_sale_report.xml @@ -10,269 +10,15 @@ file="point_of_sale.report_userlabel" /> - <report - id="pos_invoice_report" - string="Invoice" - model="pos.order" - report_type="qweb-pdf" - name="point_of_sale.report_invoice" - file="point_of_sale.report_invoice" - /> - - <report - id="pos_lines_report" - string="Sales Lines" - model="pos.order" - report_type="qweb-pdf" - name="point_of_sale.report_saleslines" - file="point_of_sale.report_saleslines" - auto="False" - /> - - <report - id="pos_lines_detail" - string="Details of Sales" - model="pos.order" - report_type="qweb-pdf" - name="point_of_sale.report_detailsofsales" - file="point_of_sale.report_detailsofsales" - menu="False" - /> - - <report - id="pos_payment_report" - string="Today's Payment" - model="pos.order" - report_type="qweb-pdf" - name="point_of_sale.report_payment" - file="point_of_sale.report_payment" - /> - - <report - id="action_report_pos_session_summary" - string="Session Summary" - model="pos.session" - report_type="qweb-pdf" - name="point_of_sale.report_sessionsummary" - file="point_of_sale.report_sessionsummary" - /> - - <!-- report --> - - <record model="ir.ui.view" id="view_pos_trans_user_form"> - <field name="name">report.trans.pos.user.form</field> - <field name="model">report.transaction.pos</field> - <field name="arch" type="xml"> - <form string="POS "> - <group col="4"> - <field name="user_id"/> - <field name="journal_id"/> - <field name="jl_id"/> - <field name="date_create" widget="date"/> - <field name="no_trans"/> - <field name="amount"/> - <field name="invoice_id"/> - </group> - </form> - </field> - </record> - - - <record model="ir.ui.view" id="view_trans_pos_user_tree"> - <field name="name">Sales by user</field> - <field name="model">report.transaction.pos</field> - <field name="arch" type="xml"> - <tree string="POS"> - <field name="date_create" widget="date" /> - <field name="user_id"/> - <field name="journal_id"/> - <field name="jl_id"/> - <field name="no_trans" sum="Total Transaction"/> - <field name="amount" sum="Amount total"/> - <field name="product_nb" /> - <field name="invoice_id"/> - <field name="disc"/> - </tree> - </field> - </record> - - <record model="ir.ui.view" id="view_report_transaction_pos_calendar"> - <field name="name">report.transaction.pos.calendar</field> - <field name="model">report.transaction.pos</field> - <field eval="2" name="priority"/> - <field name="arch" type="xml"> - <calendar color="user_id" date_start="date_create" string="POS Report"> - <field name="journal_id"/> - <field name="amount"/> - </calendar> - </field> - </record> - - <record model="ir.ui.view" id="view_report_transaction_pos_graph"> - <field name="name">report.transaction.pos.graph</field> - <field name="model">report.transaction.pos</field> - <field eval="2" name="priority"/> - <field name="arch" type="xml"> - <graph type="bar" string="POS Report"> - <field name="user_id" /> - <field name="amount"/> - <field group="True" name="journal_id"/> - </graph> - </field> - </record> - - <record model="ir.actions.act_window" id="action_trans_pos_tree_today"> - <field name="name">Sales by day</field> - <field name="res_model">report.transaction.pos</field> - <field name="view_type">form</field> - <field name="view_mode">tree,calendar,form,graph</field> - <field name="domain">[('date_create','=',time.strftime('%Y-%m-%d'))]</field> + <!-- used from POS UI, no need to be in print menu --> + <record id="pos_invoice_report" model="ir.actions.report.xml"> + <field name="name">Invoice</field> + <field name="model">pos.order</field> + <field name="report_type">qweb-pdf</field> + <field name="report_name">point_of_sale.report_invoice</field> </record> - <record model="ir.actions.act_window" id="action_trans_pos_tree_month"> - <field name="name">Sales by month</field> - <field name="res_model">report.transaction.pos</field> - <field name="view_type">form</field> - <field name="view_mode">tree,calendar,form,graph</field> - <field name="domain">[('date_create','like',time.strftime('%Y-%m'))]</field> - </record> - - - <record model="ir.actions.act_window" id="action_trans_pos_tree"> - <field name="name">Sales by user</field> - <field name="res_model">report.transaction.pos</field> - <field name="view_type">form</field> - <field name="view_mode">tree,calendar,form,graph</field> - <field name="view_id" ref="view_trans_pos_user_tree"/> - </record> - - - <record model="ir.ui.view" id="view_report_sales_by_user_pos_form"> - <field name="name">report.sales.by.user.pos.form</field> - <field name="model">report.sales.by.user.pos</field> - <field name="arch" type="xml"> - <form string="POS "> - <group col="4"> - <field name="date_order" widget="date"/> - <field name="qty"/> - <field name="amount"/> - <field name="user_id"/> - </group> - </form> - </field> - </record> - - - <record model="ir.ui.view" id="view_report_sales_by_user_pos_tree"> - <field name="name">report.sales.by.user.pos.tree</field> - <field name="model">report.sales.by.user.pos</field> - <field name="arch" type="xml"> - <tree string="POS"> - <field name="date_order" widget="date"/> - <field name="qty"/> - <field name="amount"/> - <field name="user_id"/> - </tree> - </field> - </record> - - <record model="ir.ui.view" id="view_report_sales_by_user_pos_calendar"> - <field name="name">report.sales.by.user.pos.calendar</field> - <field name="model">report.sales.by.user.pos</field> - <field eval="2" name="priority"/> - <field name="arch" type="xml"> - <calendar color="user_id" date_start="date_order" string="POS Report"> - <field name="qty"/> - <field name="amount" /> - </calendar> - </field> - </record> - - <record model="ir.ui.view" id="view_report_sales_by_user_pos_graph"> - <field name="name">report.sales.by.user.pos.graph</field> - <field name="model">report.sales.by.user.pos</field> - <field eval="2" name="priority"/> - <field name="arch" type="xml"> - <graph type="bar" string="Sales by User"> - <field name="user_id" /> - <field name="amount"/> - </graph> - </field> - </record> - - <record model="ir.actions.act_window" id="action_report_sales_by_user_pos_today"> - <field name="name">Sales by User</field> - <field name="res_model">report.sales.by.user.pos</field> - <field name="view_type">form</field> - <field name="view_mode">tree,calendar,form,graph</field> - <field name="domain">[('date_order','=',time.strftime('%Y-%m-%d'))]</field> - </record> - - - <!-- Sales of user by month --> - - <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_form"> - <field name="name">report.sales.by.user.pos.month.form</field> - <field name="model">report.sales.by.user.pos.month</field> - <field name="arch" type="xml"> - <form string="POS "> - <group col="4"> - <field name="date_order" widget="date"/> - <field name="qty"/> - <field name="amount"/> - <field name="user_id"/> - </group> - </form> - </field> - </record> - - - <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_tree"> - <field name="name">report.sales.by.user.pos.month.tree</field> - <field name="model">report.sales.by.user.pos.month</field> - <field name="arch" type="xml"> - <tree string="POS"> - <field name="date_order" widget="date"/> - <field name="qty"/> - <field name="amount"/> - <field name="user_id"/> - </tree> - </field> - </record> - - <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_calendar"> - <field name="name">report.sales.by.user.pos.month.calendar</field> - <field name="model">report.sales.by.user.pos.month</field> - <field eval="2" name="priority"/> - <field name="arch" type="xml"> - <calendar color="user_id" date_start="date_order" string="POS Report"> - <field name="qty"/> - <field name="amount" /> - </calendar> - </field> - </record> - - <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_graph"> - <field name="name">report.sales.by.user.pos.month.graph</field> - <field name="model">report.sales.by.user.pos.month</field> - <field eval="2" name="priority"/> - <field name="arch" type="xml"> - <graph type="bar" string="Sales by User"> - <field name="user_id" /> - <field name="amount"/> - </graph> - </field> - </record> - - - <record model="ir.actions.act_window" id="action_report_sales_by_user_pos_month"> - <field name="name">Sales by User Monthly</field> - <field name="res_model">report.sales.by.user.pos.month</field> - <field name="view_type">form</field> - <field name="view_mode">tree,calendar,form,graph</field> - <field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field> - </record> </data> </openerp> diff --git a/addons/point_of_sale/views/pos_order_report_view.xml b/addons/point_of_sale/views/pos_order_report_view.xml index 56eb552b557..7351a30926b 100644 --- a/addons/point_of_sale/views/pos_order_report_view.xml +++ b/addons/point_of_sale/views/pos_order_report_view.xml @@ -53,6 +53,13 @@ </field> </record> + <record id="filter_orders_per_session" model="ir.filters"> + <field name="name">Per session</field> + <field name="model_id">report.pos.order</field> + <field name="user_id" eval="False"/> + <field name="context">{'group_by': ['date', 'session_id'], 'measures': ['price_total']}</field> + </record> + <record id="action_report_pos_order_all" model="ir.actions.act_window"> <field name="name">Orders Analysis</field> <field name="res_model">report.pos.order</field> diff --git a/addons/point_of_sale/views/pos_order_view.xml b/addons/point_of_sale/views/pos_order_view.xml index b3fe63c1185..79c31b00706 100644 --- a/addons/point_of_sale/views/pos_order_view.xml +++ b/addons/point_of_sale/views/pos_order_view.xml @@ -242,9 +242,6 @@ <field name="view_id" ref="view_pos_order_tree_all_sales_lines" /> </record> - <menuitem action="action_report_pos_details" - id="menu_pos_details" parent="menu_point_rep" sequence="6" /> - <record id="view_pos_order_filter" model="ir.ui.view"> <field name="name">pos.order.list.select</field> <field name="model">pos.order</field> diff --git a/addons/point_of_sale/views/report_detailsofsales.xml b/addons/point_of_sale/views/report_detailsofsales.xml deleted file mode 100644 index 648d40969f9..00000000000 --- a/addons/point_of_sale/views/report_detailsofsales.xml +++ /dev/null @@ -1,140 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<openerp> -<data> -<template id="report_detailsofsales"> - <t t-call="report.html_container"> - <t t-call="report.internal_layout"> - <div class="page"> - <h2>Details of Sales</h2> - - <div class="row mt32"> - <div class="col-xs-3"> - <strong>Company</strong>:<br/> - <span t-esc="res_company.name"/> - </div> - <div class="col-xs-3"> - <strong>Users</strong>:<br/> - <span t-esc="get_user_names(data['form']['user_ids']) or 'All'"/> - </div> - <div class="col-xs-3"> - <strong>Print Date</strong>:<br/> - <span t-esc="formatLang(time.strftime('%Y-%m-%d'),date=True)"/> - </div> - </div> - <div class="row mb32"> - <div class="col-xs-3"> - <strong>Start Period</strong>:<br/> - <span t-esc="formatLang(data['form']['date_start'],date=True)"/> - </div> - <div class="col-xs-3"> - <strong>End Period</strong>:<br/> - <span t-esc="formatLang(data['form']['date_end'],date=True)"/> - </div> - </div> - - <table class="table table-condensed"> - <thead> - <th><strong>Date</strong></th> - <th><strong>Order</strong></th> - <th><strong>Product</strong></th> - <th class="text-right"><strong>Price</strong></th> - <th class="text-center"><strong>Qty</strong></th> - <th class="text-center"><strong>Disc(%)</strong></th> - <th class="text-center"><strong>Invoiced</strong></th> - </thead> - <tbody> - <tr t-foreach="pos_sales_details(data['form'])" t-as="line_ids"> - <td> - <span t-esc="formatLang(line_ids['date_order'], date_time=True)"/> - </td> - <td> - <span t-esc="line_ids['pos_name']"/> - </td> - <td> - [<t t-if="line_ids['code']"> - <span t-esc="line_ids['code']"/> - </t>] - <span t-esc="line_ids['name']"/> - </td> - <td class="text-right"> - <span t-esc="formatLang(line_ids['price_unit'], dp='Sale Price', currency_obj=res_company.currency_id)"/> - </td> - <td class="text-center"> - <span t-esc="formatLang(line_ids['qty'])"/> - <span t-esc="line_ids['uom']"/> - </td> - <td class="text-center"> - <span t-esc="formatLang(line_ids['discount'], dp='Sale Price')"/> - </td> - <td class="text-center"> - <t t-if="line_ids['invoice_id']"> - <span t-esc="getinvoice(line_ids['invoice_id'])"/> - </t> - </td> - </tr> - </tbody> - </table> - - <table class="table table-condensed"> - <tr t-if="gettaxamount(data['form'])"><td colspan="2"><strong>Taxes</strong></td></tr> - <tr t-foreach="gettaxamount(data['form'])" t-as="tax"> - <td><span t-esc="tax['name']"/></td> - <td class="text-right"> - <strong t-esc="formatLang(tax['amount'], currency_obj = res_company.currency_id)"/> - </td> - </tr> - <tr> - <td colspan="2"><strong>Payment</strong></td> - </tr> - <tr t-foreach="getpayments(data['form'])" t-as="payment"> - <td><span t-esc="payment['name']"/></td> - <td class="text-right"> - <strong t-esc="formatLang(payment['sum'], dp='Account', currency_obj=res_company.currency_id)"/> - </td> - </tr> - <tr> - <td colspan="2"><strong>Summary</strong></td> - </tr> - <tr> - <td><strong>Sales total(Revenue)</strong></td> - <td class="text-right"> - <strong t-esc="formatLang(getsalestotal2(), dp='Sale Price', currency_obj=res_company.currency_id)"/> - </td> - </tr> - <tr> - <td><strong>Qty of product</strong></td> - <td class="text-right"> - <strong t-esc="formatLang(getqtytotal2())"/> - </td> - </tr> - <tr> - <td><strong>Total invoiced</strong></td> - <td class="text-right"> - <strong t-esc="formatLang(getsuminvoice2(data['form']), dp='Sale Price', currency_obj=res_company.currency_id)"/> - </td> - </tr> - <tr> - <td><strong>Total discount</strong></td> - <td class="text-right"> - <strong t-esc="formatLang(getsumdisc(data['form']), dp='Sale Price', currency_obj=res_company.currency_id)"/> - </td> - </tr> - <tr> - <td><strong>Total paid</strong></td> - <td class="text-right"> - <strong t-esc="formatLang(getpaidtotal2(), dp='Sale Price', currency_obj=res_company.currency_id)"/> - </td> - </tr> - <tr> - <td><strong>Total of the day</strong></td> - <td class="text-right"> - <strong t-esc="formatLang(gettotaloftheday(data['form']), dp='Sale Price', currency_obj = res_company.currency_id)"/> - </td> - </tr> - </table> - </div> - </t> - </t> -</template> -</data> -</openerp> diff --git a/addons/point_of_sale/views/report_payment.xml b/addons/point_of_sale/views/report_payment.xml deleted file mode 100644 index 939391ca532..00000000000 --- a/addons/point_of_sale/views/report_payment.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<openerp> -<data> -<template id="report_payment"> - <t t-call="report.html_container"> - <t t-foreach="docs" t-as="o"> - <t t-call="report.internal_layout"> - <div class="page"> - <h2>Today's Payments</h2> - <div class="row mt32 mb32"> - <div class="col-xs-3"> - <strong>Company</strong>: - <br/> - <span t-field="res_company.name"/> - </div> - <div class="col-xs-3"> - <strong>Print date</strong>: - <br/> - <t t-esc="formatLang(time.strftime('%Y-%m-%d'), date='True')"/> - </div> - </div> - <t t-set="pos_payment" t-value="pos_payment(o)"/> - <table class="table table-condensed" t-if="pos_payment"> - <thead> - <tr> - <td> - <strong>Product</strong> - </td> - <td class="text-center"> - <strong>Qty</strong> - </td> - <td class="text-center"> - <strong>Disc.(%)</strong> - </td> - <td class="text-right"> - <strong>Unit Price</strong> - </td> - <td class="text-right"> - <strong>Total</strong> - </td> - </tr> - </thead> - <tbody> - <tr t-foreach="pos_payment" t-as="line_ids"> - <td> - <t t-if="line_ids['code']"> - <span t-esc="line_ids['code']"/> - </t> - <t t-if="line_ids['name']"> - <span t-esc="line_ids['name']"/> - </t> - </td> - <td class="text-right"> - <span t-esc="formatLang(line_ids['qty'])"/> - <t t-if="line_ids['uom']"> - <span t-esc="line_ids['uom']"/> - </t> - </td> - <td class="text-right"> - <span t-esc="formatLang(line_ids['discount'])"/> - </td> - <td class="text-right"> - <span t-esc="formatLang(line_ids['price_unit'])"/> - </td> - <td class="text-right"> - <span t-esc="formatLang(line_ids['total'], currency_obj=res_company.currency_id)"/> - </td> - </tr> - </tbody> - </table> - <div class="row" t-if="pos_payment_total(o)"> - <div class="col-xs-4 pull-right"> - <table class="table table-condensed"> - <tr class="border-black"> - <td> - <strong>Net Total</strong> - </td> - <td class="text-right"> - <span t-esc="formatLang(pos_payment_total(o), currency_obj=res_company.currency_id)"/> - </td> - </tr> - </table> - </div> - </div> - </div> - </t> - </t> - </t> -</template> -</data> -</openerp> diff --git a/addons/point_of_sale/views/report_saleslines.xml b/addons/point_of_sale/views/report_saleslines.xml deleted file mode 100644 index 3a1dc1fc1c1..00000000000 --- a/addons/point_of_sale/views/report_saleslines.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<openerp> -<data> -<template id="report_saleslines"> - <t t-call="report.html_container"> - <t t-foreach="docs" t-as="o"> - <t t-call="report.internal_layout"> - <div class="page"> - <h2>POS Lines</h2> - - <div class="row mt32 mb32"> - <div class="col-xs-3"> - <strong>Company</strong>:<br/> - <span t-field="res_company.name"/> - </div> - <div class="col-xs-3"> - <strong>Print date</strong>:<br/> - <t t-esc="formatLang(time.strftime('%Y-%m-%d'), date=True)"/> - </div> - <div class="col-xs-3"> - <strong>No. Of Articles</strong>:<br/> - <t t-esc="total_quantity(o)"/> - </div> - </div> - - <table class="table table-condensed"> - <thead> - <tr> - <th><strong>Description</strong></th> - <th><strong>Tax</strong></th> - <th class="text-right"><strong>Quantity</strong></th> - <th class="text-right"><strong>Unit Price</strong></th> - <th class="text-right" groups="sale.group_discount_per_so_line"><strong>Disc. (%)</strong></th> - <th class="text-right"><strong>Price</strong></th> - </tr> - </thead> - <tbody> - <tr t-foreach="o.lines" t-as="l"> - <td> - <t t-if="l.product_id and l.product_id.code"> - [<span t-field="l.product_id.code"/>] - </t> - <span t-field="l.product_id.name"/> - </td> - <td> - <t t-esc="taxes(l)"/> - </td> - <td class="text-right"> - <span t-field="l.qty"/> - <span t-field="l.product_id.uom_id.name" groups="product.group_uom"/> - </td> - <td class="text-right"> - <span t-field="l.price_unit"/> - </td> - <td class="text-right" groups="sale.group_discount_per_so_line"> - <span t-field="l.discount"/> - </td> - <td class="text-right"> - <span t-field="l.price_subtotal" t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/> - </td> - </tr> - </tbody> - </table> - - <div class="row"> - <div class="col-xs-4 pull-right"> - <table class="table table-condensed"> - <tr class="border-black"> - <td><strong>Total Without Taxes</strong></td> - <td class="text-right"> - <span t-esc="o.amount_total - o.amount_tax" - t-esc-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/> - </td> - </tr> - <tr> - <td>Taxes</td> - <td class="text-right"> - <span t-field="o.amount_tax" - t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/> - </td> - </tr> - <tr class="border-black"> - <td><strong>Total</strong></td> - <td class="text-right"> - <span t-field="o.amount_total" - t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/> - </td> - </tr> - </table> - </div> - </div> - </div> - </t> - </t> - </t> -</template> -</data> -</openerp> diff --git a/addons/point_of_sale/views/report_sessionsummary.xml b/addons/point_of_sale/views/report_sessionsummary.xml deleted file mode 100644 index 43c5f02b6bd..00000000000 --- a/addons/point_of_sale/views/report_sessionsummary.xml +++ /dev/null @@ -1,124 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<openerp> -<data> -<template id="report_sessionsummary"> - <t t-call="report.html_container"> - <t t-foreach="docs" t-as="o"> - <t t-call="report.internal_layout"> - <div class="page"> - <h2>Session Summary: <span t-field="o.name"/></h2> - - <div class="row mt32 mb32"> - <div class="col-xs-3"> - <strong>Responsible</strong>:<br/> - <span t-field="o.user_id"/> - </div> - <div class="col-xs-3"> - <strong>Point of Sale</strong>:<br/> - <span t-field="o.config_id"/> - </div> - <div class="col-xs-3"> - <strong>Opening Date</strong>:<br/> - <span t-field="o.start_at"/> - </div> - <div class="col-xs-3"> - <strong>Closing Date</strong>:<br/> - <span t-field="o.stop_at"/> - </div> - </div> - - <h4>Statement Summary</h4> - - <table class="table table-condensed mb32"> - <thead> - <tr> - <th> - <strong>Reference</strong> - </th> - <th> - <strong>Journal</strong> - </th> - <th class="text-right"> - <strong>Starting Balance</strong> - </th> - <th class="text-right"> - <strong>Total Transactions</strong> - </th> - <th class="text-right"> - <strong>Ending Balance</strong> - </th> - <th class="text-right"> - <strong>Difference</strong> - </th> - <th class="text-right" groups="base.group_multi_currency"> - <strong>Currency</strong> - </th> - <th class="text-right"> - <strong>Status</strong> - </th> - </tr> - </thead> - <tbody> - <tr t-foreach="o.statement_ids" t-as="statement"> - <td><span t-field="statement.name"/></td> - <td><span t-field="statement.journal_id"/></td> - <td class="text-right"> - <span t-field="statement.balance_start" - t-field-options='{"widget": "monetary", "display_currency": "statement.currency_id"}'/> - </td> - <td class="text-right"> - <span t-field="statement.total_entry_encoding" - t-field-options='{"widget": "monetary", "display_currency": "statement.currency_id"}'/> - </td> - <td class="text-right"> - <span t-field="statement.balance_end_real" - t-field-options='{"widget": "monetary", "display_currency": "statement.currency_id"}'/> - </td> - <td class="text-right"> - <span t-field="statement.difference" - t-field-options='{"widget": "monetary", "display_currency": "statement.currency_id"}'/> - </td> - <td class="text-right" groups="base.group_multi_currency"> - <span t-field="statement.currency_id"/> - </td> - <td class="text-right"><span t-field="statement.state"/></td> - </tr> - </tbody> - </table> - - <t t-foreach="o.statement_ids" t-as="statement"> - <h4 t-if="statement.line_ids">Statement Details: <span t-esc="statement.name"/></h4> - - <table class="table table-condensed" t-if="statement.line_ids"> - <thead> - <tr> - <th>Date</th> - <th>Description</th> - <th>Reference</th> - <th>Partner</th> - <th>Account</th> - <th class="text-right">Amount</th> - </tr> - </thead> - <tbody> - <tr t-foreach="statement.line_ids" t-as="line"> - <td><span t-field="line.date"/></td> - <td><span t-field="line.name"/></td> - <td><span t-field="line.ref"/></td> - <td><span t-field="line.partner_id"/></td> - <td><span t-field="line.account_id"/></td> - <td class="text-right"> - <span t-field="line.amount" - t-field-options='{"widget": "monetary", "display_currency": "statement.currency_id"}'/> - </td> - </tr> - </tbody> - </table> - </t> - </div> - </t> - </t> - </t> -</template> -</data> -</openerp> diff --git a/addons/point_of_sale/wizard/__init__.py b/addons/point_of_sale/wizard/__init__.py index 442fc2a4133..c708aa57677 100644 --- a/addons/point_of_sale/wizard/__init__.py +++ b/addons/point_of_sale/wizard/__init__.py @@ -2,7 +2,6 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import pos_box -import pos_details import pos_discount import pos_open_statement import pos_payment diff --git a/addons/point_of_sale/wizard/pos_details.py b/addons/point_of_sale/wizard/pos_details.py deleted file mode 100644 index afca493acca..00000000000 --- a/addons/point_of_sale/wizard/pos_details.py +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -import time -from openerp.osv import osv, fields - - -class pos_details(osv.osv_memory): - _name = 'pos.details' - _description = 'Sales Details' - - _columns = { - 'date_start': fields.date('Date Start', required=True), - 'date_end': fields.date('Date End', required=True), - 'user_ids': fields.many2many('res.users', 'pos_details_report_user_rel', 'user_id', 'wizard_id', 'Salespeople'), - } - _defaults = { - 'date_start': fields.date.context_today, - 'date_end': fields.date.context_today, - } - - def print_report(self, cr, uid, ids, context=None): - """ - To get the date and print the report - @param self: The object pointer. - @param cr: A database cursor - @param uid: ID of the user currently logged in - @param context: A standard dictionary - @return : retrun report - """ - if context is None: - context = {} - datas = {'ids': context.get('active_ids', [])} - res = self.read(cr, uid, ids, ['date_start', 'date_end', 'user_ids'], context=context) - res = res and res[0] or {} - datas['form'] = res - if res.get('id',False): - datas['ids']=[res['id']] - return self.pool['report'].get_action(cr, uid, [], 'point_of_sale.report_detailsofsales', data=datas, context=context) diff --git a/addons/point_of_sale/wizard/pos_details.xml b/addons/point_of_sale/wizard/pos_details.xml deleted file mode 100644 index 87950677e5e..00000000000 --- a/addons/point_of_sale/wizard/pos_details.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<openerp> - <data> - <!-- pos.details --> - - <record id="view_pos_details" model="ir.ui.view"> - <field name="name">POS Details</field> - <field name="model">pos.details</field> - <field name="arch" type="xml"> - <form string="POS Details"> - <group col="4" string="Dates"> - <field name="date_start"/> - <field name="date_end"/> - </group> - <field name="user_ids"/> - <footer> - <button name="print_report" type="object" string="Print Report" class="btn-primary"/> - <button string="Cancel" class="btn-default" special="cancel"/> - </footer> - </form> - </field> - </record> - - - <record id="action_report_pos_details" model="ir.actions.act_window"> - <field name="name">Sale Details</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">pos.details</field> - <field name="view_type">form</field> - <field name="view_mode">form</field> - <field name="target">new</field> - </record> - - - </data> -</openerp> |
