diff --git a/controllers/contentControllers/exercise.js b/controllers/contentControllers/exercise.js index 1829376..91df347 100644 --- a/controllers/contentControllers/exercise.js +++ b/controllers/contentControllers/exercise.js @@ -531,7 +531,7 @@ export const createExercises = async (req, res) => { let generatedTitle = TITLE; if (!TITLE) { lastTitleNumber++; - generatedTitle = `Soal ${lastTitleNumber}`; + generatedTitle = `Question ${lastTitleNumber}`; } const existingExercise = await models.Exercise.findOne({ @@ -871,7 +871,14 @@ export const updateExerciseTitle = async (req, res) => { IS_DELETED: 0, ID_LEVEL, }, - order: [["TITLE", "ASC"]], + order: [ + [ + models.Sequelize.literal( + "CAST(SUBSTRING_INDEX(TITLE, ' ', -1) AS UNSIGNED)" + ), + "ASC", + ], + ], transaction, }); diff --git a/middlewares/autoGrading.js b/middlewares/autoGrading.js index d54ee3c..27ae29c 100644 --- a/middlewares/autoGrading.js +++ b/middlewares/autoGrading.js @@ -165,7 +165,14 @@ export const checkFirstFiveCorrect = async (req, res, next) => { ID_LEVEL: stdLearning.ID_LEVEL, IS_DELETED: 0, }, - order: [["TITLE", "ASC"]], + order: [ + [ + models.Sequelize.literal( + "CAST(SUBSTRING_INDEX(TITLE, ' ', -1) AS UNSIGNED)" + ), + "ASC", + ], + ], limit: 5, });