barbie-bot
f52f4c83dd
Merge upstream/css-cleanup into master
...
Resolves conflicts between upstream/master and upstream/css-cleanup:
- CSS: take css-cleanup versions (button/link style unification, comment cleanup,
table .button styles, [name=cancel]/.auxiliary styles)
- application_helper.rb: use SVG icon for flash message close button (css-cleanup)
- users_test.rb: use single-quote style (css-cleanup), keep sole-admin test (master)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-12 18:07:54 +00:00
barbie-bot
179fe58421
Implement measurements create/destroy and index listing
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-10 18:24:58 +00:00
barbie-bot
1efb1ad86e
Prevent sole admin from deleting their account
...
Without this guard, the last admin in the system could delete their own
account, making the application unmanageable. This adds a model method
`User#sole_admin?`, a controller guard in `RegistrationsController#destroy`,
and disables the delete button in the profile edit view when the current
user is the only remaining admin.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-10 17:50:47 +00:00
cryptogopher
83b064ef3c
Merge recover password/resend confirmation forms into sign in/register
...
Closes #65 , #66
2026-03-01 20:04:42 +01:00
barbie-bot
7904ff3ef9
Add web-based installation wizard
...
Replace the CLI-only setup (db:seed + manual application.rb edits)
with a web wizard shown automatically on first visit when no admin
account exists yet.
SetupController (GET/POST /setup) collects the admin e-mail and
password, a "skip e-mail confirmation" toggle, and an option to
seed the built-in default units. Once submitted it creates the
admin User, persists the chosen options as Setting records, and
redirects to the sign-in page.
ApplicationController gains a redirect_to_setup_if_needed
before_action that catches every request (including Devise routes)
when no admin exists, so a fresh installation always lands on the
wizard rather than an empty sign-in form.
A new Setting model provides a lightweight key-value store for
runtime options that were previously hard-coded in application.rb
(e.g. skip_email_confirmation). RegistrationsController now reads
that flag from the database instead of from the application config.
Seeds.rb is kept for headless / automated deployments and skips
admin creation when an admin already exists (idempotent), with a
comment pointing to the web wizard as the preferred path.
Also extends the SQLite nil-limit fix (|| Float::INFINITY) to the
Quantity model, which suffered the same ArgumentError as Unit.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-28 17:19:24 +00:00
cryptogopher
84945fa4b4
Simplify and improve labeled form
2026-02-22 00:53:18 +01:00
cryptogopher
bd1a664caa
Measurement form based on select-styled <details>
2026-01-31 17:22:09 +01:00
cryptogopher
ef3484dfdf
Update Measurements#new form pathnames on actions
2025-05-07 00:24:05 +02:00
cryptogopher
c48bf290fd
Implement Measurements#new
2025-02-18 11:25:32 +01:00
cryptogopher
9d60eee16b
Add Measurements tab and #new form
2025-01-25 16:34:04 +01:00
cryptogopher
201359de3e
Allow to reparent Quantity everywhere
...
Closes #61
2025-01-14 21:13:35 +01:00
cryptogopher
644d1f4b9a
Add Quantity #reparent action
2025-01-14 15:02:38 +01:00
cryptogopher
0652d4a89b
Disallow self- and descendant-reference for base/parent
2025-01-12 19:15:43 +01:00
cryptogopher
d5e7ccacf5
Add Quantity #edit and #update
2025-01-11 22:51:49 +01:00
cryptogopher
57f10c94a4
Add Quantity #new, #create, #destroy actions
2025-01-11 17:01:34 +01:00
cryptogopher
aa862f0e90
Quantities index WIP
2025-01-05 20:47:49 +01:00
cryptogopher
b3aea97087
Add Quantities tab
2025-01-05 03:18:39 +01:00
cryptogopher
b133b2be7c
Add seperate 'no items' message for defaults
...
Closes #53
2025-01-03 18:47:56 +01:00
cryptogopher
fd4c7259b0
Move navigation tab labels
2025-01-02 02:48:33 +01:00
cryptogopher
8552571526
Disable Unit destuction for base units with subunits
...
Closes #40
2024-12-28 23:57:47 +01:00
cryptogopher
0659c1e1c1
Don't render index on Unit actions
2024-12-22 01:31:14 +01:00
cryptogopher
d726e92445
Allow opening multiple new/edit forms
...
Closes #30
2024-12-21 17:52:45 +01:00
cryptogopher
15a5515c99
Extend NumericalityValidator to check precision and scale
...
Use new checks on Unit.multiplier
Closes #28
2024-12-07 20:41:19 +01:00
cryptogopher
d31ff5442a
Update messages for empty Unit/default Unit indexes
...
Closes #26
2024-12-06 15:29:03 +01:00
cryptogopher
b38d72e9b0
Return to per-action permission filters
2024-11-30 20:15:30 +01:00
cryptogopher
13685aa476
Update error handling according to new rules
2024-11-30 16:28:43 +01:00
cryptogopher
2cbae12fa2
Implement Units default destroy
2024-11-30 16:11:31 +01:00
cryptogopher
f4ca1e91fa
Mark redirecting buttons with trailing '...'
...
Closes #2
2024-11-23 23:26:08 +01:00
cryptogopher
76ce2eeedd
Display Unit name using #to_s
2024-11-23 02:24:08 +01:00
cryptogopher
4c09989788
Add translation
2024-11-11 15:43:20 +01:00
cryptogopher
9a02f0b0ae
Fix quotes and translations
2024-11-10 21:46:00 +01:00
cryptogopher
51011951f9
Default Units index
2024-11-10 21:30:19 +01:00
cryptogopher
537cd18336
Change namespace for defaults controllers
...
To allow proper path prefix for view partials when using
config.action_view.prefix_partial_path_with_controller_namespace
2024-11-09 21:50:50 +01:00
cryptogopher
07b4f89d1c
Update /profile/edit layout to grid
...
Closes #29
2024-05-16 21:02:04 +02:00
cryptogopher
927a8330bc
Add souce code and issue tracker links
...
Closes #3
2024-05-12 23:21:30 +02:00
cryptogopher
b4212298df
Add Unit defaults import link
2024-05-04 01:47:53 +02:00
cryptogopher
175ccf6eae
Allow Unit rebase to top-level
...
Outline base Unit row during drag
Closes #25
2024-04-05 02:18:05 +02:00
cryptogopher
a5a75233c7
Validate Unit base user
2024-04-02 22:20:45 +02:00
cryptogopher
1966c782bc
Unit rebase as a separate action
2024-04-02 22:16:27 +02:00
cryptogopher
05b0c66216
Change unit base with drag and drop
2024-03-24 17:38:56 +01:00
cryptogopher
f298acd726
Display errors for table-embedeed forms
2024-03-15 02:40:17 +01:00
cryptogopher
0e8bc18620
Enable creation of subunits
2024-01-22 02:09:46 +01:00
cryptogopher
dec3af27bf
Migrate Users views to grid layout + turbo_stream
...
Closes #7
2024-01-17 03:30:04 +01:00
cryptogopher
5047d4909f
Render units from collection, without redirects
2024-01-15 18:45:30 +01:00
cryptogopher
9a9a139aa7
Handle exceptions during TURBO_STREAM requests
2024-01-15 01:59:30 +01:00
cryptogopher
0801e8059c
Close form on Esc key. Localize submit button.
2024-01-06 18:06:36 +01:00
cryptogopher
6d9f4918f1
Change 'Add unit' link to turbo_stream
2024-01-04 23:11:33 +01:00
cryptogopher
a4745c9cb8
Add Units
2023-07-06 18:34:16 +02:00
cryptogopher
e4f595a329
Fix translations and enable i18n testing
2023-05-14 16:37:53 +02:00
cryptogopher
459836ca38
Add Users#disguise/#revert
2023-05-13 23:38:07 +02:00