Commit Graph
778 Commits
Author SHA1 Message Date
Antoine Prieels 029ee8dc0d [FIX] point_of_sale: Lost payment info
Payment information for terminal transactions (payment_status,
transaction_id & card_type) was lost when going back to the floor
plan in pos_restaurant. Validated transactions were then considered as
not processed yet.

closes odoo/odoo#43550

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2020-01-20 14:06:13 +00:00
Joseph Caburnay 861a712d50 [FIX] pos_restaurant: resume shop when pos_restaurant is installed
This is a followup to the fix made in
99615ff6cc.
When calling JSON.stringify to undefined, it results to undefined, thus,
it is necessary to check if the value is undefined before JSON.parse'ing
it.

closes odoo/odoo#42812

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2020-01-07 07:25:06 +00:00
Robin Heinz 99615ff6cc [FIX] pos_restaurant: double printing not allowed.
Before this, when we printed a ticket for the kitchen, if we went back to the table management and go back to the order, we could re print the same product.
Now, we can only reprint the order if there is something different.

closes odoo/odoo#42208

Task-id: 2123029
X-original-commit: c8f604045eb0d476766641386c4e5e1605b915c3
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-12-24 14:27:11 +00:00
Martin Trigaux b5db1c61ee [I18N] *: export saas-13.1 source terms
Without demo data, for the odoo-master transifex project

closes odoo/odoo#41935

X-original-commit: dab7670b73506fb3a835695ee3bd735e0c5e5c2b
Related: odoo/enterprise#7287
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-12-16 12:49:55 +00:00
Martin Trigaux b7d91ba25b [I18N] *: remove es_AR translations
Followup of a425695e
The terms were back in 12.0
Courtesy of Juan José Scarafía

closes odoo/odoo#41624

X-original-commit: 85d0c7001a997748d7691205bbb8d066597591a5
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-12-10 10:00:18 +00:00
Kevin Baptiste 6cbe824871 [REV] web: reverts update to fontawesome 5.11.2
This reverts commit ff1c35513a.

closes odoo/odoo#41480

X-original-commit: 116057b26e71db4692280463669f3e80d813ddcc
Related: odoo/enterprise#7110
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-12-09 10:33:36 +00:00
Kevin Baptiste ff1c35513a [IMP] web: update to fontawesome 4.7.0 to 5.11.2
FontAwesome 5 introduced new names for some icons as described on
https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#name-changes

This commit replaces the old names to the new ones.

closes odoo/odoo#35826

Taskid: 2050241
Related: odoo/enterprise#5180
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-28 10:05:12 +00:00
Pierre MasereelandRaphael Collet e85faf3986 [IMP] base: add unique constraint on ir.property
There is no unique constraint on the properties to avoid having two
properties for the same field, company and res_id.

Having two properties for the same field, company and res_id, leads to
inconsistencies through the code, as reading a company-dependent field
nondeterministically returns one of the available property value.

So now, before creating a property, we have to check that there is not
already a value for the field, company and res_id and write or create
depending on if it is already exists.

The properties of specific records already satisfy the constraint thanks
to the implementation of company-dependent fields that use the method
`set_multi`.  We added a method `set_default` to set generic properties,
and its implementation does the right thing.  It also simplifies the
code to set such properties, by the way.

closes odoo/odoo#40473

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Co-authored-by: Raphael Collet <rco@odoo.com>
2019-11-22 12:34:43 +00:00
Gert Pellin ca57ecf446 [FIX] point_of_sale: fix order naming translations
Before this fix translations of the order names missed a crusial space
that is needed to get information out of it in the front-end.

* Load Spanish-PE translation.
* Change localization preference for a user (either admin or demo) to
Spanish.
* Login to Odoo POS using the user with spanish localization.
* Go to POS, select BAR POS, select a table and place a draft order
with at least 1 order line (do not proceed to payment)
* Go back to table mgmt view and click again to the previous selected
table and the error appears.

This issue happens in any translation where pos_reference for a draft
order is not separated with white space as it happens in English. I mean
in english the pos_reference is something like "Order 00003-001-0002"
but in spanish it is "Pedido00003-001-0002" (no whitespace), so
https://github.com/odoo/odoo/blob/13.0/addons/pos_restaurant/models/pos_order.py#L143
assumes that there will always be a whitespace which is not true for
some odoo translations like spanish one.

