improved permission checks on archive
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -187,7 +187,7 @@ public class MailingList implements MessageHandler, ProblemListener {
|
||||
}
|
||||
|
||||
private void forward(Message message, Stream<ListMember> members) throws MessagingException {
|
||||
if (hasState(STATE_PUBLIC_ARCHIVE)) storeMessage(message);
|
||||
if (hasPublicArchive()) storeMessage(message);
|
||||
String newSender = !hasState(STATE_FORWARD_FROM) ? email() : null;
|
||||
var receivers = members
|
||||
.map(ListMember::user)
|
||||
@@ -238,6 +238,10 @@ public class MailingList implements MessageHandler, ProblemListener {
|
||||
return ml;
|
||||
}
|
||||
|
||||
public boolean hasPublicArchive() {
|
||||
return hasState(STATE_PUBLIC_ARCHIVE);
|
||||
}
|
||||
|
||||
public boolean hasState(int test){
|
||||
return (state & test) > 0;
|
||||
}
|
||||
@@ -603,9 +607,9 @@ public class MailingList implements MessageHandler, ProblemListener {
|
||||
if (hasState(STATE_FORWARD_ATTACHED)) map.put(t("forward_attached"),HIDDEN);
|
||||
if (hasState(STATE_HIDE_RECEIVERS)) map.put(t("hide_receivers"),HIDDEN);
|
||||
if (hasState(STATE_REPLY_TO_LIST)) map.put(t("reply_to_list"),HIDDEN);
|
||||
if (hasState(STATE_OPEN_FOR_GUESTS)) map.put(t("open_for_guests"),HIDDEN);
|
||||
if (hasState(STATE_OPEN_FOR_SUBSCRIBERS)) map.put(t("open_for_subscribers"),HIDDEN);
|
||||
if (hasState(STATE_PUBLIC_ARCHIVE)) map.put(t("archive"),VISIBLE);
|
||||
if (isOpenForGuests()) map.put(t("open_for_guests"),HIDDEN);
|
||||
if (isOpenForSubscribers()) map.put(t("open_for_subscribers"),HIDDEN);
|
||||
if (hasPublicArchive()) map.put(t("archive"),VISIBLE);
|
||||
return map;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user