Skip to content

Commit

Permalink
🎉1️⃣3️⃣ pos_debt_notebook_sync
Browse files Browse the repository at this point in the history
previous commits history: https://github.com/itpp-labs/pos-addons/commits/13.0/pos_debt_notebook_sync
> Made via .github/workflows/DINAR-PORT.yml
  • Loading branch information
itpp-bot committed Sep 14, 2022
1 parent e3ab6b2 commit c1b2fa0
Show file tree
Hide file tree
Showing 36 changed files with 997 additions and 0 deletions.
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": "13.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

0 comments on commit c1b2fa0

Please sign in to comment.