Skip to main content
iVentureTeam

pos_glory_cash_admin_buttons

A live connection status for a Glory cash machine, plus three actions: reset it, download the logs, or open its admin page.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
August 27, 2026Updated August 31, 20264 min read
Technical namepos_glory_cash_admin_buttons
Viewsform (view widget, <widget> element)
Modulepos_glory_cash, Glory cash machine integration
Used in coreThe Glory configuration form in pos_glory_cash
VersionsOdoo 20.0, Odoo 19.0
No-code setupNo. It is set in view XML and depends on module-specific data
Alternativespos_cashdro_admin_buttons, lna_checklist, pos_payment_provider_cards

What the Glory admin buttons does

A Glory cash recycler is configured with an address and credentials, and the first thing anyone wants to know after typing those in is whether they were right. This widget answers that continuously rather than on request.

It opens a connection to the machine as soon as an address is present and shows whatever status comes back, re-connecting whenever the configuration changes. Bad credentials have their own status, so a typo is visible immediately.

Alongside the status sit three actions: reset the machine, download the connection logs, and open the machine's own admin page.

What this means for your team

Cash recyclers are the kind of hardware whose downtime is measured in queue length. A live status on the configuration screen means the person setting it up knows within seconds whether it worked, instead of discovering it at the next shift change.

The reset action is worth a policy. It is the right first response to a jam or a stuck state, and it is also the kind of button that gets pressed reflexively, so deciding who has access to the configuration form matters.

Supported options in Odoo 19

The widget takes the standard view widget props and declares no options. What it reads from the record and what it derives is listed below. Read from the Glory admin buttons source, Odoo 19.0.

OptionTypeWhat it does
glory_websocket_addressfield read from the recordThe machine's address. Nothing connects without it, and the admin page button warns instead of opening.(since Odoo 19.0)
glory_usernamefield read from the recordPassed into the connection. A wrong value produces the bad credentials status.(since Odoo 19.0)
glory_passwordfield read from the recordPassed into the connection alongside the user name.(since Odoo 19.0)

Reset is guarded twice. It refuses outright when the status is disconnected or the credentials are rejected, and while it runs it holds a sticky notification that only clears when the machine answers.

Working examples

Placing it

<widget name="pos_glory_cash_admin_buttons"/>

No attributes. It reads the address and credentials from the record.

The admin page port

http:   # port 3000
https:  # port 3001

Chosen from the protocol of the Odoo page.

When reset refuses

# status is DISCONNECTED or BAD_CREDENTIALS
# a danger notification, and nothing is sent

Fix the connection first.

A connection that reopens whenever the form changes

The connection is the widget's core. It creates a service for the Glory protocol, hands it a callback that writes each new status into local state, and runs an effect keyed on the record's data so that any change to the address or credentials reconnects.

Because the effect depends on the whole record data object, editing an unrelated field on the form also re-runs it. That is usually harmless and occasionally means a brief reconnect while typing elsewhere.

Displayed status goes through a lookup table that maps protocol codes to readable strings, falling back to the raw code when there is no mapping, so an unrecognized state shows something rather than nothing.

Reset is the only action that changes the machine. It refuses when the status is disconnected or the credentials were rejected, then puts up a sticky notification, awaits the reset, clears that notification and posts a completion one. The two-step feedback matters because a reset is not instant.

Version compatibility

VersionStatusNotes
Odoo 20.0Partial / changedNot released. Adds local network access support and newer component conventions.
Odoo 19.0VerifiedFirst version. Verified against the shipped source.
Odoo 18.0Not availableWidget does not exist.
Odoo 17.0Not availableWidget does not exist.
Odoo 16.0Not availableWidget does not exist.

Upgrade note. The widget is new in Odoo 19 along with the Glory integration itself, so there is nothing to migrate from earlier versions.

What is changing in Odoo 20

Odoo 20 is expected at Odoo Experience in Brussels, 24 to 26 September 2026. The development branch is unstable and this may still change; we re-verify this page after the release.

Local network access support is added. The development branch reads a local network access flag, runs its initialization when set, passes it into the connection and uses it to force plain HTTP for the admin page link. The component is also converted to the newer props, state and effect conventions.

Common problems and fixes

SymptomCause and fix
Status stays disconnectedNo address, a wrong address, or the machine is unreachable from the browser. Check the address and that the browser is on the same network.
Status shows bad credentialsThe user name or password on the record is wrong. Correct them; the connection reopens automatically.
Reset does nothing and warnsIt refuses when the status is disconnected or credentials are rejected. Restore the connection first.
The status shows a raw codeThat code has no readable mapping. Expected fallback. Report the code to the vendor.
It reconnects while I type elsewhereThe effect depends on the whole record data object. Harmless; the connection reopens quickly.
The admin page will not openNo address configured, or a protocol and port mismatch. Set the address; the port follows the protocol automatically.

Glory admin buttons vs the alternatives

WidgetBest forKey difference
pos_glory_cash_admin_buttonsSetting up and diagnosing a Glory cash machineA live websocket status with a guarded reset, on top of log and admin page tools
pos_cashdro_admin_buttonsThe CashDro cash machineLogs and diagnostics only, with no live status or reset
lna_checklistChecking local network access prerequisitesA checklist rather than a device connection
pos_payment_provider_cardsChoosing a payment terminal providerSetup rather than diagnostics

The CashDro widget is the direct comparison: the same log and diagnostics tools without the live status or the reset. Where a device exposes no protocol of its own, a plain link to its address is all that is available.

Frequently asked questions

How does the status stay current?+
The widget opens a connection to the machine and writes each reported status into local state, reconnecting whenever the record's data changes.
Why does reset refuse sometimes?+
It refuses when the status is disconnected or the credentials were rejected, because sending a reset over a connection that is not working would silently do nothing.
Why does it reconnect when I edit another field?+
The reconnect effect depends on the whole record data object rather than the three connection fields, so any edit re-runs it. It is harmless in practice.
How is the admin page port chosen?+
From the protocol of the Odoo page: one port for plain HTTP and another for secure. On the development branch a local network access flag can force plain HTTP.
Does it have options?+
None. It takes the standard view widget props and reads everything it needs from the record.

Cash handling that survives the Friday rush

Recyclers, drawers and reconciliation rules need to agree with each other before the queue builds. We implement Odoo Point of Sale with the hardware you actually run, on versions 16 through 19.

Book a free consultation

How this page was produced

The websocket connection and its record-data effect, the status string mapping with its raw fallback, the reset guard on disconnected and bad credential states, the sticky notification pattern and the port choice by protocol were read from the Glory admin buttons source on the Odoo 19.0 branch. The Odoo 20 section comes from a line by line comparison against the same file on the public development branch. Spotted an error? Tell us and we will correct the page.