feat: enhance staff management and payment gateway features
- Fix national code handling in staff creation and updates to support Persian digits. - Update ClinicStaff entity to allow longer national codes (up to 15 characters). - Implement support for clinic secretaries in SecretaryController, allowing creation without a doctor UUID. - Add a new endpoint to retrieve doctors associated with a clinic for secretary management. - Improve appointment management by ensuring doctors are selectable even when no appointments exist. - Extend PatientController to allow secretaries to create patient records if they have the appropriate permissions. - Introduce a PriceInput component for better price formatting in forms, supporting Persian digits. - Add a MockGateway for testing payment processes without real transactions. - Enhance SMS settings management with an approval flow for post-visit text messages, including new fields for pending text and status. - Update migrations to reflect changes in database schema for national codes and SMS settings.
This commit is contained in:
+29
-2
@@ -775,7 +775,16 @@ Returns all site configuration values.
|
||||
"site_name": "ClinicPro",
|
||||
"support_phone": "",
|
||||
"max_cancel_hours_before": "24",
|
||||
"appointment_reminder_hours": "2"
|
||||
"appointment_reminder_hours": "2",
|
||||
"payment_test_mode": "0",
|
||||
"mellat_terminal_id": "",
|
||||
"mellat_username": "",
|
||||
"mellat_password": "",
|
||||
"sep_terminal_id": "",
|
||||
"sms_provider": "kavenegar",
|
||||
"kavenegar_api_key": "",
|
||||
"kavenegar_sender": "",
|
||||
"sms_price_rials": "500"
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -791,7 +800,16 @@ Update one or more settings. Unknown keys are silently ignored.
|
||||
{
|
||||
"commission_enabled": "1",
|
||||
"commission_percent": "5",
|
||||
"site_name": "کلینیکپرو"
|
||||
"site_name": "کلینیکپرو",
|
||||
"payment_test_mode": "1",
|
||||
"mellat_terminal_id": "12345678",
|
||||
"mellat_username": "user",
|
||||
"mellat_password": "pass",
|
||||
"sep_terminal_id": "87654321",
|
||||
"sms_provider": "kavenegar",
|
||||
"kavenegar_api_key": "your-api-key",
|
||||
"kavenegar_sender": "10008664",
|
||||
"sms_price_rials": "500"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -802,6 +820,15 @@ Update one or more settings. Unknown keys are silently ignored.
|
||||
- `commission_percent` — integer string, `0`–`100`
|
||||
- Commission applies only to regular users (`booked_by = user`); secretaries are exempt
|
||||
|
||||
**Payment gateway rules:**
|
||||
- `payment_test_mode` — `"1"` = all payments use MockGateway (no real bank calls), `"0"` = real gateways
|
||||
- Gateway credentials (mellat/sep) read from DB first, fallback to env vars if DB value is empty
|
||||
- MockGateway callback: same URL pattern + `&mock=1&ResCode=0&RefId=MOCK-{orderId}`
|
||||
|
||||
**SMS provider rules:**
|
||||
- `sms_provider` — `"kavenegar"` or `"rangineh"`
|
||||
- Kavenegar API key and sender read from DB first, fallback to env vars `KAVENEGAR_API_KEY`, `KAVENEGAR_SENDER`
|
||||
|
||||
---
|
||||
|
||||
## Pre-Registration Management
|
||||
|
||||
Reference in New Issue
Block a user