email support

This commit is contained in:
Simon Pocrnjič
2025-10-11 17:20:05 +02:00
parent 7c7defb6c5
commit 1b615163be
23 changed files with 3183 additions and 28 deletions
+18
View File
@@ -70,7 +70,25 @@
Route::put('mail-profiles/{mailProfile}', [\App\Http\Controllers\Admin\MailProfileController::class, 'update'])->name('mail-profiles.update');
Route::post('mail-profiles/{mailProfile}/toggle', [\App\Http\Controllers\Admin\MailProfileController::class, 'toggle'])->name('mail-profiles.toggle');
Route::post('mail-profiles/{mailProfile}/test', [\App\Http\Controllers\Admin\MailProfileController::class, 'test'])->name('mail-profiles.test');
Route::post('mail-profiles/{mailProfile}/send-test', [\App\Http\Controllers\Admin\MailProfileController::class, 'sendTest'])->name('mail-profiles.send-test');
Route::delete('mail-profiles/{mailProfile}', [\App\Http\Controllers\Admin\MailProfileController::class, 'destroy'])->name('mail-profiles.destroy');
// Email templates
Route::get('email-templates', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'index'])->name('email-templates.index');
Route::get('email-templates/create', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'create'])->name('email-templates.create');
Route::post('email-templates', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'store'])->name('email-templates.store');
Route::get('email-templates/{emailTemplate}/edit', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'edit'])->name('email-templates.edit');
Route::put('email-templates/{emailTemplate}', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'update'])->name('email-templates.update');
Route::delete('email-templates/{emailTemplate}', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'destroy'])->name('email-templates.destroy');
Route::post('email-templates/{emailTemplate}/preview', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'preview'])->name('email-templates.preview');
Route::post('email-templates/{emailTemplate}/send-test', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'sendTest'])->name('email-templates.send-test');
Route::post('email-templates/{emailTemplate}/render-final', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'renderFinalHtml'])->name('email-templates.render-final');
Route::post('email-templates/upload-image', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'uploadImage'])->name('email-templates.upload-image');
Route::post('email-templates/{emailTemplate}/replace-image', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'replaceImage'])->name('email-templates.replace-image');
// Cascading selects data
Route::get('email-templates-data/clients', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'clients'])->name('email-templates.data.clients');
Route::get('email-templates-data/clients/{client}/cases', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'casesForClient'])->name('email-templates.data.cases');
Route::get('email-templates-data/cases/{clientCase}/contracts', [\App\Http\Controllers\Admin\EmailTemplateController::class, 'contractsForCase'])->name('email-templates.data.contracts');
});
// Contract document generation (JSON) - protected by auth+verified; permission enforced inside controller service