Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[14.0] pos_debt_notebook_sync #1481

Open
wants to merge 3 commits into
base: 14.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions pos_debt_notebook_sync/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.. image:: https://itpp.dev/images/infinity-readme.png
:alt: Tested and maintained by IT Projects Labs
:target: https://itpp.dev

.. image:: https://img.shields.io/badge/license-MIT-blue.svg
:target: https://opensource.org/licenses/MIT
:alt: License: MIT

========================
Internal Credit System
========================

The module allows to organize cash-free system for set of shops with a single payment point. E.g. at festivals, amusements parks, etc.

Questions?
==========

To get an assistance on this module contact us by email :arrow_right: [email protected]

Contributors
============
* `Dinar Gabbasov <https://it-projects.info/team/GabbasovDinar>`__
* `Kolushov Alexandr <https://it-projects.info/team/KolushovAlexandr>`__

===================

Odoo Apps Store: https://apps.odoo.com/apps/modules/12.0/pos_debt_notebook_sync/


Tested on `Odoo 13.0 <https://github.com/odoo/odoo/commit/2d46a08a989f4c7e005ee2ead7c342c72019e63f>`_
4 changes: 4 additions & 0 deletions pos_debt_notebook_sync/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# License MIT (https://opensource.org/licenses/MIT).

