Commit graph

96 commits

Author SHA1 Message Date
881157bd10
i18n: Add German and English translations for UI strings
- Fill in empty msgstr entries in German translations
- Add translations for user actions, error messages, and form labels
- Ensure all UI strings are consistently translated
2026-01-13 15:20:17 +01:00
9ecfe784db
Add missing Gettext translations for member deletion errors
Add German and English translations for member deletion success and
error messages.
2026-01-13 15:17:03 +01:00
bc87893134
Integrate Member policies in LiveViews
- Add on_mount hook to ensure user role is loaded in all Member LiveViews
- Pass actor parameter to all Ash operations (read, get, create, update, destroy, load)
2026-01-13 15:12:24 +01:00
469c4c0c1d i18n: update translations
All checks were successful
continuous-integration/drone/push Build is passing
2026-01-13 10:55:09 +01:00
3fd6410bb4
style: fix linting
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-12 15:37:58 +01:00
8a1b14fc79
fix: fix tests and remove navbar remainings
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-12 15:16:31 +01:00
e7515b5450
Merge remote-tracking branch 'origin/main' into sidebar 2026-01-12 14:15:12 +01:00
922f9f93d0 Merge branch 'main' into feature/223_memberfields_settings
All checks were successful
continuous-integration/drone/push Build is passing
2026-01-12 13:15:40 +01:00
e38de7d690 chore: rename custom to data field in the UI
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-12 09:50:51 +01:00
675ab14fce
fix: correct German translations for role management
Fix incorrect translations:
- 'Listing Roles' -> 'Rollen auflisten' (was 'Benutzer*innen auflisten')
- 'Custom' -> 'Benutzerdefiniert' (was 'Benutzerdefinierte Felder')
2026-01-08 16:20:27 +01:00
37a2fc3e83
refactor: replace cond with if in handle_delete_role functions 2026-01-08 16:20:25 +01:00
03c1f747c5
chore: update gettext files and test cleanup
Update translation files after code changes and remove unused
debug logging code from tests.
2026-01-08 16:20:22 +01:00
b638a54bd6
feat: prevent deletion of roles with assigned users 2026-01-08 16:19:47 +01:00
a24bbc2188
feat: convert Settings to dropdown menu with sub-items
- Convert Settings menu item to dropdown (similar to Contributions)
- Add Global Settings and Roles as sub-items
- Update German translations: 'Global Settings' and 'Roles'
2026-01-08 16:19:00 +01:00
36858db97c
feat: add German translations for role management 2026-01-08 16:18:04 +01:00
9a86e0ec01
feat: implement role management LiveViews
Add complete CRUD interface for role management under /admin/roles.

- Index page with table showing name, description, permission_set_name, is_system_role
- Show page for role details
- Form component for create/edit with permission_set_name dropdown
- System role badge and disabled delete button
- Flash messages for success/error
- Authorization checks using MvWeb.Authorization helpers
- Comprehensive test coverage (22 tests)

