Commit graph

75 commits

Author SHA1 Message Date
Lance Edgar 8fe4c94005 fix: change how snackbar is opened, per upstream changes
old way is now deprecated; new way works with latest flet as well as 0.19.0
2024-07-07 14:22:11 -05:00
Lance Edgar f3ab4f859d fix: add backward compatibility for Flet 0.19.0
this is needed until more dust settles, for sake of testing.  Flet
0.19.0 was the main version used for initial dev (iirc) and while the
app now runs "fine" (and presumably would prefer) the latest Flet
0.23.2, the global error handler does *not* work there yet..

see also https://github.com/flet-dev/flet/issues/3615
2024-07-07 13:52:47 -05:00
Lance Edgar 4eb9442fce feat: begin abstraction for more flexible button menus
plenty more to do here yet, but i'm mostly happy with these patterns.

i don't love the `pos` reference being passed from View down to
Button, since any intermediary controls may not (yet?) need the ref
but must maintain it so buttons can run pos.cmd()

also the `entry` param for cmd() may not be that useful since we can
pass arbitrary kwargs?
2024-07-06 23:39:55 -05:00
Lance Edgar 34390e4320 fix: avoid deprecated Page.dialog usage
cf. https://flet.dev/docs/controls/alertdialog
2024-07-05 20:35:56 -05:00
Lance Edgar ab3c3737bb fix: change how we set app to be full screen (again)
this restores the way we did it originally.  am hoping that latest
flet has resolved whatever issue(s) may have been seen before
2024-07-05 20:22:34 -05:00
Lance Edgar 1df3327d9b feat: abandon UserControl as parent class for custom controls
since that is now deprecated; see also

- https://flet.dev/blog/flet-fastapi-and-async-api-improvements#custom-controls-api-normalized
- https://flet.dev/docs/getting-started/custom-controls/

also, the docs now have a good "counter" example which inspired a
change to the timestamp control, hopefully this means smarter thread
management and no more event loop errors..?
2024-07-05 19:53:13 -05:00
Lance Edgar 2a835d9bcb feat: use latest flet, try to fix threading issues
see also, previous comment in pyproject.toml (removed in this commit).

there is some event loop error happening on app exit with latest flet,
which may or may not be solved with this commit.  but since flet is
still essentially in beta phase, seems better to stay on latest
version instead of holding back.

this tries to fix the issue(s) in the following ways:

- timestamp thread is now "daemonized"
- if runtime error happens in timestamp control, ignore and exit thread
- if runtime error happens in main thread error handler, also ignore

we'll see what happens next after some usage
2024-07-05 16:41:11 -05:00
Lance Edgar b8bb42e38c fix: add red highlighting for Terminal ID, if not configured 2024-07-04 16:56:03 -05:00
Lance Edgar 56ac6b2770 bump: version 0.2.0 → 0.2.1 2024-07-01 11:55:59 -05:00
Lance Edgar 95551a3038 fix: use rattail function to create top-level command
share code in case logic ever changes
2024-07-01 11:55:44 -05:00
Lance Edgar 96a571b5d0 bump: version 0.1.0 → 0.2.0 2024-06-10 21:57:16 -05:00
Lance Edgar af840fdcd4 feat: switch from setup.cfg to pyproject.toml + hatchling 2024-06-10 21:56:59 -05:00
Lance Edgar 9378d9b0f8 Cap version of Flet, to avoid "Event loop is closed" error
ugh i really hate to do that, but nothing else did the trick
2024-05-31 14:12:04 -05:00
Lance Edgar 2b2703ea4e Migrate commands to use 'typer' framework 2024-05-15 16:24:01 -05:00
Lance Edgar f18e0d3c3c Set full screen differently, so it always works 2023-11-30 14:43:57 -06:00
Lance Edgar c8788e282e Update subcommand entry point group names, per wuttjamaican 2023-11-30 14:42:25 -06:00
Lance Edgar f9e0e4c02a Add button stub for item refund
not yet implemented though
2023-10-20 14:44:34 -05:00
Lance Edgar 95bf8ecfca More tweaks for training mode
make sure the TRAINING MODE sign in header stays put, instead of
"wandering" as the timestamp is updated

