patches v1.3.4 #62

Merged
jkeffects merged 4 commits from develop into main 2025-02-09 16:25:58 +00:00
6 changed files with 24 additions and 8 deletions

View file

@ -38,7 +38,7 @@ BACKUP_COPIES = number of parallel copies # default 7
BACKUP_AUTO_RESTORE = (true|false) # default ist true
USE_SECURITY_STRICT_LIMIT = (true|false) # default ist true
SECURITY_STRICT_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 15
SECURITY_STRICT_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 15m
SECURITY_STRICT_LIMIT_REQUEST_COUNT = strict_request_count # default ist 15
USE_SECURITY_LIMIT = (true|false) # default ist true
SECURITY_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 1m

View file

@ -45,6 +45,13 @@ services:
- BACKUP_INTERVAL=<number of days (min. 1)> # alle x Tage, sonst keine
- BACKUP_COPIES=<number of parallel copies> # Anzahl parallel bestehender Backups
- BACKUP_AUTO_RESTORE=<boolean> # default ist auf true gesetzt
- USE_SECURITY_STRICT_LIMIT = (true|false) # default ist true
- SECURITY_STRICT_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 15
- SECURITY_STRICT_LIMIT_REQUEST_COUNT = strict_request_count # default ist 15
- USE_SECURITY_LIMIT = (true|false) # default ist true
- SECURITY_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 1m
- SECURITY_LIMIT_REQUEST_COUNT = request_count # default ist 500
- TRUST_PROXY = <boolean|number|ip|ip1,ip2,...> # wenn leer, wird dieser Wert nicht angewendet.
volumes:
- <volume|local path>:/app/files
networks:

View file

@ -141,9 +141,9 @@ export abstract class NewsletterHelper {
}
}
let members = await MemberService.getAll({ noLimit: true });
return members[0].filter((m) => queryMemberIds.includes(m.id));
let members = await MemberService.getAll({ noLimit: true, ids: queryMemberIds });
console.log(members);
return members[0];
}
public static getICSFilePath(newsletter: newsletter) {
@ -253,7 +253,13 @@ export abstract class NewsletterHelper {
for (const [index, rec] of [
...pdfRecipients,
{ id: "0", firstname: "Alle Mitglieder", lastname: CLUB_NAME } as member,
{
id: "0",
firstname: "Alle Mitglieder",
lastname: CLUB_NAME,
nameaffix: "",
salutation: { salutation: "" },
} as member,
].entries()) {
let data = this.buildData(newsletter, dates, rec, printWithAdress.includes(rec.sendNewsletter?.type?.id));

View file

@ -56,6 +56,9 @@ export default abstract class CommunicationService {
static getAvailableColumnsForCommunication(): Array<string> {
let metadata = dataSource.getMetadata(communication);
let columns = metadata.columns.map((c) => c.propertyName);
return columns.filter((c) => !["id", "preferred", "isSMSAlarming", "type", "member"].includes(c));
return columns.filter(
(c) =>
!["id", "preferred", "isSMSAlarming", "isSendNewsletter", "typeId", "memberId", "type", "member"].includes(c)
);
}
}

View file

@ -135,7 +135,7 @@ export default abstract class MemberService {
"member.sendNewsletter",
"member.communications",
"sendNewsletter",
"sendNewsletter.isSendNewsletter = 1"
"sendNewsletter.isSendNewsletter = true"
)
.where("member.id = :id", { id: id })
.getOneOrFail()

View file

@ -18,7 +18,7 @@ export default abstract class NewsletterRecipientsService {
"member.sendNewsletter",
"member.communications",
"sendNewsletter",
"sendNewsletter.isSendNewsletter = 1"
"sendNewsletter.isSendNewsletter = true"
)
.leftJoinAndSelect("member.salutation", "salutation")
.leftJoinAndSelect("sendNewsletter.type", "communicationtype")