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:
hamed
2026-06-15 11:03:56 +03:30
parent 55f646e2d4
commit 5cdcec23a9
32 changed files with 1487 additions and 128 deletions
+8 -8
View File
@@ -47,13 +47,13 @@ services:
App\Payment\Gateway\MellatGateway:
arguments:
$terminalId: '%env(MELLAT_TERMINAL_ID)%'
$username: '%env(MELLAT_USERNAME)%'
$password: '%env(MELLAT_PASSWORD)%'
$terminalId: '%env(default::MELLAT_TERMINAL_ID)%'
$username: '%env(default::MELLAT_USERNAME)%'
$password: '%env(default::MELLAT_PASSWORD)%'
App\Payment\Gateway\SepGateway:
arguments:
$terminalId: '%env(SEP_TERMINAL_ID)%'
$terminalId: '%env(default::SEP_TERMINAL_ID)%'
App\Payment\Controller\PaymentController:
arguments:
@@ -62,13 +62,13 @@ services:
App\Sms\Provider\KavehNegarProvider:
arguments:
$apiKey: '%env(KAVENEGAR_API_KEY)%'
$sender: '%env(KAVENEGAR_SENDER)%'
$apiKey: '%env(default::KAVENEGAR_API_KEY)%'
$sender: '%env(default::KAVENEGAR_SENDER)%'
App\Sms\Provider\RanginehProvider:
arguments:
$apiKey: '%env(RANGINEH_API_KEY)%'
$sender: '%env(RANGINEH_SENDER)%'
$apiKey: '%env(default::RANGINEH_API_KEY)%'
$sender: '%env(default::RANGINEH_SENDER)%'
App\Blog\Controller\BlogController:
arguments: