Adaptation du rang par défaut d'un élément de groupe lorsque l'on sélectionne un nouveau groupe pour prendre la valeur supérieure un rang le plus élevé déjà enregistré.
This commit is contained in:
parent
cd7fd312b4
commit
c7f3c51308
@ -119,6 +119,7 @@ exports.delete = async (req, res, next) =>
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Recherche par mots-clés parmis tous les groupes (y compris ceux non publiés).
|
// Recherche par mots-clés parmis tous les groupes (y compris ceux non publiés).
|
||||||
|
// Le rank le + élevé des éléments déjà enregistrés dans le groupe permet de placer le nouveau.
|
||||||
exports.searchGroups = async (req, res, next) =>
|
exports.searchGroups = async (req, res, next) =>
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -129,7 +130,7 @@ exports.searchGroups = async (req, res, next) =>
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
const db = require("../models/index");
|
const db = require("../models/index");
|
||||||
const getGroups=await db.sequelize.query("SELECT `id`,`title` FROM `Groups` WHERE (`title` LIKE :search OR `introduction` LIKE :search) ORDER BY `title` ASC", { replacements: { search: "%"+search+"%" }, type: QueryTypes.SELECT });
|
const getGroups=await db.sequelize.query("SELECT `Groups`.`id`,`Groups`.`title`, MAX(`Questionnaires`.`rankInGroup`) as maxRank FROM `Groups` LEFT JOIN `Questionnaires` ON `Questionnaires`.`GroupId` = `Groups`.`id` WHERE `Groups`.`title` LIKE :search OR `Groups`.`introduction` LIKE :search GROUP BY `Groups`.`id` ORDER BY `Groups`.`title` ASC", { replacements: { search: "%"+search+"%" }, type: QueryTypes.SELECT });
|
||||||
res.status(200).json(getGroups);
|
res.status(200).json(getGroups);
|
||||||
}
|
}
|
||||||
next();
|
next();
|
||||||
|
@ -55,6 +55,7 @@ const helpGroup = document.getElementById("helpGroup");
|
|||||||
const helpPublishingAt = document.getElementById("helpPublishingAt");
|
const helpPublishingAt = document.getElementById("helpPublishingAt");
|
||||||
const inputClassification = document.getElementById("classification");
|
const inputClassification = document.getElementById("classification");
|
||||||
const inputGroup = document.getElementById("group");
|
const inputGroup = document.getElementById("group");
|
||||||
|
const inputRankInGroup = document.getElementById("rankInGroup");
|
||||||
|
|
||||||
// Vide et cache tous les formulaires annexes au questionnaire :
|
// Vide et cache tous les formulaires annexes au questionnaire :
|
||||||
const hideAllForms = () =>
|
const hideAllForms = () =>
|
||||||
@ -632,9 +633,12 @@ const initialise = async () =>
|
|||||||
document.getElementById("#group"+response[i].id).addEventListener("click", function(e)
|
document.getElementById("#group"+response[i].id).addEventListener("click", function(e)
|
||||||
{
|
{
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
let groupId=e.target.id.replace("#group", "");
|
inputGroup.value=response[i].title+" ("+response[i].id+")";
|
||||||
inputGroup.value=e.target.innerHTML+" ("+groupId+")";
|
formQuestionnaire["GroupId"].value=response[i].id;
|
||||||
formQuestionnaire["GroupId"].value=groupId;
|
if(!isEmpty(response[i].maxRank))
|
||||||
|
inputRankInGroup.value=response[i].maxRank+1;
|
||||||
|
else
|
||||||
|
inputRankInGroup.value=1;
|
||||||
helpGroup.innerHTML="";
|
helpGroup.innerHTML="";
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user