|
|
@@ -55,6 +55,7 @@ exports.create = handleError(async (req, res) => {
|
|
|
pelanggaran: pelanggaran_id,
|
|
|
keterangan,
|
|
|
role_data: user.role.id === 2020 ? 'dikti' : 'lldikti',
|
|
|
+ level: 2,
|
|
|
}
|
|
|
|
|
|
data = await laporanModel.create(data)
|
|
|
@@ -173,24 +174,28 @@ exports.create = handleError(async (req, res) => {
|
|
|
exports.public = handleError(async (req, res) => {
|
|
|
const user = req.user
|
|
|
const no_laporan = req.no_laporan
|
|
|
+ let level = req.level
|
|
|
const files = req.files
|
|
|
|
|
|
const isValid = validate(res, req.body, {
|
|
|
pt_id: 'string',
|
|
|
pelanggaran_id: 'string',
|
|
|
keterangan: 'string',
|
|
|
- no_verifikasi: 'string',
|
|
|
+ // no_verifikasi: 'string',
|
|
|
})
|
|
|
if (!isValid) return
|
|
|
|
|
|
const { pt_id, keterangan, no_verifikasi } = req.body
|
|
|
let { pelanggaran_id } = req.body
|
|
|
- if (user.no_verifikasi !== no_verifikasi) {
|
|
|
+ if (no_verifikasi && user.no_verifikasi !== no_verifikasi) {
|
|
|
return response.error(res, {
|
|
|
message: 'no_verifikasi tidak sesuai',
|
|
|
error: { no_verifikasi: 'No. Verifikasi tidak sesuai' },
|
|
|
})
|
|
|
+ } else if (no_verifikasi && user.no_verifikasi === no_verifikasi) {
|
|
|
+ level = 3
|
|
|
}
|
|
|
+
|
|
|
const pt = await axios.get(
|
|
|
`https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/${pt_id}`
|
|
|
)
|
|
|
@@ -222,6 +227,7 @@ exports.public = handleError(async (req, res) => {
|
|
|
pelanggaran: pelanggaran_id,
|
|
|
keterangan,
|
|
|
role_data: 'dikti',
|
|
|
+ level,
|
|
|
}
|
|
|
|
|
|
data = await laporanModel.create(data)
|
|
|
@@ -234,9 +240,14 @@ exports.public = handleError(async (req, res) => {
|
|
|
for_pt: false,
|
|
|
})
|
|
|
|
|
|
- await userModel.findByIdAndUpdate(user._id, { verified: true })
|
|
|
+ if (no_verifikasi)
|
|
|
+ await userModel.findByIdAndUpdate(user._id, { verified: true })
|
|
|
await notifWA('d5609c3c-e9e9-4dbe-9a4e-e8fa772d6770', [
|
|
|
- { key: '1', value: 'nama', value_text: user.nama },
|
|
|
+ {
|
|
|
+ key: '1',
|
|
|
+ value: 'nama',
|
|
|
+ value_text: user.isPrivate || !user.nama ? 'rahasia' : user.nama,
|
|
|
+ },
|
|
|
{ key: '2', value: 'pt', value_text: pt[0].nama },
|
|
|
{ key: '3', value: 'keterangan', value_text: keterangan },
|
|
|
{ key: '4', value: 'no_laporan', value_text: no_laporan },
|
|
|
@@ -299,15 +310,21 @@ exports.update = handleError(async (req, res) => {
|
|
|
const isValid = validate(res, req.body, {
|
|
|
change_role: { type: 'string', optional: true, enum: ['true', 'false'] },
|
|
|
aktif: { type: 'string', optional: true, enum: ['true', 'false'] },
|
|
|
+ keterangan: 'string',
|
|
|
})
|
|
|
if (!isValid) return
|
|
|
|
|
|
const data = {}
|
|
|
let keterangan = ''
|
|
|
+ let alasan = ''
|
|
|
const { change_role, aktif } = req.body
|
|
|
+ const keterangan2 = req.body.keterangan
|
|
|
if (change_role === 'true') {
|
|
|
data.role_data = user.role.id === 2020 ? 'lldikti' : 'dikti'
|
|
|
- keterangan = `Delegasi ke ${user.role.id === 2020 ? 'LLDIKTI' : 'DIKTI'}`
|
|
|
+ keterangan = `Laporan didelegasi ke ${
|
|
|
+ user.role.id === 2020 ? 'LLDIKTI' : 'DIKTI'
|
|
|
+ }`
|
|
|
+ alasan = keterangan2
|
|
|
if (laporan.jadwal) {
|
|
|
await laporanModel.findByIdAndUpdate(laporan._id, {
|
|
|
$unset: { jadwal: 1 },
|
|
|
@@ -319,7 +336,8 @@ exports.update = handleError(async (req, res) => {
|
|
|
if (aktif === 'true') {
|
|
|
keterangan = 'Laporan dibuka'
|
|
|
} else {
|
|
|
- keterangan = 'Laporan ditutup'
|
|
|
+ keterangan = `Laporan ditutup`
|
|
|
+ alasan = keterangan2
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -330,6 +348,7 @@ exports.update = handleError(async (req, res) => {
|
|
|
pt_id: laporan.pt.id,
|
|
|
user: user._id,
|
|
|
keterangan,
|
|
|
+ alasan,
|
|
|
for_pt: false,
|
|
|
})
|
|
|
}
|