• Joined on 2025-11-29
andika commented on issue andika/membership-fe#27 2026-02-02 17:10:20 +00:00
Exporting user data guides

Hi, thanks @koosha I'll check on this!

andika pushed to loaf-prod at andika/membership-fe 2026-02-02 11:12:59 +00:00
691dbad1b4 Merge pull request 'Merge from dev to loaf-prod for DEMO' (#25) from dev into loaf-prod
68fc34d0a5 Update Stripe publishable key storage in Stripe Settings
82ef36b439 Conditional Rules in Registration Builder Fix
b3e6cfba84 no message
d4acef8d90 - Created useDirectoryConfig hook (src/hooks/use-directory-config.js)
Compare 46 commits »
andika merged pull request andika/membership-fe#25 2026-02-02 11:12:58 +00:00
Merge from dev to loaf-prod for DEMO
andika created pull request andika/membership-fe#25 2026-02-02 11:12:45 +00:00
Merge from dev to loaf-prod for DEMO
andika pushed to loaf-prod at andika/membership-be 2026-02-02 11:11:38 +00:00
a807d97345 Merge pull request 'Merge to LOAF-PROD for Demo' (#27) from dev into loaf-prod
e7f6e9c20a Update Stripe publishable key storage in Stripe Settings
0cd5350a7b no message
dd41cf773b - Added DEFAULT_DIRECTORY_CONFIG constant with all directory fields
1c262c4804 1. Database Migration (backend/alembic/versions/014_add_custom_registration_data.py)- Adds custom_registration_data JSON column to users table for storing dynamic field responses2. User Model (backend/models.py)- Added custom_registration_data = Column(JSON, default=dict, nullable=False) to User model3. New API Endpoints (backend/server.py)- GET /api/registration/schema - Public endpoint returning form schema- GET /api/admin/registration/schema - Admin view with metadata- PUT /api/admin/registration/schema - Update schema- POST /api/admin/registration/schema/validate - Validate schema structure- POST /api/admin/registration/schema/reset - Reset to default- GET /api/admin/registration/field-types - Get available field types4. Validation Functions- validate_dynamic_registration() - Validates form data against schema- split_registration_data() - Splits data between User columns and custom_registration_data- evaluate_conditional_rules() - Evaluates show/hide rules5. Permissions (backend/seed_permissions_rbac.py)- Added registration.view and registration.manage permissions
Compare 11 commits »
andika merged pull request andika/membership-be#27 2026-02-02 11:11:36 +00:00
Merge to LOAF-PROD for Demo
andika created pull request andika/membership-be#27 2026-02-02 11:11:22 +00:00
Merge to LOAF-PROD for Demo
andika pushed to dev at andika/membership-fe 2026-02-02 10:55:03 +00:00
68fc34d0a5 Update Stripe publishable key storage in Stripe Settings
andika pushed to dev at andika/membership-be 2026-02-02 10:52:27 +00:00
e7f6e9c20a Update Stripe publishable key storage in Stripe Settings
andika pushed to dev at andika/membership-fe 2026-02-02 10:29:20 +00:00
82ef36b439 Conditional Rules in Registration Builder Fix
andika pushed to dev at andika/membership-fe 2026-02-02 10:16:40 +00:00
b3e6cfba84 no message
andika pushed to dev at andika/membership-fe 2026-02-02 10:08:23 +00:00
d4acef8d90 - Created useDirectoryConfig hook (src/hooks/use-directory-config.js)
andika pushed to dev at andika/membership-be 2026-02-02 10:06:46 +00:00
0cd5350a7b no message
andika pushed to dev at andika/membership-be 2026-02-02 10:05:55 +00:00
dd41cf773b - Added DEFAULT_DIRECTORY_CONFIG constant with all directory fields
andika pushed to dev at andika/membership-fe 2026-02-01 12:53:53 +00:00
68ee22c124 Changes
andika pushed to dev at andika/membership-be 2026-02-01 12:43:36 +00:00
1c262c4804 1. Database Migration (backend/alembic/versions/014_add_custom_registration_data.py)- Adds custom_registration_data JSON column to users table for storing dynamic field responses2. User Model (backend/models.py)- Added custom_registration_data = Column(JSON, default=dict, nullable=False) to User model3. New API Endpoints (backend/server.py)- GET /api/registration/schema - Public endpoint returning form schema- GET /api/admin/registration/schema - Admin view with metadata- PUT /api/admin/registration/schema - Update schema- POST /api/admin/registration/schema/validate - Validate schema structure- POST /api/admin/registration/schema/reset - Reset to default- GET /api/admin/registration/field-types - Get available field types4. Validation Functions- validate_dynamic_registration() - Validates form data against schema- split_registration_data() - Splits data between User columns and custom_registration_data- evaluate_conditional_rules() - Evaluates show/hide rules5. Permissions (backend/seed_permissions_rbac.py)- Added registration.view and registration.manage permissions
andika pushed to dev at andika/membership-be 2026-01-30 18:26:16 +00:00
a053075a30 Fix permission rbac
andika pushed to dev at andika/membership-be 2026-01-30 18:16:07 +00:00
6f8ec1d254 make the migration idempotetnt
andika pushed to dev at andika/membership-fe 2026-01-30 18:09:41 +00:00
5d085153f6 1. New Components- src/components/PaymentMethodCard.js - Displays individual payment method- src/components/AddPaymentMethodDialog.js - Stripe Elements dialog for adding cards- src/components/PaymentMethodsSection.js - Main payment methods UI- src/components/PasswordConfirmDialog.js - Admin password re-entry dialog- src/components/admin/AdminPaymentMethodsPanel.js - Admin panel for user payment methods2. Profile Integration (src/pages/Profile.js)- Replaced placeholder Payment Method section with PaymentMethodsSection3. Admin Integration (src/pages/admin/AdminUserView.js)- Added AdminPaymentMethodsPanel to user detail view
andika pushed to dev at andika/membership-be 2026-01-30 18:03:26 +00:00
9754f2db6e 1. Models (backend/models.py)- Added PaymentMethodType enum (card, cash, bank_transfer, check)- Added stripe_customer_id column to User model- Created new PaymentMethod model with all fields specified in the plan2. Alembic Migration (backend/alembic/versions/add_payment_methods.py)- Creates payment_methods table- Adds stripe_customer_id to users table- Creates appropriate indexes3. API Endpoints (backend/server.py)Added 12 new endpoints:Member Endpoints:- GET /api/payment-methods - List user's payment methods- POST /api/payment-methods/setup-intent - Create Stripe SetupIntent- POST /api/payment-methods - Save payment method after setup- PUT /api/payment-methods/{id}/default - Set as default- DELETE /api/payment-methods/{id} - Remove payment methodAdmin Endpoints:- GET /api/admin/users/{user_id}/payment-methods - List user's methods (masked)- POST /api/admin/users/{user_id}/payment-methods/reveal - Reveal sensitive details (requires password)- POST /api/admin/users/{user_id}/payment-methods/setup-intent - Create SetupIntent for user- POST /api/admin/users/{user_id}/payment-methods - Save method on behalf- POST /api/admin/users/{user_id}/payment-methods/manual - Record manual method (cash/check)- PUT /api/admin/users/{user_id}/payment-methods/{id}/default - Set default- DELETE /api/admin/users/{user_id}/payment-methods/{id} - Delete method4. Permissions (backend/permissions_seed.py)Added 5 new permissions:- payment_methods.view- payment_methods.view_sensitive- payment_methods.create- payment_methods.delete- payment_methods.set_default