yazid138 3 anni fa
parent
commit
714d9267e1

+ 30 - 0
actions/log.js

@@ -0,0 +1,30 @@
+export const getLog = async () => {
+	try {
+		const res = await fetch("http://localhost:5000/log");
+		return await res.json();
+	} catch (error) {
+		console.log("error", error);
+		return false;
+	}
+};
+
+export const addLog = async (data) => {
+	try {
+		const myHeaders = new Headers();
+		myHeaders.append("Content-Type", "application/json");
+
+		const raw = JSON.stringify(data);
+
+		const requestOptions = {
+			method: "POST",
+			body: raw,
+			headers: myHeaders,
+		};
+
+		const updated = await fetch(`http://localhost:5000/log/add`, requestOptions);
+		return await updated.json();
+	} catch (error) {
+		console.log("error", error);
+		return false;
+	}
+};

+ 17 - 0
actions/pelaporan.js

@@ -1,3 +1,5 @@
+import { addLog } from "./log";
+
 export const getPelaporan = async (query = {}) => {
 	try {
 		let url = "http://localhost:5000/pelaporan";
@@ -10,3 +12,18 @@ export const getPelaporan = async (query = {}) => {
 		return false;
 	}
 };
+
+export const createPelaporan = async (data) => {
+	try {
+		const res = await fetch("http://localhost:5000/pelaporan/create", {
+			method: "POST",
+			body: data,
+		});
+		const result = await res.json();
+		addLog({ status: "SUCCESS", action: "CREATE", from: { id: result.created._id, data: "pelaporan" }, description: "membuat laporan" });
+		return result;
+	} catch (error) {
+		addLog({ status: "FAIL", action: "CREATE", from: { data: "pelaporan" }, description: error.message || "membuat laporan" });
+		return false;
+	}
+};

+ 7 - 3
actions/pemeriksaan.js

@@ -1,4 +1,6 @@
-export const insetPemeriksaan = async ({ number, ptId }, data) => {
+import { addLog } from "./log";
+
+export const insertPemeriksaan = async ({ number, ptId }, data) => {
 	try {
 		const requestOptions = {
 			method: "POST",
@@ -6,9 +8,11 @@ export const insetPemeriksaan = async ({ number, ptId }, data) => {
 		};
 
 		const res = await fetch(`http://localhost:5000/pelaporan/pemeriksaan/create?number=${number}&ptId=${ptId}`, requestOptions);
-		return await res.json();
+		const result = await res.json();
+		addLog({ status: "SUCCESS", action: "ADD", from: { id: result.added._id, data: "pelaporan.penjadwalan.pemeriksaan" }, description: "menambah evaluasi" });
+		return result;
 	} catch (error) {
-		console.log("error", error);
+		addLog({ status: "FAIL", action: "ADD", from: { data: "pelaporan.penjadwalan.pemeriksaan" }, description: error.message || "menambah evaluasi" });
 		return false;
 	}
 };

+ 7 - 3
actions/penjadwalan.js

@@ -1,4 +1,6 @@
-export const updateJadwal = async ({number, ptId},data) => {
+import { addLog } from "./log";
+
+export const updateJadwal = async ({ number, ptId }, data) => {
 	try {
 		const myHeaders = new Headers();
 		myHeaders.append("Content-Type", "application/json");
@@ -12,9 +14,11 @@ export const updateJadwal = async ({number, ptId},data) => {
 		};
 
 		const updated = await fetch(`http://localhost:5000/pelaporan/jadwal/add?number=${number}&ptId=${ptId}`, requestOptions);
-		return await updated.json();
+		const result = await updated.json();
+		addLog({ status: "SUCCESS", action: "UPDATE", from: { id: result.added._id, data: "pelaporan.penjadwalan" }, description: "mengubah jadwal pemeriksaan" });
+		return result;
 	} catch (error) {
-		console.log("error", error);
+		addLog({ status: "FAIL", action: "UPDATE", from: { data: "pelaporan.penjadwalan" }, description: error.message || "mengubah jadwal pemeriksaan" });
 		return false;
 	}
 };

+ 1 - 1
pages/app/pelaporan/index.js

@@ -20,7 +20,7 @@ class Pelaporan extends Component {
 
 	newReportClick = (e) => {
 		e.preventDefault();
-		Router.push({
+		Router.push({ 
 			pathname: "/app/pelaporan/search",
 		});
 	};

+ 7 - 6
pages/app/pelaporan/new.js

@@ -1,8 +1,8 @@
 import React, { Component } from "react";
 import Router from "next/router";
 import { connect } from "react-redux";
-import { listPelaporan, createPelaporan } from "../../../store/actions/pelaporan";
 import { getPelanggaran } from "../../../actions/pelanggaran";
+import { createPelaporan } from "../../../actions/pelaporan";
 
 import ContentWrapper from "@/components/Layout/ContentWrapper";
 import Select from "react-select";
@@ -134,10 +134,11 @@ class FormStandard extends Component {
 			});
 		}
 
-		await this.props.dispatch(createPelaporan(formdata));
-		this.props.dispatch(listPelaporan());
-		if (this.props.pelaporanCreate.success) {
-			this.props.dispatch({ type: "PELAPORAN_CREATE_RESET" });
+		const create = await createPelaporan(formdata);
+		console.log(create);
+		// await this.props.dispatch(createPelaporan(formdata));
+		// this.props.dispatch(listPelaporan());
+		if (create) {
 			Router.push({
 				pathname: "/app/pelaporan",
 			});
@@ -264,4 +265,4 @@ const mapStateToProps = (state) => ({
 	pelaporanCreate: state.pelaporanCreate,
 });
 
-export default connect(mapStateToProps)(FormStandard);
+export default FormStandard;

+ 2 - 8
pages/app/pemeriksaan/new.js

@@ -2,7 +2,7 @@ import React, { Component } from "react";
 import Router from "next/router";
 import ContentWrapper from "@/components/Layout/ContentWrapper";
 import Datetime from "react-datetime";
-import { insetPemeriksaan } from "../../../actions/pemeriksaan";
+import { insertPemeriksaan } from "../../../actions/pemeriksaan";
 import "react-datetime/css/react-datetime.css";
 import {
 	Row,
@@ -119,7 +119,7 @@ class FormStandard extends Component {
 			});
 		}
 
-		const inserted = await insetPemeriksaan({ number, ptId }, formdata);
+		const inserted = await insertPemeriksaan({ number, ptId }, formdata);
 		if (inserted) {
 			Router.push({
 				pathname: "/app/pemeriksaan",
@@ -154,14 +154,12 @@ class FormStandard extends Component {
 					</div>
 					<Row>
 						<Col xl="9">
-							{/* START card */}
 							<Card className="card-default">
 								<CardHeader>
 									<label>Informasi Laporan</label>
 								</CardHeader>
 								<CardBody>
 									<form className="form-horizontal" method="get" action="/" onSubmit={this.onSubmit}>
-										{/* <fieldset> */}
 										<FormGroup row>
 											<label className="col-md-2 col-form-label">Nomor Pelaporan</label>
 											<div className="col-md-10">
@@ -169,7 +167,6 @@ class FormStandard extends Component {
 												{/* <span className="form-text">Nomor pelaporan akan digenerate otomatis dari sistem</span> */}
 											</div>
 										</FormGroup>
-										{/* </fieldset> */}
 										<FormGroup row>
 											<label className="col-md-2 col-form-label">Tanggal</label>
 											<div className="col-md-10">
@@ -181,15 +178,12 @@ class FormStandard extends Component {
 											<label className="col-md-2 col-form-label">Keterangan Laporan</label>
 											<div className="col-md-10">
 												<Input type="textarea" value={this.state.keteranganLaporan} onChange={this.setKeteranganPelaporan} />
-												{/* <textarea class="form-control" id="inputContact6" row="3">Some nice Street, 1234</textarea> */}
 												<span className="form-text">Deskripsi pelaporan minimum karakter 50 maksimum 200 karakter</span>
 											</div>
 										</FormGroup>
 										<FormGroup row>
 											<label className="col-md-2 col-form-label">Upload File Pendukung</label>
 											<div className="col-md-10">
-												{/* <input type="file" multiple name="customFile" class="custom-file-input"></input> */}
-												{/* <CustomInput type="file" multiple id="exampleCustomFileBrowser" name="customFile" /> */}
 												<DropzoneWrapper className="" onDrop={this.onDrop}>
 													{({ getRootProps, getInputProps, isDragActive }) => {
 														return (