3fe43d1fc0
Fix quantity ordered scope for SQLite: use pathname column instead of recursive CTE
...
SQLite's Arel visitor wraps CTE branches in extra parentheses, making
the UNION ALL inside recursive CTEs invalid. Also SQLite lacks LPAD()
and CAST(... AS BINARY). Fix by using the existing pathname column for
ordering on SQLite, which already encodes the hierarchical path.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-10 18:41:03 +00:00
9b18784caf
Implement measurements create/destroy and index listing
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-10 18:24:27 +00:00
80130fb7d1
Allow cascade delete Unit/Quantity
...
Closes #32
2026-02-22 17:50:43 +01:00
bd1a664caa
Measurement form based on select-styled <details>
2026-01-31 17:22:09 +01:00
da38d8b585
Create Devise routes only when 'users' table exists
...
Closes #42
2025-07-25 15:30:26 +02:00
e12369cea1
Measurements#new form improvements
2025-05-13 22:30:58 +02:00
ef3484dfdf
Update Measurements#new form pathnames on actions
2025-05-07 00:24:05 +02:00
9dbcfddf98
Merge corrections provided by Bambuch, cont.
2025-04-26 19:12:56 +02:00
e8a0768d97
Update Quantity.depth using WITH + UPDATE ALL
2025-04-25 14:25:13 +02:00
d1593df0e0
Use callbacks instead of attribute methods to update cached values
2025-04-24 18:59:36 +02:00
fe66522c21
Cached attribute definition (attr_cached)
2025-04-19 20:29:29 +02:00
1cddc794d2
Cleanup Quantity :pathname related code
2025-03-23 13:11:14 +01:00
3b30e58ff3
Persist Quantity :pathname
2025-03-23 12:56:57 +01:00
8401424efa
Partial refresh of Measurements#new form
2025-02-18 18:27:47 +01:00
c48bf290fd
Implement Measurements#new
2025-02-18 11:25:32 +01:00
3d7daa8944
Create Readout model
2025-01-22 00:14:57 +01:00
6300273186
Cleanup
2025-01-16 21:37:58 +01:00
7962cdf169
Simplify object and association checks
...
* check for <object> instead of <object>.nil?
* check for <association>_id? instead of <association>.nil? (avoids
record loading)
2025-01-16 20:42:18 +01:00
c908063212
Persist Quantity :depth instead of computing it on the fly
2025-01-16 17:14:52 +01:00
30686dd1fc
Cleanup of hierarchy related methods
2025-01-16 03:24:43 +01:00
2c0ae1530a
Turn #ancestors into #with_ancestors scope
2025-01-14 23:27:32 +01:00
27038a74d0
Return Quantity progenies as a result of partial ordering
...
Separate scope only provided some optimisation by reducing the count of
records :numbered and should be unnecessary in future once numbering
can be merged with ordering into one recursive query
2025-01-14 23:25:26 +01:00
8524beefdc
Allow to drag all Quantities
2025-01-14 15:03:25 +01:00
644d1f4b9a
Add Quantity #reparent action
2025-01-14 15:02:38 +01:00
4b453c1a82
Add :progenies as a scope to list ordered descendants of Quantity
2025-01-14 01:01:06 +01:00
0652d4a89b
Disallow self- and descendant-reference for base/parent
2025-01-12 19:15:43 +01:00
17b4e4f8a7
Don't duplicate ancestors search in #successive
2025-01-12 18:11:37 +01:00
421515e5ce
ancestors() sets depth for self, instead of returning new instance
2025-01-12 18:09:34 +01:00
d5e7ccacf5
Add Quantity #edit and #update
2025-01-11 22:51:49 +01:00
b6acb30785
Make Quantity name unique among siblings
...
Remove Quantity domain - will be replaced by configurable per-domain
root Quantity, limiting selection to descendants only
2025-01-11 21:50:36 +01:00
57f10c94a4
Add Quantity #new, #create, #destroy actions
2025-01-11 17:01:34 +01:00
1e7ef75e8b
Include self and ancestors in result
2025-01-09 15:59:18 +01:00
c7f16514d2
Re-format query
2025-01-09 15:58:21 +01:00
9461c1f979
Update #successive for unlimited depth hierarchy
2025-01-08 14:29:49 +01:00
fa7918f0e3
Set row indentation based on depth
2025-01-08 13:55:40 +01:00
0d8e7c6c0e
Unlimited depth hierarchy ordering
2025-01-08 02:18:38 +01:00
aa862f0e90
Quantities index WIP
2025-01-05 20:47:49 +01:00
ed0234f158
Allow only positive Unit multiplier
...
Closes #51
2025-01-04 15:32:07 +01:00
55b6ff3248
Find successive Unit according to sort order
...
This will allow to insert Units into table without refresh of all
items/removal of forms
2024-12-19 03:42:28 +01:00
f3f0b9dc9e
Fix UnitsiTest#test_index
2024-12-09 20:00:14 +01:00
0b201606c2
Replace #columns_hash with #type_for_attribute for limits
2024-12-08 13:47:30 +01:00
15a5515c99
Extend NumericalityValidator to check precision and scale
...
Use new checks on Unit.multiplier
Closes #28
2024-12-07 20:41:19 +01:00
2cbae12fa2
Implement Units default destroy
2024-11-30 16:11:31 +01:00
1fedd70fe5
Fix defaults listing
...
Base symbol was displayed twice when it existed as default and
non-default and both of them had at least one subunit.
Also: sorting by base_id yielded non-alphabetic order in such case.
2024-11-27 19:54:50 +01:00
f9bd81c6ab
Implement Unit defaults export
...
Disable import_all until implemented
2024-11-26 02:31:25 +01:00
3711251656
Unit: limit symbol length, change name:string -> description:text
...
Closes #11
Closes #12
2024-11-24 15:13:59 +01:00
d6fdff252a
Validate User 'email' and 'unconfirmed_email' lengths
...
Closes #6
2024-11-24 14:11:54 +01:00
e75391ae18
Display User name using #to_s
2024-11-23 14:55:29 +01:00
76ce2eeedd
Display Unit name using #to_s
2024-11-23 02:24:08 +01:00
bdc4ec4644
Specify user modifiable ATTRIBUTES
2024-11-22 15:48:09 +01:00