446f75bcc1
fix: remove unused variable warning in ValidateSameInterval
2025-12-15 12:40:31 +01:00
9f33db3fed
test: add monthly interval tests for cycle calculations
2025-12-15 12:40:06 +01:00
f08b520e66
test: remove Process.sleep from type change integration tests
2025-12-15 12:39:51 +01:00
06324d77c5
feat: regenerate cycles when membership fee type changes (same interval)
...
continuous-integration/drone/push Build is failing
- Implemented regenerate_cycles_on_type_change helper in Member resource
- Cycles that haven't ended yet (cycle_end >= today) are deleted and regenerated
- Paid and suspended cycles remain unchanged (not deleted)
- CycleGenerator reloads member with new membership_fee_type_id
- Adjusted tests to work with current cycles only (no future cycles)
- All integration tests passing
Phase 4 completed: Cycle regeneration on type change
2025-12-15 11:39:26 +01:00
6763d4f2eb
feat: add cycle status calculations to Member resource
2025-12-15 11:35:47 +01:00
96729cb2f4
refactor: replace ContributionSettingsLive mockup with MembershipFeeSettingsLive in navigation
2025-12-12 18:05:19 +01:00
da1fd3da73
feat: implement full CRUD for membership fee types with settings UI
...
- Add interval immutability and deletion prevention validations
- Add settings validation for default_membership_fee_type_id
- Create MembershipFeeSettingsLive for admin UI with form handling
- Add comprehensive test coverage (unit, integration, settings)
2025-12-12 17:52:52 +01:00
9dba4d1019
fix: credo warnings
continuous-integration/drone/push Build is passing
2025-12-11 14:21: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
a729d81bb9
test: adds tests for custom field search
2025-12-11 13:44:30 +01:00
c9678231f9
fix: hide paid column and add tests
continuous-integration/drone/push Build was killed
2025-12-03 14:56:39 +01:00
f0613fe1e5
Merge branch 'main' into feature/209_hide_field_dropdown
continuous-integration/drone/push Build is failing
2025-12-03 12:52:12 +01:00
c8968636a8
feat: remove birth_date field from Member resource
...
continuous-integration/drone/push Build is passing
Users who need birthday data can use custom fields instead.
Closes #161
2025-12-02 14:58:50 +01:00
13f77b5c0a
Refactor column visibility logic
continuous-integration/drone/push Build is passing
2025-12-02 14:18:27 +01:00
944b868478
tests: adds tests
2025-12-02 14:16:02 +01:00
f24d4985fc
tests: adds tests
2025-12-02 09:22:26 +01:00
cf354bcf25
test updated
2025-12-01 10:43:19 +01:00
418b42d35a
adds tests
2025-12-01 10:42:10 +01:00
4313703538
test: added tests
2025-12-01 08:50:06 +01:00
df05eafc99
refactor: simplify Member.available_for_linking action to 9 lines
...
Extract filter logic into apply_linking_filters/3 helper, add Credo disable for fuzzy search complexity
2025-11-20 21:44:29 +01:00
173f522da5
test: add tests for user-member linking and fuzzy search ( #168 )
2025-11-20 16:51:43 +01:00
2af23f4042
feat: custom field deletion
2025-11-20 15:04:08 +01:00
edf8b2b79e
feat: add custom field slug
2025-11-20 14:23:25 +01:00
2b3c94d3b2
fix: Allow optional email values in custom fields
continuous-integration/drone/push Build is passing
2025-11-13 18:40:18 +01:00
e9290b7156
feat: Add validation constraints and tests for CustomField and CustomFieldValue
2025-11-13 18:37:58 +01:00
44f88f1ddd
test: aded more tests for fuzzy search
continuous-integration/drone/push Build is passing
2025-11-12 11:55:48 +01:00
0c75776915
formatting
continuous-integration/drone/push Build is passing
2025-10-30 17:20:07 +01:00
3481b9dadf
fix: updated fuzzy search after merge with sorting
continuous-integration/drone/push Build is failing
2025-10-30 17:16:23 +01:00
5e51f99797
test: adds tests for search
2025-10-30 16:50:02 +01:00
91c5e17994
email sync tests
2025-10-23 13:13:27 +02:00
abfc94473f
Member fields
2025-06-18 23:35:25 +02:00