3710d70024
Merge pull request 'Member Fee Concept closes #210 ' ( #221 ) from docs/210_payment-concept into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #221
Reviewed-by: carla <carla@noreply.git.local-it.org>
2025-12-11 15:54:29 +01:00
3fd8483231
docs: small changes based on review
continuous-integration/drone/push Build is passing
2025-12-11 15:52:32 +01:00
f5ef16ec20
docs: change wording
...
contribution -> membership fee
period -> cycle
2025-12-11 15:52:32 +01:00
85a66f800e
Merge pull request 'chore(deps): update dependency gettext to v1' ( #185 ) from renovate/major-mix-dependencies into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #185
2025-12-11 15:28:45 +01:00
Renovate Bot
dbcfe6a29f
chore(deps): update dependency gettext to v1
continuous-integration/drone/push Build is passing
2025-12-11 14:56:19 +01:00
0a2632102c
Merge pull request 'chore(deps): update mix dependencies' ( #249 ) from renovate/mix-dependencies into main
...
continuous-integration/drone/push Build is failing
Reviewed-on: #249
2025-12-11 14:55:51 +01:00
9dba4d1019
fix: credo warnings
continuous-integration/drone/push Build is passing
2025-12-11 14:21:40 +01:00
Renovate Bot
1c60bc77b4
chore(deps): update mix dependencies
continuous-integration/drone/push Build was killed
2025-12-11 14:17:40 +01:00
d5ac168add
Merge pull request 'Implements search for custom fields closes #196 ' ( #266 ) from feature/196_search_custom_fields into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #266
2025-12-11 14:07:40 +01:00
00fe471bc0
fix: custom field substring search - pass id as parameter
...
continuous-integration/drone/push Build is passing
Fragment 'member_id = id' did not resolve correctly. Now passes id as
Ash expression. Also changed LIKE to ILIKE for case-insensitive search.
2025-12-11 14:04:13 +01:00
ca5fad0dcc
security: add input sanitization for search queries
...
continuous-integration/drone/push Build is passing
- Escape SQL LIKE wildcards (% and _) to prevent pattern injection
- Limit search query length to 100 characters
- Apply sanitization in both :search action and linking filters
- FTS and fuzzy search use unsanitized query (wildcards not special there)
2025-12-11 13:49:07 +01:00
1ec6188884
perf: remove custom field search from user-linking autocomplete
...
Custom field LIKE queries on JSONB are expensive (no index).
User linking only needs name/email search for autocomplete.
Custom fields are still searchable via main member search (uses FTS index).
Remove unnecessary credo:disable as function complexity is now acceptable.
2025-12-11 13:49:07 +01:00
062dad99fb
refactor: remove unused fields parameter from fuzzy_search API
...
The fields parameter was accepted but never used in the :search action.
Simplify API to only accept the query parameter.
Update @doc to reflect the actual functionality.
2025-12-11 13:49:07 +01:00
12f95c1998
docs: document fuzzy search similarity threshold strategy
...
Explain the two-tier matching approach:
- % operator with server-wide threshold (0.3) for fast index scans
- similarity functions with configurable threshold (0.2) for edge cases
Add rationale for threshold value based on German name testing
2025-12-11 13:49:06 +01:00
add855c8cb
refactor: remove redundant ilike filter in build_substring_filter
...
contains(city, ^query) already produces ILIKE '%query%'
ilike(city, ^pattern) with pattern="%query%" is identical
2025-12-11 13:49:06 +01:00
265e976d94
fix: simplify JSONB extraction - remove redundant operators
...
- Replace 4 LIKE checks with 2 in build_custom_field_filter
- Simplify CASE blocks in migration trigger functions
- ->> operator always returns text, no need for -> + ::text fallback
- Performance improvement: 50% fewer LIKE operations
2025-12-11 13:49:05 +01:00
014ef04853
docs: updated docs
continuous-integration/drone/push Build is passing
2025-12-11 13:44:30 +01:00
8c361cfc88
feat: updates query in member ressource
2025-12-11 13:44:30 +01:00
c2302c5861
chore: adds migration for ts vector custom field
2025-12-11 13:44:30 +01:00
a729d81bb9
test: adds tests for custom field search
2025-12-11 13:44:30 +01:00
37495095c9
Merge pull request 'chore(deps): update renovate/renovate docker tag to v42' ( #257 ) from renovate/renovate-renovate-42.x into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #257
2025-12-11 13:26:13 +01:00
Renovate Bot
9150188922
chore(deps): update renovate/renovate docker tag to v42
continuous-integration/drone/push Build is passing
2025-12-11 02:30:06 +00:00
9ff7d7d17b
Merge pull request 'Fix small UI issues closes #220 ' ( #259 ) from feature/220_ui_issues_2 into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #259
2025-12-11 02:13:29 +01:00
b1f6d29ca1
Merge remote-tracking branch 'origin/main' into feature/220_ui_issues_2
continuous-integration/drone/push Build is passing
2025-12-11 01:49:12 +01:00
a8cf6e1b18
chore: update gettext
continuous-integration/drone/push Build is passing
2025-12-11 01:04:08 +01:00
720f640229
fix: test
continuous-integration/drone/push Build is failing
2025-12-11 00:55:50 +01:00
1675d66b67
translate field names for visibility dropdown
continuous-integration/drone/push Build is failing
2025-12-11 00:51:26 +01:00
acd6d79efe
Merge pull request 'Perform migrations in entrypoint' ( #268 ) from perform-migration-on-startup into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #268
Reviewed-by: moritz <moritz@noreply.git.local-it.org>
2025-12-10 23:36:12 +01:00
280f024602
run migrations via entrypoint script
continuous-integration/drone/push Build is passing
2025-12-10 23:26:34 +01:00
18641bb6ea
Merge pull request 'UX - Avoid opening member by clicking the checkbox closes #233 ' ( #250 ) from feature/223_member_checkbox into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #250
Reviewed-by: carla <carla@noreply.git.local-it.org>
2025-12-08 12:11:47 +01:00
c3e95ca711
formatting
continuous-integration/drone/push Build is passing
2025-12-08 11:51:45 +01:00
1b06f885bf
Merge branch 'main' into feature/223_member_checkbox
continuous-integration/drone/push Build is failing
2025-12-08 11:43:54 +01:00
8512be0282
feat: reuse form_section in settings
continuous-integration/drone/push Build is failing
2025-12-04 12:32:24 +01:00
89b02aeacf
Merge branch 'main' into feature/220_ui_issues_2
continuous-integration/drone/push Build is failing
2025-12-04 12:25:46 +01:00
d671103ba5
chore: update translation
continuous-integration/drone/push Build is failing
2025-12-03 22:18:40 +01:00
94de429529
style: translate fieldtypes and payment as button
2025-12-03 22:18:18 +01:00
9cda832b82
fix: request scopes email and profile
continuous-integration/drone/push Build is passing
2025-12-03 22:02:23 +01:00
613a5f2643
feat: support email scope to retrieve oidc info
continuous-integration/drone/push Build is passing
2025-12-03 21:51:12 +01:00
3d4020cf27
Merge pull request 'Fix oidc for authentik' ( #258 ) from fix-oidc-for-authentik into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #258
Reviewed-by: carla <carla@noreply.git.local-it.org>
2025-12-03 20:52:20 +01:00
e03693ada5
style: fix formatting
continuous-integration/drone/push Build is passing
2025-12-03 20:51:26 +01:00
f0391d3fef
fix: oidc with authentik not working
continuous-integration/drone/push Build is failing
2025-12-03 20:34:33 +01:00
702eebd110
Merge pull request 'Implement dropdown to show/hide columns in member overview closes #209 ' ( #240 ) from feature/209_hide_field_dropdown into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #240
Reviewed-by: moritz <moritz@noreply.git.local-it.org>
2025-12-03 19:01:13 +01:00
5ae4450444
Merge branch 'main' into feature/209_hide_field_dropdown
continuous-integration/drone/push Build is passing
2025-12-03 18:58:40 +01:00
cf6a108049
refactor: DRY - use Mv.Constants.custom_field_prefix() instead of string literals
continuous-integration/drone/push Build is passing
2025-12-03 18:47:27 +01:00
fabfe64468
refactor: rename custom_fields/member_fields to extract_*_field_keys for clarity
2025-12-03 18:44:17 +01:00
6029920c3f
refactor: cleanup dropdown_menu component (required attr, remove redundant defaults, fix checkbox)
2025-12-03 18:42:49 +01:00
6cf955b024
fix: get_from_cookie now correctly handles list return from get_req_header
2025-12-03 18:37:51 +01:00
217ed632fa
fix: preserve paid_filter in URL when toggling field visibility
2025-12-03 18:36:13 +01:00
3b038d451d
fix: use all_custom_fields in prepare_dynamic_cols
...
Allows users to enable globally hidden custom fields in the table view
2025-12-03 18:20:32 +01:00
ecc6522571
test: restore deleted tests with dynamic field visibility support
...
Adapts icon distribution test for dynamic fields, restores empty cell test
2025-12-03 18:13:30 +01:00