Skip to content

Commit

Permalink
Multiple
Browse files Browse the repository at this point in the history
  • Loading branch information
tanmaypardeshi committed Dec 8, 2020
1 parent 9c7093a commit 7767b86
Show file tree
Hide file tree
Showing 5 changed files with 117 additions and 120 deletions.
Binary file removed 1.xlsx
Binary file not shown.
Binary file removed 2.xlsx
Binary file not shown.
Binary file removed 3.xlsx
Binary file not shown.
226 changes: 112 additions & 114 deletions backend/models/facultyModel.js
Original file line number Diff line number Diff line change
@@ -1,129 +1,127 @@
const db = require('./../dbConnection')
const { mailer } = require('./../mailer/mail')
const db = require("./../dbConnection");
const { mailer } = require("./../mailer/mail");

const addRelation = (relation, teacher, callback) => {
db.query(
"CALL teacher_subject(?, ?, ?, ?)",
[teacher, relation.subject, relation.role, relation.division],
(err, res) => {
if(err) {
return callback(err, 500, null)
}
else {
return callback(null, 201, res)
}
}
)
}
db.query(
"CALL teacher_subject(?, ?, ?, ?)",
[teacher, relation.subject, relation.role, relation.division],
(err, res) => {
if (err) {
return callback(err, 500, null);
} else {
return callback(null, 201, res);
}
}
);
};

const addMultipleRelations = (data, teacher, callback) => {
let count = 0
data.relations.forEach((relation) => {
db.query(
"CALL teacher_subject(?, ?, ?, ?)",
[teacher, relation.subject, relation.role, relation.division],
(err, res) => {
if(err) {
return callback(err, 500, null)
}
else {
count++
if(count === data.relations.length) {
return callback(null, 201, res)
}
}
}
)
})
}

const deleteRelation = (relation, teacher, callback) => {
let count = 0;
data.relations.forEach((relation) => {
db.query(
"CALL relation_delete(?, ?, ?)",
[teacher, relation.subject, relation.division],
(err, res) => {
if(err) {
return callback(err, 500, null)
}
else {
return callback(null, 200, res)
}
"CALL teacher_subject(?, ?, ?, ?)",
[teacher, relation.subject, relation.role, relation.division],
(err, res) => {
if (err) {
return callback(err, 500, null);
} else {
count++;
if (count === data.relations.length) {
return callback(null, 201, res);
}
}
)
}
}
);
});
};

const deleteRelation = (relation, teacher, callback) => {
db.query(
"CALL relation_delete(?, ?, ?)",
[teacher, relation.subject, relation.division],
(err, res) => {
if (err) {
return callback(err, 500, null);
} else {
return callback(null, 200, res);
}
}
);
};

const getSubjectTeacherDetails = (reg_id, callback) => {
db.query(
"SELECT subject.subId, subject.subName, subject.year, staff.firstName, staff.lastName, role.roleName, faculty.division, faculty.reg_id FROM faculty JOIN staff JOIN role JOIN subject ON faculty.reg_id=staff.reg_id AND faculty.role_id=role.role_id AND faculty.subId=subject.subId WHERE faculty.subId IN (SELECT subId FROM faculty WHERE reg_id=? AND role_id=2)",
[reg_id],
(err, res) => {
if(err) {
return callback(err, 500, null)
}
else {
return callback(null, 200, res)
}
}
)
}
db.query(
"SELECT subject.subId, subject.subName, subject.year, staff.firstName, staff.lastName, role.roleName, faculty.division, faculty.reg_id FROM faculty JOIN staff JOIN role JOIN subject ON faculty.reg_id=staff.reg_id AND faculty.role_id=role.role_id AND faculty.subId=subject.subId WHERE faculty.subId IN (SELECT subId FROM faculty WHERE reg_id=? AND role_id=2)",
[reg_id],
(err, res) => {
if (err) {
return callback(err, 500, null);
} else {
return callback(null, 200, res);
}
}
);
};

const sendMail = (teacher, coordinator, callback) => {
db.query(
"SELECT subId FROM faculty WHERE reg_id=? AND role_id=2",
[coordinator],
(err, res) => {
if(err) {
return callback(err, 500, null)
}
else {
let subId = res[0].subId
db.query(
"SELECT subName FROM subject WHERE subId=?",
[subId],
(err, res) => {
let subject = res[0].subName
db.query(
"SELECT subId FROM faculty WHERE reg_id=? AND role_id=2",
[coordinator],
(err, res) => {
if (err) {
return callback(err, 500, null);
} else {
let subId = res[0].subId;
db.query(
"SELECT subName FROM subject WHERE subId=?",
[subId],
(err, res) => {
let subject = res[0].subName;

db.query(
"SELECT firstName, lastName, email FROM staff WHERE reg_id=?",
[teacher],
(err, res) => {
if(err) {
return callback(err, 500, null)
}
else {
let staff = res[0]
db.query(
"SELECT division FROM faculty WHERE reg_id=? AND subId=?",
[teacher, subId],
(err, res) => {
if(err) {
return callback(err, 500, null)
}
else {
mailer(staff.email, subject, res[0].division, staff.firstName + " " + staff.lastName)
.then((res) => {
return callback(null, 200, true)
})
.catch((err) => {
return callback(err, 500, null)
})
}
}
)
}
}
db.query(
"SELECT firstName, lastName, email FROM staff WHERE reg_id=?",
[teacher],
(err, res) => {
if (err) {
return callback(err, 500, null);
} else {
let staff = res[0];
db.query(
"SELECT division FROM faculty WHERE reg_id=? AND subId=?",
[teacher, subId],
(err, res) => {
if (err) {
return callback(err, 500, null);
} else {
mailer(
staff.email,
subject,
res[0].division,
staff.firstName + " " + staff.lastName
)
.then((res) => {
return callback(null, 200, true);
})
.catch((err) => {
return callback(err, 500, null);
});
}
}
)
}
}
)
}
);
}
}
);
}
);
}
}
);
};

module.exports = {
addRelation,
addMultipleRelations,
deleteRelation,
getSubjectTeacherDetails,
sendMail
}
addRelation,
addMultipleRelations,
deleteRelation,
getSubjectTeacherDetails,
sendMail,
};
11 changes: 5 additions & 6 deletions frontend/src/components/postauth/Admin/AllUsers.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ export default function AllUsers() {

const handleSubmit = (e) => {
e.preventDefault();
// let admin_reg_id = JSON.parse(sessionStorage.getItem("user")).reg_id;
if (addSubjects.length === 1) {
Axios.post(
`http://localhost:8000/api/faculty/add/${addSubjects[0].reg_id}`,
Expand All @@ -119,7 +118,7 @@ export default function AllUsers() {
enqueueSnackbar("Assgined subject", { variant: "success" });
})
.catch((err) => {
enqueueSnackbar("Could not assign", { variant: "error" });
enqueueSnackbar("The relation already exists", { variant: "error" });
});
} else {
Axios.post(
Expand All @@ -138,7 +137,7 @@ export default function AllUsers() {
enqueueSnackbar("Assgined subjects", { variant: "success" });
})
.catch((err) => {
enqueueSnackbar("Could not assign", { variant: "error" });
enqueueSnackbar("The relation already exists", { variant: "error" });
});
}
};
Expand All @@ -162,7 +161,7 @@ export default function AllUsers() {
Authorization: `Bearer ${sessionStorage.getItem("usertoken")}`,
},
}).then((res) => setAllUsers(res.data.data));
}, []);
}, [enqueueSnackbar]);

return (
<>
Expand Down Expand Up @@ -277,7 +276,7 @@ export default function AllUsers() {
>
Submit
</Button>
<Button
{/* <Button
color="secondary"
variant="contained"
onClick={handleAddSubject}
Expand All @@ -294,7 +293,7 @@ export default function AllUsers() {
>
Remove Subject
</Button>
)}
)} */}
</form>
</Card>
<Card>
Expand Down

0 comments on commit 7767b86

Please sign in to comment.