Compare commits

...

No commits in common. '12.0' and '8.0' have entirely different histories.
12.0 ... 8.0

  1. 20
      .editorconfig
  2. 29
      .gitignore
  3. 10
      .travis.yml
  4. 7
      CONTRIBUTING.md
  5. 99
      README.md
  6. 24
      hw_customer_display/__init__.py
  7. 85
      hw_customer_display/__openerp__.py
  8. 24
      hw_customer_display/controllers/__init__.py
  9. 184
      hw_customer_display/controllers/main.py
  10. 14
      hw_customer_display/i18n/hw_customer_display.pot
  11. 0
      hw_customer_display/static/description/icon.png
  12. 75
      hw_customer_display/test-scripts/customer-display-test.py
  13. 89
      hw_telium_payment_terminal/README.rst
  14. 23
      hw_telium_payment_terminal/__init__.py
  15. 16
      hw_telium_payment_terminal/__manifest__.py
  16. 37
      hw_telium_payment_terminal/__openerp__.py
  17. 23
      hw_telium_payment_terminal/controllers/__init__.py
  18. 126
      hw_telium_payment_terminal/controllers/main.py
  19. 14
      hw_telium_payment_terminal/i18n/hw_telium_payment_terminal.pot
  20. 30
      hw_telium_payment_terminal/test-scripts/telium-test.py
  21. 4
      oca_dependencies.txt
  22. 88
      pos_accented_search/README.rst
  23. 18
      pos_accented_search/__manifest__.py
  24. 14
      pos_accented_search/i18n/es.po
  25. 14
      pos_accented_search/i18n/pos_accented_search.pot
  26. 2
      pos_accented_search/readme/CONTRIBUTORS.rst
  27. 2
      pos_accented_search/readme/DESCRIPTION.rst
  28. 1
      pos_accented_search/readme/USAGE.rst
  29. 428
      pos_accented_search/static/description/index.html
  30. 29
      pos_accented_search/static/src/js/db.js
  31. 7
      pos_accented_search/views/templates.xml
  32. 92
      pos_access_right/README.rst
  33. 1
      pos_access_right/__init__.py
  34. 24
      pos_access_right/__manifest__.py
  35. 33
      pos_access_right/demo/res_groups.xml
  36. 155
      pos_access_right/i18n/ar.po
  37. 184
      pos_access_right/i18n/ca.po
  38. 166
      pos_access_right/i18n/es.po
  39. 189
      pos_access_right/i18n/fr.po
  40. 152
      pos_access_right/i18n/pos_access_right.pot
  41. 169
      pos_access_right/i18n/ru.po
  42. 1
      pos_access_right/models/__init__.py
  43. 87
      pos_access_right/models/pos_config.py
  44. 1
      pos_access_right/readme/CONFIGURE.rst
  45. 1
      pos_access_right/readme/CONTRIBUTORS.rst
  46. 7
      pos_access_right/readme/DESCRIPTION.rst
  47. 3
      pos_access_right/readme/USAGE.rst
  48. 39
      pos_access_right/security/res_groups.xml
  49. BIN
      pos_access_right/static/description/admin_numpad.png
  50. BIN
      pos_access_right/static/description/demo_error.png
  51. BIN
      pos_access_right/static/description/demo_numpad.png
  52. BIN
      pos_access_right/static/description/icon.png
  53. 437
      pos_access_right/static/description/index.html
  54. BIN
      pos_access_right/static/description/new_groups.png
  55. 13
      pos_access_right/static/src/css/pos_access_right.css
  56. 176
      pos_access_right/static/src/js/pos_access_right.js
  57. 17
      pos_access_right/static/src/xml/templates.xml
  58. 95
      pos_autoreconcile/README.rst
  59. 23
      pos_autoreconcile/__init__.py
  60. 37
      pos_autoreconcile/__openerp__.py
  61. 24
      pos_autoreconcile/i18n/de.po
  62. 24
      pos_autoreconcile/i18n/es.po
  63. 24
      pos_autoreconcile/i18n/fr.po
  64. 24
      pos_autoreconcile/i18n/it.po
  65. 25
      pos_autoreconcile/i18n/nl_NL.po
  66. 20
      pos_autoreconcile/i18n/pos_autoreconcile.pot
  67. 25
      pos_autoreconcile/i18n/sl.po
  68. 25
      pos_autoreconcile/i18n/zh_CN.po
  69. 23
      pos_autoreconcile/model/__init__.py
  70. 74
      pos_autoreconcile/model/point_of_sale.py
  71. 2
      pos_autoreconcile/security/ir.model.access.csv
  72. 0
      pos_autoreconcile/static/description/icon.png
  73. 147
      pos_cash_move_reason/README.rst
  74. 2
      pos_cash_move_reason/__init__.py
  75. 28
      pos_cash_move_reason/__manifest__.py
  76. 23
      pos_cash_move_reason/__openerp__.py
  77. 21
      pos_cash_move_reason/demo/account_account.xml
  78. 33
      pos_cash_move_reason/demo/pos_move_reason.xml
  79. 25
      pos_cash_move_reason/demo/product_template.xml
  80. 206
      pos_cash_move_reason/i18n/ar.po
  81. 204
      pos_cash_move_reason/i18n/bg.po
  82. 206
      pos_cash_move_reason/i18n/bs.po
  83. 206
      pos_cash_move_reason/i18n/ca.po
  84. 204
      pos_cash_move_reason/i18n/ca_ES.po
  85. 206
      pos_cash_move_reason/i18n/cs.po
  86. 204
      pos_cash_move_reason/i18n/da.po
  87. 206
      pos_cash_move_reason/i18n/de.po
  88. 204
      pos_cash_move_reason/i18n/el_GR.po
  89. 206
      pos_cash_move_reason/i18n/en_GB.po
  90. 223
      pos_cash_move_reason/i18n/es.po
  91. 204
      pos_cash_move_reason/i18n/es_AR.po
  92. 204
      pos_cash_move_reason/i18n/es_CL.po
  93. 204
      pos_cash_move_reason/i18n/es_CO.po
  94. 206
      pos_cash_move_reason/i18n/es_CR.po
  95. 204
      pos_cash_move_reason/i18n/es_DO.po
  96. 206
      pos_cash_move_reason/i18n/es_EC.po
  97. 206
      pos_cash_move_reason/i18n/es_MX.po
  98. 204
      pos_cash_move_reason/i18n/es_PE.po
  99. 204
      pos_cash_move_reason/i18n/es_PY.po
  100. 206
      pos_cash_move_reason/i18n/es_VE.po

20
.editorconfig

@ -1,20 +0,0 @@
# Configuration for known file extensions
[*.{css,js,json,less,md,py,rst,sass,scss,xml,yaml,yml}]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[.eslintrc,*.{json,yml,yaml,rst,md}]
indent_size = 2
# Do not configure editor for libs and autogenerated content
[*/static/{lib,src/lib}/**,*/static/description/index.html,*/readme/../README.rst]
charset = unset
end_of_line = unset
indent_size = unset
indent_style = unset
insert_final_newline = false
trim_trailing_whitespace = false

29
.gitignore

@ -1,3 +1,6 @@
# Project specific
oca.cfg
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
@ -8,10 +11,10 @@ __pycache__/
# Distribution / packaging
.Python
env/
bin/
build/
develop-eggs/
dist/
downloads/
eggs/
lib/
lib64/
@ -21,12 +24,7 @@ var/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
*.eggs
# Installer logs
pip-log.txt
@ -42,12 +40,25 @@ coverage.xml
# Translations
*.mo
*.pot
# Pycharm
.idea
# Django stuff:
*.log
# Mr Developer
.mr.developer.cfg
.project
.pydevproject
# Rope
.ropeproject
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Backup files
*~
*.swp

10
.travis.yml

@ -6,7 +6,7 @@ cache:
- $HOME/.cache/pip
python:
- "3.5"
- "2.7"
addons:
postgresql: "9.6"
@ -16,18 +16,22 @@ addons:
env:
global:
- VERSION="12.0" TESTS="0" LINT_CHECK="0" MAKEPOT="0"
- VERSION="8.0" TESTS="0" LINT_CHECK="0" MAKEPOT="0"
- WKHTMLTOPDF_VERSION="0.12.5"
matrix:
- LINT_CHECK="1"
- TESTS="1" ODOO_REPO="OCA/OCB"
- TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1"
- TESTS="1" ODOO_REPO="OCA/OCB"
virtualenv:
system_site_packages: true
install:
- git clone --depth=1 https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools
- export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}
- travis_install_nightly
- printf '[options]\n\nrunning_env = dev' > ${HOME}/.openerp_serverrc
script:
- travis_run_tests

7
CONTRIBUTING.md