This fix adds a variable to the translation string making it more clear
the space is part of the string. To make sure the code will also work on
languages with the words in another order `order['pos_reference'].split(' ')[1]`
is replaced by `search(r"\d{5}-\d{3}-\d{4}", order['pos_reference']).group(0)`,
we know the uid will always be formatted as nnnnn-nnn-nnnn

solves #40036

closes odoo/odoo#40302

X-original-commit: c32126da5ac55a03637d82cf520b8655be8546e6
Signed-off-by: Gert Pellin - GPE <switch87@users.noreply.github.com>
2019-11-14 18:11:55 +00:00
Gert Pellin a1839fb305 [FIX] pos_restaurant: sync empty orders
* In a pos-session with table management create a new order with products
and go back to the floor-plan.
* The order is sinced to the back-end.
* Open the table again, remove all products but keep the order.
* Go back to floorplan to trigger syncing again.
* Open the table again.

behaviour before fix:
* The empty order is not loaded in the frontend anymore.
* To close the session the order has to be manually removed in the backend.

After fix:
* The order is still visible in the frontend and can be removed or finalysed as expected.

closes odoo/odoo#40165

X-original-commit: 3add8dd226f39d5166873a575b858694eeb2e6ee
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-11-13 08:50:57 +00:00
Yannick Tivisse 0a8866fdeb [IMP] pos_restaurant: Adapt tests to work with/without demo data 2019-11-05 16:18:10 +01:00
Pierre Masereel 52b3daf260 [FIX] pos_restaurant: floor plans deletion
When you try to delete a floor, an error is raised if a pos config has
an opened session. Even if the floor is not used in the opened pos
config.

The real goal of this constraint is to avoid deleting a floor plan
linked to a pos config having an opened session.

Github issue: https://github.com/odoo/odoo/issues/38581

closes odoo/odoo#38719

X-original-commit: 9ec5a4c0126db767e17fc352fa184e0ee2bcc7e7
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-10-14 13:03:57 +00:00
Christophe Simonis d74b451805 [MERGE] forward port branch 13.0 up to f4105eb9c7 2019-10-09 02:08:17 +02:00
Yenthe666 473403792e [FIX] *: fix "there is no" sentences
"There is no <plural>" is not correct
cf https://english.stackexchange.com/a/26634

closes odoo/odoo#38205

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-10-08 14:30:19 +00:00
fw-bot a9adfbaa18 [FIX] pos_restaurant: faulty behavior of newly created table
When a table is created, the new table appears to be selected but the
capability to resize and drag is not active. As a result, when this new
table is dragged, it is unselected instead. This is because of the call
of `save_changes`. The table widget is rendered but the event handlers
for resizing and dragging are not assigned. After this commit, the
created table can be resized and dragged immediately after creation.

closes odoo/odoo#38068

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-10-07 11:47:26 +00:00
Martin Trigaux 42417956c0 [I18N] *: export 13.0 source terms
closes odoo/odoo#38028

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-10-07 07:55:34 +00:00
Odoo Translation Bot b6e7ed6c7b [I18N] Update translation terms from Transifex 2019-10-07 09:11:11 +02:00
Odoo Translation Bot 40deff7cbe [I18N] Update translation terms from Transifex 2019-10-01 21:21:46 +02:00
Pierre Masereel b213c9ee3c [FIX] point_of_sale, pos_restaurant: print bill with correct template
Until now, the ticket printed from the web or to the printer were
different because one was using the OrderReceipt template and removed
some fields, and the other was using the BillReceipt.

We are now using only the bill receipt, to avoid to maintain multiple
template showing the same thing.

TASK-ID: 47990
2019-10-01 10:02:49 +00:00
Odoo Translation Bot d7b8831ea8 [I18N] Update translation terms from Transifex 2019-09-29 01:22:33 +02:00
Victor Feyens 07631a5185 [IMP] * : manifest module categories cleanup
closes odoo/odoo#35754

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-09-25 14:03:45 +00:00
Odoo Translation Bot 974261f7e9 [I18N] Update translation terms from Transifex 2019-09-22 01:19:57 +02:00
Martin Trigaux be5d48ef1d [FIX] *: correct typos, improve wording
Courtesy of translators

