mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-24 23:35:45 +00:00
Merge branch 'fix/daily-checklist-permission' into 'development'
[FIX/FE] Daily Checklist Permission See merge request mbugroup/lti-web-client!296
This commit is contained in:
+25
-20
@@ -36,6 +36,7 @@ import { ColumnDef } from '@tanstack/react-table';
|
|||||||
import { useSelect } from '@/components/input/SelectInput';
|
import { useSelect } from '@/components/input/SelectInput';
|
||||||
import { KandangApi } from '@/services/api/master-data';
|
import { KandangApi } from '@/services/api/master-data';
|
||||||
import DebouncedTextInput from '@/components/input/DebouncedTextInput';
|
import DebouncedTextInput from '@/components/input/DebouncedTextInput';
|
||||||
|
import RequirePermission from '@/components/helper/RequirePermission';
|
||||||
|
|
||||||
interface Kandang {
|
interface Kandang {
|
||||||
id: string;
|
id: string;
|
||||||
@@ -389,19 +390,21 @@ export function ListDailyChecklistContent() {
|
|||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
{row.original.status === 'DRAFT' && (
|
{row.original.status === 'DRAFT' && (
|
||||||
<Button
|
<RequirePermission permissions='lti.daily_checklist.create'>
|
||||||
size='sm'
|
<Button
|
||||||
variant='outline'
|
size='sm'
|
||||||
onClick={() => handleEdit(row.original)}
|
variant='outline'
|
||||||
className='border-gray-200 text-gray-700 hover:bg-gray-50'
|
onClick={() => handleEdit(row.original)}
|
||||||
>
|
className='border-gray-200 text-gray-700 hover:bg-gray-50'
|
||||||
<Edit className='w-4 h-4 mr-1' />
|
>
|
||||||
Edit
|
<Edit className='w-4 h-4 mr-1' />
|
||||||
</Button>
|
Edit
|
||||||
|
</Button>
|
||||||
|
</RequirePermission>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{row.original.status === 'SUBMITTED' && (
|
{row.original.status === 'SUBMITTED' && (
|
||||||
<>
|
<RequirePermission permissions='lti.daily_checklist.create'>
|
||||||
<Button
|
<Button
|
||||||
size='sm'
|
size='sm'
|
||||||
onClick={() => handleApprove(row.original)}
|
onClick={() => handleApprove(row.original)}
|
||||||
@@ -419,19 +422,21 @@ export function ListDailyChecklistContent() {
|
|||||||
<XCircle className='w-4 h-4 mr-1' />
|
<XCircle className='w-4 h-4 mr-1' />
|
||||||
Reject
|
Reject
|
||||||
</Button>
|
</Button>
|
||||||
</>
|
</RequirePermission>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{row.original.status === 'DRAFT' && (
|
{row.original.status === 'DRAFT' && (
|
||||||
<Button
|
<RequirePermission permissions='lti.daily_checklist.create'>
|
||||||
size='sm'
|
<Button
|
||||||
variant='destructive'
|
size='sm'
|
||||||
onClick={() => handleDelete(row.original)}
|
variant='destructive'
|
||||||
className='bg-red-600 hover:bg-red-700 text-white'
|
onClick={() => handleDelete(row.original)}
|
||||||
>
|
className='bg-red-600 hover:bg-red-700 text-white'
|
||||||
<Trash2 className='w-4 h-4 mr-1' />
|
>
|
||||||
Hapus
|
<Trash2 className='w-4 h-4 mr-1' />
|
||||||
</Button>
|
Hapus
|
||||||
|
</Button>
|
||||||
|
</RequirePermission>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
|
|||||||
+22
-19
@@ -23,6 +23,7 @@ import { isResponseError } from '@/lib/api-helper';
|
|||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import { Icon } from '@iconify/react';
|
import { Icon } from '@iconify/react';
|
||||||
import { Document } from '@/types/api/api-general';
|
import { Document } from '@/types/api/api-general';
|
||||||
|
import RequirePermission from '@/components/helper/RequirePermission';
|
||||||
|
|
||||||
interface ChecklistDetailRow {
|
interface ChecklistDetailRow {
|
||||||
checklist_id: string;
|
checklist_id: string;
|
||||||
@@ -593,25 +594,27 @@ export function DetailDailyChecklistContent() {
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{header.status === 'SUBMITTED' && (
|
{header.status === 'SUBMITTED' && (
|
||||||
<div className='flex gap-2'>
|
<RequirePermission permissions='lti.daily_checklist.create'>
|
||||||
<Button
|
<div className='flex gap-2'>
|
||||||
onClick={handleApprove}
|
<Button
|
||||||
disabled={actionLoading}
|
onClick={handleApprove}
|
||||||
className='bg-green-600 hover:bg-green-700 text-white'
|
disabled={actionLoading}
|
||||||
>
|
className='bg-green-600 hover:bg-green-700 text-white'
|
||||||
<CheckCircle className='w-4 h-4 mr-2' />
|
>
|
||||||
Approve
|
<CheckCircle className='w-4 h-4 mr-2' />
|
||||||
</Button>
|
Approve
|
||||||
<Button
|
</Button>
|
||||||
onClick={handleReject}
|
<Button
|
||||||
disabled={actionLoading}
|
onClick={handleReject}
|
||||||
variant='destructive'
|
disabled={actionLoading}
|
||||||
className='bg-red-600 hover:bg-red-700 text-white'
|
variant='destructive'
|
||||||
>
|
className='bg-red-600 hover:bg-red-700 text-white'
|
||||||
<XCircle className='w-4 h-4 mr-2' />
|
>
|
||||||
Reject
|
<XCircle className='w-4 h-4 mr-2' />
|
||||||
</Button>
|
Reject
|
||||||
</div>
|
</Button>
|
||||||
|
</div>
|
||||||
|
</RequirePermission>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user