Routes added under /admin scope. All LiveViews load user role
for authorization checks. Form uses custom dropdown for permission sets.
2026-01-08 16:16:53 +01:00
47c46eaebf i18n: update translations 2026-01-08 11:40:04 +01:00
df8c6a1854 Merge branch 'main' into feature/223_memberfields_settings
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-07 11:42:54 +01:00
909d4af2a2 Merge branch 'main' into feature/223_memberfields_settings 2026-01-07 11:11:02 +01:00
935ef52c10
style: fix linting issues
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-06 11:08:28 +01:00
74a2d07c24 i18n: adapts translation
All checks were successful
continuous-integration/drone/push Build is passing
2026-01-02 16:22:15 +01:00
08f563a412 Merge branch 'main' into bugfix/274_required_custom_fields
Some checks failed
continuous-integration/drone/push Build is failing
2026-01-02 13:47:24 +01:00
0df5d1c0b9
Merge branch 'main' into feature/280_membership_fee_ui
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-26 23:14:10 +01:00
0d79e026e2 fix: add Logger metadata keys and update gettext
All checks were successful
continuous-integration/drone/push Build is passing
Add member_id, member_email, error, error_type, cycles_count, and notifications_count to Logger metadata configuration. Update gettext translations.
2025-12-26 21:52:09 +01:00
a8ea121800
Refactor cycle generator and update translations
All checks were successful
continuous-integration/drone/push Build is passing
Extract error handling into separate functions to reduce nesting depth.
2025-12-26 21:01:17 +01:00
3cf8244cd6 fix linting errors
Some checks failed
continuous-integration/drone/push Build is failing
2025-12-23 18:14:59 +01:00
ca702cf2c1 i18n: Update translations for custom field validation
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-23 17:02:30 +01:00
46fb12c3f4
Add German translations and fix Credo warnings
Add translations for 'Current Cycle Payment Status' and 'Last Cycle
Payment Status'. Replace length/1 with Enum.empty?/1 in seeds tests
to fix Credo warnings.
2025-12-18 15:11:04 +01:00
effb710741
Assign membership fee types to all seed members
Ensure all members created in seeds are assigned to a membership fee type
using round-robin distribution. Add tests to verify all members have fee
types and each fee type has at least one member.
2025-12-18 15:11:03 +01:00
c65b3808bf
Refactor filters to use cycle status instead of paid field
Replace paid_filter with cycle_status_filter that filters based on
membership fee cycle status (last or current cycle). Update
PaymentFilterComponent to use new filter with options All, Paid, Unpaid.
Remove membership fee status filter dropdown. Extend
filter_members_by_cycle_status/3 to support both paid and unpaid filtering.
Update toggle_cycle_view to preserve filter state in URL.
2025-12-18 15:11:02 +01:00
be8a396ab6
Improve payment data box layout and translations
Change 'Payment Cycle' to 'Payment Interval' for accuracy.
Adjust width constraints to use min-w-* instead of fixed w-*
for better responsiveness. Use flex-wrap for better layout.
2025-12-18 15:11:00 +01:00
ab7fa38010
fix: remove last fuzzy marker from Edit Membership Fee Type translation 2025-12-18 15:10:33 +01:00
d7b1b19c0b
fix: remove fuzzy markers from German translations
- Remove fuzzy markers from correctly translated strings
- Fix Edit Membership Fee Type translation
- All membership fee UI translations are now complete
2025-12-18 15:10:09 +01:00
03ad853257
feat: add German translations for membership fee UI
- Add translations for all membership fee related UI elements
- Fix fuzzy translations for membership fee types and cycles
- Add translations for cycle management actions
- Add translations for membership fee status and filters
2025-12-18 15:10:09 +01:00
98dc73ee37
refactor: fix credo warnings and format code
- Replace Enum.map/2 |> Enum.join/2 with Enum.map_join/3 for efficiency
- Refactor get_existing_form_values to reduce cyclomatic complexity
- Replace length/1 with Enum.empty?/1 for better performance
- Update gettext translations
2025-12-18 15:10:07 +01:00
a728968dad
i18n: add German translations for membership fee settings 2025-12-18 15:07:03 +01:00
820ead3429 chore: update gettext 2025-12-18 11:54:23 +01:00
97bba4c218 refactor: use Enum.map_join instead of Enum.map |> Enum.join 2025-12-18 11:54:23 +01:00
f7d23ee7fe i18n: add German translations for membership fee settings 2025-12-18 11:54:23 +01:00
e2c5971daf chore: updates translation
Some checks failed
continuous-integration/drone/push Build is failing
2025-12-16 17:16:44 +01:00
62d04add8e fix: standardize 'Custom Field' capitalization in i18n
Change 'Save Custom field' to 'Save Custom Field' and
'Save Custom field value' to 'Save Custom Field Value' for consistency.
Update gettext files accordingly.
2025-12-16 14:54:43 +01:00
e0712d47bc chore: change payment filter text 2025-12-16 14:35:00 +01:00
18c082a893 chore: updated translation
Some checks failed
continuous-integration/drone/push Build is failing
2025-12-15 10:50:36 +01:00
a8cf6e1b18
chore: update gettext
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-11 01:04:08 +01:00
720f640229
fix: test
Some checks failed
continuous-integration/drone/push Build is failing
2025-12-11 00:55:50 +01:00
d671103ba5 chore: update translation
Some checks failed
continuous-integration/drone/push Build is failing
2025-12-03 22:18:40 +01:00
5ae4450444
Merge branch 'main' into feature/209_hide_field_dropdown
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-03 18:58:40 +01:00
b9bd5882e7 i18n: fix German translations for field visibility dropdown
Remove fuzzy flags and add correct translations for Columns, None, Options, etc
2025-12-03 18:11:24 +01:00
f5b67de870
Merge branch 'main' into feature/209_hide_field_dropdown
Some checks failed
continuous-integration/drone/push Build is failing
2025-12-03 17:38:50 +01:00
ba5fc34d80
Move custom fields to global admin settings
Some checks failed
continuous-integration/drone/push Build is failing
2025-12-03 16:32:40 +01:00