feat:새 템플릿 생성 기능 추가 (CreateTemplateModal)
- storeTemplate() API에서 items를 nullable로 변경하여 빈 템플릿 생성 허용
- signer_count/variables 파라미터 직접 지정 가능하도록 추가
- "새 템플릿" 버튼 클릭 시 CreateTemplateModal 표시 (이름/설명/카테고리/서명자수/PDF)
- 생성 완료 후 필드 에디터(/esign/templates/{id}/fields)로 자동 이동
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -824,7 +824,9 @@ public function storeTemplate(Request $request): JsonResponse
|
||||
'category' => 'nullable|string|max:50',
|
||||
'include_pdf' => 'nullable|boolean',
|
||||
'contract_id' => 'nullable|integer',
|
||||
'items' => 'required|array|min:1',
|
||||
'signer_count' => 'nullable|integer|min:1|max:6',
|
||||
'variables' => 'nullable|array',
|
||||
'items' => 'nullable|array',
|
||||
'items.*.signer_order' => 'required|integer|min:1',
|
||||
'items.*.page_number' => 'required|integer|min:1',
|
||||
'items.*.position_x' => 'required|numeric',
|
||||
@@ -840,9 +842,10 @@ public function storeTemplate(Request $request): JsonResponse
|
||||
|
||||
$tenantId = session('selected_tenant_id', 1);
|
||||
|
||||
// items에서 최대 signer_order를 추출하여 signer_count 결정
|
||||
$items = $request->input('items');
|
||||
$signerCount = max(array_column($items, 'signer_order'));
|
||||
// signer_count 결정: 직접 지정 > items에서 추출 > 기본값 2
|
||||
$items = $request->input('items', []);
|
||||
$signerCount = $request->input('signer_count')
|
||||
?: (count($items) > 0 ? max(array_column($items, 'signer_order')) : 2);
|
||||
|
||||
// PDF 포함 여부 확인
|
||||
$includePdf = $request->boolean('include_pdf');
|
||||
@@ -879,6 +882,7 @@ public function storeTemplate(Request $request): JsonResponse
|
||||
'description' => $request->input('description'),
|
||||
'category' => $request->input('category'),
|
||||
'signer_count' => $signerCount,
|
||||
'variables' => $request->input('variables', []),
|
||||
'is_active' => true,
|
||||
'created_by' => auth()->id(),
|
||||
], $fileData));
|
||||
|
||||
Reference in New Issue
Block a user