Fix problems editing (hopefully)
authorBenjamin Auder <benjamin.auder@somewhere>
Thu, 20 Feb 2020 22:48:12 +0000 (23:48 +0100)
committerBenjamin Auder <benjamin.auder@somewhere>
Thu, 20 Feb 2020 22:48:12 +0000 (23:48 +0100)
client/src/views/Hall.vue
client/src/views/Problems.vue

index 033659b..4fb8e55 100644 (file)
@@ -237,7 +237,6 @@ export default {
       let names = {};
       response.challenges.forEach(c => {
         if (c.uid != this.st.user.id) names[c.uid] = "";
-        //unknwon for now
         else if (!!c.target && c.target != this.st.user.id)
           names[c.target] = "";
       });
index 1e8ff68..7321fbb 100644 (file)
@@ -159,7 +159,6 @@ export default {
       let names = {};
       this.problems.forEach(p => {
         if (p.uid != this.st.user.id) names[p.uid] = "";
-        //unknwon for now
         else p.uname = this.st.user.name;
       });
       const showOneIfPid = () => {
@@ -171,7 +170,10 @@ export default {
           res2.users.forEach(u => {
             names[u.id] = u.name;
           });
-          this.problems.forEach(p => (p.uname = names[p.uid]));
+          this.problems.forEach(p => {
+            if (!p.uname)
+              p.uname = names[p.uid];
+          });
           showOneIfPid();
         });
       } else showOneIfPid();
@@ -306,6 +308,7 @@ export default {
           if (edit) {
             let editedP = this.problems.find(p => p.id == this.curproblem.id);
             this.copyProblem(this.curproblem, editedP);
+            this.showProblem(editedP);
           }
           else {
             // New problem
@@ -316,8 +319,8 @@ export default {
             this.problems = [newProblem].concat(this.problems);
             this.resetCurProb();
           }
-          this.infoMsg = "";
           document.getElementById("modalNewprob").checked = false;
+          this.infoMsg = "";
         }
       );
     },