from . import models
from . import controllers
26 changes: 26 additions & 0 deletions pos_debt_notebook_sync/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Copyright 2017 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
# Copyright 2018 Kolushov Alexandr <https://it-projects.info/team/KolushovAlexandr>
# Copyright 2021 Denis Mudarisov <https://github.com/trojikman>
# License MIT (https://opensource.org/licenses/MIT).
{
"name": """Internal Credit System""",
"summary": """Credit payment system for festivals, food courts, etc.""",
"category": "Point of Sale",
"images": ["images/credit.png"],
"version": "14.0.1.1.2",
"application": False,
"author": "IT-Projects LLC, Dinar Gabbasov",
"support": "[email protected]",
"website": "https://apps.odoo.com/apps/modules/13.0/pos_debt_notebook_sync/",
"license": "Other OSI approved licence", # MIT
"depends": ["base_automation", "pos_longpolling", "pos_debt_notebook"],
"external_dependencies": {"python": [], "bin": []},
"data": ["views/template.xml", "data/base_action_rule.xml"],
"qweb": [],
"demo": [],
"post_load": None,
"pre_init_hook": None,
"post_init_hook": None,
"auto_install": False,
"installable": True,
}
3 changes: 3 additions & 0 deletions pos_debt_notebook_sync/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License MIT (https://opensource.org/licenses/MIT).

from . import pos_debt_sync_controller
19 changes: 19 additions & 0 deletions pos_debt_notebook_sync/controllers/pos_debt_sync_controller.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2017 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
# Copyright 2018 Kolushov Alexandr <https://it-projects.info/team/KolushovAlexandr>
# License MIT (https://opensource.org/licenses/MIT).

import odoo
from odoo.http import request

try:
from odoo.addons.bus.controllers.main import BusController
except ImportError:
BusController = object


class Controller(BusController):
@odoo.http.route("/pos_order_test/update", type="json", auth="public")
def order_test_update(self, message):
channel_name = "pos.order_test"
res = request.env["pos.config"]._send_to_channel(channel_name, message)
return res
55 changes: 55 additions & 0 deletions pos_debt_notebook_sync/data/base_action_rule.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?xml version="1.0" ?>
<!--# Copyright 2017 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
# Copyright 2018 Kolushov Alexandr <https://it-projects.info/team/KolushovAlexandr>
# Copyright 2021 Denis Mudarisov <https://github.com/trojikman>
# License MIT (https://opensource.org/licenses/MIT).
-->
<odoo>
<!-- debt payments -->
<record id="rule_new_payment" model="base.automation">
<field name="name">Notify POS about Debt updates (on new payment).</field>
<field name="model_id" ref="account.model_account_bank_statement_line" />
<field name="trigger">on_create</field>
<field name="filter_domain">
[('statement_id.journal_id.debt', '=', True)]
</field>
<field name="active" eval="True" />
<field name="state">code</field>
<field name="code">action = env['pos.config'].notify_debt_updates()</field>
</record>
<!-- Credit products: pos.order -->
<record id="rule_credit_products" model="base.automation">
<field name="name">
Notify POS about Debt updates (on selling Credit products).
</field>
<field name="model_id" ref="point_of_sale.model_pos_order" />
<field name="trigger">on_create_or_write</field>
<field name="filter_domain">[('state', 'in', ['paid', 'done'])]</field>
<field name="active" eval="True" />
<field name="state">code</field>
<field name="code">env['pos.config'].notify_debt_updates()</field>
</record>
<!-- Credit products: account.invoice -->
<record id="rule_credit_products_invoice" model="base.automation">
<field name="name">
Notify POS about Debt updates (on selling Credit products via invoices).
</field>
<field name="model_id" ref="account.model_account_move" />
<field name="trigger">on_create_or_write</field>
<field name="active" eval="True" />
<field name="state">code</field>
<field name="filter_domain">[('invoice_payment_state', 'in', ['paid'])]</field>
<field name="code">env['pos.config'].notify_debt_updates()</field>
</record>
<!-- manual credit updates -->
<record id="rule_pos_credit_updates" model="base.automation">
<field name="name">
Notify POS about Debt updates (on addins Manual Credit Updates).
</field>
<field name="model_id" ref="pos_debt_notebook.model_pos_credit_update" />
<field name="trigger">on_create_or_write</field>
<field name="active" eval="True" />
<field name="state">code</field>
<field name="code">env['pos.config'].notify_debt_updates()</field>
</record>
</odoo>
19 changes: 19 additions & 0 deletions pos_debt_notebook_sync/doc/changelog.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
`1.1.2`
-------

- **FIX:** Error related to not selected partner on the client screen

`1.1.1`
-------

- **FIX:** Endless update requests on the customer screen after renamings in pos_longpolling

`1.1.0`
-------

- **ADD:** Manual Credit Updates

`1.0.0`
-------

- Init version
73 changes: 73 additions & 0 deletions pos_debt_notebook_sync/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
========================
Internal Credit System
========================

Installation
============

* Check instruction for `POS longpolling <https://apps.odoo.com/apps/modules/13.0/pos_longpolling/>`_ about activating longpolling
* You probably need a module that force user to login before making purchase on website. E.g. this one: https://github.com/OCA/e-commerce/tree/13.0/website_sale_require_login

Configuration
=============

Max Debt Limit
--------------

* Go to ``Point of Sale >> Configuration >> Payment Methods``
* Open one of the ``Payment methods``
* Open journal form (e.g. ``Credits``)
* go inside Cash Journal
* click on ``[Edit]``
* On ``Point of Sale`` tab check the box ``Credit Journal``
* set ``Max Debt`` value
* click ``[Save]``

POS Payment
-----------

* Go to ``Point of Sale >> Configuration >> Point of Sale``

* open POS
* select ``Available Payment Methods``

* ``Debt Journal`` if POS will operate with credits only
* e.g. ``Cash`` or ``Bank`` if POS may receive a real money
* set both if POS is used to operate with credits and real money

Credit Product
--------------

* go to ``Point of Sale >> Products``

* click on ``[Create]``
* open ``Point of Sale`` tab
* select an available journal in ``Journal Credit Product`` field
* click ``[Save]``

Usage
=====

POS sales
---------

* open one POS
* open another POS as another user
* on the first POS:

* select customer
* EITHER add *Credit Product* to an order and register usual payment (e.g. via Cash journal)
* OR add usual products and register Debt payment. See `Debt notebook module <https://apps.odoo.com/apps/modules/13.0/pos_debt_notebook/>`_ for more information.
* click ``[Validate]``

* on second POS

* open Customer list
* find the customer
* customer's debt/credit is updated

eCommerce sales
---------------
* open POS
* purchase *Credit Product* via website (``/shop/...``)
* debt/credit value on POS is updated
65 changes: 65 additions & 0 deletions pos_debt_notebook_sync/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_debt_notebook_sync
#
# Translators:
# Ermin Trevisan <[email protected]>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-14 10:52+0000\n"
"PO-Revision-Date: 2017-10-14 10:52+0000\n"
"Last-Translator: Ermin Trevisan <[email protected]>, 2017\n"
"Language-Team: German (https://www.transifex.com/it-projects-llc/teams/76080/"
"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_debt_notebook_sync
#: model:base.automation,name:pos_debt_notebook_sync.rule_pos_credit_updates
#: model:ir.actions.server,name:pos_debt_notebook_sync.rule_pos_credit_updates_ir_actions_server
#, fuzzy
msgid "Notify POS about Debt updates (on addins Manual Credit Updates)."
msgstr "POS über Schuldaktualisierungen benachrichtigen"

#. module: pos_debt_notebook_sync
#: model:base.automation,name:pos_debt_notebook_sync.rule_new_payment
#: model:ir.actions.server,name:pos_debt_notebook_sync.rule_new_payment_ir_actions_server
#, fuzzy
msgid "Notify POS about Debt updates (on new payment)."
msgstr "POS über Schuldaktualisierungen benachrichtigen"

#. module: pos_debt_notebook_sync
#: model:base.automation,name:pos_debt_notebook_sync.rule_credit_products_invoice
#: model:ir.actions.server,name:pos_debt_notebook_sync.rule_credit_products_invoice_ir_actions_server
msgid ""
"Notify POS about Debt updates (on selling Credit products via invoices)."
msgstr ""

#. module: pos_debt_notebook_sync
#: model:base.automation,name:pos_debt_notebook_sync.rule_credit_products
#: model:ir.actions.server,name:pos_debt_notebook_sync.rule_credit_products_ir_actions_server
#, fuzzy
msgid "Notify POS about Debt updates (on selling Credit products)."
msgstr "POS über Schuldaktualisierungen benachrichtigen"

#. module: pos_debt_notebook_sync
#: model:ir.model,name:pos_debt_notebook_sync.model_pos_config
msgid "Point of Sale Configuration"
msgstr ""

#~ msgid "Debt payments"
#~ msgstr "Schuldzahlung"

#~ msgid "Finished orders"
#~ msgstr "Erledigte Bestellungen"

#~ msgid "Paid invoices"
#~ msgstr "Bezahlte Rechnungen"

#~ msgid "pos.config"
#~ msgstr "pos.config"
65 changes: 65 additions & 0 deletions pos_debt_notebook_sync/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_debt_notebook_sync
#
# Translators:
# Gustavo Valverde <[email protected]>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-30 15:22+0000\n"
"PO-Revision-Date: 2017-09-30 15:22+0000\n"
"Last-Translator: Gustavo Valverde <[email protected]>, 2017\n"
"Language-Team: Spanish (https://www.transifex.com/it-projects-llc/"
"teams/76080/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_debt_notebook_sync
#: model:base.automation,name:pos_debt_notebook_sync.rule_pos_credit_updates
#: model:ir.actions.server,name:pos_debt_notebook_sync.rule_pos_credit_updates_ir_actions_server
#, fuzzy
msgid "Notify POS about Debt updates (on addins Manual Credit Updates)."
msgstr "Notificarle al TPV sobre actualización de Créditos"

#. module: pos_debt_notebook_sync
#: model:base.automation,name:pos_debt_notebook_sync.rule_new_payment
#: model:ir.actions.server,name:pos_debt_notebook_sync.rule_new_payment_ir_actions_server
#, fuzzy
msgid "Notify POS about Debt updates (on new payment)."
msgstr "Notificarle al TPV sobre actualización de Créditos"

#. module: pos_debt_notebook_sync
#: model:base.automation,name:pos_debt_notebook_sync.rule_credit_products_invoice
#: model:ir.actions.server,name:pos_debt_notebook_sync.rule_credit_products_invoice_ir_actions_server
msgid ""
"Notify POS about Debt updates (on selling Credit products via invoices)."
msgstr ""

#. module: pos_debt_notebook_sync
#: model:base.automation,name:pos_debt_notebook_sync.rule_credit_products
#: model:ir.actions.server,name:pos_debt_notebook_sync.rule_credit_products_ir_actions_server
#, fuzzy
msgid "Notify POS about Debt updates (on selling Credit products)."
msgstr "Notificarle al TPV sobre actualización de Créditos"

#. module: pos_debt_notebook_sync
#: model:ir.model,name:pos_debt_notebook_sync.model_pos_config
msgid "Point of Sale Configuration"
msgstr ""

#~ msgid "Debt payments"
#~ msgstr "Pagos a Crédito"

#~ msgid "Finished orders"
#~ msgstr "Órdenes Finalizadas"

#~ msgid "Paid invoices"
#~ msgstr "Facturas pagadas"

#~ msgid "pos.config"
#~ msgstr "pos.config"
Loading