Commit graph

  • e7fa3be74c
    feat: add server-side amount validation in membership fee type form Moritz 2025-12-16 12:44:43 +01:00
  • 03aacefb6e
    fix: improve amount validation, layout, and remove duplicate button Moritz 2025-12-16 12:44:15 +01:00
  • 461b8d9c2a
    fix: simplify cycle regeneration test to verify UI functionality Moritz 2025-12-16 12:38:18 +01:00
  • b7a49eabe4
    fix: handle empty cycles result in regenerate_cycles event Moritz 2025-12-16 12:36:18 +01:00
  • 5b0881afa1
    fix: use correct assertion method in cycle regeneration test Moritz 2025-12-16 12:35:24 +01:00
  • 2eff93ee4a
    fix: improve cycle regeneration test with proper member setup Moritz 2025-12-16 12:35:00 +01:00
  • e3ba6e9e7b
    fix: ensure cycles are generated in regeneration test Moritz 2025-12-16 12:33:56 +01:00
  • 94de6b2e8f
    fix: update tests to work with tab navigation and correct selectors Moritz 2025-12-16 12:33:18 +01:00
  • 803d9a0a94
    fix: normalize checkbox value and improve UI layout Moritz 2025-12-16 12:32:04 +01:00
  • 3f723a3c3a
    feat: add cycle management features to membership fees component Moritz 2025-12-16 12:20:05 +01:00
  • 75e6300637
    feat: add membership fee types to navbar contributions menu Moritz 2025-12-16 12:20:01 +01:00
  • 29b39b2793
    fix: handle form errors correctly in membership fee settings Moritz 2025-12-16 12:19:57 +01:00
  • 8899e1986a
    feat: add pattern validation for amount input field Moritz 2025-12-16 12:19:56 +01:00
  • e0702240d3
    feat: add membership fee type name to payment data section Moritz 2025-12-16 12:19:54 +01:00
  • cd46478024
    refactor: optimize format_currency using pipe operator Moritz 2025-12-16 12:10:27 +01:00
  • 4c66628802
    fix: extract form values directly from form fields to preserve them Moritz 2025-12-16 12:10:25 +01:00
  • aece03c9c2
    feat: show both last and current cycle status in payment data Moritz 2025-12-16 12:10:23 +01:00
  • 355d5bea9e
    fix: use conn_with_password_user instead of log_in_user in test Moritz 2025-12-16 12:02:04 +01:00
  • e8e47fd92a
    fix: remove unused variable in format_currency function Moritz 2025-12-16 11:59:40 +01:00
  • 8ed9adeea0
    fix: preserve form values when only interval field changes Moritz 2025-12-16 11:59:39 +01:00
  • 5460ebdd5a
    feat: add payment data section with membership fee type info Moritz 2025-12-16 11:59:36 +01:00
  • ebd590c81c
    chore: remove notes.md Moritz 2025-12-16 11:40:48 +01:00
  • 5789079ab0
    test: add comprehensive tests for membership fee UI components Moritz 2025-12-16 11:13:09 +01:00
  • bc989422e2
    refactor: reduce function nesting depth to fix Credo warnings Moritz 2025-12-16 11:07:28 +01:00
  • 1fde2985e5
    feat: add routes for membership fee types admin Moritz 2025-12-16 10:57:57 +01:00
  • 810a54c11f
    feat: add membership fee types admin interface Moritz 2025-12-16 10:57:55 +01:00
  • 35cafd6e6a
    feat: add membership fee type dropdown to member form Moritz 2025-12-16 10:57:53 +01:00
  • 920cae656e
    feat: add membership fees section to member detail view Moritz 2025-12-16 10:57:51 +01:00
  • 99dc17bf4d
    feat: add membership fee status column to member list Moritz 2025-12-16 10:57:48 +01:00
  • 06de9d2c8b
    feat: allow amount updates for membership fee cycles Moritz 2025-12-16 10:57:46 +01:00
  • 09dfbe455b
    feat: add membership fee helper modules Moritz 2025-12-16 10:57:44 +01:00
  • a728968dad
    i18n: add German translations for membership fee settings Moritz 2025-12-12 18:00:38 +01:00
  • b6bc182510 Merge pull request 'Cycle Management & Member Integration closes #279' (#294) from feature/279_cycle_management into main moritz 2025-12-18 15:01:56 +01:00
  • 017ee5bc0c
    refactor: reduce nesting depth in process_batch function Moritz 2025-12-15 16:25:55 +01:00
  • d720670fd2
    fix: address notification handling review feedback Moritz 2025-12-15 16:20:37 +01:00
  • c25ffdc034
    refactor: implement proper notification handling via after_action hooks Moritz 2025-12-15 15:56:32 +01:00
  • 98b56fc406
    fix: resolve notification handling and maintain after_action for cycle regeneration Moritz 2025-12-15 15:26:05 +01:00
  • ba0ece9dc6
    fix: correct return_notifications? logic to prevent missed notifications Moritz 2025-12-15 13:22:35 +01:00
  • 0783a2fe18
    refactor: reduce nesting depth in regenerate_cycles_on_type_change Moritz 2025-12-15 13:15:31 +01:00
  • 66d0c9a702
    fix: address code review points for cycle regeneration Moritz 2025-12-15 13:12:17 +01:00
  • 6158602598
    refactor: reduce complexity of with_advisory_lock function Moritz 2025-12-15 12:33:20 +01:00
  • d8e9c157bf
    fix: prevent deadlocks by detecting existing transactions Moritz 2025-12-15 12:32:05 +01:00
  • 9d7d06d430
    test: update test to reflect nil assignment prevention Moritz 2025-12-15 12:27:37 +01:00
  • 70e673034a
    fix: remove unused variable warning in ValidateSameInterval Moritz 2025-12-15 12:23:19 +01:00
  • 4867bb9470
    docs: update architecture docs for atomic cycle regeneration Moritz 2025-12-15 12:22:57 +01:00
  • 094ed857ed
    test: add monthly interval tests for cycle calculations Moritz 2025-12-15 12:22:34 +01:00
  • 9c18be61a8
    test: remove Process.sleep from type change integration tests Moritz 2025-12-15 12:22:06 +01:00
  • 0e8f492800
    fix: prevent nil assignment for membership_fee_type_id Moritz 2025-12-15 12:21:36 +01:00
  • 6183fc6978
    fix: implement fail-closed behavior in ValidateSameInterval Moritz 2025-12-15 12:21:22 +01:00
  • 69c9746974
    fix: make cycle regeneration atomic on type change Moritz 2025-12-15 12:21:00 +01:00
  • f6e2ecd74b
    refactor: reduce nesting depth and improve code readability Moritz 2025-12-15 11:50:08 +01:00
  • b9fb115eb5
    feat: regenerate cycles when membership fee type changes (same interval) Moritz 2025-12-15 11:00:08 +01:00
  • 3177ea20dd
    feat: add validation for same-interval membership fee type changes Moritz 2025-12-12 20:08:03 +01:00
  • 43ec281242
    feat: add cycle status calculations to Member resource Moritz 2025-12-12 19:58:52 +01:00
  • 910a91aa74
    feat: add status management actions to MembershipFeeCycle Moritz 2025-12-12 19:40:17 +01:00
  • ac786662b1 Merge pull request 'Membership Fee Type Resource & Settings closes #278' (#291) from feature/278_membership_fee_settings into main moritz 2025-12-18 14:17:09 +01:00
  • d75e2b7a46 feat: add 4 example membership fee types to seed script Moritz 2025-12-12 19:10:02 +01:00
  • 820ead3429 chore: update gettext Moritz 2025-12-12 19:08:03 +01:00
  • f0e1d3fade docs: document require_atomic? false in MembershipFeeType actions Moritz 2025-12-12 19:06:08 +01:00
  • 78b5335456 refactor: migrate MembershipFeeSettingsLive to AshPhoenix.Form Moritz 2025-12-12 19:05:41 +01:00
  • 511f52fba8 feat: improve error handling in settings validation for default_membership_fee_type_id Moritz 2025-12-12 19:02:22 +01:00
  • 4813d6080b feat: prevent deletion of membership fee type when used as default in settings Moritz 2025-12-12 19:01:18 +01:00
  • 97bba4c218 refactor: use Enum.map_join instead of Enum.map |> Enum.join Moritz 2025-12-12 18:16:55 +01:00
  • 283f824f4d fix: improve accessibility - WCAG 2 AA contrast and select label Moritz 2025-12-12 18:09:15 +01:00
  • 630b51ac34 refactor: replace ContributionSettingsLive mockup with MembershipFeeSettingsLive in navigation Moritz 2025-12-12 18:05:19 +01:00
  • f7d23ee7fe i18n: add German translations for membership fee settings Moritz 2025-12-12 18:00:38 +01:00
  • e135a6cdbf feat: implement full CRUD for membership fee types with settings UI Moritz 2025-12-12 17:52:52 +01:00
  • ff39448fd6 Merge pull request 'Cycle Generation System closes #277' (#290) from feature/277_cycle_generation into main moritz 2025-12-18 11:53:10 +01:00
  • 6084827c73 test: updated carla 2025-12-17 14:34:10 +01:00
  • bbc094daaa fix: add validation for required custom fields carla 2025-12-17 13:31:15 +01:00
  • e2c5971daf chore: updates translation carla 2025-12-16 17:16:44 +01:00
  • c88f805b6e style: combines member and custom fields in settings carla 2025-12-16 17:16:29 +01:00
  • 5fa0b48acc feat: adds form for member fields carla 2025-12-16 17:12:26 +01:00
  • ed083830b9 refactor: improve cycle generation code quality and documentation Moritz 2025-12-12 17:41:22 +01:00
  • 62a2bd41ea fix: handle Ash notifications in CycleGenerator transactions Moritz 2025-12-12 16:53:57 +01:00
  • d9ca6b1763 test: fix date dependencies in cycle generator tests Moritz 2025-12-12 16:41:44 +01:00
  • de7a94ab07 fix: CycleGenerator generates from last cycle, not filling gaps Moritz 2025-12-12 16:33:39 +01:00
  • 539084fdf1 test: make CycleGenerator tests more robust Moritz 2025-12-12 16:25:41 +01:00
  • 13790dda43 feat: improve error handling in CycleGenerator Moritz 2025-12-12 16:23:12 +01:00
  • d01033c720 feat: include inactive members in batch cycle generation Moritz 2025-12-12 16:21:36 +01:00
  • 78747d7da0 refactor: improve SetMembershipFeeStartDate change module Moritz 2025-12-12 16:16:11 +01:00
  • e899004b3c feat: add error logging in after_action cycle generation hooks Moritz 2025-12-12 16:09:37 +01:00
  • 434bcd269f refactor: use sql_sandbox config instead of env for sync/async Moritz 2025-12-12 16:05:39 +01:00
  • 25cc41b02e feat: implement automatic cycle generation for members Moritz 2025-12-11 21:16:47 +01:00
  • 894b9b9d5c Merge pull request 'Calendar Cycle Calculation Logic closes #276' (#284) from feature/276_cycle_calculation into main moritz 2025-12-16 16:39:35 +01:00
  • a7285915e6 docs: fix CalendarCycles documentation to match actual implementation Moritz 2025-12-11 20:21:20 +01:00
  • da6c495d04 refactor: improve CalendarCycles API and tests based on code review Moritz 2025-12-11 20:08:19 +01:00
  • 3fc4440bce feat: implement calendar-based cycle calculation functions Moritz 2025-12-11 19:45:01 +01:00
  • 0a07f4f212 Merge pull request 'Small UX fixes closes #281' (#293) from feature/281_uxfixes into main moritz 2025-12-16 15:06:00 +01:00
  • 1df1b4b238 test: use data-testids instead of regex in a11y tests Moritz 2025-12-16 14:55:50 +01:00
  • 62d04add8e fix: standardize 'Custom Field' capitalization in i18n Moritz 2025-12-16 14:54:43 +01:00
  • 9f9d888657 test: add tests for disabled button states in member index Moritz 2025-12-16 14:53:10 +01:00
  • be6ea56860 fix: improve mailto BCC encoding Moritz 2025-12-16 14:51:42 +01:00
  • fb91f748c2 perf: optimize member index selection calculations Moritz 2025-12-16 14:50:52 +01:00
  • 222af635ae fix: make disabled links more robust in CoreComponents.button Moritz 2025-12-16 14:48:18 +01:00
  • dd4048669c fix: update clubname on save carla 2025-12-15 08:50:42 +01:00
  • e0712d47bc chore: change payment filter text carla 2025-12-15 08:50:05 +01:00
  • 4e86351e1c feat: disable email buttons instead hide them carla 2025-12-15 08:44:24 +01:00
  • 8bfa5b7d1d chore: remove immutable from custom fields carla 2025-12-12 14:20:07 +01:00
  • cb82c07cbf Merge pull request 'Membership Fee - Database Schema & Ash Domain Foundation closes #275' (#283) from feature/275_member_fee_domain into main moritz 2025-12-16 14:06:45 +01:00