closes odoo/odoo#36953

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-09-16 13:45:52 +00:00
Odoo Translation Bot e80b81dca1 [I18N] Update translation terms from Transifex 2019-09-15 01:30:37 +02:00
Gert Pellin 6f950482d3 [FIX] point_of_sale, pos_restaurant: merging products
Before this fix product lines did not merge on adding a same product
after transfering an order or re-opening an order that was synced.
To verefy if lines can be merged an unused field 'type' was compared.
Removing this field fixes the problem.
2019-09-13 10:05:44 +00:00
Gert Pellin bc863ef4a5 [FIX] pos_restaurant: transfer empty order
Before this fix, if an empty order gets transfered to another table, the
screen gets stuck on the floorplan until the window is refreshed.
With this fix the new table is opened.
2019-09-13 10:05:44 +00:00
Christophe Simonis 64e43808b7 [MERGE] forward port branch saas-12.5 up to 58a83d1222 2019-09-20 17:34:45 +02:00
Christophe Simonis 6c948c36bb [MERGE] forward port branch saas-12.5 up to 197474e5b9 2019-09-13 18:07:59 +02:00
Odoo Translation Bot 86809804f9 [I18N] Update translation terms from Transifex 2019-09-01 01:28:13 +02:00
Odoo's Mergebot 70a65b0132 [ADD] pos_adyen: generic payment interface and Adyen integration
This does two things:

- Makes it easy to implement new electronic payment methods in the POS by extracting a generic payment interface from the `pos_iot` enterprise module, and
- Uses this new interface to implement Adyen's Point of Sale Terminal API

For more info see individual commits.

Internal task: https://www.odoo.com/web#id=1981799&model=project.task&view_type=form&menu_id=

closes odoo/odoo#35702

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-28 10:57:36 +02:00
Pierre Masereel 73d877eef2 [FIX] point_of_sale, pos_restaurant: order sequence
WHen you are creating a draft order, the sequence is not saved on the
server, and when we load the orders from the server the session id is
not correct too.

This leads to having inconsistant sequence numbers in the POS, almost
when we are synchronizing orders through the pos restaurant.

We now show the orders sequence number prefixed by login number when the
order is synchronized and don't have the same login number as current.

TASK-ID: 2057436

closes odoo/odoo#36032

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-27 09:45:04 +00:00
Pierre Masereel 1e0e7b59a2 [FIX] pos_restaurant: don't show guests on receipt
When you are in a pos session, and have installed pos_restaurant, you
get the number of guest ('1') printed on the ticket even if you are not
in a session of type restaurant.

So we are now checking that you have a table (which mean you are in a
pos session of type restaurant) to show the guest number.

TASK-ID: 2057436
2019-08-27 09:31:31 +00:00
Martin Trigaux b247aa3252 [I18N] *: export saas-12.5 source terms
That will be used a the basis for the future 13.0 version
Without demo data

closes odoo/odoo#36057

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-26 09:38:09 +00:00
Joren Van Onder aefe33735b [IMP] point_of_sale,pos_restaurant: move tipping to point_of_sale
You don't only tip in restaurants. In e.g. the US you can tip at a
barber shop.

It's not a big change since all the fields were already in
point_of_sale anyway.
2019-08-23 13:33:28 -07:00
Pierre Masereel 7903dd8e64 [FIX] pos_restaurant: remove remaining verify sync
When we are running the tests on runbot, we get race condition when we
verify if the syncronisation is beeing sent, so we removed all of this
as it doesn't really verify if it synched or not, and we make a search
in python after tour execution.

closes odoo/odoo#36010

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-23 12:15:31 +00:00
Pierre Masereel 3374110a23 [FIX] pos_restaurant: move and resize table in editing
When you are trying to resize and/or move a table in editing mode on the
floor plan, it doesn't work anymore, because the polling that will count
the orders by table will re-render the table after it has been selected
so the classes making it dragable are ot there anymore and you cannot
move or resize it.

Tu ix this behavior, we are not calling table order count when we are in
editing mode.

TASK-ID: 2057368
2019-08-23 09:35:11 +00:00
Pierre Masereel 60644cf344 [FIX] pos_restaurant: edition of table
When you were trying to edit the table map of your pos, you were getting
a traceback because, it was getting information from a table that
is not in the list of table.

So we are now correctly set the table in the list when it is created and
duplicated.

TASK-ID: 2057368
2019-08-23 09:34:06 +00:00
Pierre Masereel 7fa5e80f0e [FIX] pos_restaurant: remove verify_sync when opening table
When we open a table, the option verify sync is called, and doesn't
always work because of a race condition when we chack the status of
connecting, and the icon that has already changed.

