feat(114): accounting configs refactor + invoice configs CRUD
Phase 114 complete (v3.7 Invoices): - /settings/accounting jako hub-rozdroze (Paragony / Faktury) - /settings/accounting/receipts + /invoices osobne podstrony list i edycji - InvoiceConfigRepository + Controller (CRUD z walidacja delegacji) - Seed Domyslny VAT (NOT EXISTS idempotent) - invoice-config-form.js (toggle is_delegated -> integration_id) - confirm-delete.js (globalny modul OrderProAlerts.confirm) - Legacy aliasy starych endpointow /settings/accounting/save|toggle|delete Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -42,6 +42,8 @@ use App\Modules\Settings\ShopproPullStatusMappingRepository;
|
||||
use App\Modules\Settings\ShopproStatusMappingRepository;
|
||||
use App\Modules\Settings\CompanySettingsController;
|
||||
use App\Modules\Settings\CompanySettingsRepository;
|
||||
use App\Modules\Settings\InvoiceConfigController;
|
||||
use App\Modules\Settings\InvoiceConfigRepository;
|
||||
use App\Modules\Settings\ReceiptConfigController;
|
||||
use App\Modules\Settings\ReceiptConfigRepository;
|
||||
use App\Modules\Settings\EmailMailboxController;
|
||||
@@ -233,6 +235,14 @@ return static function (Application $app): void {
|
||||
$auth,
|
||||
$receiptConfigRepository
|
||||
);
|
||||
$invoiceConfigRepository = new InvoiceConfigRepository($app->db());
|
||||
$invoiceConfigController = new InvoiceConfigController(
|
||||
$template,
|
||||
$translator,
|
||||
$auth,
|
||||
$invoiceConfigRepository,
|
||||
$fakturowniaIntegrationRepository
|
||||
);
|
||||
$emailMailboxRepository = new EmailMailboxRepository(
|
||||
$app->db(),
|
||||
new IntegrationSecretCipher((string) $app->config('app.integrations.secret', ''))
|
||||
@@ -518,10 +528,24 @@ return static function (Application $app): void {
|
||||
$router->post('/settings/integrations/shoppro/delivery/save', [$shopproIntegrationsController, 'saveDeliveryMappings'], [$authMiddleware]);
|
||||
$router->get('/settings/company', [$companySettingsController, 'index'], [$authMiddleware]);
|
||||
$router->post('/settings/company/save', [$companySettingsController, 'save'], [$authMiddleware]);
|
||||
$router->get('/settings/accounting', [$receiptConfigController, 'index'], [$authMiddleware]);
|
||||
$router->get('/settings/accounting', [$receiptConfigController, 'hub'], [$authMiddleware]);
|
||||
$router->get('/settings/accounting/receipts', [$receiptConfigController, 'list'], [$authMiddleware]);
|
||||
$router->get('/settings/accounting/receipts/new', [$receiptConfigController, 'edit'], [$authMiddleware]);
|
||||
$router->get('/settings/accounting/receipts/edit', [$receiptConfigController, 'edit'], [$authMiddleware]);
|
||||
$router->post('/settings/accounting/receipts/save', [$receiptConfigController, 'save'], [$authMiddleware]);
|
||||
$router->post('/settings/accounting/receipts/toggle', [$receiptConfigController, 'toggleStatus'], [$authMiddleware]);
|
||||
$router->post('/settings/accounting/receipts/delete', [$receiptConfigController, 'delete'], [$authMiddleware]);
|
||||
// Legacy aliases (backwards compatibility with bookmarks/form actions from before Phase 114-01)
|
||||
$router->post('/settings/accounting/save', [$receiptConfigController, 'save'], [$authMiddleware]);
|
||||
$router->post('/settings/accounting/toggle', [$receiptConfigController, 'toggleStatus'], [$authMiddleware]);
|
||||
$router->post('/settings/accounting/delete', [$receiptConfigController, 'delete'], [$authMiddleware]);
|
||||
// Invoices (Phase 114-01)
|
||||
$router->get('/settings/accounting/invoices', [$invoiceConfigController, 'index'], [$authMiddleware]);
|
||||
$router->get('/settings/accounting/invoices/new', [$invoiceConfigController, 'edit'], [$authMiddleware]);
|
||||
$router->get('/settings/accounting/invoices/edit', [$invoiceConfigController, 'edit'], [$authMiddleware]);
|
||||
$router->post('/settings/accounting/invoices/save', [$invoiceConfigController, 'save'], [$authMiddleware]);
|
||||
$router->post('/settings/accounting/invoices/toggle', [$invoiceConfigController, 'toggleStatus'], [$authMiddleware]);
|
||||
$router->post('/settings/accounting/invoices/delete', [$invoiceConfigController, 'delete'], [$authMiddleware]);
|
||||
$router->get('/settings/email-mailboxes', [$emailMailboxController, 'index'], [$authMiddleware]);
|
||||
$router->post('/settings/email-mailboxes/save', [$emailMailboxController, 'save'], [$authMiddleware]);
|
||||
$router->post('/settings/email-mailboxes/delete', [$emailMailboxController, 'delete'], [$authMiddleware]);
|
||||
|
||||
Reference in New Issue
Block a user