also make sure suspend/resume honors current training mode flag
2023-10-20 14:44:28 -05:00
Lance Edgar 0e5ad257c8 Add basic support for training mode
make it obvious when in effect, mark batches accordingly etc.
2023-10-19 20:53:07 -05:00
Lance Edgar 22894b6c7a Add first attempt at food stamp support
definitely does not work right yet, will have to circle back
2023-10-19 19:13:48 -05:00
Lance Edgar 4a9c93c96b Require decimal point when user enters currency amount
e.g. '10.' or '.10' is ok, but '10' is not allowed due to ambiguity
2023-10-19 15:59:40 -05:00
Lance Edgar 7edceac934 Add basic support for "sale" price 2023-10-18 21:31:08 -05:00
Lance Edgar d933a6acbc Move the '@' button next to main input
not really needed on the 10-key, so replace that with minus sign

this also adds feature to select a line item, then click ITEM to
re-ring the same item (and honor set quantity)
2023-10-12 17:24:21 -05:00
Lance Edgar 7b73438cf9 Require permission to adjust price
also prevent adjustment for void lines etc.
2023-10-12 16:32:42 -05:00
Lance Edgar aab3d9498d Fix snackbar size after sending feedback 2023-10-12 12:03:20 -05:00
Lance Edgar fc2fda7c3a Require permission to remove or replace customer in txn 2023-10-12 11:58:21 -05:00
Lance Edgar e7ecd88e64 Add support for suspend/resume txn 2023-10-11 23:14:43 -05:00
Lance Edgar 52c35ed85c Move "test error" button to about dialog; require perm to use 2023-10-11 19:56:35 -05:00
Lance Edgar 8b526af843 Do not color voided line items in red
strikethrough seems to me enough to distinguish, and probably should
save red for "on sale" items?
2023-10-11 18:50:01 -05:00
Lance Edgar 2c9f3cd41a Add initial support for Open Ring 2023-10-11 18:40:11 -05:00
Lance Edgar fb4206e5a9 Display tax info per line, and totals 2023-10-07 16:32:26 -05:00
Lance Edgar d15f521679 Add stub logic to kick drawer for "no sale" and based on txn tenders 2023-10-06 20:34:41 -05:00
Lance Edgar 61a06ec5de Add basic mechanism for manager override, use for void txn 2023-10-06 09:18:07 -05:00
Lance Edgar 21f848cc82 Move login form to separate control
so we can hopefully use that for "manager override" ..?  we'll see
2023-10-05 22:22:13 -05:00
Lance Edgar 9340e0d1bc Add button for "Adjust Price"
so far no constraints: any user, any item, any price
2023-10-05 20:04:29 -05:00
Lance Edgar 4ed006a93f Add scroll bar, up/down keys for item, customer lookup dialogs 2023-10-05 17:25:07 -05:00
Lance Edgar e59c398b45 Add support for 10-key menu on login screen
if so configured, show that instead of full keyboard
2023-10-05 16:27:32 -05:00
Lance Edgar 734600817f Split the tenkey menu into separate control
hoping to re-use on the login screen, but also makes it easier to
override if needed
2023-10-05 15:12:06 -05:00
Lance Edgar 8f647a85b9 Fix redirect bug, add note about serving under non-root path 2023-10-04 21:03:57 -05:00
Lance Edgar d32ca9fc6a Add config, runtime support for for serve.path 2023-10-04 19:53:13 -05:00
Lance Edgar 069289775e Let config suppress username field for login screen 2023-10-01 19:51:42 -05:00
Lance Edgar 9268d939eb Show tender line items on screen; add "change back" alert 2023-10-01 17:39:02 -05:00
Lance Edgar 7a8dce69b3 Add support for "void line"
also abstract the rendering of a line item to separate class, so can
override later etc.
2023-09-30 21:08:29 -05:00
Lance Edgar d969d5c994 Force user to click Dismiss for uncaught error alert 2023-09-29 13:06:26 -05:00
Lance Edgar e1dcd7d4ed Add support for custom header logo image within assets dir
should avoid external URL for header logo where possible
2023-09-29 13:02:30 -05:00
Lance Edgar cd392fa432 Show alert on-screen when uncaught exception happens 2023-09-29 12:32:06 -05:00
Lance Edgar fc58594699 Add hooks to send email when uncaught exception occurs 2023-09-29 11:46:34 -05:00
Lance Edgar d83204495b Show logo image on login, POS views 2023-09-29 10:01:02 -05:00
Lance Edgar d8ff7dd944 Add testing watermark asset 2023-09-28 12:59:08 -05:00
Lance Edgar 44b3b437e3 Cleanup tender logic a bit; require amount 2023-09-27 20:35:28 -05:00