From e059f22ed058033b43acdae646ff40924bccbefd Mon Sep 17 00:00:00 2001 From: ilkaya Date: Mon, 22 Dec 2025 22:46:00 +0300 Subject: [PATCH] =?UTF-8?q?Son=20prototip=20tamamland=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/student.js | 29 ++++++++++++++++++++++++++--- views/panel/panel.ejs | 21 ++++++++++++++++++++- views/partials/footer.ejs | 15 +++++++++++++-- views/partials/sidebar.ejs | 2 +- 4 files changed, 60 insertions(+), 7 deletions(-) diff --git a/database/student.js b/database/student.js index fd17d22..c60d5af 100644 --- a/database/student.js +++ b/database/student.js @@ -195,16 +195,39 @@ async function getStudentScores(owner_id, start, length, searchTerm) .whereRaw('?? = ??', ['student_events.student_id', 'students.id']) .where('owner_id', owner_id) .whereNull('deleted_at') - .as('total_score') + .as('total_score'), + DB('student_events') + .sum('score') + .whereRaw('?? = ??', ['student_events.student_id', 'students.id']) + .where('owner_id', owner_id) + .where('score',"<","0") + .whereNull('deleted_at') + .as('negative_score'), + DB('student_events') + .sum('score') + .whereRaw('?? = ??', ['student_events.student_id', 'students.id']) + .where('owner_id', owner_id) + .where('score',">","0") + .whereNull('deleted_at') + .as('positive_score') ]) .where("name","like",`%${searchTerm ?? ""}%`) - .whereNull('deleted_at') + .whereNull('students.deleted_at') + .where('owner_id', owner_id) .orderBy('total_score', 'desc') .limit(length) .offset(start); - return students; + return students.map(e => { + e.total_score = e.total_score == null ? 0 : e.total_score; + return e; + }); } +/* +negative_score +positive_score +*/ + async function deleteEvent(owner_id, id) { await DB.table("student_events") diff --git a/views/panel/panel.ejs b/views/panel/panel.ejs index 4448304..fd06cdd 100644 --- a/views/panel/panel.ejs +++ b/views/panel/panel.ejs @@ -79,10 +79,29 @@ return `${data.name} ${data.surname || ''}`; } }, + { + title: "Negatif Puan", + data: "negative_score", + name: "negative_score", + render:e => { + return `${e.toString()}`; + } + }, + { + title: "Pozitif Puan", + data: "positive_score", + name: "positive_score", + render:e => { + return `+${e.toString()}`; + } + }, { title: "Toplam Puanı", data: "total_score", - name: "total_score" + name: "total_score", + render:e => { + return `+${e.toString()}`; + } } ], "language": { diff --git a/views/partials/footer.ejs b/views/partials/footer.ejs index 237c004..cfafe99 100644 --- a/views/partials/footer.ejs +++ b/views/partials/footer.ejs @@ -1,8 +1,19 @@ - -
+
+
+
+
+
+
+ +
+
+
+
diff --git a/views/partials/sidebar.ejs b/views/partials/sidebar.ejs index 17bfa25..514b9fa 100644 --- a/views/partials/sidebar.ejs +++ b/views/partials/sidebar.ejs @@ -3,7 +3,7 @@ # - YeşilSkor + EkoEtki