f66cd2933a
docs: add page permission route and test coverage
...
- page-permission-route-coverage.md: route matrix, test coverage per role,
reserved segments.
2026-01-30 00:00:33 +01:00
36b5d5880b
Add CustomField resource policies and tests
...
- Add policies block with HasPermission for read/create/update/destroy
- Add authorizers: [Ash.Policy.Authorizer] to CustomField resource
- Add custom_field_policies_test.exs (read all roles, write admin only)
- Fix CustomField path in roles-and-permissions doc (lib/membership)
2026-01-29 16:10:12 +01:00
709cf010c6
docs: consolidate test performance docs
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-01-29 15:34:14 +01:00
17974d7a12
chore: change pr merge workflow
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build was killed
2026-01-29 14:30:09 +01:00
ea3bdcaa65
refactor: apply review comments
continuous-integration/drone/push Build is passing
2026-01-28 14:42:16 +01:00
050ca4a13c
test: move slow and less critical tests to nightly suite
continuous-integration/drone/push Build is passing
2026-01-28 14:34:05 +01:00
eb2b2436be
docs: add performance analysis on policy tests
2026-01-28 14:01:41 +01:00
91f8bb03bc
refactor: remove tests against basic framework functionalities
continuous-integration/drone/push Build is passing
2026-01-28 13:46:18 +01:00
15d328afbf
test: optimize single test and update docs
continuous-integration/drone/push Build is passing
2026-01-28 13:33:39 +01:00
858a0fc0d0
chore: allow manual nightly-tests pipeline run
continuous-integration/drone/push Build is passing
2026-01-28 12:07:51 +01:00
67e06e12ce
refactor: move slow performance tests to extra test suite
continuous-integration/drone/push Build is passing
2026-01-28 12:00:32 +01:00
f9403c1da9
refactor: improve seeds tests performance by reducing complexity
continuous-integration/drone/push Build is failing
2026-01-28 11:31:31 +01:00
ddc8335cc0
refactor: improve groups LiveView based on code review feedback
continuous-integration/drone/push Build is passing
2026-01-28 10:33:27 +01:00
f05fae3ea3
test: add tdd tests for groups administration #372
continuous-integration/drone/push Build is failing
2026-01-27 18:24:42 +01:00
5df1da1573
Merge branch 'main' into feature/371-groups-resource
continuous-integration/drone/push Build is passing
2026-01-27 17:16:34 +01:00
bfe9fba2e0
Docs: document bypass read rule for CustomFieldValue pattern
...
continuous-integration/drone/push Build was killed
- Bypass action_type(:read) is production-side rule: reading own CFVs
always allowed, overrides Permission-Sets. Applies to get/list/load.
2026-01-27 16:07:01 +01:00
db95979bf5
Document CustomFieldValue policies and own_data create/destroy in architecture
...
Update roles-and-permissions-architecture.md with policy layout and
permission matrix for CustomFieldValue (linked).
2026-01-27 16:07:01 +01:00
6db64bf996
feat: add groups resource #371
continuous-integration/drone/push Build is failing
2026-01-27 16:03:21 +01:00
8e9fbe76cf
docs: add testing philosophy to coding guideline
...
continuous-integration/drone/push Build is failing
and update groups architecture docs #371
2026-01-27 15:23:40 +01:00
2ebf289112
docs: add slugs to group concept #371
continuous-integration/drone/push Build is passing
2026-01-27 13:41:25 +01:00
b128ffb51c
docs: add groups concept
continuous-integration/drone/push Build is passing
2026-01-27 13:04:27 +01:00
d9eb131d96
Update documentation: Remove NoActor bypass references
2026-01-24 02:21:08 +01:00
c98ad4085a
docs: add authorization bootstrap patterns section
...
continuous-integration/drone/push Build is passing
Document the three authorization bypass mechanisms and when to use each:
- NoActor (test-only bypass)
- system_actor (systemic operations)
- authorize?: false (bootstrap scenarios)
2026-01-23 02:53:20 +01:00
811a276d92
Update documentation for User credentials strategy
...
continuous-integration/drone/push Build is passing
Clarify that User.update :own is handled by HasPermission.
Fix file path references from lib/mv/accounts to lib/accounts.
2026-01-22 21:36:22 +01:00
5506b5b2dc
docs(auth): document User policies and bypass pattern
...
continuous-integration/drone/push Build is passing
Add bypass vs HasPermission pattern documentation
Update architecture and implementation plan docs
2026-01-22 19:19:27 +01:00
2dc0bce8cb
chore: rm todo list
continuous-integration/drone/push Build is passing
2026-01-20 17:04:42 +01:00
b380f63cf6
chore: update docs
2026-01-20 14:31:13 +01:00
58c088833a
chore: update docs
2026-01-20 14:10:41 +01:00
b84431879c
Merge pull request 'fix admin database seeding closes #357 ' ( #358 ) from bugfix/reseeding-database-not-working into main
...
Reviewed-on: #358
2026-01-19 14:17:12 +01:00
bc4bcd0089
fix: change creation of admin user
2026-01-19 13:40:28 +01:00
bf93b4aa42
docs: update implementation plan
2026-01-19 12:31:39 +01:00
7da037d81d
refactor: adds schemales changeset and validation constant
2026-01-19 11:43:51 +01:00
b3eb6c9223
Docs: Correct :linked scope documentation
2026-01-13 15:01:55 +01:00
720a43a38c
feat: added csv templates
continuous-integration/drone/push Build is failing
2026-01-12 17:36:15 +01:00
8a1b14fc79
fix: fix tests and remove navbar remainings
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
f9da798b00
Merge branch 'main' into feature/287_plan_csv_import
continuous-integration/drone/push Build is passing
2026-01-07 09:58:16 +01:00
e9ee4ce21b
docs: adds higher priority to custom field import
continuous-integration/drone/push Build is passing
2026-01-07 09:35:32 +01:00
19a20635a7
docs: update documentation to use CustomFieldValue/CustomField instead of Property/PropertyType
2026-01-06 21:34:07 +01:00
00ff2fa195
docs: adds implementation plan
continuous-integration/drone/push Build is passing
2026-01-06 16:51:06 +01:00
ff625c91c5
Merge remote-tracking branch 'origin/main' into sidebar
continuous-integration/drone/push Build is failing
2026-01-06 10:52:55 +01:00
aba8737c38
feat: improve sidebar handling
continuous-integration/drone/push Build is failing
2026-01-06 10:29:20 +01:00
16ca4efc03
feat: implement standard-compliant sidebar with comprehensive tests
...
continuous-integration/drone/push Build is failing
Implement a new sidebar component based on DaisyUI Drawer pattern without
custom CSS variants. The sidebar supports desktop (expanded/collapsed states)
and mobile (overlay drawer) with full accessibility compliance.
Sidebar Implementation:
- Refactor sidebar component with sidebar_header, menu_item, menu_group,
sidebar_footer sub-components
- Add logo (mila.svg) with size-8 (32px) always visible
- Implement toggle button with icon swap (chevron-left/right) for desktop
- Add nested menu support with details/summary (expanded) and dropdown
(collapsed) patterns
- Implement footer with language selector (expanded-only), theme toggle,
and user menu with avatar
- Update layouts.ex to use drawer pattern with data-sidebar-expanded
attribute for state management
CSS & JavaScript:
- Add CSS styles for sidebar state management via data-attribute selectors
- Implement SidebarState JavaScript hook for localStorage persistence
- Add smooth width transitions (w-64 ↔ w-16) for desktop collapsed state
- Add CSS classes for expanded-only, menu-label, and icon visibility
Documentation:
- Add sidebar-analysis-current-state.md: Analysis of current implementation
- Add sidebar-requirements-v2.md: Complete specification for new sidebar
- Add daisyui-drawer-pattern.md: DaisyUI pattern documentation
- Add umsetzung-sidebar.md: Step-by-step implementation guide
Testing:
- Add comprehensive component tests for all sidebar sub-components
- Add integration tests for sidebar state management and mobile drawer
- Extend accessibility tests (ARIA labels, roles, keyboard navigation)
- Add regression tests for duplicate IDs, hover effects, and tooltips
- Ensure full test coverage per specification requirements
2025-12-18 16:36:16 +01:00
5789079ab0
test: add comprehensive tests for membership fee UI components
...
Add tests for all membership fee UI components following TDD principles:
2025-12-18 15:08:32 +01:00
4867bb9470
docs: update architecture docs for atomic cycle regeneration
2025-12-18 15:00:43 +01:00
ed083830b9
refactor: improve cycle generation code quality and documentation
...
continuous-integration/drone/push Build is passing
- Remove Process.sleep calls from integration tests (tests run synchronously in SQL sandbox)
- Improve error handling: membership_fee_type_not_found now returns changeset error instead of just logging
- Clarify partial_failure documentation: successful_cycles are not persisted on rollback
- Update documentation: joined_at → join_date, left_at → exit_date
- Document PostgreSQL advisory locks per member (not whole table lock)
- Document gap handling: explicitly deleted cycles are not recreated
2025-12-16 16:40:11 +01:00
ebbf347e42
fix(membership-fees): add DB constraints for enum and decimal precision
continuous-integration/drone/push Build is passing
2025-12-11 18:46:48 +01:00
4d1b33357e
feat(membership-fees): add database schema and Ash domain structure
2025-12-11 18:46:48 +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