diff --git a/core/static.js b/core/static.js index 87bee62..ba5e99d 100644 --- a/core/static.js +++ b/core/static.js @@ -7,7 +7,7 @@ Application.use( express.static( resolve("./public"),{ etag: true, - lastModified: false + lastModified: true } ) ); \ No newline at end of file diff --git a/database/session.js b/database/session.js index a6c15e9..9777fa0 100644 --- a/database/session.js +++ b/database/session.js @@ -4,6 +4,7 @@ const {ConnectSessionKnexStore} = require('connect-session-knex'); const {Application} = require("../core/server"); Application.set('trust proxy', 1); +Application.enable('trust proxy'); const store = new ConnectSessionKnexStore({ knex: DB, diff --git a/database/student.js b/database/student.js index b1751d6..fd17d22 100644 --- a/database/student.js +++ b/database/student.js @@ -127,9 +127,33 @@ async function createEvent(owner_id, studentid, catalogid) }); } -async function countEvents() +async function countEvents(owner_id, searchTerm) { - return 0 + return ( + await DB + .select([ + "student_events.id as id", + "students.name as studentname", + "students.surname as studentsurname", + "student_events.score", + "events.name as catalog", + "student_events.created_at", + ]) + .table("student_events") + .innerJoin("students","students.id","=","student_id") + .innerJoin("events","events.id","=","event_id") + .where("student_events.owner_id",owner_id) + .where(function(q){ + q.where("students.name","like",`%${searchTerm ?? ""}%`) + q.orWhere("events.name","like",`%${searchTerm ?? ""}%`) + }) + .orderBy("student_events.created_at","desc") + .whereNull("student_events.deleted_at") + .whereNull("students.deleted_at") + .whereNull("events.deleted_at") + .count("student_events.id as total") + .first() + ).total; } async function getEvents(owner_id,start,length,searchTerm) diff --git a/views/panel/studentevents.ejs b/views/panel/studentevents.ejs index d664f57..c87920b 100644 --- a/views/panel/studentevents.ejs +++ b/views/panel/studentevents.ejs @@ -144,7 +144,7 @@ dataTable = $("#eventslist").DataTable({ serverSide: true, processing: true, - autoWidth: false, + responsive: true, ajax: { url: "/events/list", method:"post" diff --git a/views/partials/sidebar.ejs b/views/partials/sidebar.ejs index 000fb2d..17bfa25 100644 --- a/views/partials/sidebar.ejs +++ b/views/partials/sidebar.ejs @@ -38,7 +38,7 @@