Browse Source

implemented showing public lists to visitors

drop_old_mail
Stephan Richter 3 years ago
parent
commit
3ef331db1a
  1. 16
      src/main/java/de/srsoftware/widerhall/data/MailingList.java
  2. 46
      static/templates/js.st
  3. 7
      static/templates/listlist.st

16
src/main/java/de/srsoftware/widerhall/data/MailingList.java

@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory; @@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -117,10 +118,17 @@ public class MailingList { @@ -117,10 +118,17 @@ public class MailingList {
}
public Map<String, Object> safeMap() {
return Map.of(EMAIL, email, NAME, name,
IMAP_HOST, imapHost, IMAP_PORT, imapPort, IMAP_USER, imapUser,
SMTP_HOST, smtpHost, SMTP_PORT, smtpPort, SMTP_USER, smtpUser,
STATE, stateString(state));
var map = new HashMap<String,Object>();
map.put(EMAIL,email);
map.put(NAME, name);
if (imapHost != null) map.put(IMAP_HOST, imapHost);
if (imapPort != 0) map.put(IMAP_PORT, imapPort);
if (imapUser != null) map.put(IMAP_USER, imapUser);
if (smtpHost != null) map.put(SMTP_HOST, smtpHost);
if (smtpPort != 0) map.put(SMTP_PORT, smtpPort);
if (smtpUser != null) map.put(SMTP_USER, smtpUser);
map.put(STATE, stateString(state));
return map;
}
private static String stateString(int state) {

46
static/templates/js.st

@ -19,7 +19,7 @@ function loadListAdminList(){ @@ -19,7 +19,7 @@ function loadListAdminList(){
}
function loadListList(){
$.getJSON('/api/list/list', showListAdminList);
$.getJSON('/api/list/list', showListList);
}
function loadUserList(){
@ -34,22 +34,9 @@ function showList(listEmail){ @@ -34,22 +34,9 @@ function showList(listEmail){
$.post('/api/list/show',{list:listEmail},showListResult,'json');
}
function showListResult(result){
console.log(result);
if ('error' in result){
alert(result.error);
return;
}
if ('success' in result){
alert(result.success);
reload();
return;
}
alert("Api call did not return result");
}
function showListAdminList(data){
}
function showListAdminList(data){
for (let i in data.lists){
@ -85,6 +72,33 @@ function showListAdminList(data){ @@ -85,6 +72,33 @@ function showListAdminList(data){
}
}
function showListList(data){
for (let i in data.lists){
let list = data.lists[i];
let row = $('<tr/>');
$('<td/>').text(list.name).appendTo(row);
$('<td/>').text(list.email).appendTo(row);
$('<td/>').text(list.state).appendTo(row);
row.appendTo('#listlist');
}
}
function showListResult(result){
console.log(result);
if ('error' in result){
alert(result.error);
return;
}
if ('success' in result){
alert(result.success);
reload();
return;
}
alert("Api call did not return result");
}
function showUserList(data){
for (let i in data.users){
let user = data.users[i];

7
static/templates/listlist.st

@ -2,9 +2,10 @@ @@ -2,9 +2,10 @@
<legend>List of mailinglists</legend>
<table id="listlist">
<tr>
<th colspan="4">List Name</th>
<th colspan="3">List Address</th>
<th colspan="3">Actions</th>
<th>List Name</th>
<th>List Address</th>
<th>State</th>
<th>Actions</th>
</tr>
</table>
<script type="text/javascript">

Loading…
Cancel
Save