upd: divisi
Deskripsi: - realtime create divisi - fix list anggota klo bukan supadmin No Issues
This commit is contained in:
@@ -122,11 +122,20 @@ export async function POST(request: Request) {
|
||||
const userRoleLogin = user.idUserRole
|
||||
const sent = (await request.json())
|
||||
|
||||
let fixGroup
|
||||
if (sent.data.idGroup == "null" || sent.data.idGroup == undefined || sent.data.idGroup == "") {
|
||||
fixGroup = user.idGroup
|
||||
} else {
|
||||
fixGroup = sent.data.idGroup
|
||||
}
|
||||
|
||||
|
||||
|
||||
const data = await prisma.division.create({
|
||||
data: {
|
||||
name: sent.data.name,
|
||||
idVillage: String(user.idVillage),
|
||||
idGroup: sent.data.idGroup,
|
||||
idGroup: fixGroup,
|
||||
desc: sent.data.desc,
|
||||
createdBy: String(user.id)
|
||||
},
|
||||
@@ -214,7 +223,7 @@ export async function POST(request: Request) {
|
||||
// create log user
|
||||
const log = await createLogUser({ act: 'CREATE', desc: 'User membuat data divisi', table: 'division', data: data.id })
|
||||
|
||||
return NextResponse.json({ success: true, message: "Berhasil menambahkan divisi", data, }, { status: 200 });
|
||||
return NextResponse.json({ success: true, message: "Berhasil menambahkan divisi", notif: dataNotif, }, { status: 200 });
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
return NextResponse.json({ success: false, message: "Gagal menambahkan divisi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 });
|
||||
|
||||
@@ -20,7 +20,8 @@ export async function GET(request: Request) {
|
||||
if (user.id == undefined) {
|
||||
return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 401 });
|
||||
}
|
||||
if (idGroup == "null" || idGroup == undefined) {
|
||||
|
||||
if (idGroup == "null" || idGroup == undefined || idGroup == "") {
|
||||
fixGroup = user.idGroup
|
||||
} else {
|
||||
fixGroup = idGroup
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"use client"
|
||||
import { LayoutNavbarNew, TEMA } from '@/module/_global';
|
||||
import { keyWibu, LayoutNavbarNew, TEMA } from '@/module/_global';
|
||||
import { useHookstate } from '@hookstate/core';
|
||||
import { ActionIcon, Avatar, Box, Button, Checkbox, Divider, Flex, Grid, Group, rem, Stack, Text, TextInput } from '@mantine/core';
|
||||
import { useRouter } from 'next/navigation';
|
||||
@@ -9,6 +9,7 @@ import toast from 'react-hot-toast';
|
||||
import { globalMemberDivision } from '../lib/val_division';
|
||||
import { funCreateDivision } from '../lib/api_division';
|
||||
import { IFormMemberDivision } from '../lib/type_division';
|
||||
import { useWibuRealtime } from 'wibu-realtime';
|
||||
|
||||
export default function NavbarAdminDivision({ data, onSuccess }: { data: any, onSuccess: (val: any) => void }) {
|
||||
const router = useRouter()
|
||||
@@ -16,6 +17,10 @@ export default function NavbarAdminDivision({ data, onSuccess }: { data: any, on
|
||||
const memberValue = member.get() as IFormMemberDivision[]
|
||||
const [value, setValue] = useState<string[]>([]);
|
||||
const tema = useHookstate(TEMA)
|
||||
const [dataRealTime, setDataRealtime] = useWibuRealtime({
|
||||
WIBU_REALTIME_TOKEN: keyWibu,
|
||||
project: "sdm"
|
||||
})
|
||||
|
||||
async function onSubmit() {
|
||||
if (value.length === 0) {
|
||||
@@ -24,8 +29,8 @@ export default function NavbarAdminDivision({ data, onSuccess }: { data: any, on
|
||||
|
||||
try {
|
||||
const response = await funCreateDivision({ data: data, member: memberValue, admin: value })
|
||||
|
||||
if (response.success) {
|
||||
setDataRealtime(response.notif)
|
||||
toast.success(response.message);
|
||||
router.push("/division")
|
||||
onSuccess(true)
|
||||
|
||||
Reference in New Issue
Block a user