PDF 위에서 드래그앤드롭으로 템플릿 필드를 편집하는 기능 구현: - template-fields.blade.php 뷰 생성 (fields.blade.php 기반, signer_order 사용) - updateTemplateItems API 추가 (필드 일괄 저장) - 템플릿 카드/모달에 필드 편집 링크 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
84 lines
2.4 KiB
PHP
84 lines
2.4 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 templateFields(Request $request, int $templateId): View|Response
|
|
{
|
|
if ($request->header('HX-Request')) {
|
|
return response('', 200)->header('HX-Redirect', route('esign.template-fields', $templateId));
|
|
}
|
|
|
|
return view('esign.template-fields', ['templateId' => $templateId]);
|
|
}
|
|
|
|
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');
|
|
}
|
|
}
|