- 템플릿 관리 전용 페이지 (카드 그리드, 검색/필터, 편집/복제/삭제) - API: showTemplate, updateTemplate, duplicateTemplate 추가 - indexTemplates에 category/search 필터 추가 - 계약 생성 시 템플릿 선택 UI 추가 - 필드 에디터에서 URL 파라미터 template_id 자동 적용 - EsignFieldTemplate 모델에 category 필드 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
75 lines
2.1 KiB
PHP
75 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\ESign;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\View\View;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
class EsignController extends Controller
|
|
{
|
|
public function dashboard(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('esign.dashboard'));
|
|
}
|
|
|
|
return view('esign.dashboard');
|
|
}
|
|
|
|
public function create(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('esign.create'));
|
|
}
|
|
|
|
return view('esign.create');
|
|
}
|
|
|
|
public function detail(Request $request, int $id): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('esign.detail', $id));
|
|
}
|
|
|
|
return view('esign.detail', ['contractId' => $id]);
|
|
}
|
|
|
|
public function fields(Request $request, int $id): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('esign.fields', $id));
|
|
}
|
|
|
|
return view('esign.fields', ['contractId' => $id]);
|
|
}
|
|
|
|
public function send(Request $request, int $id): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('esign.send', $id));
|
|
}
|
|
|
|
return view('esign.send', ['contractId' => $id]);
|
|
}
|
|
|
|
public function templates(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('esign.templates'));
|
|
}
|
|
|
|
return view('esign.templates');
|
|
}
|
|
|
|
public function docs(Request $request): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('esign.docs'));
|
|
}
|
|
|
|
return view('esign.docs');
|
|
}
|
|
}
|