@ -1,7 +0,0 @@
# OCA Guidelines
Please follow the official guide from the [OCA Guidelines page](https://github.com/OCA/maintainer-tools/blob/master/CONTRIBUTING.md).
## Project Specific Guidelines
This project does not have specific coding guidelines.

99
README.md

@ -1,11 +1,11 @@
[![Runbot Status](https://runbot.odoo-community.org/runbot/badge/flat/184/12.0.svg)](https://runbot.odoo-community.org/runbot/repo/github-com-oca-pos-184)
[![Build Status](https://travis-ci.org/OCA/pos.svg?branch=12.0)](https://travis-ci.org/OCA/pos)
[![codecov](https://codecov.io/gh/OCA/pos/branch/12.0/graph/badge.svg)](https://codecov.io/gh/OCA/pos)
[![Runbot Status](https://runbot.odoo-community.org/runbot/badge/flat/184/8.0.svg)](https://runbot.odoo-community.org/runbot/repo/github-com-oca-pos-184)
[![Build Status](https://travis-ci.org/OCA/pos.svg?branch=8.0)](https://travis-ci.org/OCA/pos)
[![Coverage Status](https://coveralls.io/repos/OCA/pos/badge.png?branch=8.0)](https://coveralls.io/r/OCA/pos?branch=8.0)
Point of Sale
=============
pos
===
This project aim to deal with modules related to Odoo Point of Sale.
Point of sale
[//]: # (addons)
@ -13,67 +13,30 @@ Available addons
----------------
addon | version | summary
--- | --- | ---
[pos_accented_search](pos_accented_search/) | 12.0.1.0.1 | Point of Sale - Product search works regardless of accented characters
[pos_access_right](pos_access_right/) | 12.0.1.0.1 | Point of Sale - Extra Access Right for certain actions
[pos_cash_move_reason](pos_cash_move_reason/) | 12.0.3.0.2 | POS cash in-out reason
[pos_customer_display](pos_customer_display/) | 12.0.1.0.1 | Manage LED Customer Display device from POS front end
[pos_customer_required](pos_customer_required/) | 12.0.1.0.1 | Point of Sale Require Customer
[pos_default_empty_image](pos_default_empty_image/) | 12.0.1.0.0 | Optimize loading time for products without image
[pos_default_partner](pos_default_partner/) | 12.0.1.0.1 | Add a default customer in pos order
[pos_disable_change_cashier](pos_disable_change_cashier/) | 12.0.1.0.1 | Disable the feature that allow to change cashier in the PoS
[pos_empty_home](pos_empty_home/) | 12.0.1.0.0 | Point of Sale - Hide products at the start of the Point of Sale
[pos_fix_search_limit](pos_fix_search_limit/) | 12.0.1.0.0 | Increase search in the PoS
[pos_fixed_discount](pos_fixed_discount/) | 12.0.1.0.1 | Allow to apply discounts with fixed amount
[pos_hide_banknote_button](pos_hide_banknote_button/) | 12.0.1.0.0 | Hide useless Banknote buttons in the PoS (+10, +20, +50)
[pos_invoice_send_mail](pos_invoice_send_mail/) | 12.0.1.0.0 | Send invoices by email from the POS
[pos_invoicing](pos_invoicing/) | 12.0.3.0.0 | Handle invoicing from Point Of Sale
[pos_journal_image](pos_journal_image/) | 12.0.1.0.0 | Add images on Account Journals available in the PoS
[pos_margin](pos_margin/) | 12.0.1.0.0 | Margin on PoS Order
[pos_multi_ean](pos_multi_ean/) | 12.0.1.0.1 | Search products by multiple EAN
[pos_order_mgmt](pos_order_mgmt/) | 12.0.1.1.3 | Manage old POS Orders from the frontend
[pos_order_remove_line](pos_order_remove_line/) | 12.0.1.0.0 | Add button to remove POS order line.
[pos_order_return](pos_order_return/) | 12.0.1.0.3 | Point of Sale Order Return
[pos_order_return_traceability](pos_order_return_traceability/) | 12.0.1.0.0 | Adds full return traceability to POS frontend
[pos_order_to_sale_order](pos_order_to_sale_order/) | 12.0.1.0.2 | PoS Order To Sale Order
[pos_partner_firstname](pos_partner_firstname/) | 12.0.1.1.0 | POS Support of partner firstname
[pos_payment_change](pos_payment_change/) | 12.0.1.0.2 | Allow cashier to change order payments, as long as the session is not closed.
[pos_payment_terminal](pos_payment_terminal/) | 12.0.0.1.1 | Manage Payment Terminal device from POS front end
[pos_picking_delayed](pos_picking_delayed/) | 12.0.1.0.2 | Delay the creation of the picking when PoS order is created
[pos_picking_load](pos_picking_load/) | 12.0.1.0.2 | Load and confirm stock pickings via Point Of Sale
[pos_picking_load_partner_name](pos_picking_load_partner_name/) | 12.0.1.0.1 | Improve load of picking in PoS by partner name
[pos_place](pos_place/) | 12.0.1.0.1 | Define places on PoS orders
[pos_price_to_weight](pos_price_to_weight/) | 12.0.2.0.0 | Compute weight based on barcodes with prices
[pos_quick_logout](pos_quick_logout/) | 12.0.1.0.0 | Allow PoS user to logout quickly after user changed
[pos_report_order_payment](pos_report_order_payment/) | 12.0.1.0.0 | Analyze point of sale payments
[pos_report_session_summary](pos_report_session_summary/) | 12.0.1.0.0 | Adds a Session Summary PDF report on the POS session
[pos_require_product_quantity](pos_require_product_quantity/) | 12.0.0.1.1 | A popup is shown if product quantity is set to 0 for one or more order lines when clicking on "Payment" button.
[pos_reset_search](pos_reset_search/) | 12.0.1.0.0 | Point of Sale - Clear product search when user clicks on a product.
[pos_session_closing_stock_error](pos_session_closing_stock_error/) | 12.0.1.0.1 | Prevent closing PoS Sessions that have stock errors
[pos_session_pay_invoice](pos_session_pay_invoice/) | 12.0.1.0.1 | Pay and receive invoices from PoS Session
[pos_supplierinfo_barcode](pos_supplierinfo_barcode/) | 12.0.1.0.0 | Search products by supplier barcode
[pos_supplierinfo_search](pos_supplierinfo_search/) | 12.0.1.0.1 | Search products by supplier data
[pos_tare](pos_tare/) | 12.0.1.0.1 | Manage Tare in Point Of Sale module
[pos_ticket_logo](pos_ticket_logo/) | 12.0.1.0.0 | Pos Ticket Logo
[pos_ticket_salesman_firstname](pos_ticket_salesman_firstname/) | 12.0.1.0.0 | Pos Ticket Salesman Firstname
[pos_ticket_without_price](pos_ticket_without_price/) | 12.0.1.0.0 | Adds receipt ticket without price or taxes
[pos_to_weight_by_product_uom](pos_to_weight_by_product_uom/) | 12.0.1.0.0 | Make 'To Weight' default value depending on product UoM settings
[pos_user_restriction](pos_user_restriction/) | 12.0.1.0.1 | Restrict some users to see and use only certain points of sale
Unported addons
---------------
addon | version | summary
--- | --- | ---
[hw_telium_payment_terminal](hw_telium_payment_terminal/) | 12.0.1.0.0 (unported) | Adds support for Payment Terminals using Telium protocol
[hw_customer_display](hw_customer_display/) | 8.0.0.1.0 | Adds support for Customer Display in the Point of Sale
[hw_telium_payment_terminal](hw_telium_payment_terminal/) | 8.0.0.1.2 | Adds support for Payment Terminals using Telium protocol
[pos_autoreconcile](pos_autoreconcile/) | 8.0.0.1.0 | POS Autoreconcile
[pos_cash_move_reason](pos_cash_move_reason/) | 8.0.2.0.0 | POS cash in-out reason
[pos_customer_display](pos_customer_display/) | 8.0.0.1.0 | Manage Customer Display device from POS front end
[pos_customer_required](pos_customer_required/) | 8.0.1.0.1 | Point of Sale Require Customer
[pos_default_empty_image](pos_default_empty_image/) | 8.0.0.1.1 | Optimise load time for products with no image
[pos_gift_ticket](pos_gift_ticket/) | 8.0.0.1.0 | Gift Ticket
[pos_invoice_journal](pos_invoice_journal/) | 8.0.1.0.0 | Use a different journal for the invoices created from the pos
[pos_margin](pos_margin/) | 8.0.1.0.0 | Margin on PoS Order
[pos_order_load](pos_order_load/) | 8.0.1.0.0 | POS Order Load and Save
[pos_order_picking_link](pos_order_picking_link/) | 8.0.1.1.0 | Adds link between Pos orders and generated pickings
[pos_order_pricelist_change](pos_order_pricelist_change/) | 8.0.1.0.0 | Improve pricelist changes for POS Order in back office
[pos_order_to_sale_order](pos_order_to_sale_order/) | 8.0.3.0.0 | PoS Order To Sale Order
[pos_payment_entries_globalization](pos_payment_entries_globalization/) | 8.0.1.0.0 | Globalize POS Payment
[pos_payment_terminal](pos_payment_terminal/) | 8.0.0.1.0 | Manage Payment Terminal device from POS front end
[pos_picking_load](pos_picking_load/) | 8.0.1.2.0 | POS Picking Load
[pos_pricelist](pos_pricelist/) | 8.0.1.5.0 | Pricelist for Point of sale
[pos_product_template](pos_product_template/) | 8.0.0.2.0 | Manage Product Template in Front End Point Of Sale
[pos_remove_pos_category](pos_remove_pos_category/) | 8.0.0.1.0 | POS Remove POS Category
[pos_restricted_customer_list](pos_restricted_customer_list/) | 8.0.0.1.0 | Optimise load time for POS where customer data not needed
[pos_sequence_ref_number](pos_sequence_ref_number/) | 8.0.1.0.0 | Sequential Order numbers for Point of sale
[pos_store_draft_order](pos_store_draft_order/) | 8.0.1.0.0 | Allow users to close session with Draft Orders
[pos_ticket_logo](pos_ticket_logo/) | 8.0.1.0.0 | Pos ticket logo
[pos_to_weight_by_product_uom](pos_to_weight_by_product_uom/) | 8.0.1.0.0 | Module summary
[//]: # (end addons)
Translation Status
------------------
[![Translation status](https://translation.odoo-community.org/widgets/pos-12-0/-/multi-auto.svg)](https://translation.odoo-community.org/engage/pos-12-0/?utm_source=widget)
----
OCA, or the [Odoo Community Association](http://odoo-community.org/), is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

24
hw_customer_display/__init__.py

@ -0,0 +1,24 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Hardware Customer Display module for Odoo
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import controllers

85
hw_customer_display/__openerp__.py

@ -0,0 +1,85 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Hardware Customer Display module for Odoo
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Hardware Customer Display',
'version': '8.0.0.1.0',
'category': 'Hardware Drivers',
'license': 'AGPL-3',
'summary': 'Adds support for Customer Display in the Point of Sale',
'description': """
Hardware Customer Display
=========================
This module adds support for Customer Display in the Point of Sale.
This module is designed to be installed on the *POSbox* (i.e. the
proxy on which the USB devices are connected) and not on the main
Odoo server. On the main Odoo server, you should install the module
*pos_customer_display*.
The configuration of the hardware is done in the configuration file of
the Odoo server of the POSbox. You should add the following entries in
the configuration file:
* customer_display_device_name (default = /dev/ttyUSB0)
* customer_display_device_rate (default = 9600)
* customer_display_device_timeout (default = 2 seconds)
The number of cols of the Customer Display (usually 20) should be
configured on the main Odoo server, in the menu Point of Sale >
Configuration > Point of Sales. The number of rows is supposed to be 2.
It should support most serial and USB-serial LCD displays out-of-the-box
or with inheritance of a few functions.
It has been tested with:
* Bixolon BCD-1100 (Datasheet :
http://www.bixolon.com/html/en/product/product_detail.xhtml?prod_id=61)
* Bixolon BCD-1000
To setup the BCD-1100 on Linux, you will find some technical instructions
on this page:
http://techtuxwords.blogspot.fr/2012/12/linux-and-bixolon-bcd-1100.html
If you have a kernel >= 3.12, you should also read this:
http://www.leniwiec.org/en/2014/06/25/ubuntu-14-04lts-how-to-pass-id-ven
dor-and-id-product-to-ftdi_sio-driver/
This module has been developped during a POS code sprint at Akretion
France from July 7th to July 10th 2014. This module is part of the POS
project of the Odoo Community Association http://odoo-community.org/.
You are invited to become a member and/or get involved in the
Association !
This module has been written by Alexis de Lattre from Akretion
<alexis.delattre@akretion.com>.
""",
'author': "Akretion,Odoo Community Association (OCA)",
'website': 'http://www.akretion.com',
'depends': ['hw_proxy'],
'external_dependencies': {
'python': ['serial', 'unidecode'],
},
'data': [],
}

24
hw_customer_display/controllers/__init__.py

@ -0,0 +1,24 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Hardware Customer Display module for Odoo
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import main

184
hw_customer_display/controllers/main.py

@ -0,0 +1,184 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Hardware Customer Display module for Odoo
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import logging
import simplejson
import time
from threading import Thread, Lock
from Queue import Queue
import openerp.addons.hw_proxy.controllers.main as hw_proxy
from openerp import http
from openerp.tools.config import config
logger = logging.getLogger(__name__)
try:
from serial import Serial
from unidecode import unidecode
except (ImportError, IOError) as err:
logger.debug(err)
class CustomerDisplayDriver(Thread):
def __init__(self):
Thread.__init__(self)
self.queue = Queue()
self.lock = Lock()
self.status = {'status': 'connecting', 'messages': []}
self.device_name = config.get(
'customer_display_device_name', '/dev/ttyUSB0')
self.device_rate = int(config.get(
'customer_display_device_rate', 9600))
self.device_timeout = int(config.get(
'customer_display_device_timeout', 2))
self.serial = False
def get_status(self):
self.push_task('status')
return self.status
def set_status(self, status, message=None):
if status == self.status['status']:
if message is not None and message != self.status['messages'][-1]:
self.status['messages'].append(message)
else:
self.status['status'] = status
if message:
self.status['messages'] = [message]
else:
self.status['messages'] = []
if status == 'error' and message:
logger.error('Display Error: '+message)
elif status == 'disconnected' and message:
logger.warning('Disconnected Display: '+message)
def lockedstart(self):
with self.lock:
if not self.isAlive():
self.daemon = True
self.start()
def push_task(self, task, data=None):
self.lockedstart()
self.queue.put((time.time(), task, data))
def move_cursor(self, col, row):
# Bixolon spec : 11. "Move Cursor to Specified Position"
self.cmd_serial_write('\x1B\x6C' + chr(col) + chr(row))
def display_text(self, lines):
logger.debug(
"Preparing to send the following lines to LCD: %s" % lines)
# We don't check the number of rows/cols here, because it has already
# been checked in the POS client in the JS code
lines_ascii = []
for line in lines:
lines_ascii.append(unidecode(line))
row = 0
for dline in lines_ascii:
row += 1
self.move_cursor(1, row)
self.serial_write(dline)
def setup_customer_display(self):
'''Set LCD cursor to off
If your LCD has different setup instruction(s), you should
inherit this function'''
# Bixolon spec : 35. "Set Cursor On/Off"
self.cmd_serial_write('\x1F\x43\x00')
logger.debug('LCD cursor set to off')
def clear_customer_display(self):
'''If your LCD has different clearing instruction, you should inherit
this function'''
# Bixolon spec : 12. "Clear Display Screen and Clear String Mode"
self.cmd_serial_write('\x0C')
logger.debug('Customer display cleared')
def cmd_serial_write(self, command):
'''If your LCD requires a prefix and/or suffix on all commands,
you should inherit this function'''
assert isinstance(command, str), 'command must be a string'
self.serial_write(command)
def serial_write(self, text):
assert isinstance(text, str), 'text must be a string'
self.serial.write(text)
def send_text_customer_display(self, text_to_display):
'''This function sends the data to the serial/usb port.
We open and close the serial connection on every message display.
Why ?
1. Because it is not a problem for the customer display
2. Because it is not a problem for performance, according to my tests
3. Because it allows recovery on errors : you can unplug/replug the
customer display and it will work again on the next message without
problem
'''
lines = simplejson.loads(text_to_display)
assert isinstance(lines, list), 'lines_list should be a list'
try:
logger.debug(
'Opening serial port %s for customer display with baudrate %d'
% (self.device_name, self.device_rate))
self.serial = Serial(
self.device_name, self.device_rate,
timeout=self.device_timeout)
logger.debug('serial.is_open = %s' % self.serial.isOpen())
self.setup_customer_display()
self.clear_customer_display()
self.display_text(lines)
except Exception, e:
logger.error('Exception in serial connection: %s' % str(e))
finally:
if self.serial:
logger.debug('Closing serial port for customer display')
self.serial.close()
def run(self):
while True:
try:
timestamp, task, data = self.queue.get(True)
if task == 'display':
self.send_text_customer_display(data)
elif task == 'status':
pass
except Exception as e:
self.set_status('error', str(e))
driver = CustomerDisplayDriver()
hw_proxy.drivers['customer_display'] = driver
class CustomerDisplayProxy(hw_proxy.Proxy):
@http.route(
'/hw_proxy/send_text_customer_display', type='json', auth='none',
cors='*')
def send_text_customer_display(self, text_to_display):
logger.debug(
'LCD: Call send_text_customer_display with text=%s',
text_to_display)
driver.push_task('display', text_to_display)

14
hw_customer_display/i18n/hw_customer_display.pot

@ -0,0 +1,14 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

0
pos_accented_search/static/description/icon.png → hw_customer_display/static/description/icon.png

Before

Width: 128  |  Height: 128  |  Size: 9.2 KiB

After

Width: 128  |  Height: 128  |  Size: 9.2 KiB

75
hw_customer_display/test-scripts/customer-display-test.py

@ -0,0 +1,75 @@
#! /usr/bin/python
# -*- encoding: utf-8 -*-
# Author : Alexis de Lattre <alexis.delattre@akretion.com>
# The licence is in the file __openerp__.py
# This is a test script, that you can use if you want to test/play
# with the customer display independantly from the Odoo server
# It has been tested with a Bixolon BCD-1100
import sys
import logging
_logger = logging.getLogger(__name__)
try:
from serial import Serial
from unidecode import unidecode
except (ImportError, IOError) as err:
_logger.debug(err)
DEVICE = '/dev/ttyUSB0'
DEVICE_RATE = 9600
DEVICE_COLS = 20
def display_text(ser, line1, line2):
print "convert to ascii"
line1 = unidecode(line1)
line2 = unidecode(line2)
print "set lines to the right lenght (%s)" % DEVICE_COLS
for line in [line1, line2]:
if len(line) < DEVICE_COLS:
line += ' ' * (DEVICE_COLS - len(line))
elif len(line) > DEVICE_COLS:
line = line[0:DEVICE_COLS]
assert len(line) == DEVICE_COLS, 'Wrong length'
print "try to clear display"
ser.write('\x0C')
print "clear done"
print "try to position at start of 1st line"
ser.write('\x1B\x6C' + chr(1) + chr(1))
print "position done"
print "try to write 1st line"
ser.write(line1)
print "write 1st line done"
print "try to position at start of 2nd line"
ser.write('\x1B\x6C' + chr(1) + chr(2))
print "position done"
print "try to write 2nd line"
ser.write(line2)
print "write done"
def open_close_display(line1, line2):
ser = False
try:
print "open serial port"
ser = Serial(DEVICE, DEVICE_RATE, timeout=2)
print "serial port open =", ser.isOpen()
print "try to set cursor to off"
ser.write('\x1F\x43\x00')
print "cursor set to off"
display_text(ser, line1, line2)
except Exception, e:
print "EXCEPTION e=", e
sys.exit(1)
finally:
if ser:
print "close serial port"
ser.close()
if __name__ == '__main__':
line1 = u'POS Code Sprint'
line2 = u'@ Akretion 2014/07'
open_close_display(line1, line2)

89
hw_telium_payment_terminal/README.rst

@ -1,48 +1,15 @@
================================
Hardware Telium Payment Terminal
================================
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github
:target: https://github.com/OCA/pos/tree/12.0/hw_telium_payment_terminal
:alt: OCA/pos
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/pos-12-0/pos-12-0-hw_telium_payment_terminal
:alt: Translate me on Weblate
|badge1| |badge2| |badge3| |badge4|
This module adds support for credit card reader and checks printers
using Telium protocol in the Point of Sale. This module is designed to
be installed on the *POSbox* (i.e. the proxy on which the USB devices
are connected) and not on the main Odoo server. On the main Odoo server,
you should install the module *pos_payment_terminal*.
This module has been developped during a POS code sprint at Akretion
France from July 7th to July 10th 2014.
**Table of contents**
.. contents::
:local:
Installation
============
Add this module in the PosBox in this folder :
/home/pi/odoo/addons
Reboot the PosBox
Configuration
=============
The configuration of the hardware is done in the configuration file of
the Odoo server of the POSbox. You can add the following entries in
the configuration file (optional).
the Odoo server of the POSbox. You should add the following entries in
the configuration file:
* payment_terminal_device_name (default = /dev/ttyACM0)
* payment_terminal_device_rate (default = 9600)
@ -51,9 +18,7 @@ The Telium protocol is used by Ingenico and Sagem payment terminals. It
is based on the Concert protocol, so it can probably work with payment
terminals from other brands. This module implements the protocol E+ (and
not the protocol E), so it requires a Telium Manager version 37783600
or superior.
Information : https://lists.launchpad.net/openerp-community/pdfcezlBjgtdJ.pdf
To get the version of the Telium Manager on an Ingenico
or superior. To get the version of the Telium Manager on an Ingenico
terminal press F > 0-TELIUM MANAGER > 2-Consultation > 4-Configuration
> 2-Software > 1-TERMINAL > On Display > Telium Manager and then read
the field *M20S*.
@ -70,50 +35,14 @@ This module has been successfully tested with:
* Ingenico iCT220
* Ingenico iCT250
* Ingenico i2200 cheque reader and writer
* Ingenico Desk/5000 (USB Mode)
This module requires the Python library *pycountry* version >= 16.11.08,
if you use a currency different of EUR.
This module requires the Python library *pycountry* version >= 16.11.08.
To install it, run:
``sudo pip install pycountry``
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/pos/issues/new?body=module:%20hw_telium_payment_terminal%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* Akretion
Contributors
~~~~~~~~~~~~
* Florent de Labarre
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/12.0/hw_telium_payment_terminal>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
This module has been developped during a POS code sprint at Akretion
France from July 7th to July 10th 2014. This module is part of the POS
project of the Odoo Community Association http://odoo-community.org/.
You are invited to become a member and/or get involved in the
Association !

23
hw_telium_payment_terminal/__init__.py

@ -1 +1,24 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Hardware Telium Payment Terminal module for Odoo
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import controllers

16
hw_telium_payment_terminal/__manifest__.py

@ -1,16 +0,0 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
'name': 'Hardware Telium Payment Terminal',
'version': '12.0.1.0.0',
'category': 'Hardware Drivers',
'license': 'AGPL-3',
'summary': 'Adds support for Payment Terminals using Telium protocol',
'author': "Akretion,Odoo Community Association (OCA)",
'website': 'http://www.github.com/OCA/pos',
'depends': ['hw_proxy'],
'external_dependencies': {
'python': ['serial', 'pycountry'],
},
'data': [],
'installable': False,
}

37
hw_telium_payment_terminal/__openerp__.py

@ -0,0 +1,37 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Hardware Telium Payment Terminal module for Odoo
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Hardware Telium Payment Terminal',
'version': '8.0.0.1.2',
'category': 'Hardware Drivers',
'license': 'AGPL-3',
'summary': 'Adds support for Payment Terminals using Telium protocol',
'author': "Akretion,Odoo Community Association (OCA)",
'website': 'http://www.akretion.com',
'depends': ['hw_proxy'],
'external_dependencies': {
'python': ['serial', 'pycountry'],
},
'data': [],
}

23
hw_telium_payment_terminal/controllers/__init__.py

@ -1 +1,24 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Hardware Telium Payment Terminal module for Odoo
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import main

126
hw_telium_payment_terminal/controllers/main.py

@ -1,30 +1,43 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Hardware Telium Payment Terminal module for Odoo
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import logging
import simplejson
import time
import curses.ascii
from threading import Thread, Lock
from queue import Queue
from odoo import http
from odoo.tools.config import config
from odoo.addons.hw_proxy.controllers import main as hw_proxy
from Queue import Queue
import openerp.addons.hw_proxy.controllers.main as hw_proxy
from openerp import http
from openerp.tools.config import config
logger = logging.getLogger(__name__)
try:
from serial import Serial
except (ImportError, IOError) as err:
logger.debug(err)
try:
import pycountry
EUR_CY_NBR = False
from serial import Serial
except (ImportError, IOError) as err:
logger.debug(err)
logger.warning(
'Unable to import pycountry, only EUR currency is supported')
EUR_CY_NBR = 978
class TeliumPaymentTerminalDriver(Thread):
@ -55,13 +68,13 @@ class TeliumPaymentTerminalDriver(Thread):
self.status['messages'] = []
if status == 'error' and message:
logger.error('Payment Terminal Error: ' + message)
logger.error('Payment Terminal Error: '+message)
elif status == 'disconnected' and message:
logger.warning('Disconnected Terminal: ' + message)
logger.warning('Disconnected Terminal: '+message)
def lockedstart(self):
with self.lock:
if not self.is_alive():
if not self.isAlive():
self.daemon = True
self.start()
@ -71,17 +84,7 @@ class TeliumPaymentTerminalDriver(Thread):
def serial_write(self, text):
assert isinstance(text, str), 'text must be a string'
raw = text.encode()
logger.debug("%s raw send to terminal" % raw)
logger.debug("%s send to terminal" % text)
self.serial.write(raw)
def serial_read(self, size=1):
raw = self.serial.read(size)
msg = raw.decode('ascii')
logger.debug("%s raw received from terminal" % raw)
logger.debug("%s received from terminal" % msg)
return msg
self.serial.write(text)
def initialize_msg(self):
max_attempt = 3
@ -106,22 +109,17 @@ class TeliumPaymentTerminalDriver(Thread):
logger.debug('Signal %s sent to terminal' % signal)
def get_one_byte_answer(self, expected_signal):
assert isinstance(expected_signal, str), 'expected_signal must be a string'
ascii_names = curses.ascii.controlnames
one_byte_read = self.serial_read(1)
one_byte_read = self.serial.read(1)
expected_char = ascii_names.index(expected_signal)
if one_byte_read == chr(expected_char):
logger.debug("%s received from terminal" % expected_signal)
return True
else:
return False
def _get_amount(self, payment_info_dict):
amount = payment_info_dict['amount']
cur_decimals = payment_info_dict['currency_decimals']
cur_fact = 10 ** cur_decimals
return ('%.0f' % (amount * cur_fact)).zfill(8)
def prepare_data_to_send(self, payment_info_dict):
amount = payment_info_dict['amount']
if payment_info_dict['payment_mode'] == 'check':
payment_mode = 'C'
elif payment_info_dict['payment_mode'] == 'card':
@ -131,14 +129,12 @@ class TeliumPaymentTerminalDriver(Thread):
"The payment mode '%s' is not supported"
% payment_info_dict['payment_mode'])
return False
cur_decimals = payment_info_dict['currency_decimals']
cur_fact = 10**cur_decimals
cur_iso_letter = payment_info_dict['currency_iso'].upper()
try:
if EUR_CY_NBR:
cur_numeric = str(EUR_CY_NBR)
else:
cur = pycountry.currencies.get(alpha_3=cur_iso_letter)
cur_numeric = str(cur.numeric)
cur = pycountry.currencies.get(alpha_3=cur_iso_letter)
cur_numeric = str(cur.numeric)
except:
logger.error("Currency %s is not recognized" % cur_iso_letter)
return False
@ -149,9 +145,9 @@ class TeliumPaymentTerminalDriver(Thread):
'payment_mode': payment_mode,
'currency_numeric': cur_numeric.zfill(3),
'private': ' ' * 10,
'delay': 'A010',
'delay': 'A011',
'auto': 'B010',
'amount_msg': self._get_amount(payment_info_dict),
'amount_msg': ('%.0f' % (amount * cur_fact)).zfill(8),
}
return data
@ -183,7 +179,9 @@ class TeliumPaymentTerminalDriver(Thread):
logger.info('Message sent to terminal')
def compare_data_vs_answer(self, data, answer_data):
for field in ['pos_number', 'amount_msg', 'currency_numeric', 'private']:
for field in [
'pos_number', 'amount_msg',
'currency_numeric', 'private']:
if data[field] != answer_data[field]:
logger.warning(
"Field %s has value '%s' in data and value '%s' in answer"
@ -204,8 +202,8 @@ class TeliumPaymentTerminalDriver(Thread):
def get_answer_from_terminal(self, data):
ascii_names = curses.ascii.controlnames
full_msg_size = 1 + 2 + 1 + 8 + 1 + 3 + 10 + 1 + 1
msg = self.serial_read(size=full_msg_size)
full_msg_size = 1+2+1+8+1+3+10+1+1
msg = self.serial.read(size=full_msg_size)
logger.debug('%d bytes read from terminal' % full_msg_size)
assert len(msg) == full_msg_size, 'Answer has a wrong size'
if msg[0] != chr(ascii_names.index('STX')):
@ -244,8 +242,7 @@ class TeliumPaymentTerminalDriver(Thread):
if self.serial.isOpen():
self.set_status("connected",
"Connected to {} with baudrate {}".format(
self.device_name, self.device_rate))
"Connected to {}".format(self.device_name))
else:
self.set_status("disconnected",
"Could not connect to {}"
@ -259,28 +256,13 @@ class TeliumPaymentTerminalDriver(Thread):
if self.get_one_byte_answer('ACK'):
self.send_one_byte_signal('EOT')
self.status['in_transaction'] = True
logger.debug("Now expecting answer from Terminal")
# We wait the end of transaction
attempt_nr = 0
while attempt_nr < 600:
attempt_nr += 1
if self.get_one_byte_answer('ENQ'):
self.send_one_byte_signal('ACK')
answer = self.get_answer_from_terminal(data)
# '0' : accepted transaction
# '7' : refused transaction
if answer['transaction_result'] == '0' \
and self._get_amount(payment_info_dict) == answer['amount_msg']:
self.status['latest_transactions'] = {payment_info_dict['order_id']: {}}
logger.info("Transaction OK")
self.send_one_byte_signal('ACK')
if self.get_one_byte_answer('EOT'):
logger.debug("Answer received from Terminal")
break
time.sleep(0.5)
self.status['in_transaction'] = False
logger.info("Now expecting answer from Terminal")
if self.get_one_byte_answer('ENQ'):
self.send_one_byte_signal('ACK')
self.get_answer_from_terminal(data)
self.send_one_byte_signal('ACK')
if self.get_one_byte_answer('EOT'):
logger.info("Answer received from Terminal")
except Exception as e:
logger.error('Exception in serial connection: %s' % str(e))

14
hw_telium_payment_terminal/i18n/hw_telium_payment_terminal.pot

@ -0,0 +1,14 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

30
hw_telium_payment_terminal/test-scripts/telium-test.py

@ -1,4 +1,26 @@
#! /usr/bin/python3
#! /usr/bin/python
# -*- encoding: utf-8 -*-
##############################################################################
#
# Hardware Telium Test script
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from serial import Serial
import curses.ascii
@ -15,7 +37,7 @@ AMOUNT = 12.42
def serial_write(serial, text):
assert isinstance(text, str), 'text must be a string'
serial.write(text.encode('ascii'))
serial.write(text)
def initialize_msg(serial):
@ -44,7 +66,7 @@ def send_one_byte_signal(serial, signal):
def get_one_byte_answer(serial, expected_signal):
ascii_names = curses.ascii.controlnames
one_byte_read = serial.read(1).decode('ascii')
one_byte_read = serial.read(1)
expected_char = ascii_names.index(expected_signal)
if one_byte_read == chr(expected_char):
print("%s received from terminal" % expected_signal)
@ -138,7 +160,7 @@ def parse_terminal_answer(real_msg, data):
def get_answer_from_terminal(serial, data):
ascii_names = curses.ascii.controlnames
full_msg_size = 1+2+1+8+1+3+10+1+1
msg = serial.read(size=full_msg_size).decode('ascii')
msg = serial.read(size=full_msg_size)
print('%d bytes read from terminal' % full_msg_size)
assert len(msg) == full_msg_size, 'Answer has a wrong size'
if msg[0] != chr(ascii_names.index('STX')):

4
oca_dependencies.txt

@ -1,4 +0,0 @@
account-payment
queue
partner-contact
stock-logistics-barcode

88
pos_accented_search/README.rst

@ -1,88 +0,0 @@
=======================================
Point of Sale - Accented Product Search
=======================================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github
:target: https://github.com/OCA/pos/tree/12.0/pos_accented_search
:alt: OCA/pos
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/pos-12-0/pos-12-0-pos_accented_search
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/184/12.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
This add-on makes pos product search insensitive to accented characters in the product
name. For instance, café will match both cafe and café.
**Table of contents**
.. contents::
:local:
Usage
=====
Simply install the addon and enjoy product search working regardless of the accented characters in the product name.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/pos/issues/new?body=module:%20pos_accented_search%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* Le Nid
Contributors
~~~~~~~~~~~~
- Le Nid
- CoopITEasy
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
.. |maintainer-fkawala| image:: https://github.com/fkawala.png?size=40px
:target: https://github.com/fkawala
:alt: fkawala
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-fkawala|
This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/12.0/pos_accented_search>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

18
pos_accented_search/__manifest__.py

@ -1,18 +0,0 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
'name': "Point of Sale - Accented Product Search",
'version': '12.0.1.0.1',
'category': 'Point of Sale',
'summary': 'Point of Sale - Product search works regardless of accented characters',
'author': "Le Nid, Odoo Community Association (OCA)",
'website': "https://github.com/OCA/pos",
'license': 'AGPL-3',
'maintainers': ['fkawala'],
'depends': [
'point_of_sale',
],
'data': [
'views/templates.xml',
],
'installable': True,
}

14
pos_accented_search/i18n/es.po

@ -1,14 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

14
pos_accented_search/i18n/pos_accented_search.pot

@ -1,14 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

2
pos_accented_search/readme/CONTRIBUTORS.rst

@ -1,2 +0,0 @@
- Le Nid
- CoopITEasy

2
pos_accented_search/readme/DESCRIPTION.rst

@ -1,2 +0,0 @@
This add-on makes pos product search insensitive to accented characters in the product
name. For instance, café will match both cafe and café.

1
pos_accented_search/readme/USAGE.rst

@ -1 +0,0 @@
Simply install the addon and enjoy product search working regardless of the accented characters in the product name.

428
pos_accented_search/static/description/index.html

@ -1,428 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
<title>Point of Sale - Accented Product Search</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="point-of-sale-accented-product-search">
<h1 class="title">Point of Sale - Accented Product Search</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/pos/tree/12.0/pos_accented_search"><img alt="OCA/pos" src="https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/pos-12-0/pos-12-0-pos_accented_search"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/184/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This add-on makes pos product search insensitive to accented characters in the product
name. For instance, café will match both cafe and café.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="id1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id1">Usage</a></h1>
<p>Simply install the addon and enjoy product search working regardless of the accented characters in the product name.</p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/pos/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/pos/issues/new?body=module:%20pos_accented_search%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id3">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id4">Authors</a></h2>
<ul class="simple">
<li>Le Nid</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id5">Contributors</a></h2>
<ul class="simple">
<li>Le Nid</li>
<li>CoopITEasy</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id6">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
<p><a class="reference external" href="https://github.com/fkawala"><img alt="fkawala" src="https://github.com/fkawala.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/pos/tree/12.0/pos_accented_search">OCA/pos</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

29
pos_accented_search/static/src/js/db.js

@ -1,29 +0,0 @@
odoo.define('pos_accented_search', function (require) {
"use strict";
var db = require("point_of_sale.DB");
db.include({
normalize_characters: function (product) {
// The normalization extract out combining diacritical marks
// All those diacritics in range [\u0300-\u036f].
// See https://en.wikipedia.org/wiki/Combining_Diacritical_Marks.
// All the diacritics are removed by the code below.
return product.normalize("NFD")
.replace(/[\u0300-\u036f]/g, "")
.replace(/[\u0152-\u0153]/g, "oe");
},
_product_search_string: function (product) {
return this.normalize_characters(this._super(product));
},
search_product_in_category: function (category_id, query) {
return this._super(category_id, this.normalize_characters(query));
},
});
return db;
});

7
pos_accented_search/views/templates.xml

@ -1,7 +0,0 @@
<odoo>
<template id="assets_backend" name="pos_accented_search" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript" src="/pos_accented_search/static/src/js/db.js"></script>
</xpath>
</template>
</odoo>

92
pos_access_right/README.rst

@ -1,92 +0,0 @@
==================================
Point of Sale - Extra Access Right
==================================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github
:target: https://github.com/OCA/pos/tree/12.0/pos_access_right
:alt: OCA/pos
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/pos-12-0/pos-12-0-pos_access_right
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/184/12.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
This module extends Odoo Point Of Sale features, restricting possibility to cashier to make some actions in the Point of Sale. This module will add the following groups to Odoo:
* **PoS - Negative Quantity**: The cashier can sell negative quantity in Point Of Sale (ie, can return products);
* **PoS - Discount**: The cashier can set Discount in Point Of Sale;
* **PoS - Change Unit Price**: The cashier can change the unit price of a product in Point Of Sale;
* **PoS - Many Orders**: The cashier can many orders at the same time;
* **PoS - Delete Order**: The cashier can not delete a full order;
**Table of contents**
.. contents::
:local:
Configuration
=============
Once installed, you have to give correct access right to your cashiers.
Usage
=====
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/184/9.0
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/pos/issues/new?body=module:%20pos_access_right%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* La Louve
* GRAP
Contributors
~~~~~~~~~~~~
* Sylvain LE GAL <https://twitter.com/legalsylvain>
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/12.0/pos_access_right>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

1
pos_access_right/__init__.py

@ -1 +0,0 @@
from . import models

24
pos_access_right/__manifest__.py

@ -1,24 +0,0 @@
# Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
'name': 'Point of Sale - Extra Access Right',
'version': '12.0.1.0.1',
'category': 'Point Of Sale',
'summary': 'Point of Sale - Extra Access Right for certain actions',
'author': 'La Louve, GRAP, Odoo Community Association (OCA)',
'website': 'http://www.github.com/OCA/pos',
'license': 'AGPL-3',
'depends': [
'point_of_sale',
],
'data': [
'security/res_groups.xml',
'static/src/xml/templates.xml',
],
'demo': [
'demo/res_groups.xml',
],
'installable': True,
}

33
pos_access_right/demo/res_groups.xml

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<record id="group_negative_qty" model="res.groups">
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
<record id="group_discount" model="res.groups">
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin')), (4, ref('base.user_demo'))]"/>
</record>
<record id="group_change_unit_price" model="res.groups">
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
<record id="group_multi_order" model="res.groups">
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
<record id="group_delete_order" model="res.groups">
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
<record id="group_payment" model="res.groups">
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
</odoo>

155
pos_access_right/i18n/ar.po

@ -1,155 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_access_right
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-10-21 18:32+0000\n"
"Last-Translator: Osoul <baruni@osoul.ly>\n"
"Language-Team: none\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 3.8\n"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:142
#, python-format
msgid "Change Unit Price - Unauthorized function"
msgstr "تغيير سعر البيع - ليس لديك صلاحية"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:87
#, python-format
msgid "Delete Order - Unauthorized function"
msgstr "حذف أمر مبيعات - ليس لديك صلاحية"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:135
#, python-format
msgid "Discount - Unauthorized function"
msgstr "تخفيض - ليس لديك صلاحية"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:70
#, python-format
msgid "Many Orders - Unauthorized function"
msgstr "تعدد أوامر مبيعات - ليس لديك صلاحية"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:115
#, python-format
msgid "Negative Quantity - Unauthorized function"
msgstr "كمية بالسالب - ليس لديك صلاحية"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:166
#, python-format
msgid "Payment - Unauthorized function"
msgstr "الدفع - ليس لديك صلاحية"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:71
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:88
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:116
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:136
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:143
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:167
#, python-format
msgid "Please ask your manager to do it."
msgstr "قم بطلب مساعدة من المشرف."
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_discount_id
msgid "Point of Sale - Allow Discount"
msgstr "نقاط البيع - السماح بالتخفيض"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_negative_qty_id
msgid "Point of Sale - Allow Negative Quantity"
msgstr "نقاط البيع - السماح بالكمية بالسالب"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_change_unit_price_id
msgid "Point of Sale - Allow Unit Price Change"
msgstr "نقاط البيع - السماح بتغير سعر البيع"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_delete_order_id
#: model:res.groups,name:pos_access_right.group_delete_order
msgid "Point of Sale - Delete Order"
msgstr "نقاط البيع - السماح بحذف أمر مبيعات"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_discount
msgid "Point of Sale - Discount"
msgstr "نقاط البيع - التخفيض"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_multi_order_id
#: model:res.groups,name:pos_access_right.group_multi_order
msgid "Point of Sale - Many Orders"
msgstr "نقاط البيع - تعدد أوامر المبيعات"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_negative_qty
msgid "Point of Sale - Negative Quantity"
msgstr "نقاط البيع - الكمية بالسالب"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_payment_id
#: model:res.groups,name:pos_access_right.group_payment
msgid "Point of Sale - Payment"
msgstr "نقاط البيع - الدفع"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_change_unit_price
msgid "Point of Sale - Unit Price Change"
msgstr "نقاط البيع - تغيير سعر البيع"
#. module: pos_access_right
#: model:ir.model,name:pos_access_right.model_pos_config
msgid "Point of Sale Configuration"
msgstr "إعدادات نقاط البيع"
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_discount_id
msgid "This field is there to pass the id of the 'PoS - Allow Discount' Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_negative_qty_id
msgid "This field is there to pass the id of the 'PoS - Allow Negative Quantity' Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_change_unit_price_id
msgid "This field is there to pass the id of the 'PoS - Allow Unit Price Change' Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_delete_order_id
msgid "This field is there to pass the id of the 'PoS - Delete Order' Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_multi_order_id
msgid "This field is there to pass the id of the 'PoS - Many Orders Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_payment_id
msgid "This field is there to pass the id of the 'PoS - Payment' Group to the Point of Sale Frontend."
msgstr ""

184
pos_access_right/i18n/ca.po

@ -1,184 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_access_right
#
# Translators:
# Marc Tormo i Bochaca <mtbochaca@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-28 05:50+0000\n"
"PO-Revision-Date: 2019-12-05 09:04+0000\n"
"Last-Translator: mtbochaca <mtbochaca@gmail.com>\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:142
#, python-format
msgid "Change Unit Price - Unauthorized function"
msgstr "Canviar preu unitari - Funció no autoritzada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:87
#, python-format
msgid "Delete Order - Unauthorized function"
msgstr "Esborrar comanda - Funció no autoritzada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:135
#, python-format
msgid "Discount - Unauthorized function"
msgstr "Descomptes - Funció no autoritzada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:70
#, python-format
msgid "Many Orders - Unauthorized function"
msgstr "Múltiples Comandes - Funció no autoritzada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:115
#, python-format
msgid "Negative Quantity - Unauthorized function"
msgstr "Quantitat Negativa - Funció no autoritzada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:166
#, python-format
msgid "Payment - Unauthorized function"
msgstr "Pagament - Funció no autoritzada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:71
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:88
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:116
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:136
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:143
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:167
#, python-format
msgid "Please ask your manager to do it."
msgstr "Si us plau, pregunti al seu administrador per fer-ho."
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_discount_id
msgid "Point of Sale - Allow Discount"
msgstr "Punt de Venda - Permetre Descomptes"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_negative_qty_id
msgid "Point of Sale - Allow Negative Quantity"
msgstr "Punt de Venda - Permetre quantitats negatives"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_change_unit_price_id
msgid "Point of Sale - Allow Unit Price Change"
msgstr "Punt de Venda - Permetre canviar el preu de venda"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_delete_order_id
#: model:res.groups,name:pos_access_right.group_delete_order
msgid "Point of Sale - Delete Order"
msgstr "Punt de Venda - Esborrar comandes"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_discount
msgid "Point of Sale - Discount"
msgstr "Punt de Venda - Descomptes"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_multi_order_id
#: model:res.groups,name:pos_access_right.group_multi_order
msgid "Point of Sale - Many Orders"
msgstr "Punt de Venda - Múltiples Comandes"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_negative_qty
msgid "Point of Sale - Negative Quantity"
msgstr "Punt de Venda - Quantitats negatives"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_payment_id
#: model:res.groups,name:pos_access_right.group_payment
msgid "Point of Sale - Payment"
msgstr "Punt de Venda - Pagament"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_change_unit_price
msgid "Point of Sale - Unit Price Change"
msgstr "Punt de Venda - Canviar preu unitari"
#. module: pos_access_right
#: model:ir.model,name:pos_access_right.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Configuració del Punt de Venda"
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_discount_id
msgid ""
"This field is there to pass the id of the 'PoS - Allow Discount' Group to "
"the Point of Sale Frontend."
msgstr ""
"Aquest camp està aquí per passar el ID del grup 'TPV - Permetre Descomptes' "
"cap a la pantalla del Punt de Venda."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_negative_qty_id
msgid ""
"This field is there to pass the id of the 'PoS - Allow Negative Quantity' "
"Group to the Point of Sale Frontend."
msgstr ""
"Aquest camp està aquí per passar el ID del grup 'TPV - Permetre Quantitats "
"Negatives' cap a la pantalla del Punt de Venda."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_change_unit_price_id
msgid ""
"This field is there to pass the id of the 'PoS - Allow Unit Price Change' "
"Group to the Point of Sale Frontend."
msgstr ""
"Aquest camp està aquí per passar el ID del grup 'TPV - Canviar Preu Unitari' "
"cap a la pantalla del Punt de Venda."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_delete_order_id
msgid ""
"This field is there to pass the id of the 'PoS - Delete Order' Group to the "
"Point of Sale Frontend."
msgstr ""
"Aquest camp està aquí per passar el ID del grup 'TPV - Esborrar Comanda' cap "
"a la pantalla del Punt de Venda."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_multi_order_id
msgid ""
"This field is there to pass the id of the 'PoS - Many Orders Group to the "
"Point of Sale Frontend."
msgstr ""
"Aquest camp està aquí per passar el ID del grup 'TPV - Múltiples Comandes' "
"cap a la pantalla del Punt de Venda."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_payment_id
msgid ""
"This field is there to pass the id of the 'PoS - Payment' Group to the Point "
"of Sale Frontend."
msgstr ""
"Aquest camp està aquí per passar el ID del grup 'TPV - Pagaments' cap a la "
"pantalla del Punt de Venda."
#~ msgid "pos.config"
#~ msgstr "pos.config"

166
pos_access_right/i18n/es.po

@ -1,166 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_access_right
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2020-07-27 11:19+0000\n"
"Last-Translator: Daniel Martinez Vila <daniel.martinez@qubiq.es>\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10\n"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:142
#, python-format
msgid "Change Unit Price - Unauthorized function"
msgstr "Cambiar precio unitario - Función no autorizada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:87
#, python-format
msgid "Delete Order - Unauthorized function"
msgstr "Eliminar orden - Función no autorizada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:135
#, python-format
msgid "Discount - Unauthorized function"
msgstr "Descuento - Función no autorizada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:70
#, python-format
msgid "Many Orders - Unauthorized function"
msgstr "Muchas órdenes - Función no autorizada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:115
#, python-format
msgid "Negative Quantity - Unauthorized function"
msgstr "Cantidad negativa- Función no autorizada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:166
#, python-format
msgid "Payment - Unauthorized function"
msgstr "Pago - Función no autorizada"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:71
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:88
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:116
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:136
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:143
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:167
#, python-format
msgid "Please ask your manager to do it."
msgstr "Pídale a su gerente que lo haga."
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_discount_id
msgid "Point of Sale - Allow Discount"
msgstr "Punto de venta - Permitir descuento"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_negative_qty_id
msgid "Point of Sale - Allow Negative Quantity"
msgstr "Punto de venta - Permitir cantidad negativa"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_change_unit_price_id
msgid "Point of Sale - Allow Unit Price Change"
msgstr "Punto de venta - Permitir cambio de precio unitario"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_delete_order_id
#: model:res.groups,name:pos_access_right.group_delete_order
msgid "Point of Sale - Delete Order"
msgstr "Punto de venta - Eliminar pedido"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_discount
msgid "Point of Sale - Discount"
msgstr "Punto de Venta - Descuento"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_multi_order_id
#: model:res.groups,name:pos_access_right.group_multi_order
msgid "Point of Sale - Many Orders"
msgstr "Punto de venta - Muchos pedidos"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_negative_qty
msgid "Point of Sale - Negative Quantity"
msgstr "Punto de venta - Cantidad negativa"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_payment_id
#: model:res.groups,name:pos_access_right.group_payment
msgid "Point of Sale - Payment"
msgstr "Punto de Venta - Pago"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_change_unit_price
msgid "Point of Sale - Unit Price Change"
msgstr "Punto de venta - Cambio de precio unitario"
#. module: pos_access_right
#: model:ir.model,name:pos_access_right.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Configuración del punto de venta"
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_discount_id
msgid "This field is there to pass the id of the 'PoS - Allow Discount' Group to the Point of Sale Frontend."
msgstr ""
"Este campo está allí para pasar la identificación del grupo 'PdV - Permitir "
"descuento' al Frontend del punto de venta."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_negative_qty_id
msgid "This field is there to pass the id of the 'PoS - Allow Negative Quantity' Group to the Point of Sale Frontend."
msgstr ""
"Este campo está allí para pasar la identificación del grupo 'PdV - Permitir "
"cantidad negativa' al Frontend del punto de venta."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_change_unit_price_id
msgid "This field is there to pass the id of the 'PoS - Allow Unit Price Change' Group to the Point of Sale Frontend."
msgstr ""
"Este campo está allí para pasar la identificación del grupo 'PdV - Permitir "
"cambio de precio unitario' al Frontend del punto de venta."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_delete_order_id
msgid "This field is there to pass the id of the 'PoS - Delete Order' Group to the Point of Sale Frontend."
msgstr ""
"Este campo está allí para pasar la identificación del grupo 'PdV - Eliminar "
"pedido' al Frontend del punto de venta."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_multi_order_id
msgid "This field is there to pass the id of the 'PoS - Many Orders Group to the Point of Sale Frontend."
msgstr ""
"Este campo está allí para pasar la identificación del grupo 'PdV - Muchos "
"pedidos' al punto de venta frontend."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_payment_id
msgid "This field is there to pass the id of the 'PoS - Payment' Group to the Point of Sale Frontend."
msgstr ""
"Este campo está allí para pasar la identificación del grupo 'PdV - Pago' al "
"Frontend del punto de venta."

189
pos_access_right/i18n/fr.po

@ -1,189 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_access_right
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-02 11:49+0000\n"
"PO-Revision-Date: 2016-11-02 11:49+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:142
#, python-format
msgid "Change Unit Price - Unauthorized function"
msgstr "Changer le prix unitaire - Fonctionnalité non autorisée"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:87
#, python-format
msgid "Delete Order - Unauthorized function"
msgstr "Supprimer une commande de vente - Fonctionnalité non autorisée"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:135
#, python-format
msgid "Discount - Unauthorized function"
msgstr "Remise - Fonctionnalité non autorisée"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:70
#, python-format
msgid "Many Orders - Unauthorized function"
msgstr "Plusieurs Commandes simultanées - Fonctionnalité non autorisée"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:115
#, python-format
msgid "Negative Quantity - Unauthorized function"
msgstr "Quantité négative - Fonctionnalité non autorisée"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:166
#, fuzzy, python-format
#| msgid "Discount - Unauthorized function"
msgid "Payment - Unauthorized function"
msgstr "Remise - Fonctionnalité non autorisée"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:71
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:88
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:116
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:136
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:143
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:167
#, python-format
msgid "Please ask your manager to do it."
msgstr "Veuillez vous rapprocher d'un responsable"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_discount_id
msgid "Point of Sale - Allow Discount"
msgstr "Point de vente - Autoriser les remises"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_negative_qty_id
msgid "Point of Sale - Allow Negative Quantity"
msgstr "Point de vente - Autoriser les quantités négatives"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_change_unit_price_id
msgid "Point of Sale - Allow Unit Price Change"
msgstr "Point de vente - Autoriser le changement de prix unitaire"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_delete_order_id
#: model:res.groups,name:pos_access_right.group_delete_order
msgid "Point of Sale - Delete Order"
msgstr "Point de Vente - Supprimer une commande"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_discount
msgid "Point of Sale - Discount"
msgstr "Point de Vente - Remise"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_multi_order_id
#: model:res.groups,name:pos_access_right.group_multi_order
msgid "Point of Sale - Many Orders"
msgstr "Point de Vente - Plusieurs commandes simultanées"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_negative_qty
msgid "Point of Sale - Negative Quantity"
msgstr "Point de Vente - Quantité négative"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_payment_id
#: model:res.groups,name:pos_access_right.group_payment
#, fuzzy
#| msgid "Point of Sale - Discount"
msgid "Point of Sale - Payment"
msgstr "Point de Vente - Remise"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_change_unit_price
msgid "Point of Sale - Unit Price Change"
msgstr "Point de Vente - Changer de prix"
#. module: pos_access_right
#: model:ir.model,name:pos_access_right.model_pos_config
#, fuzzy
msgid "Point of Sale Configuration"
msgstr "Point de Vente - Remise"
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_discount_id
msgid ""
"This field is there to pass the id of the 'PoS - Allow Discount' Group to "
"the Point of Sale Frontend."
msgstr ""
"Ce champs existe pour passer l'ID du groupe 'PdV - Autoriser les remises' au "
"sein du point de vente tactile."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_negative_qty_id
msgid ""
"This field is there to pass the id of the 'PoS - Allow Negative Quantity' "
"Group to the Point of Sale Frontend."
msgstr ""
"Ce champs existe pour passer l'ID du groupe 'PdV - Autoriser les quantités "
"négatives' au sein du point de vente tactile."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_change_unit_price_id
msgid ""
"This field is there to pass the id of the 'PoS - Allow Unit Price Change' "
"Group to the Point of Sale Frontend."
msgstr ""
"Ce champs existe pour passer l'ID du groupe 'PdV - Autoriser les changements "
"de prix unitaires' au sein du point de vente tactile."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_delete_order_id
msgid ""
"This field is there to pass the id of the 'PoS - Delete Order' Group to the "
"Point of Sale Frontend."
msgstr ""
"Ce champs existe pour passer l'ID du groupe 'PdV - Supprimer une commande' "
"au sein du point de vente tactile."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_multi_order_id
msgid ""
"This field is there to pass the id of the 'PoS - Many Orders Group to the "
"Point of Sale Frontend."
msgstr ""
"Ce champs existe pour passer l'ID du groupe 'PdV - Plusieurs commandes' au "
"sein du point de vente tactile."
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_payment_id
#, fuzzy
#| msgid ""
#| "This field is there to pass the id of the 'PoS - Many Orders Group to the "
#| "Point of Sale Frontend."
msgid ""
"This field is there to pass the id of the 'PoS - Payment' Group to the Point "
"of Sale Frontend."
msgstr ""
"Ce champs existe pour passer l'ID du groupe 'PdV - Plusieurs commandes' au "
"sein du point de vente tactile."
#~ msgid "pos.config"
#~ msgstr "pos.config"

152
pos_access_right/i18n/pos_access_right.pot

@ -1,152 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_access_right
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:142
#, python-format
msgid "Change Unit Price - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:87
#, python-format
msgid "Delete Order - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:135
#, python-format
msgid "Discount - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:70
#, python-format
msgid "Many Orders - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:115
#, python-format
msgid "Negative Quantity - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:166
#, python-format
msgid "Payment - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:71
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:88
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:116
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:136
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:143
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:167
#, python-format
msgid "Please ask your manager to do it."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_discount_id
msgid "Point of Sale - Allow Discount"
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_negative_qty_id
msgid "Point of Sale - Allow Negative Quantity"
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_change_unit_price_id
msgid "Point of Sale - Allow Unit Price Change"
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_delete_order_id
#: model:res.groups,name:pos_access_right.group_delete_order
msgid "Point of Sale - Delete Order"
msgstr ""
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_discount
msgid "Point of Sale - Discount"
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_multi_order_id
#: model:res.groups,name:pos_access_right.group_multi_order
msgid "Point of Sale - Many Orders"
msgstr ""
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_negative_qty
msgid "Point of Sale - Negative Quantity"
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_payment_id
#: model:res.groups,name:pos_access_right.group_payment
msgid "Point of Sale - Payment"
msgstr ""
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_change_unit_price
msgid "Point of Sale - Unit Price Change"
msgstr ""
#. module: pos_access_right
#: model:ir.model,name:pos_access_right.model_pos_config
msgid "Point of Sale Configuration"
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_discount_id
msgid "This field is there to pass the id of the 'PoS - Allow Discount' Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_negative_qty_id
msgid "This field is there to pass the id of the 'PoS - Allow Negative Quantity' Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_change_unit_price_id
msgid "This field is there to pass the id of the 'PoS - Allow Unit Price Change' Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_delete_order_id
msgid "This field is there to pass the id of the 'PoS - Delete Order' Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_multi_order_id
msgid "This field is there to pass the id of the 'PoS - Many Orders Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_payment_id
msgid "This field is there to pass the id of the 'PoS - Payment' Group to the Point of Sale Frontend."
msgstr ""

169
pos_access_right/i18n/ru.po

@ -1,169 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_access_right
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-05-30 11:19+0000\n"
"Last-Translator: Ivan Yelizariev <yelizariev@it-projects.info>\n"
"Language-Team: none\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 3.6.1\n"
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:142
#, python-format
msgid "Change Unit Price - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:87
#, python-format
msgid "Delete Order - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:135
#, python-format
msgid "Discount - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:70
#, python-format
msgid "Many Orders - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:115
#, python-format
msgid "Negative Quantity - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:166
#, python-format
msgid "Payment - Unauthorized function"
msgstr ""
#. module: pos_access_right
#. openerp-web
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:71
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:88
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:116
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:136
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:143
#: code:addons/pos_access_right/static/src/js/pos_access_right.js:167
#, python-format
msgid "Please ask your manager to do it."
msgstr "Попросите менеджера выполнить это действие."
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_discount_id
msgid "Point of Sale - Allow Discount"
msgstr "Точка продаж - Разрешить Скидки"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_negative_qty_id
msgid "Point of Sale - Allow Negative Quantity"
msgstr "Точка продаж - Разрешить отрицательное количество"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_change_unit_price_id
msgid "Point of Sale - Allow Unit Price Change"
msgstr "Точка продаж - Разрешить изменение цены за штуку"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_delete_order_id
#: model:res.groups,name:pos_access_right.group_delete_order
msgid "Point of Sale - Delete Order"
msgstr "Точка продаж - Удаление заказа"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_discount
msgid "Point of Sale - Discount"
msgstr "Точка продаж - Скидки"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_multi_order_id
#: model:res.groups,name:pos_access_right.group_multi_order
msgid "Point of Sale - Many Orders"
msgstr "Точка продаж - Более одного заказа"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_negative_qty
msgid "Point of Sale - Negative Quantity"
msgstr "Точка продаж - Отрицательное количество"
#. module: pos_access_right
#: model:ir.model.fields,field_description:pos_access_right.field_pos_config__group_payment_id
#: model:res.groups,name:pos_access_right.group_payment
#, fuzzy
#| msgid "Point of Sale - Discount"
msgid "Point of Sale - Payment"
msgstr "Точка продаж - Скидки"
#. module: pos_access_right
#: model:res.groups,name:pos_access_right.group_change_unit_price
msgid "Point of Sale - Unit Price Change"
msgstr "Точка продаж - Изменение цены за штуку"
#. module: pos_access_right
#: model:ir.model,name:pos_access_right.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Настройки Точки продаж"
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_discount_id
msgid ""
"This field is there to pass the id of the 'PoS - Allow Discount' Group to "
"the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_negative_qty_id
msgid ""
"This field is there to pass the id of the 'PoS - Allow Negative Quantity' "
"Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_change_unit_price_id
msgid ""
"This field is there to pass the id of the 'PoS - Allow Unit Price Change' "
"Group to the Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_delete_order_id
msgid ""
"This field is there to pass the id of the 'PoS - Delete Order' Group to the "
"Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_multi_order_id
msgid ""
"This field is there to pass the id of the 'PoS - Many Orders Group to the "
"Point of Sale Frontend."
msgstr ""
#. module: pos_access_right
#: model:ir.model.fields,help:pos_access_right.field_pos_config__group_payment_id
msgid ""
"This field is there to pass the id of the 'PoS - Payment' Group to the Point "
"of Sale Frontend."
msgstr ""

1
pos_access_right/models/__init__.py

@ -1 +0,0 @@
from . import pos_config

87
pos_access_right/models/pos_config.py

@ -1,87 +0,0 @@
# Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openerp import fields, models, api
class PosConfig(models.Model):
_inherit = 'pos.config'
group_negative_qty_id = fields.Many2one(
comodel_name='res.groups',
compute='_compute_group_negative_qty_id',
string='Point of Sale - Allow Negative Quantity',
help="This field is there to pass the id of the 'PoS - Allow Negative"
" Quantity' Group to the Point of Sale Frontend.")
group_discount_id = fields.Many2one(
comodel_name='res.groups',
compute='_compute_group_discount_id',
string='Point of Sale - Allow Discount',
help="This field is there to pass the id of the 'PoS - Allow Discount'"
" Group to the Point of Sale Frontend.")
group_change_unit_price_id = fields.Many2one(
comodel_name='res.groups',
compute='_compute_group_change_unit_price_id',
string='Point of Sale - Allow Unit Price Change',
help="This field is there to pass the id of the 'PoS - Allow Unit"
" Price Change' Group to the Point of Sale Frontend.")
group_multi_order_id = fields.Many2one(
comodel_name='res.groups',
compute='_compute_group_multi_order_id',
string='Point of Sale - Many Orders',
help="This field is there to pass the id of the 'PoS - Many Orders"
" Group to the Point of Sale Frontend.")
group_delete_order_id = fields.Many2one(
comodel_name='res.groups',
compute='_compute_group_delete_order_id',
string='Point of Sale - Delete Order',
help="This field is there to pass the id of the 'PoS - Delete Order'"
" Group to the Point of Sale Frontend.")
group_payment_id = fields.Many2one(
comodel_name='res.groups',
compute='_compute_group_payment_id',
string='Point of Sale - Payment',
help="This field is there to pass the id of the 'PoS - Payment'"
" Group to the Point of Sale Frontend.")
@api.multi
def _compute_group_negative_qty_id(self):
for config in self:
self.group_negative_qty_id = \
self.env.ref('pos_access_right.group_negative_qty')
@api.multi
def _compute_group_discount_id(self):
for config in self:
self.group_discount_id = \
self.env.ref('pos_access_right.group_discount')
@api.multi
def _compute_group_change_unit_price_id(self):
for config in self:
self.group_change_unit_price_id = \
self.env.ref('pos_access_right.group_change_unit_price')
@api.multi
def _compute_group_multi_order_id(self):
for config in self:
self.group_multi_order_id = \
self.env.ref('pos_access_right.group_multi_order')
@api.multi
def _compute_group_delete_order_id(self):
for config in self:
self.group_delete_order_id = \
self.env.ref('pos_access_right.group_delete_order')
@api.multi
def _compute_group_payment_id(self):
for config in self:
self.group_payment_id = \
self.env.ref('pos_access_right.group_payment')

1
pos_access_right/readme/CONFIGURE.rst

@ -1 +0,0 @@
Once installed, you have to give correct access right to your cashiers.

1
pos_access_right/readme/CONTRIBUTORS.rst

@ -1 +0,0 @@
* Sylvain LE GAL <https://twitter.com/legalsylvain>

7
pos_access_right/readme/DESCRIPTION.rst

@ -1,7 +0,0 @@
This module extends Odoo Point Of Sale features, restricting possibility to cashier to make some actions in the Point of Sale. This module will add the following groups to Odoo:
* **PoS - Negative Quantity**: The cashier can sell negative quantity in Point Of Sale (ie, can return products);
* **PoS - Discount**: The cashier can set Discount in Point Of Sale;
* **PoS - Change Unit Price**: The cashier can change the unit price of a product in Point Of Sale;
* **PoS - Many Orders**: The cashier can many orders at the same time;
* **PoS - Delete Order**: The cashier can not delete a full order;

3
pos_access_right/readme/USAGE.rst

@ -1,3 +0,0 @@
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/184/9.0

39
pos_access_right/security/res_groups.xml

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo noupdate="1">
<record id="group_negative_qty" model="res.groups">
<field name="name">Point of Sale - Negative Quantity</field>
<field name="category_id" ref="base.module_category_usability"/>
</record>
<record id="group_discount" model="res.groups">
<field name="name">Point of Sale - Discount</field>
<field name="category_id" ref="base.module_category_usability"/>
</record>
<record id="group_change_unit_price" model="res.groups">
<field name="name">Point of Sale - Unit Price Change</field>
<field name="category_id" ref="base.module_category_usability"/>
</record>
<record id="group_multi_order" model="res.groups">
<field name="name">Point of Sale - Many Orders</field>
<field name="category_id" ref="base.module_category_usability"/>
</record>
<record id="group_delete_order" model="res.groups">
<field name="name">Point of Sale - Delete Order</field>
<field name="category_id" ref="base.module_category_usability"/>
</record>
<record id="group_payment" model="res.groups">
<field name="name">Point of Sale - Payment</field>
<field name="category_id" ref="base.module_category_usability"/>
</record>
</odoo>

BIN
pos_access_right/static/description/admin_numpad.png

Before

Width: 243  |  Height: 240  |  Size: 9.3 KiB

BIN
pos_access_right/static/description/demo_error.png

Before

Width: 552  |  Height: 442  |  Size: 12 KiB

BIN
pos_access_right/static/description/demo_numpad.png

Before

Width: 244  |  Height: 245  |  Size: 9.1 KiB

BIN
pos_access_right/static/description/icon.png

Before

Width: 64  |  Height: 64  |  Size: 4.3 KiB

437
pos_access_right/static/description/index.html

@ -1,437 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
<title>Point of Sale - Extra Access Right</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="point-of-sale-extra-access-right">
<h1 class="title">Point of Sale - Extra Access Right</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/pos/tree/12.0/pos_access_right"><img alt="OCA/pos" src="https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/pos-12-0/pos-12-0-pos_access_right"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/184/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module extends Odoo Point Of Sale features, restricting possibility to cashier to make some actions in the Point of Sale. This module will add the following groups to Odoo:</p>
<ul class="simple">
<li><strong>PoS - Negative Quantity</strong>: The cashier can sell negative quantity in Point Of Sale (ie, can return products);</li>
<li><strong>PoS - Discount</strong>: The cashier can set Discount in Point Of Sale;</li>
<li><strong>PoS - Change Unit Price</strong>: The cashier can change the unit price of a product in Point Of Sale;</li>
<li><strong>PoS - Many Orders</strong>: The cashier can many orders at the same time;</li>
<li><strong>PoS - Delete Order</strong>: The cashier can not delete a full order;</li>
</ul>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id3">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id4">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id5">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id6">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id7">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
<p>Once installed, you have to give correct access right to your cashiers.</p>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id2">Usage</a></h1>
<a class="reference external image-reference" href="https://runbot.odoo-community.org/runbot/184/9.0"><img alt="Try me on Runbot" src="https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas" /></a>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id3">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/pos/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/pos/issues/new?body=module:%20pos_access_right%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id4">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id5">Authors</a></h2>
<ul class="simple">
<li>La Louve</li>
<li>GRAP</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id6">Contributors</a></h2>
<ul class="simple">
<li>Sylvain LE GAL &lt;<a class="reference external" href="https://twitter.com/legalsylvain">https://twitter.com/legalsylvain</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id7">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/pos/tree/12.0/pos_access_right">OCA/pos</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

BIN
pos_access_right/static/description/new_groups.png

Before

Width: 678  |  Height: 141  |  Size: 15 KiB

13
pos_access_right/static/src/css/pos_access_right.css

@ -1,13 +0,0 @@
/*
Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
*/
.pos-disabled-mode {
color: #bbb !important;
background-color: #d3d3d3 !important;
}
.pos-disabled-mode:hover {
background: #e2e2e2 !important;
}

176
pos_access_right/static/src/js/pos_access_right.js

@ -1,176 +0,0 @@
/*
Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
*/
odoo.define('pos_access_right.pos_access_right', function (require) {
"use strict";
var screens = require('point_of_sale.screens');
var chrome = require('point_of_sale.chrome');
var models = require('point_of_sale.models');
var gui = require('point_of_sale.gui');
var core = require('web.core');
var _t = core._t;
// New function 'display_access_right' to display disabled functions
gui.Gui.prototype.display_access_right = function (user) {
if (user.groups_id.indexOf(
this.pos.config.group_negative_qty_id[0]) === -1) {
$('.numpad-minus').addClass('pos-disabled-mode');
} else {
$('.numpad-minus').removeClass('pos-disabled-mode');
}
if (user.groups_id.indexOf(
this.pos.config.group_discount_id[0]) === -1) {
$(".mode-button[data-mode='discount']").addClass(
'pos-disabled-mode');
} else {
$(".mode-button[data-mode='discount']").removeClass(
'pos-disabled-mode');
}
if (user.groups_id.indexOf(
this.pos.config.group_change_unit_price_id[0]) === -1) {
$(".mode-button[data-mode='price']").addClass('pos-disabled-mode');
} else {
$(".mode-button[data-mode='price']").removeClass(
'pos-disabled-mode');
}
if (user.groups_id.indexOf(
this.pos.config.group_payment_id[0]) === -1) {
$(".button.pay").addClass('pos-disabled-mode');
} else {
$(".button.pay").removeClass('pos-disabled-mode');
}
};
// Overload 'set_cashier' function to display correctly
// unauthorized function after cashier changed
var _set_cashier_ = models.PosModel.prototype.set_cashier;
models.PosModel.prototype.set_cashier = function (user) {
if (user.groups_id) {
this.gui.display_access_right(user);
}
_set_cashier_.call(this, user);
};
chrome.OrderSelectorWidget.include({
/**
* Click new order
* @param {MouseEvent} event
* @param {HTMLElement | jQuery} $el
*/
neworder_click_handler: function (event, $el) {
if (this.pos.get_cashier().groups_id.indexOf(
this.pos.config.group_multi_order_id[0]) === -1) {
this.gui.show_popup('error', {
'title': _t('Many Orders - Unauthorized function'),
'body': _t('Please ask your manager to do it.'),
});
} else {
this._super(event, $el);
}
},
/**
* Click delete order
* @param {MouseEvent} event
* @param {HTMLElement | jQuery} $el
*/
deleteorder_click_handler: function (event, $el) {
if (this.pos.get_cashier().groups_id.indexOf(
this.pos.config.group_delete_order_id[0]) === -1) {
this.gui.show_popup('error', {
'title': _t('Delete Order - Unauthorized function'),
'body': _t('Please ask your manager to do it.'),
});
} else {
this._super(event, $el);
}
},
});
screens.NumpadWidget.include({
/**
* To display correctly unauthorized function at the beginning of the
session, based on current user
*/
start: function () {
this._super();
this.gui.display_access_right(this.pos.get_cashier());
},
/**
* Block '+/-' button if user doesn't belong to the correct group
* @returns {Object}
*/
clickSwitchSign: function () {
if (this.pos.get_cashier().groups_id.indexOf(
this.pos.config.group_negative_qty_id[0]) === -1) {
this.gui.show_popup('error', {
'title': _t('Negative Quantity - Unauthorized function'),
'body': _t('Please ask your manager to do it.'),
});
} else {
return this._super();
}
},
/**
* Block 'discount' or 'price' button if user doesn't belong to the
correct group
* @param {MouseEvent} event
* @returns {Object}
*/
clickChangeMode: function (event) {
var target = event.currentTarget.attributes['data-mode'];
if (target.nodeValue === 'discount' &&
this.pos.get_cashier().groups_id.indexOf(
this.pos.config.group_discount_id[0]) === -1) {
this.gui.show_popup('error', {
'title': _t('Discount - Unauthorized function'),
'body': _t('Please ask your manager to do it.'),
});
} else if (target.nodeValue === 'price' &&
this.pos.get_cashier().groups_id.indexOf(
this.pos.config.group_change_unit_price_id[0]) === -1) {
this.gui.show_popup('error', {
'title': _t('Change Unit Price - Unauthorized function'),
'body': _t('Please ask your manager to do it.'),
});
} else {
return this._super(event);
}
},
});
screens.ActionpadWidget.include({
/**
* Block 'Payment' button if user doesn't belong to the correct group
*/
renderElement: function () {
var self = this;
this._super();
this.gui.display_access_right(this.pos.get_cashier());
var button_pay_click_handler = $._data(
this.$el.find(".button.pay")[0], "events").click[0].handler;
this.$('.pay').off('click').click(function () {
if (self.pos.get_cashier().groups_id.indexOf(
self.pos.config.group_payment_id[0]) === -1) {
self.gui.show_popup('error', {
'title': _t('Payment - Unauthorized function'),
'body': _t('Please ask your manager to do it.'),
});
} else {
button_pay_click_handler();
}
});
},
});
});

17
pos_access_right/static/src/xml/templates.xml

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<template id="assets_frontend" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript" src="/pos_access_right/static/src/js/pos_access_right.js"/>
</xpath>
<xpath expr="//link[@id='pos-stylesheet']" position="after">
<link rel="stylesheet" href="/pos_access_right/static/src/css/pos_access_right.css" />
</xpath>
</template>
</odoo>

95
pos_autoreconcile/README.rst

@ -0,0 +1,95 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
=================
POS Autoreconcile
=================
Module reconciles Invoices and "Trade Receivable" records with payments made by
related Customer.
Example of "Trade Receivable" reconciliation:
* Product costs 8EUR but customer pays 10EUR by cash getting 2EUR in return.
In accounting it looks like this:
1 D: cash: 10
2 C: account_receivable: 10
3 D: account_receivable: 2
4 C: cash: 2
* When closing & validating a session system would create "Trade Receivable"
counterpart like this:
5 D: account_receivable: 8
6 C: income_account: 8
When this module is installed 2), 3) and 5) items would be reconciled when
closing a session.
Module also grants access rights for POS users to create reconciliation records
Installation
============
To install this module, you need to:
* Click on Install button
Configuration
=============
No additional configuration is needed.
Usage
=====
To use this module, you need to:
* operate your POS as usual
For further information, please visit:
* https://www.odoo.com/forum/help-1
Known issues / Roadmap
======================
* No bugs reported
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
`here <https://github.com/OCA/pos/issues/new?body=module:%20pos_trade_receivable_autoreconcile%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======
Contributors
------------
* Andrius Preimantas <andrius@versada.lt>
Maintainer
----------
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
To contribute to this module, please visit http://odoo-community.org.

23
pos_autoreconcile/__init__.py

@ -0,0 +1,23 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2015 UAB Versada
# (<http://www.versada.lt>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import model

37
pos_autoreconcile/__openerp__.py

@ -0,0 +1,37 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2015 UAB Versada
# (<http://www.versada.lt>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'POS Autoreconcile',
'version': '8.0.0.1.0',
'author': 'Versada UAB,Odoo Community Association (OCA)',
'category': 'Point Of Sale',
'website': 'http://www.versada.lt',
'depends': [
'point_of_sale',
],
'data': [
'security/ir.model.access.csv',
],
'installable': True,
'application': False,
}

24
pos_autoreconcile/i18n/de.po

@ -0,0 +1,24 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_autoreconcile
#
# Translators:
# Rudolf Schnapka <rs@techno-flex.de>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-21 05:04+0000\n"
"PO-Revision-Date: 2017-01-21 05:04+0000\n"
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>, 2017\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_autoreconcile
#: model:ir.model,name:pos_autoreconcile.model_pos_order
msgid "Point of Sale"
msgstr "Verkaufsstelle"

24
pos_autoreconcile/i18n/es.po

@ -0,0 +1,24 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_autoreconcile
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-07-06 02:42+0000\n"
"PO-Revision-Date: 2016-07-06 02:42+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_autoreconcile
#: model:ir.model,name:pos_autoreconcile.model_pos_order
msgid "Point of Sale"
msgstr "Terminal Punto de Venta"

24
pos_autoreconcile/i18n/fr.po

@ -0,0 +1,24 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_autoreconcile
#
# Translators:
# Christophe CHAUVET <christophe.chauvet@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-15 21:29+0000\n"
"PO-Revision-Date: 2016-08-15 21:29+0000\n"
"Last-Translator: Christophe CHAUVET <christophe.chauvet@gmail.com>, 2016\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: pos_autoreconcile
#: model:ir.model,name:pos_autoreconcile.model_pos_order
msgid "Point of Sale"
msgstr "Point de vente"

24
pos_autoreconcile/i18n/it.po

@ -0,0 +1,24 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_autoreconcile
#
# Translators:
# Paolo Valier <paolo.valier@hotmail.it>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-07-06 02:42+0000\n"
"PO-Revision-Date: 2016-07-06 02:42+0000\n"
"Last-Translator: Paolo Valier <paolo.valier@hotmail.it>, 2016\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_autoreconcile
#: model:ir.model,name:pos_autoreconcile.model_pos_order
msgid "Point of Sale"
msgstr "Punto Vendita"

25
pos_autoreconcile/i18n/nl_NL.po

@ -0,0 +1,25 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_autoreconcile
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-07-06 02:42+0000\n"
"PO-Revision-Date: 2016-07-06 02:42+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
"teams/23907/nl_NL/)\n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_autoreconcile
#: model:ir.model,name:pos_autoreconcile.model_pos_order
msgid "Point of Sale"
msgstr "Kassa"

20
pos_autoreconcile/i18n/pos_autoreconcile.pot

@ -0,0 +1,20 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_autoreconcile
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: pos_autoreconcile
#: model:ir.model,name:pos_autoreconcile.model_pos_order
msgid "Point of Sale"
msgstr ""

25
pos_autoreconcile/i18n/sl.po

@ -0,0 +1,25 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_autoreconcile
#
# Translators:
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-07-06 02:42+0000\n"
"PO-Revision-Date: 2016-07-06 02:42+0000\n"
"Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>, 2016\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
"%100==4 ? 2 : 3);\n"
#. module: pos_autoreconcile
#: model:ir.model,name:pos_autoreconcile.model_pos_order
msgid "Point of Sale"
msgstr "POS prodajna točka"

25
pos_autoreconcile/i18n/zh_CN.po

@ -0,0 +1,25 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_autoreconcile
#
# Translators:
# liAnGjiA <liangjia@qq.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-29 00:49+0000\n"
"PO-Revision-Date: 2017-04-29 00:49+0000\n"
"Last-Translator: liAnGjiA <liangjia@qq.com>, 2017\n"
"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/"
"zh_CN/)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: pos_autoreconcile
#: model:ir.model,name:pos_autoreconcile.model_pos_order
msgid "Point of Sale"
msgstr "POS"

23
pos_autoreconcile/model/__init__.py

@ -0,0 +1,23 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2015 UAB Versada
# (<http://www.versada.lt>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import point_of_sale

74
pos_autoreconcile/model/point_of_sale.py

@ -0,0 +1,74 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2015 UAB Versada
# (<http://www.versada.lt>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp import models
class POSOrder(models.Model):
_inherit = "pos.order"
# pylint: disable=R8110
def _create_account_move_line(self, cr, uid, ids, session=None,
move_id=None, context=None):
to_ret = super(POSOrder, self)._create_account_move_line(
cr, uid, ids, session=session, move_id=move_id, context=context)
account_def = self.pool.get('ir.property').get(
cr, uid, 'property_account_receivable', 'res.partner')
grouped_data = {}
for order in self.browse(cr, uid, ids, context=context):
current_company = order.sale_journal.company_id
order_account = (
order.partner_id and
order.partner_id.property_account_receivable and
order.partner_id.property_account_receivable.id or
account_def and account_def.id or
current_company.account_receivable.id
)
debit = ((order.amount_total > 0) and order.amount_total) or 0.0
key = (order.partner_id.id, order_account, debit > 0)
grouped_data.setdefault(key, [])
for each in order.statement_ids:
if each.account_id.id != order_account:
continue
for line in each.journal_entry_id.line_id:
if (line.account_id.id == order_account and
line.state == 'valid'):
grouped_data[key].append(line.id)
for key, value in grouped_data.iteritems():
for line in order.account_move.line_id:
if (line.partner_id.id == key[0] and
line.account_id.id == key[1] and
(line.debit > 0) == key[2] and
line.state == 'valid'):
grouped_data[key].append(line.id)
break
for key, value in grouped_data.iteritems():
if not value:
continue
self.pool.get('account.move.line').reconcile_partial(
cr, uid, value)
return to_ret

2
pos_autoreconcile/security/ir.model.access.csv

@ -0,0 +1,2 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_account_move_reconcile,account.move.reconcile,account.model_account_move_reconcile,point_of_sale.group_pos_user,1,1,1,0

0
pos_default_partner/static/description/icon.png → pos_autoreconcile/static/description/icon.png

Before

Width: 128  |  Height: 128  |  Size: 9.2 KiB

After

Width: 128  |  Height: 128  |  Size: 9.2 KiB

147
pos_cash_move_reason/README.rst

@ -1,161 +1,62 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
======================
POS cash in-out reason
======================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github
:target: https://github.com/OCA/pos/tree/12.0/pos_cash_move_reason
:alt: OCA/pos
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/pos-12-0/pos-12-0-pos_cash_move_reason
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/184/12.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
This module allow to define some reasons for the functionality of
This module allow to define some products as reason for the functionality of
"Put Money In" and "Take Money Out" available in point of sale session.
So, with this module it's possible to impact directly an expense or income
account which is defined on the related reasons and create according
accounting entries.
**Typical Use Case (not exhaustive)**
* You want to track **Bank deposit** moves, using an intermediate
bank account named 'Cash Awaiting Bank Deposit'.
(In France, for instance, "581 - Espèce en attente d'encaissement")
* You want to allow payments from Cash Journal to pay recurring
little expenses. (Gasoline, parking meter, etc.)
**Table of contents**
.. contents::
:local:
account which is defined on the related product or in its category.
Configuration
=============
* Go to 'Point of Sale' / 'Configuration' / 'Move Reason'
.. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_cash_move_reason/static/description/pos_cash_move_tree.png
:alt: PoS Move Reasons List
* Create or update your PoS move Reasons.
* for each reason, you can mention the concerned journal(s), (Generally the
Cash Journal), and if it is a reason to 'put in' and / or to 'take out'
Money.
.. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_cash_move_reason/static/description/pos_cash_move_form.png
:alt: PoS Move Reason
**Note**
You should have checked first 'Used in Point of Sale' for the Journals you want
to enable the feature.
You need to configure some products that can be used on "Put Money In" and
"Take Money Out". You have to set Point of Sale Cash In or Out and income and
expense account.
Usage
=====
* Go to your current session
* Click on the button "Put Money In" or "Take Money Out"
You can use configured products on "Put Money In" and "Take Money Out" wizard available in point of sale session:
.. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_cash_move_reason/static/description/pos_session_form.png
.. figure:: /pos_cash_move_reason/static/description/pos_cash_move_reason_02.png
:alt: Take money out wizard
* Select the reason, the journal, the amount, and optionaly an extra
description
.. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_cash_move_reason/static/description/wizard_pos_move_reason_form.png
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/184/8.0
* When closing the session, an account move will be created, with two lines,
one with the default journal account, and one with the expense / income
reason account.
.. figure:: https://raw.githubusercontent.com/OCA/pos/12.0/pos_cash_move_reason/static/description/account_move_form.png
Known issues / Roadmap
======================
As it is not possible to disable actions on Odoo, a new technical group is
added by this module, named 'Use Old PoS 'Put or Take Money' Actions', to
hide native obsolete actions available on the model ``pos.session``
(the two buttons "Take Money Out" and "Put Money In")
Changelog
=========
12.0.3.0.0 (2019-08-13)
~~~~~~~~~~~~~~~~~~~~~~~
* [MIG] Port module to version 12.0.
* [REF] Don't use ``product.product`` model for Reasons, because Odoo remove
the fields ``expense_pdt`` ``and income_pdt`` from the model.
Use instead a new model ``pos.move.reason`` for this purpose.
* [REF] Doesn't inherit from ``cash.box.in`` and ``cash.box.out`` model,
as there are bad designed and doesn't allow clean inheritance.
Instead, use new transient model ``wizard.pos.move.reason``.
8.0.2.0.0 (2018-06-25)
~~~~~~~~~~~~~~~~~~~~~~
* [REF] Minor code refactoring.
8.0.1.0.0 (2017-06-08)
~~~~~~~~~~~~~~~~~~~~~~
* First Version of the module.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/pos/issues/new?body=module:%20pos_cash_move_reason%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
`here <https://github.com/OCA/pos/issues/new?body=module:%20pos_cash_move_reason%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======
Authors
~~~~~~~
* ACSONE SA/NV
* GRAP
Contributors
~~~~~~~~~~~~
* Sylvain LE GAL <https://twitter.com/legalsylvain>
------------
Maintainers
~~~~~~~~~~~
* Adrien Peiffer <adrien.peiffer@acsone.eu>
This module is maintained by the OCA.
Maintainer
----------
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is maintained by the OCA.
This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/12.0/pos_cash_move_reason>`_ project on GitHub.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
To contribute to this module, please visit https://odoo-community.org.

2
pos_cash_move_reason/__init__.py

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models
from . import wizard

28
pos_cash_move_reason/__manifest__.py

@ -1,28 +0,0 @@
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
'name': "POS cash in-out reason",
'summary': """""",
'author': 'ACSONE SA/NV,'
'GRAP,'
'Odoo Community Association (OCA)',
'website': "https://www.github.com/OCA/pos",
'category': 'Point Of sale',
'version': '12.0.3.0.2',
'license': 'AGPL-3',
'depends': [
'point_of_sale',
],
'data': [
'security/ir_rule.xml',
'security/res_groups.xml',
'security/ir.model.access.csv',
'views/view_pos_move_reason.xml',
'views/view_pos_session.xml',
'wizard/wizard_pos_move_reason.xml',
],
'demo': [
'demo/account_account.xml',
'demo/pos_move_reason.xml',
],
}

23
pos_cash_move_reason/__openerp__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
'name': "POS cash in-out reason",
'summary': """""",
'author': 'ACSONE SA/NV,'
'GRAP,'
'Odoo Community Association (OCA)',
'website': "http://acsone.eu",
'category': 'POS',
'version': '8.0.2.0.0',
'license': 'AGPL-3',
'depends': [
'point_of_sale',
],
'data': [
'wizard/pos_box.xml',
],
'demo': [
'demo/product_template.xml',
],
}

21
pos_cash_move_reason/demo/account_account.xml

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2018 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<record id="bank_deposit_account" model="account.account">
<field name="code">101505</field>
<field name="name">Cash Awaiting Bank Deposit</field>
<field name="user_type_id" ref="account.data_account_type_liquidity"/>
</record>
<record id="gazoline_expense_account" model="account.account">
<field name="code">221500</field>
<field name="name">Gazoline Expense</field>
<field name="user_type_id" ref="account.data_account_type_expenses"/>
</record>
</odoo>

33
pos_cash_move_reason/demo/pos_move_reason.xml

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2018 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<record id="bank_out_reason" model="pos.move.reason">
<field name="name">Bank Deposit</field>
<field name="is_income_reason" eval="False" />
<field name="is_expense_reason" eval="True"/>
<field name="expense_account_id" ref="bank_deposit_account"/>
<field name="journal_ids" model="account.journal" search="[
('type', '=', 'cash'),
('company_id', '=', obj().env.ref('base.main_company').id),
]"/>
<field name="company_id" ref="base.main_company"/>
</record>
<record id="gasoline_out_reason" model="pos.move.reason">
<field name="name">Gazoline Expense</field>
<field name="is_income_reason" eval="False" />
<field name="is_expense_reason" eval="True"/>
<field name="expense_account_id" ref="gazoline_expense_account"/>
<field name="journal_ids" model="account.journal" search="[
('type', '=', 'cash'),
('company_id', '=', obj().env.ref('base.main_company').id),
]"/>
<field name="company_id" ref="base.main_company"/>
</record>
</odoo>

25
pos_cash_move_reason/demo/product_template.xml

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2018 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<openerp><data>
<record id="income_reason" model="product.template">
<field name="name">Miscellaneous income</field>
<field name="sale_ok" eval="False"/>
<field name="purchase_ok" eval="False"/>
<field name="income_pdt" eval="True" />
<field name="property_account_income" ref="account.o_income"/>
</record>
<record id="expense_reason" model="product.template">
<field name="name">Miscellaneous expense</field>
<field name="sale_ok" eval="False"/>
<field name="purchase_ok" eval="False"/>
<field name="expense_pdt" eval="True" />
<field name="property_account_expense" ref="account.a_expense"/>
</record>
</data></openerp>

206
pos_cash_move_reason/i18n/ar.po

@ -20,212 +20,34 @@ msgstr ""
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "الوصف"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
#, fuzzy
msgid "Move Reason"
msgstr "السبب"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
#, fuzzy
msgid "Move Reasons"
msgstr "السبب"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "السبب"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "الوصف"

204
pos_cash_move_reason/i18n/bg.po

@ -19,210 +19,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Описание"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Описание"

206
pos_cash_move_reason/i18n/bs.po

@ -20,212 +20,34 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Opis"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
#, fuzzy
msgid "Move Reason"
msgstr "Razlog"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
#, fuzzy
msgid "Move Reasons"
msgstr "Razlog"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "Razlog"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Opis"

206
pos_cash_move_reason/i18n/ca.po

@ -20,212 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripció"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
#, fuzzy
msgid "Move Reason"
msgstr "Raó"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
#, fuzzy
msgid "Move Reasons"
msgstr "Raó"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "Raó"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripció"

204
pos_cash_move_reason/i18n/ca_ES.po

@ -20,210 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripció"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripció"

206
pos_cash_move_reason/i18n/cs.po

@ -19,212 +19,34 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Popis"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
#, fuzzy
msgid "Move Reason"
msgstr "Důvod"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
#, fuzzy
msgid "Move Reasons"
msgstr "Důvod"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "Důvod"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Popis"

204
pos_cash_move_reason/i18n/da.po

@ -19,210 +19,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Beskrivelse"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Beskrivelse"

206
pos_cash_move_reason/i18n/de.po

@ -20,212 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Beschreibung"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
#, fuzzy
msgid "Move Reason"
msgstr "Grund"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
#, fuzzy
msgid "Move Reasons"
msgstr "Grund"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "Grund"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Beschreibung"

204
pos_cash_move_reason/i18n/el_GR.po

@ -20,210 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Περιγραφή"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Περιγραφή"

206
pos_cash_move_reason/i18n/en_GB.po

@ -20,212 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Description"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
#, fuzzy
msgid "Move Reason"
msgstr "Reason"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
#, fuzzy
msgid "Move Reasons"
msgstr "Reason"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "Reason"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Description"

223
pos_cash_move_reason/i18n/es.po

@ -9,225 +9,44 @@ msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-09 03:25+0000\n"
"PO-Revision-Date: 2020-07-27 11:19+0000\n"
"Last-Translator: Daniel Martinez Vila <daniel.martinez@qubiq.es>\n"
"PO-Revision-Date: 2017-06-09 03:25+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
"<span class = \"o_stat_text\">Poner</span>\n"
"..........................<span class = \"o_stat_text\">Dinero en</span>"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
"<span class = \"o_stat_text\">Tomar</span>\n"
"..........................<span class = \"o_stat_text\">Dinero fuera</span>"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr "Diarios contables"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr "Activo"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr "Importe"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr "Aplicar"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr "Extracto de cuenta"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr "Cancelar"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr "Compañía"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr "Creado el"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr "Sesión actual"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr "Describa por qué coge dinero de la caja registradora"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr "Visualizar el gasto de motivo de movimiento"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr "Mostrar ingreso de motivo de movimiento"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr "Nombre a mostrar"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr "Cuenta de gastos"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr "Complete este formulario si ingresa dinero en la caja registradora"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr "ID"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr "Cuenta de ingresos"
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr "Importe invalido"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr "Es la razón del gasto"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
msgstr "Es la razón de ingresos"
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
msgstr "Diario"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr "Última modificación en"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr "Última actualización el"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr "Razón de movimiento"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr "Razones de movimiento"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr "Tipo de movimiento"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr "Nombre"
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr "PdV - Motivo de entrada / salida"
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr "Asistente de razones de movimiento de PdV"
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr "Sesión del Punto de Venta"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr "Poner dinero en"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "Razón"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
msgstr "Sacar dinero de"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
msgstr "Use las viejas acciones de \"poner o coger dinero\" de PdV"
#~ msgid "Description"
#~ msgstr "Descripción"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""

204
pos_cash_move_reason/i18n/es_AR.po

@ -20,210 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripción"

204
pos_cash_move_reason/i18n/es_CL.po

@ -20,210 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripción"

204
pos_cash_move_reason/i18n/es_CO.po

@ -20,210 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripción"

206
pos_cash_move_reason/i18n/es_CR.po

@ -20,212 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
#, fuzzy
msgid "Move Reason"
msgstr "Razón"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
#, fuzzy
msgid "Move Reasons"
msgstr "Razón"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "Razón"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripción"

204
pos_cash_move_reason/i18n/es_DO.po

@ -20,210 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripción"

206
pos_cash_move_reason/i18n/es_EC.po

@ -20,212 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
#, fuzzy
msgid "Move Reason"
msgstr "Motivo"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
#, fuzzy
msgid "Move Reasons"
msgstr "Motivo"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "Motivo"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripción"

206
pos_cash_move_reason/i18n/es_MX.po

@ -20,212 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
#, fuzzy
msgid "Move Reason"
msgstr "Razón"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
#, fuzzy
msgid "Move Reasons"
msgstr "Razón"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "Razón"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripción"

204
pos_cash_move_reason/i18n/es_PE.po

@ -20,210 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripción"

204
pos_cash_move_reason/i18n/es_PY.po

@ -20,210 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
msgid "Move Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
msgid "Move Reasons"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripción"

206
pos_cash_move_reason/i18n/es_VE.po

@ -20,212 +20,34 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Put</span>\n"
" <span class=\"o_stat_text\">Money In</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_session_form
msgid ""
"<span class=\"o_stat_text\">Take</span>\n"
" <span class=\"o_stat_text\">Money Out</span>"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__journal_ids
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_ids
msgid "Accounting Journals"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__active
msgid "Active"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__amount
msgid "Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Apply"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__statement_id
msgid "Bank Statement"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Cancel"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__company_id
msgid "Company"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_uid
msgid "Created by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__create_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__create_date
msgid "Created on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__session_id
msgid "Current Session"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Describe why you take money from the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_expense
msgid "Display Move Reason Expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_session__display_move_reason_income
msgid "Display Move Reason Income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__display_name
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__display_name
msgid "Display Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__expense_account_id
msgid "Expense Account"
msgstr ""
#. module: pos_cash_move_reason
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_wizard_pos_move_reason_form
msgid "Fill in this form if you put money in the cash register"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__id
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__id
msgid "ID"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__income_account_id
msgid "Income Account"
msgstr ""
#. module: pos_cash_move_reason
#: code:addons/pos_cash_move_reason/wizard/wizard_pos_move_reason.py:67
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:39
#, python-format
msgid "Invalid Amount"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_expense_reason
msgid "Is Expense Reason"
msgstr ""
msgid "Description"
msgstr "Descripción"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__is_income_reason
msgid "Is Income Reason"
#: model:product.template,name:pos_cash_move_reason.expense_reason
msgid "Miscellaneous expense"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__journal_id
msgid "Journal"
#: model:product.template,name:pos_cash_move_reason.income_reason
msgid "Miscellaneous income"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason____last_update
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason____last_update
msgid "Last Modified on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_uid
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_uid
msgid "Last Updated by"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__write_date
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__write_date
msgid "Last Updated on"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_reason_id
#, fuzzy
msgid "Move Reason"
msgstr "Razón"
#. module: pos_cash_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_pos_move_reason
#: model:ir.actions.act_window,name:pos_cash_move_reason.action_wizard_pos_move_reason
#: model:ir.ui.menu,name:pos_cash_move_reason.menu_pos_move_reason
#, fuzzy
msgid "Move Reasons"
msgstr "Razón"
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__move_type
msgid "Move type"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_pos_move_reason__name
#: model_terms:ir.ui.view,arch_db:pos_cash_move_reason.view_pos_move_reason_form
msgid "Name"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_move_reason
msgid "PoS - Move In / Out Reason"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_wizard_pos_move_reason
msgid "PoS Move Reasons Wizard"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model,name:pos_cash_move_reason.model_pos_session
msgid "Point of Sale Session"
msgstr ""
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Put Money In"
msgstr ""
#. module: pos_cash_move_reason
#: model:ir.model.fields,field_description:pos_cash_move_reason.field_wizard_pos_move_reason__name
#: field:cash.box.in,product_id:0 field:cash.box.out,product_id:0
msgid "Reason"
msgstr "Razón"
#. module: pos_cash_move_reason
#: selection:wizard.pos.move.reason,move_type:0
msgid "Take Money Out"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:62
#, python-format
msgid "You have to define an expense account on the related product %s"
msgstr ""
#. module: pos_cash_move_reason
#: model:res.groups,name:pos_cash_move_reason.group_pos_old_actions
msgid "Use Old PoS 'Put or Take Money' Actions"
#: code:addons/pos_cash_move_reason/wizard/pos_box.py:55
#, python-format
msgid "You have to define an income account on the related product %s"
msgstr ""
#~ msgid "Description"
#~ msgstr "Descripción"

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save