|
@@ -1,6 +1,6 @@
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
-from openerp import http
|
|
|
+from openerp import api, http
|
|
|
from openerp.http import request
|
|
|
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT, float_round
|
|
|
from werkzeug.wrappers import Response
|
|
@@ -69,13 +69,25 @@ class PosSales(http.Controller):
|
|
|
'''
|
|
|
Get POS data
|
|
|
'''
|
|
|
- def get_pos_data(self):
|
|
|
- pos = request.env['eiru.pos'].search([])
|
|
|
+ def get_pos_settings(self):
|
|
|
+ settings = request.env['base.config.settings'].search([], limit=1, order='id desc')
|
|
|
|
|
|
return {
|
|
|
- 'imageType': pos.image_type,
|
|
|
- 'allowCurrencyExchange': pos.allow_currency_exchange,
|
|
|
- 'viewCurrencyExchanges': pos.view_currency_exchanges
|
|
|
+ 'imageType': settings.image_type,
|
|
|
+ 'allowCurrencyExchange': settings.allow_currency_exchange,
|
|
|
+ 'viewCurrencyExchanges': settings.view_currency_exchanges,
|
|
|
+ 'currencies': [
|
|
|
+ {
|
|
|
+ 'id': currency.id,
|
|
|
+ 'name': currency.display_name,
|
|
|
+ 'symbol': currency.symbol,
|
|
|
+ 'position': currency.position,
|
|
|
+ 'rateSilent': currency.rate_silent,
|
|
|
+ 'decimalSeparator': currency.decimal_separator,
|
|
|
+ 'decimalPlaces': currency.decimal_places,
|
|
|
+ 'thousandsSeparator': currency.thousands_separator
|
|
|
+ } for currency in settings.currency_ids
|
|
|
+ ]
|
|
|
}
|
|
|
|
|
|
'''
|
|
@@ -112,8 +124,10 @@ class PosSales(http.Controller):
|
|
|
'id': user.company_id.id,
|
|
|
'name': user.company_id.display_name,
|
|
|
'phone': user.company_id.phone or None,
|
|
|
- 'city': user.company_id.city or None
|
|
|
- }
|
|
|
+ 'city': user.company_id.city or None,
|
|
|
+ 'currencyId': user.company_id.currency_id.id or None
|
|
|
+ },
|
|
|
+ 'isManager': 'Gerente' in user.groups_id.filtered(lambda g: g.category_id.name == 'Eiru POS').mapped(lambda g: g.name)
|
|
|
}
|
|
|
|
|
|
'''
|
|
@@ -147,6 +161,13 @@ class PosSales(http.Controller):
|
|
|
domain = [('type', 'in', ['bank', 'cash']), ('active', '=', True)]
|
|
|
has_subtype = self.is_module_installed('eiru_bank_payments_references')
|
|
|
|
|
|
+ if not self.get_pos_settings().get('allowCurrencyExchange'):
|
|
|
+ currency_id = self.get_user().get('company').get('currencyId')
|
|
|
+
|
|
|
+ domain.append('|')
|
|
|
+ domain.append(('currency', '=', currency_id))
|
|
|
+ domain.append(('company_id.currency_id', '=', currency_id))
|
|
|
+
|
|
|
return [{
|
|
|
'id': journal.id,
|
|
|
'name': journal.display_name,
|
|
@@ -349,8 +370,6 @@ class PosSales(http.Controller):
|
|
|
'state': 'draft',
|
|
|
}
|
|
|
|
|
|
- # import web_pdb; web_pdb.set_trace()
|
|
|
-
|
|
|
return request.env['sale.order'].create(values)
|
|
|
|
|
|
'''
|
|
@@ -401,8 +420,6 @@ class PosSales(http.Controller):
|
|
|
invoice.check_tax_lines(compute_taxes)
|
|
|
invoice._recompute_tax_amount()
|
|
|
|
|
|
- # import web_pdb; web_pdb.set_trace()
|
|
|
-
|
|
|
invoice_move_lines += request.env['account.invoice.tax'].move_line_get(invoice.id)
|
|
|
total, total_currency, invoice_move_lines = invoice.with_context(context).compute_invoice_totals(invoice.company_id.currency_id, invoice.reference, invoice_move_lines)
|
|
|
|
|
@@ -614,6 +631,11 @@ class PosSales(http.Controller):
|
|
|
|
|
|
return account_bank_statement
|
|
|
|
|
|
+ '''
|
|
|
+ '''
|
|
|
+ def create_bank_payment_statement(self):
|
|
|
+ pass
|
|
|
+
|
|
|
'''
|
|
|
New purchase resource route
|
|
|
'''
|
|
@@ -621,17 +643,17 @@ class PosSales(http.Controller):
|
|
|
def init_sale(self, **kw):
|
|
|
self.make_info_log('Sending JSON response')
|
|
|
|
|
|
- pos_data = self.get_pos_data()
|
|
|
+ settings = self.get_pos_settings()
|
|
|
|
|
|
return self.make_gzip_response(
|
|
|
{
|
|
|
- 'pos': pos_data,
|
|
|
+ 'settings': settings,
|
|
|
'date': self.get_server_datetime(),
|
|
|
'user': self.get_user(),
|
|
|
'currencies': self.get_currencies_from_journals(),
|
|
|
'journals': self.get_journals(),
|
|
|
- 'customers': self.get_customers(image_type=pos_data['imageType']),
|
|
|
- 'products': self.get_products(image_type=pos_data['imageType']),
|
|
|
+ 'customers': self.get_customers(image_type=settings.get('imageType')),
|
|
|
+ 'products': self.get_products(image_type=settings.get('imageType')),
|
|
|
'paymentTerms': self.get_payment_terms(),
|
|
|
'banks': self.get_banks(),
|
|
|
'bankPaymentTypes': self.get_bank_payment_types(),
|
|
@@ -644,8 +666,8 @@ class PosSales(http.Controller):
|
|
|
'''
|
|
|
@http.route('/eiru_sales/get_images', auth='user', methods=['GET'], cors='*')
|
|
|
def get_images_only(self, **kw):
|
|
|
- pos_data = self.get_pos_data()
|
|
|
- image_type = str(pos_data['imageType'])
|
|
|
+ settings = self.get_pos_settings()
|
|
|
+ image_type = str(settings.get('imageType'))
|
|
|
|
|
|
return self.make_gzip_response(
|
|
|
{
|
|
@@ -696,10 +718,11 @@ class PosSales(http.Controller):
|
|
|
if kw.get('setting') == 'viewCurrencyExchanges':
|
|
|
values['view_currency_exchanges'] = kw.get('value', False)
|
|
|
|
|
|
- pos = request.env['eiru.pos'].search([])
|
|
|
- pos.write(values)
|
|
|
+ settings = request.env['base.config.settings'].search([], limit=1, order='id desc')
|
|
|
+ settings.write(values)
|
|
|
+ settings.execute()
|
|
|
|
|
|
- return self.get_pos_data()
|
|
|
+ return self.get_pos_settings()
|
|
|
|
|
|
'''
|
|
|
Create product and return data
|