2021-03-28 20:06:49 +11:00
|
|
|
import CustomWizard from "../models/custom-wizard";
|
2020-03-22 04:30:11 +11:00
|
|
|
import DiscourseRoute from "discourse/routes/discourse";
|
2017-10-22 11:37:58 +08:00
|
|
|
|
2021-07-12 16:01:52 +08:00
|
|
|
const excludedMetaFields = ["route_to", "redirect_on_complete", "redirect_to"];
|
2021-07-12 15:53:58 +08:00
|
|
|
|
2020-03-22 04:30:11 +11:00
|
|
|
export default DiscourseRoute.extend({
|
2017-10-05 08:36:46 +08:00
|
|
|
model(params) {
|
2020-04-13 22:17:22 +10:00
|
|
|
return CustomWizard.submissions(params.wizardId);
|
2017-10-05 08:36:46 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
setupController(controller, model) {
|
2021-07-12 15:53:58 +08:00
|
|
|
if (model && model.submissions) {
|
2021-07-12 16:01:52 +08:00
|
|
|
let fields = ["username"];
|
2020-04-12 09:27:16 +10:00
|
|
|
model.submissions.forEach((s) => {
|
2021-07-12 15:53:58 +08:00
|
|
|
Object.keys(s.fields).forEach((k) => {
|
|
|
|
if (!excludedMetaFields.includes(k) && fields.indexOf(k) < 0) {
|
2020-04-12 09:27:16 +10:00
|
|
|
fields.push(k);
|
|
|
|
}
|
|
|
|
});
|
2017-11-01 17:50:03 +08:00
|
|
|
});
|
2017-10-30 14:24:51 +08:00
|
|
|
|
2020-04-12 09:27:16 +10:00
|
|
|
let submissions = [];
|
|
|
|
model.submissions.forEach((s) => {
|
2021-07-12 15:53:58 +08:00
|
|
|
let submission = {
|
2021-07-12 16:01:52 +08:00
|
|
|
username: s.username,
|
2021-07-12 15:53:58 +08:00
|
|
|
};
|
|
|
|
Object.keys(s.fields).forEach((f) => {
|
|
|
|
if (fields.includes(f)) {
|
|
|
|
submission[f] = s.fields[f];
|
|
|
|
}
|
2020-04-12 09:27:16 +10:00
|
|
|
});
|
|
|
|
submissions.push(submission);
|
2017-11-01 17:50:03 +08:00
|
|
|
});
|
2021-03-28 20:06:49 +11:00
|
|
|
|
2020-04-12 09:27:16 +10:00
|
|
|
controller.setProperties({
|
|
|
|
wizard: model.wizard,
|
|
|
|
submissions,
|
2021-03-28 20:06:49 +11:00
|
|
|
fields,
|
2020-04-12 09:27:16 +10:00
|
|
|
});
|
|
|
|
}
|
2021-03-28 20:06:49 +11:00
|
|
|
},
|
2017-10-05 08:36:46 +08:00
|
|
|
});
|