Commit graph

61 commits

Author SHA1 Message Date
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
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
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
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
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
a8cf6e1b18
chore: update gettext
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-11 01:04:08 +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
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
80a06c3609
Add some missing translations
All checks were successful
continuous-integration/drone/push Build is passing
This reverts commit 5c8a44c388.
2025-12-03 16:28:17 +01:00
5c8a44c388 Merge branch 'main' into skip-gettext-comment-line-numbers
Some checks failed
continuous-integration/drone/push Build is failing
2025-12-03 15:37:47 +01:00
2542bcf9e4
fix: improve gettext translations and deduplicate email formatting in member views
Some checks reported errors
continuous-integration/drone/push Build was killed
2025-12-03 15:30:09 +01:00
ed961f7585
Redesign member view/edit UI with improved accessibility
- Group fields into Personal Data, Custom Fields, and Payment Data sections
- Fix WCAG AA contrast issues and semantic HTML (dt/dd in dl)
- Format mailto links with member name in href attribute
2025-12-03 15:29:29 +01:00
94245cbc0f
Skip writing line numbers in gettext file comments
Some checks reported errors
continuous-integration/drone/push Build was killed
2025-12-03 14:53:54 +01:00
dfff2486b5
Fix postgres errors when running tests
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-03 14:47:58 +01:00
cd1af5aff5 feat: Add contribution management mock-up pages
Add non-functional preview pages for Contribution Types, Settings, and Member Contribution Periods with German translations
2025-12-03 14:32:09 +01:00
125f9ae77b
fix: mailto formatting
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-03 10:14:57 +01:00
b0c94234a9
chore: update gettext
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-02 16:46:07 +01:00
671e6ce804
feat: add payment status filter and paid column to member list
Add PaymentFilterComponent dropdown and colored paid column. Filter supports URL bookmarking and combines with search/sort.
2025-12-02 15:55:23 +01:00
a67a91cffa
Mark required fields in UI
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-02 15:23:44 +01:00
ba78a6ac7a feat: improve email copy UX with colored alerts and mailto button
All checks were successful
continuous-integration/drone/push Build is passing
- Green success alert for copied confirmation
- Blue info alert with BCC privacy tip
- Mailto button opens email program with BCC recipients
- Alerts stack vertically instead of overlapping
2025-12-02 11:42:11 +01:00
e2ace3d2a8 feat: add bulk email copy for selected members (#230)
All checks were successful
continuous-integration/drone/push Build is passing
Copy selected members' emails to clipboard in 'First Last <email>' format
2025-12-02 10:02:58 +01:00
f9ff6d3d2d fix: remove unused branch in seeds and fixed translations
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-01 10:54:12 +01:00
fdae610da0 adds translation 2025-12-01 10:43:19 +01:00
2284cd93c4 translate: add translation
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-01 08:53:18 +01:00
4b4ec63613 feat: improve user-member linking UI and error messages
All checks were successful
continuous-integration/drone/push Build is passing
Reload members on email change, extract user-friendly errors from Ash, add translations
2025-11-20 21:45:05 +01:00
078809981d
docs: add translations and update development log (#168) 2025-11-20 16:51:44 +01:00
8ba15eb16b
refactor: change wording to hide technical details
All checks were successful
continuous-integration/drone/push Build is passing
2025-11-20 15:07:47 +01:00
2af23f4042
feat: custom field deletion 2025-11-20 15:04:08 +01:00
efb3e1cc37
feat: add translation
All checks were successful
continuous-integration/drone/push Build is passing
2025-11-20 14:25:06 +01:00
bc75a5853a
fix: correction of some english translation
All checks were successful
continuous-integration/drone/push Build is passing
2025-11-20 13:48:05 +01:00
158ac52d97
feat: Add Custom Fields link to navbar
All checks were successful
continuous-integration/drone/push Build is passing
2025-11-13 18:52:24 +01:00
7f77eb7023
feat: Add German translations and extended seeds for custom fields 2025-11-13 18:52:24 +01:00
d02461f8ea fix missing translations 2025-11-13 16:33:29 +01:00
4ba03821a2 add translation 2025-11-13 16:33:29 +01:00