Added duplicate quizz url
This commit is contained in:
parent
d411d41cff
commit
bbe43cef95
@ -35,4 +35,5 @@ public interface QuizzManager {
|
|||||||
public JsonNode getQuizzFormData(User user, long quizzFormId);
|
public JsonNode getQuizzFormData(User user, long quizzFormId);
|
||||||
public JsonNode getQuizzFormAdvancments(User user, long quizzId);
|
public JsonNode getQuizzFormAdvancments(User user, long quizzId);
|
||||||
|
|
||||||
|
public Quizz duplicateQuizz(User user, long quizzId);
|
||||||
}
|
}
|
||||||
@ -521,6 +521,36 @@ public class QuizzManagerImpl implements QuizzManager {
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Quizz duplicateQuizz(User u, long quizzId) {
|
||||||
|
if (!canEditQuizz(u, quizzId))
|
||||||
|
return null;
|
||||||
|
Optional<Quizz> oq = qRepository.findById(quizzId);
|
||||||
|
// CHECKED BEFORE if (oq.isEmpty()) return null;
|
||||||
|
Quizz q = oq.get();
|
||||||
|
|
||||||
|
|
||||||
|
Quizz nq = new Quizz();
|
||||||
|
nq.setName(q.getName() + "("+ Integer.toHexString((int)(Math.random()*0xFFFFFFF)) +")");
|
||||||
|
nq.setOwner(q.getOwner());
|
||||||
|
nq.setQuestionCount(q.getQuestionCount());
|
||||||
|
nq.setPublic(q.isPublic());
|
||||||
|
nq.setComplete(q.isComplete());
|
||||||
|
|
||||||
|
nq = qRepository.save(nq);
|
||||||
|
|
||||||
|
// We duplicate questions
|
||||||
|
for (Question qu : q.getQuestions()) {
|
||||||
|
Question nqu = new Question();
|
||||||
|
nqu.setIndex(qu.getIndex());
|
||||||
|
nqu.setType(qu.getType());
|
||||||
|
nqu.setValue(qu.getValue());
|
||||||
|
nqu.setQuizz(nq);
|
||||||
|
questionRepository.save(nqu);
|
||||||
|
}
|
||||||
|
return nq;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -150,6 +150,22 @@ public class QuestionsController {
|
|||||||
return new ResponseEntity<>(out, HttpStatus.OK);
|
return new ResponseEntity<>(out, HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* API get the form
|
||||||
|
*/
|
||||||
|
@GetMapping("/duplicate-quizz/{id}")
|
||||||
|
public Object duplicateQuizz(@PathVariable("id") long id, Principal p) {
|
||||||
|
User u = null;
|
||||||
|
if (p!=null)
|
||||||
|
u = ur.findByName(p.getName());
|
||||||
|
if(u==null)
|
||||||
|
return "redirect:/login?restricted";
|
||||||
|
Quizz q = qm.duplicateQuizz(u, id);
|
||||||
|
if(q == null)
|
||||||
|
return new ResponseEntity<>(HttpStatus.UNAUTHORIZED);
|
||||||
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/form/{q}")
|
@GetMapping("/form/{q}")
|
||||||
public String formpage(@PathVariable("q") long quizzId, Principal p, Model m) {
|
public String formpage(@PathVariable("q") long quizzId, Principal p, Model m) {
|
||||||
if (p==null)
|
if (p==null)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user