Commit eb339ddb authored by Thushara Thiwanka's avatar Thushara Thiwanka

CREATE: get all assignments integrated

parent 4aa35d82
...@@ -16,35 +16,28 @@ const ManageAssignments = () => { ...@@ -16,35 +16,28 @@ const ManageAssignments = () => {
const [btnState, setBtnState] = useState(false); const [btnState, setBtnState] = useState(false);
const [error, setError] = useState(""); const [error, setError] = useState("");
const [isLoading, setIsLoading] = useState(true); const [isLoading, setIsLoading] = useState(true);
const [material, setMaterial] = useState({ scenario: "" }); const [assignment, setAssignment] = useState({
const [materials, setMaterials] = useState([]); content: "",
plagiarism_percentage: 0,
const fields = ["", "Module Code", "Name", "Status", "Created At", "Actions"]; module_id: "",
const permissionStatus = { });
pending: "warning", const [assignments, setAssignments] = useState([]);
approved: "success",
rejected: "danger", const fields = ["", "ID", "Module Code", "Name", "Start At", "End At", "Actions"];
};
const assignments = [
{ code: "A001", name: "CTSE Assignment", status: "pending", createdAt: "2022-01-01" },
{ code: "A002", name: "CTSE Assignment", status: "pending", createdAt: "2022-01-01" },
{ code: "A003", name: "CTSE Assignment", status: "pending", createdAt: "2022-01-01" },
];
const renderOrderHead = (item, index) => <th key={index}>{item}</th>; const renderOrderHead = (item, index) => <th key={index}>{item}</th>;
const renderOrderBody = (item, index) => ( const renderOrderBody = (item, index) => (
<tr key={index}> <tr key={index}>
<td>{index + 1}</td> <td>{index + 1}</td>
<td>{item.id}</td>
<td>{item.code}</td> <td>{item.code}</td>
<td>{item.name}</td> <td>{item.name}</td>
<td> <td>{new Date(item.start_at).toLocaleString()}</td>
<Badge type={permissionStatus[item.status]} content={item.status} /> <td>{new Date(item.end_at).toLocaleString()}</td>
</td>
<td>{item.createdAt}</td>
<td> <td>
<div style={{ display: "flex", alignItems: "center" }}> <div style={{ display: "flex", alignItems: "center" }}>
<Link to={`/auth/teacher/assignments/1`}> <Link to={`/auth/teacher/assignments/${item.id}`}>
<button className="view-btn">View</button> <button className="view-btn">View</button>
</Link> </Link>
<button className="action-btn check" style={{ marginLeft: "2rem" }}> <button className="action-btn check" style={{ marginLeft: "2rem" }}>
...@@ -53,7 +46,7 @@ const ManageAssignments = () => { ...@@ -53,7 +46,7 @@ const ManageAssignments = () => {
<button <button
className="action-btn x" className="action-btn x"
onClick={() => { onClick={() => {
if (window.confirm("Are you sure to delete this material?")) { if (window.confirm("Are you sure to delete this assignment?")) {
deleteHandler(item._id, item.username); deleteHandler(item._id, item.username);
} }
}} }}
...@@ -65,24 +58,24 @@ const ManageAssignments = () => { ...@@ -65,24 +58,24 @@ const ManageAssignments = () => {
</tr> </tr>
); );
const saveMaterial = async e => { const saveAssignment = async e => {
e.preventDefault(); e.preventDefault();
setBtnState(true); setBtnState(true);
for (let key of Object.keys(material)) { for (let key of Object.keys(assignment)) {
if (!material[key]) { if (!assignment[key]) {
setBtnState(false); setBtnState(false);
return setError("Please fill all the fields"); return setError("Please fill all the fields");
} }
} }
try { try {
const res = await axios.post("materials", material); const res = await axios.post("assignments", assignment);
console.log(res); console.log(res);
setMaterial({ setAssignment({
scenario: "", scenario: "",
}); });
getAllMaterial(); getAllAssignments();
setError(""); setError("");
window.alert("Assignment added successfully"); window.alert("Assignment added successfully");
setBtnState(false); setBtnState(false);
...@@ -95,10 +88,10 @@ const ManageAssignments = () => { ...@@ -95,10 +88,10 @@ const ManageAssignments = () => {
const deleteHandler = async (id, username) => { const deleteHandler = async (id, username) => {
try { try {
const res = await axios.delete(`materials/${id}`); const res = await axios.delete(`assignments/${id}`);
if (res.statusText === "OK") { if (res.statusText === "OK") {
getAllMaterial(); getAllAssignments();
setError(""); setError("");
window.alert("Assignment has been successfully deleted"); window.alert("Assignment has been successfully deleted");
setIsLoading(true); setIsLoading(true);
...@@ -108,17 +101,17 @@ const ManageAssignments = () => { ...@@ -108,17 +101,17 @@ const ManageAssignments = () => {
} }
}; };
const getAllMaterial = async () => { const getAllAssignments = async () => {
try { try {
const res = await axios.get(`materials`); const res = await axios.get(`assignments`);
setMaterials(res.data.materials); setAssignments(res.data.assignments);
setIsLoading(false); setIsLoading(false);
} catch (err) { } catch (err) {
console.log(err.response); console.log(err.response);
} }
}; };
useEffect(() => getAllMaterial(), []); useEffect(() => getAllAssignments(), []);
return ( return (
<div> <div>
...@@ -141,10 +134,10 @@ const ManageAssignments = () => { ...@@ -141,10 +134,10 @@ const ManageAssignments = () => {
<textarea <textarea
type="text" type="text"
placeholder="PASTE QUESTION SCENARIO HERE..." placeholder="PASTE QUESTION SCENARIO HERE..."
value={material.code} value={assignment.code}
onChange={e => onChange={e =>
setMaterial({ setAssignment({
...material, ...assignment,
code: e.target.value, code: e.target.value,
}) })
} }
...@@ -171,10 +164,10 @@ const ManageAssignments = () => { ...@@ -171,10 +164,10 @@ const ManageAssignments = () => {
<input <input
type="text" type="text"
placeholder="Accepted Plagiarism Percentage" placeholder="Accepted Plagiarism Percentage"
value={material.name} value={assignment.name}
onChange={e => onChange={e =>
setMaterial({ setAssignment({
...material, ...assignment,
name: e.target.value, name: e.target.value,
}) })
} }
...@@ -184,7 +177,7 @@ const ManageAssignments = () => { ...@@ -184,7 +177,7 @@ const ManageAssignments = () => {
</div> </div>
</div> </div>
<div className="row-user"> <div className="row-user">
<button type="submit" onClick={saveMaterial}> <button type="submit" onClick={saveAssignment}>
{btnState ? "Creating" : "Create"} {btnState ? "Creating" : "Create"}
</button> </button>
</div> </div>
...@@ -193,7 +186,7 @@ const ManageAssignments = () => { ...@@ -193,7 +186,7 @@ const ManageAssignments = () => {
</div> </div>
<div className="card col-12"> <div className="card col-12">
<h2>Created Assignments</h2> <h2>Created Assignments</h2>
{false ? ( {isLoading ? (
<Spinner /> <Spinner />
) : ( ) : (
<Table <Table
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment