Edit Function Finished (Semester and Modules)

Man kann bis jetzt eine dozenten noch nicht "abwählen"
This commit is contained in:
brausjonas
2023-05-25 13:22:22 +02:00
parent 00d57da32d
commit ac9fa44b99
7 changed files with 3446 additions and 32 deletions
+47 -17
View File
@@ -25,8 +25,10 @@ export default function InputForm(p) {
const [moduleInfos, setModuleInfos] = useState([])
const [checkedSelected, setCheckedSelected] = useState(new Array(100).fill(false))
const [activatedSelected, setActivatedSelected] = useState(new Array(100).fill(false))
const [modulesNames, setModulesNames] = useState(new Array(100).fill("Please Select"))
async function getAllUsers() {
console.log("update")
let sessionid = localStorage.getItem("sessionid");
let url = "http://localhost:8080/users/all?sessionid=" + sessionid;
@@ -58,14 +60,43 @@ export default function InputForm(p) {
for(let i = 0; i < user.length; i++)
{
temp.push(m[i] != null && m[i].activated === 1);
if(m[i] != null) {
let tempModuleInfo = new UserModuleInfo();
tempModuleInfo.setModuleName(m[i].name);
tempModuleInfo.setActivated(m[i].activated);
tempModuleInfo.setChecked(true);
tempModuleInfo.setUserid(user[i].id)
userModuleMapping.set(user[i].id, tempModuleInfo)
}
}
setActivatedSelected(temp);
temp = []
for(let i = 0; i < user.length; i++)
{
temp.push(m[i] == null ? "Please Select" : m[i].name);
}
setModulesNames(temp);
setModuleInfos(m);
});
});
for(let i = 0; i < user.length; i++)
{
if(!userModuleMapping.has(user[i].id)) {
let tempModuleInfo = new UserModuleInfo();
tempModuleInfo.setModuleName("Please Select");
tempModuleInfo.setActivated(0);
tempModuleInfo.setChecked(false);
tempModuleInfo.setUserid(user[i].id)
userModuleMapping.set(user[i].id, tempModuleInfo)
}
}
});
}
useEffect(() => {
@@ -118,6 +149,7 @@ export default function InputForm(p) {
}
for (let [key, value] of userModuleMapping) {
let json1 = {
"id": 0,
"userid": value.getUserid(),
@@ -125,9 +157,9 @@ export default function InputForm(p) {
"name": value.getModuleName(),
"activated": value.getActivated()
}
if (value.getChecked()) {
await fetch("http://localhost:8080/module?sessionid=" + localStorage.getItem("sessionid"), {
let updateURL = "http://localhost:8080/module?sessionid=" + localStorage.getItem("sessionid");
await fetch(updateURL, {
method: method,
headers: {"Content-Type": "application/json"},
body: JSON.stringify(json1)
@@ -185,15 +217,18 @@ export default function InputForm(p) {
let temp = userModuleMapping.get(user.id)
temp.setModuleName(module)
temp.setUserid(user.id)
console.log("test")
} else {
let temp = new UserModuleInfo()
temp.setModuleName(module)
temp.setUserid(user.id)
userModuleMapping.set(user.id, temp)
console.log("test1")
}
let temp = [];
for(let i = 0; i < modulesNames.length; i++)
{
temp.push(modulesNames[i]);
}
temp[index] = module;
setModulesNames(temp);
}
function onSelectedCheckBox(user, state, index) {
@@ -222,12 +257,7 @@ export default function InputForm(p) {
if (userModuleMapping.has(user.id)) {
let t = state.target.checked ? 1 : 0;
userModuleMapping.get(user.id).setActivated(t);
} else {
let temp = new UserModuleInfo()
let t = state.target.checked ? 1 : 0;
temp.setActivated(t)
temp.setUserid(user.id)
userModuleMapping.set(user.id, temp)
console.log(userModuleMapping.get(user.id).getActivated())
}
let temp = []
@@ -341,7 +371,7 @@ export default function InputForm(p) {
padding: "5px 2px"
}} onChange={(e) => {
onModuleClicked(user, e.target.value, i)
}} value={moduleInfos[i] != null ? moduleInfos[i].name : "Please Select"}>
}} value={modulesNames[i]}>
<option value={"Please Select"}>Please Select</option>
<option value={"Programmieren"}>Programmieren</option>
<option value={"BWL"}>BWL</option>