As it doesn't really check anything because we check in python that the
orders are synchronised, we removed it.

closes odoo/odoo#35949

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-22 13:24:13 +00:00
Pierre Masereel 4645b07731 [FIX] pos_epson_printer_restaurant: call to super
The model PosModel is extended, and super is calaled as if it was
included, we have fixed it by calling the parent prototype correctly.
2019-08-22 13:24:13 +00:00
Pierre Masereel 7fa823977a [FIX] pos_restaurant: remove the closing of pos
In the tour of pos restaurant, we are closing the pos that will redirect
to /web, and we won't wait this redirection. That will lead to a
remaining request taking too much time.
2019-08-22 08:36:12 +00:00
Pierre Masereel d740221b74 [FIX] pos_restaurant: set tests assets in test assets
Until now the tours assets where in the backend assets, so we put them
in tests assets.
2019-08-22 08:24:22 +00:00
Pierre Masereel 5c32788655 [FIX] pos_restaurant: make test post install
There was ahack that was setting the module pos_restaurant to installed,
which is not necessary as we should simply put the test in post_install
2019-08-22 08:20:57 +00:00
Antoine Prieels 380c933a1d [ADD] pos_epson_printer_restaurant: Use Order printer without IoT Box
Add possibility to print orders on an ePOS compatible Epson receipt
printer located in the same local network than the browser running the
pos.

TaskID: 2033442
2019-08-20 12:19:19 +02:00
Antoine Prieels 8ea5583b93 [ADD] pos_epson_printer: Use Receipt printer without IoT Box
Add possibility to print receipts on an ePOS compatible Epson receipt
printer located in the same local network than the browser running the
pos.

TaskID: 2033442
2019-08-20 12:19:19 +02:00
Gert Pellin 118190f3b3 [IMP] point_of_sale, pos_restaurant: multi-user sessions
PURPOSE
=========

When working in restaurants, there are often more than one waiter working on the same floor.
But Odoo doesn't support that.
There can only be one person working on one session for the same tables.
The purpose of this task to allow several people to work on the same session (while synchronizing sessions).

SPECIFICATIONS
===============

- MultiUser is active by default.
- Allow multiple waiters to login on one PoS Config.
- All waiters login to the same session, the waiter that does the paiment is the responsible for the order (same as now).
- Synchonize the information across the multiple instances running on same floors.

Syncronisation will take place at switch of table.
(close tables automaticly if no activity, to force sync)

- Syncro cannot be done if no internet : how do we manage it ? We should inform the user the internet connection has been lost and that synchro cannot be done. What impacts? To check

Useful links
https://github.com/it-projects-llc/pos-addons
https://apps.odoo.com/apps/modules/11.0/pos_bus_restaurant/

Related PR:
odoo#32789

TASK-ID: 1891130

closes odoo/odoo#33973

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-19 14:15:25 +00:00
Pierre Masereel 761f695e0d [FIX] pos_restaurant: fix typo
Forgot to remove unused function with pudb in a248171d96

closes odoo/odoo#35822

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-19 17:53:02 +00:00
Pierre Masereel a248171d96 [IMP] point_of_sale: improve consistencies between models
The deletion of some records can create inconsistencies in the
point_of_sale.

It can create inconsistencies when a session is open, for example if you
delete a partner that can be set on a pos order. You'll also got
problems if you remove an employee and this employee can be used in an
open session.

We also avoid to get point_of_sale config inconsistencies, by deleting
models required by it. If you delete a picking type used in a pos
config or a sequence.

To avoid all this consistencies, we have restricted the deletion of some
records in specific cases.

TASK-ID: 1879971

closes odoo/odoo#35793

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-19 08:04:31 +00:00
Christophe Simonis 140ee6b8f0 [MERGE] forward port branch saas-12.4 up to 98a55917a6 2019-08-14 16:48:10 +02:00
Martin Trigaux 8be6470a82 [I18N] *: export saas-12.4 source terms 2019-08-13 11:53:38 +02:00
Antoine Prieels 1e5ed54866 [IMP] pos_restaurant: Order printers with HTTPS
To use a kitchen printer, the user can only enter the IP of the Box and
it would be transformed into an URL with the protocol and port number.
This only supported HTTP so people that used HTTPS needed to enter the
full url to their Box.
2019-08-08 11:53:37 +00:00