new permissions:
* list members may be nominated as moderators by admin
* admin may allow moderators to nominate more moderators
* admin may set allowed senders to one of the following:
* owners and mods
* all subscribers
* everyone
* moderators are now able to remove members from list
This commit is contained in:
@@ -5,7 +5,6 @@ import de.srsoftware.widerhall.data.ListMember;
|
||||
import de.srsoftware.widerhall.data.MailingList;
|
||||
import de.srsoftware.widerhall.data.Post;
|
||||
import de.srsoftware.widerhall.data.User;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -296,7 +295,7 @@ public class Web extends TemplateServlet {
|
||||
|
||||
if (!error && !list.mayBeAlteredBy(user)) {
|
||||
error = true;
|
||||
data.put(ERROR,t("You are not allowed to alter this list!"));
|
||||
data.put(ERROR,t("You are not alter settings of this list!"));
|
||||
}
|
||||
|
||||
if (!error){
|
||||
@@ -305,6 +304,7 @@ public class Web extends TemplateServlet {
|
||||
.forwardAttached(Util.getCheckbox(req, KEY_FORWARD_ATTACHED))
|
||||
.hideReceivers(Util.getCheckbox(req, KEY_HIDE_RECEIVERS))
|
||||
.replyToList(Util.getCheckbox(req, KEY_REPLY_TO_LIST))
|
||||
.modsMayNominateMods(Util.getCheckbox(req, KEY_MODS_CAN_EDIT_MODS))
|
||||
.openForGuests(Util.getCheckbox(req,KEY_OPEN_FOR_GUESTS))
|
||||
.openForSubscribers(Util.getCheckbox(req,KEY_OPEN_FOR_SUBSCRIBERS))
|
||||
.archive(Util.getCheckbox(req,KEY_ARCHIVE));
|
||||
@@ -483,9 +483,22 @@ public class Web extends TemplateServlet {
|
||||
return loadTemplate(UNSUBSCRIBE,data,resp);
|
||||
}
|
||||
}
|
||||
// if we get here, we should have a valid user
|
||||
|
||||
ListMember member = null;
|
||||
try {
|
||||
ListMember.unsubscribe(list,user);
|
||||
member = ListMember.load(list,user);
|
||||
} catch (SQLException e) {
|
||||
LOG.debug("Failed to load list member for {}/{}",user.email(),list.email(),e);
|
||||
data.put(ERROR, t("Failed to load list member for {}/{}",user.email(),list.email()));
|
||||
return loadTemplate(UNSUBSCRIBE,data,resp);
|
||||
}
|
||||
if (member == null){
|
||||
data.put(ERROR, t("{} is no member of {}",user.email(),list.email()));
|
||||
return loadTemplate(UNSUBSCRIBE,data,resp);
|
||||
}
|
||||
// if we get here, we should have a valid member object
|
||||
try {
|
||||
member.unsubscribe();
|
||||
data.put(NOTES,t("Sucessfully un-subscribed from '{}'.",list.email()));
|
||||
return loadTemplate(INDEX,data,resp);
|
||||
} catch (SQLException e) {
|
||||
|
||||
Reference in New Issue
Block a user