forked from UKSOURCE/cms.hailearning.edu.vn
first commit
This commit is contained in:
@@ -1,17 +1,54 @@
|
||||
const { readJsonFile } = require('../utils/jsonHelper');
|
||||
const Qualification = require('../models/qualification');
|
||||
const Certificate = require('../models/certificate');
|
||||
|
||||
// Hiển thị dashboard
|
||||
exports.getDashboard = async (req, res) => {
|
||||
try {
|
||||
const thirtyDaysAgo = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000);
|
||||
|
||||
const [
|
||||
qualificationCount,
|
||||
certificationCount,
|
||||
activeQual,
|
||||
revokedQual,
|
||||
activeCert,
|
||||
revokedCert,
|
||||
recentQual,
|
||||
recentCert,
|
||||
recentQualifications,
|
||||
recentCertificates
|
||||
] = await Promise.all([
|
||||
Qualification.countDocuments(),
|
||||
Certificate.countDocuments(),
|
||||
Qualification.countDocuments({ status: 'active' }),
|
||||
Qualification.countDocuments({ status: 'revoked' }),
|
||||
Certificate.countDocuments({ status: 'active' }),
|
||||
Certificate.countDocuments({ status: 'revoked' }),
|
||||
Qualification.countDocuments({ createdAt: { $gte: thirtyDaysAgo } }),
|
||||
Certificate.countDocuments({ createdAt: { $gte: thirtyDaysAgo } }),
|
||||
Qualification.find().sort({ createdAt: -1 }).limit(5).populate('department level'),
|
||||
Certificate.find().sort({ createdAt: -1 }).limit(5).populate('department level')
|
||||
]);
|
||||
|
||||
res.render('admin/dashboard', {
|
||||
title: 'Dashboard',
|
||||
user: req.session.user
|
||||
qualificationCount,
|
||||
certificationCount,
|
||||
total: qualificationCount + certificationCount,
|
||||
activeCount: activeQual + activeCert,
|
||||
revokedCount: revokedQual + revokedCert,
|
||||
recentCount: recentQual + recentCert,
|
||||
recentQualifications,
|
||||
recentCertificates,
|
||||
user: req.session.user,
|
||||
layout: 'layouts/admin',
|
||||
title: 'Dashboard'
|
||||
});
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
res.render('admin/dashboard', {
|
||||
title: 'Dashboard',
|
||||
user: req.session.user
|
||||
qualificationCount: 0, certificationCount: 0,
|
||||
total: 0, activeCount: 0, revokedCount: 0, recentCount: 0,
|
||||
recentQualifications: [], recentCertificates: [],
|
||||
user: req.session.user, layout: 'layouts/admin', title: 'Dashboard'
|
||||
});
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user