#30 Attendance list with all members

This commit is contained in:
Julian Krauser 2025-01-05 13:43:03 +01:00
parent 161a9dc51c
commit 5d3f8ea46a
14 changed files with 185 additions and 39 deletions

View file

@ -48,6 +48,8 @@ import {
UpdateCommunicationCommand,
} from "../../command/communicationCommand";
import CommunicationCommandHandler from "../../command/communicationCommandHandler";
import {PdfExport} from "../../helpers/pdfExport";
import {PermissionModule} from "../../type/permissionTypes";
/**
* @description get all members
@ -218,6 +220,33 @@ export async function getCommunicationByMemberAndRecord(req: Request, res: Respo
res.json(CommunicationFactory.mapToSingle(communication));
}
/**
* @description create member printout list
* @param req {Request} Express req object
* @param res {Response} Express res object
* @returns {Promise<*>}
*/
export async function createMemberPrintoutList(req: Request, res: Response): Promise<any> {
let members = await MemberService.getByRunningMembership()
let pdf = await PdfExport.renderFile({
title: "Mitgliederliste",
template: "member.list",
saveToDisk: false,
data: {
member: members
},
});
let pdfbuffer = Buffer.from(pdf);
res.setHeader("Content-Type", "application/pdf");
res.setHeader("Content-Length", pdfbuffer.byteLength);
res.setHeader("Content-Disposition", "inline; filename=preview.pdf");
res.send(pdfbuffer);
}
/**
* @description create member
* @param req {Request} Express req object

View file

@ -21,8 +21,8 @@ export async function getAllTemplateUsages(req: Request, res: Response): Promise
if (!req.isOwner) {
templateUsages = templateUsages.filter((tu) => {
return (
PermissionHelper.can(req.permissions, "update", "settings", tu.scope) ||
PermissionHelper.can(req.permissions, "update", "club", tu.scope)
PermissionHelper.can(req.permissions, "update", "settings", tu.scope.split(".")[0] as PermissionModule) ||
PermissionHelper.can(req.permissions, "update", "club", tu.scope.split(".")[0] as PermissionModule)
);
});
}