Dev/v1.1 (#2)
Co-authored-by: ISMAIL MASSERAN <topaz@ISMAILs-Macbook.local> Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
+35
-2
@@ -17,10 +17,12 @@ use Modules\MembershipApplication\Enums\ManagementDecision;
|
||||
use Modules\MembershipApplication\Http\Requests\AssignReferencesRequest;
|
||||
use Modules\MembershipApplication\Http\Requests\BatchCompleteRequest;
|
||||
use Modules\MembershipApplication\Http\Requests\BoardReviewRequest;
|
||||
use Modules\MembershipApplication\Http\Requests\GenerateResultLetterRequest;
|
||||
use Modules\MembershipApplication\Http\Requests\ManagementReviewRequest;
|
||||
use Modules\MembershipApplication\Http\Requests\UpdateMembershipApplicationRequest;
|
||||
use Modules\MembershipApplication\Http\Requests\UploadMembershipApplicationDocumentRequest;
|
||||
use Modules\MembershipApplication\Services\MembershipApplicationService;
|
||||
use Modules\MembershipApplication\Transformers\MembershipApplicationDocumentResource;
|
||||
use Modules\MembershipApplication\Transformers\MembershipApplicationListResource;
|
||||
use Modules\MembershipApplication\Transformers\MembershipApplicationResource;
|
||||
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||
@@ -243,6 +245,29 @@ class MembershipApplicationController extends Controller
|
||||
return $this->documentService->downloadDocument($document->id);
|
||||
}
|
||||
|
||||
public function generateResultLetter(GenerateResultLetterRequest $request, MembershipApplication $membershipApplication,): JsonResponse {
|
||||
$this->authorize('generateResultLetter', $membershipApplication);
|
||||
|
||||
$application = $this->membershipApplicationService->generateResultLetter(
|
||||
$membershipApplication,
|
||||
$request->validated('board_meeting_reference'),
|
||||
);
|
||||
|
||||
$resultLetter = $application->documents
|
||||
->firstWhere('type', MembershipApplication::RESULT_LETTER_DOCUMENT_TYPE);
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'message' => 'Surat keputusan berjaya dijana.',
|
||||
'data' => [
|
||||
'application' => new MembershipApplicationResource($application),
|
||||
'document' => $resultLetter
|
||||
? new MembershipApplicationDocumentResource($resultLetter)
|
||||
: null,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
public function approvedLetter(Request $request, MembershipApplication $membershipApplication): Response
|
||||
{
|
||||
$this->authorize('view', $membershipApplication);
|
||||
@@ -253,10 +278,18 @@ class MembershipApplicationController extends Controller
|
||||
abort(404, 'Permohonan tidak dijumpai.');
|
||||
}
|
||||
|
||||
$boardMeetingReference = (string) $request->query(
|
||||
'board_meeting_reference',
|
||||
'Mesyuarat Lembaga',
|
||||
);
|
||||
|
||||
$view = 'membershipapplication::pdf.approved-letter';
|
||||
$data = ['application' => $application];
|
||||
$data = $this->membershipApplicationService->getResultLetterViewData(
|
||||
$application,
|
||||
$boardMeetingReference,
|
||||
);
|
||||
$format = $request->query('format', 'html');
|
||||
$filename = 'surat-kelulusan-'.$application->application_number.'.pdf';
|
||||
$filename = 'surat-keputusan-'.$application->application_number.'.pdf';
|
||||
|
||||
if ($format === 'pdf') {
|
||||
return $this->letterService->pdfResponse($view, $data, $filename);
|
||||
|
||||
Reference in New Issue
Block a user