Verteilerlisten, Mailsystem
This commit is contained in:
@ -3,7 +3,8 @@
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title>JU & MI Mailversand</title>
|
||||
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.14.0-beta3/dist/js/i18n/defaults-*.min.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
@ -14,8 +15,21 @@
|
||||
<script src="../jquery/jquery-3.4.1.min.js"></script>
|
||||
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
|
||||
<link href = "../jquery/jquery-ui-themes-1.13.2/jquery-ui.css" rel = "stylesheet">
|
||||
<!-- SelectBox: https://github.com/snapappointments/bootstrap-select-->
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="../js/select/bootstrap-select.min.css">
|
||||
<!-- Latest compiled and minified JavaScript -->
|
||||
<script src="../js/select/bootstrap-select.min.js"></script>
|
||||
<!-- (Optional) Latest compiled and minified JavaScript translation files -->
|
||||
<script src="../js/select/defaults-de_DE.min.js"></script>
|
||||
<style>
|
||||
#frmEnquiry div label {
|
||||
.bootstrap-select.invalid>.dropdown-toggle {
|
||||
background: #fbf2f2;
|
||||
}
|
||||
.bootstrap-select>.dropdown-toggle {
|
||||
border: #D2D2D2 1px solid;
|
||||
}
|
||||
#frmEnquiry div label {
|
||||
margin-left: 5px
|
||||
}
|
||||
.InputBox:focus {
|
||||
@ -61,7 +75,6 @@
|
||||
border: #e8e0e0 1px solid;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body class="sb-nav-fixed">
|
||||
<div id="navtop"></div>
|
||||
@ -80,8 +93,8 @@
|
||||
<div id="navleft"></div>
|
||||
<div id="layoutSidenav_content">
|
||||
<main>
|
||||
<!--Anwendung-->
|
||||
<script src="../js/components/admin_phpmailer.js"></script>
|
||||
<!--Anwendung-->
|
||||
<script src="../js/components/admin_phpmailer.js"></script>
|
||||
<div class="container-fluid">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
@ -93,29 +106,38 @@
|
||||
<div class="row">
|
||||
<form id="frmEnquiry" action="" method="post" enctype='multipart/form-data'>
|
||||
<!--
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12">
|
||||
<input type="text" name="userName" id="userName" class="form-control InputBox" placeholder="Name">
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12">
|
||||
<input type="text" name="userName" id="userName" class="form-control InputBox" placeholder="Name">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12">
|
||||
<input type="text" name="userEmail" id="userEmail" class="form-control InputBox" placeholder="Email">
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12">
|
||||
<input type="text" name="userEmail" id="userEmail" class="form-control InputBox" placeholder="Email">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
-->
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12">
|
||||
<label>Empfängerkreis</label><br />
|
||||
<select name="empfaenger[]"class="form-control InputBox" id="empfaenger" multiple="multiple">
|
||||
{section name=table_data loop=$table_data}
|
||||
<option value="S-{$table_data[table_data].rid}">{$table_data[table_data].bezeichnung}</option>
|
||||
{/section}
|
||||
<option value="C-1">ChorsängerInnen</option>
|
||||
</select>
|
||||
<select name="empfaenger[]"class="form-control InputBox selectpicker" id="empfaenger" multiple="multiple" data-live-search="true">
|
||||
<optgroup label="Systemintern">
|
||||
{section name=table_data loop=$table_data}
|
||||
<option value="S-{$table_data[table_data].rid}">{$table_data[table_data].bezeichnung}</option>
|
||||
{/section}
|
||||
</optgroup>
|
||||
<optgroup label="Chor">
|
||||
<option value="C-1">ChorsängerInnen</option>
|
||||
</optgroup>
|
||||
<optgroup label="Verteilerlisten">
|
||||
{section name=table_data1 loop=$table_data1}
|
||||
<option value="V-{$table_data1[table_data1].mvid}">{$table_data1[table_data1].bezeichnung}</option>
|
||||
{/section}
|
||||
</optgroup>
|
||||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||
<div class="col-12">
|
||||
<input type="text" name="subject" id="subject" class="form-control InputBox" placeholder="Betreff">
|
||||
@ -138,11 +160,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="msg"></div>
|
||||
<div id="msg1"></div>
|
||||
</form>
|
||||
<div id="loader-icon" style="display: none;">
|
||||
<img src="../media/LoaderIcon.gif" />
|
||||
</div>
|
||||
<!--
|
||||
<div id="loader-icon" style="display: none;">
|
||||
<img src="../media/LoaderIcon.gif" />
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</main>
|
||||
<!--
|
||||
@ -167,3 +190,4 @@
|
||||
</body>
|
||||
</html>
|
||||
{/if}
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title>JU & MI Rollen erfassen</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
|
@ -57,7 +57,7 @@
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-table me-1"></i>
|
||||
Nicht zugewiesene Lieder
|
||||
Nicht zugewiesene Benutzer
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table id="notassigned" class="table table-striped table-bordered table-responsive table-hover" >
|
||||
|
165
templates/modern/dashboard/verteilerlisten.html
Normal file
165
templates/modern/dashboard/verteilerlisten.html
Normal file
@ -0,0 +1,165 @@
|
||||
{if $action == ''}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title>JU & MI Verteilerlisten</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
|
||||
<link href="css/styles.css" rel="stylesheet" />
|
||||
<!-- icons in nav-->
|
||||
<script src="js/all.js" crossorigin="anonymous"></script>
|
||||
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
|
||||
<script src="../jquery/jquery-3.4.1.min.js"></script>
|
||||
<!-- jQuery UI CSS
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
|
||||
-->
|
||||
<script src="../jquery/jquery-ui.js"></script>
|
||||
<style>
|
||||
.btn-group > .btn{
|
||||
margin-bottom:20px;
|
||||
border-radius:20px !important;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
{literal}
|
||||
function keysave(ele) {
|
||||
if(event.key === 'Enter') {
|
||||
verteilersave();
|
||||
}
|
||||
}
|
||||
{/literal}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.ui-sortable tr {
|
||||
cursor:pointer;
|
||||
}
|
||||
.ui-sortable tr:hover {
|
||||
background:rgba(244,251,17,0.45);
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$('[data-toggle="popover"]').popover();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<!--<body onload="if(document.erfassen)document.erfassen.{$umfrageerf_focus}.focus();return false;">-->
|
||||
<body class="sb-nav-fixed">
|
||||
<div id="navtop"></div>
|
||||
{literal}
|
||||
<script>
|
||||
$(function(){
|
||||
// im Navbar muss der toggle in der Callbackfunktion definiert werden. Sonst findet jquery getelementbyID nicht
|
||||
$("#navtop").load('navtop.php', null, function(){$.getScript('js/scripts.js');});
|
||||
$("#navleft").load("nav.php");
|
||||
$("#footer").load("footer.php");
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
<div id="layoutSidenav">
|
||||
<!-- Navigation left -->
|
||||
<div id="navleft"></div>
|
||||
<div id="layoutSidenav_content">
|
||||
<main>
|
||||
<!--Anwendung-->
|
||||
<script src="../js/components/admin_verteilerlisten.js"></script>
|
||||
<div class="container-fluid">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-table me-1"></i>
|
||||
Verteilerlisten
|
||||
</div>
|
||||
<div class="row mt-1 mt-sm-1 mb-1 mb-sm-1">
|
||||
<div class="col-4 col-md-4">Verteilerliste:</div>
|
||||
<div class="col-8 col-md-8"><input class="form-control" type="text" name="verteilername" id="verteilername" size="60" onkeydown="keysave(this)"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row col-3"></div>
|
||||
<div class="row col-6"><button class="btn btn-primary btn-sm mt-3" id="save" onclick="verteilersave();">Speichern</button></div>
|
||||
<div class="row col-3"></div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-table me-1"></i>
|
||||
Vorhandene Verteiler
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row mt-0 mt-sm-1 mb-0 mb-sm-1">
|
||||
<div class="row mt-0 mb-0">
|
||||
<div class="d-none col-md-7 d-md-block"><b>Rolle</b></div>
|
||||
<div class="d-none col-md-5 d-md-block"><b>Aktion</b></div>
|
||||
</div>
|
||||
{section name=table_data loop=$table_data}
|
||||
<div class="row mt-0 mt-sm-1 mb-0 mb-sm-1">
|
||||
<div class="col-6 col-md-7">{$table_data[table_data].bezeichnung}</div>
|
||||
<div class="col-6 col-md-5">
|
||||
<a class="btn btn-success btn-rounded btn-icon btn-sm" data-bs-toggle="modal" value="{$table_data[table_data].mvid}|verteileruserzuordnung.php" onclick="ShowZuordnung(this)" data-bs-target="#ZuordnungModal"><i class="fa fa-user" style="width:18px;"></i></a>
|
||||
<a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="delVerteiler({$table_data[table_data].mvid})"><i class="fa fa-trash" style="width:18px;"></i></a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{/section}
|
||||
<!-- Modal -->
|
||||
<div class="modal" id="ZuordnungModal" tabindex="-1" aria-labelledby="ZuordnungModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-xl">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<!--<h5 class="modal-title" id="ZuordnungModalLabel">Rollenübersicht</h5>-->
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
<!--<button type="button" class="btn btn-primary">Save changes</button>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Lösen Sie das Modal mit einem Button aus -->
|
||||
{literal}
|
||||
<script>
|
||||
function ShowZuordnung(a){
|
||||
let receive = a.getAttribute("value");
|
||||
var a = receive.split('|');
|
||||
var value = a[0];
|
||||
var file = a[1];
|
||||
|
||||
$( '.modal-body' ).load( file+'?edit='+value , function () {
|
||||
$( '#ZuordnungModal' ).modal({show: true });
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/literal}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="msg"></div>
|
||||
</main>
|
||||
<!--
|
||||
<button type="button" class="btn btn-primary" data-bs-toggle="popover" title="Popover Header" data-bs-content="Some content inside the popover">
|
||||
Toggle popover
|
||||
</button>
|
||||
-->
|
||||
<!-- footer -->
|
||||
<div id="footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<script>
|
||||
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
|
||||
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
|
||||
return new bootstrap.Popover(popoverTriggerEl)
|
||||
})
|
||||
</script>
|
||||
-->
|
||||
</body>
|
||||
</html>
|
||||
{/if}
|
||||
|
||||
|
151
templates/modern/dashboard/verteileruserzuordnung.html
Normal file
151
templates/modern/dashboard/verteileruserzuordnung.html
Normal file
@ -0,0 +1,151 @@
|
||||
{if $action == ''}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
|
||||
<link href="css/styles.css" rel="stylesheet" />
|
||||
<!-- icons in nav-->
|
||||
<script src="js/all.js" crossorigin="anonymous"></script>
|
||||
|
||||
<!-- data Table: https://datatables.net/ -->
|
||||
<script src="../bootstrap/data-table/jquery.min.js"></script>
|
||||
<link rel="stylesheet" href="../bootstrap/data-table/dataTables.bootstrap5.min.css"></style>
|
||||
<link rel="stylesheet" href="../bootstrap/data-table/rowReorder.dataTables.min.css"></style>
|
||||
<script type="text/javascript" src="../bootstrap/data-table/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="../bootstrap/data-table/dataTables.rowReorder.min.js"></script>
|
||||
<script type="text/javascript" src="../bootstrap/data-table/dataTables.bootstrap5.min.js"></script>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
|
||||
<script src="../jquery/jquery-3.4.1.min.js"></script>
|
||||
<!-- jQuery UI CSS
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
|
||||
-->
|
||||
<script src="../jquery/jquery-ui.js"></script>
|
||||
<style>
|
||||
.btn-group > .btn{
|
||||
margin-bottom:20px;
|
||||
border-radius:20px !important;
|
||||
}
|
||||
|
||||
.ui-sortable tr {
|
||||
cursor:pointer;
|
||||
}
|
||||
.ui-sortable tr:hover {
|
||||
background:rgba(244,251,17,0.45);
|
||||
}
|
||||
.table>:not(caption)>*>* {
|
||||
padding: 0.1rem 0.1rem;
|
||||
}
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<!--<body onload="if(document.erfassen)document.erfassen.{$umfrageerf_focus}.focus();return false;">-->
|
||||
<body class="sb-nav-fixed">
|
||||
<main>
|
||||
<!--Anwendung-->
|
||||
<script src="../js/components/admin_verteilerlisten.js"></script>
|
||||
<p class="text-center"><b>{$verteiler_bezeichnung}</b></p>
|
||||
<div class="container-fluid">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-table me-1"></i>
|
||||
Nicht zugewiesene Personen
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table id="notassigned" class="table table-striped table-bordered table-responsive table-hover" >
|
||||
<thead class="d-none">
|
||||
<tr>
|
||||
<th>Vorname</th>
|
||||
<th>Nachname</th>
|
||||
<th>Aktion</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{section name=table_data loop=$table_data}
|
||||
<tr>
|
||||
<td>{$table_data[table_data].vorname}</td>
|
||||
<td>{$table_data[table_data].nachname}</td>
|
||||
<td>
|
||||
<p class="text-center">
|
||||
<a class="btn btn-success btn-rounded btn-icon btn-sm" onclick="erfuser({$table_data[table_data].mveid},{$verteiler_edit})"><i class="fa-solid fa-plus" style="width:18px;"></i></a>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
{/section}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-table me-1"></i>
|
||||
Zugewiesene Personen
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table id="assigned" class="table table-striped table-bordered table-responsive table-hover" >
|
||||
<thead class="d-none">
|
||||
<tr>
|
||||
<th>Vorname</th>
|
||||
<th>Nachname</th>
|
||||
<th>Aktion</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{section name=table_data1 loop=$table_data1}
|
||||
<tr>
|
||||
<td>{$table_data1[table_data1].vorname}</td>
|
||||
<td>{$table_data1[table_data1].nachname}</td>
|
||||
<td>
|
||||
<p class="text-center">
|
||||
<a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="deluser({$table_data1[table_data1].mveid},{$verteiler_edit})"><i class="fa-solid fa-minus" style="width:18px;"></i></a>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
{/section}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="msg"></div>
|
||||
</main>
|
||||
</div>
|
||||
<script src="../bootstrap/node_modules/move-js/move.js"></script>
|
||||
<link href="../bootstrap/dist/scrollable-tabs.min.css" rel="stylesheet">
|
||||
<script src="../bootstrap/dist/scrollable-tabs.min.js"></script>
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
var table = new DataTable('#notassigned', {
|
||||
rowReorder: true,
|
||||
pageLength: 5,
|
||||
language: {
|
||||
url: '//cdn.datatables.net/plug-ins/1.13.4/i18n/de-DE.json',
|
||||
search: "",
|
||||
lengthMenu: "_MENU_ Zeilen",
|
||||
},
|
||||
});
|
||||
|
||||
var table2 = new DataTable('#assigned', {
|
||||
rowReorder: true,
|
||||
pageLength: 5,
|
||||
language: {
|
||||
url: '//cdn.datatables.net/plug-ins/1.13.4/i18n/de-DE.json',
|
||||
search: "",
|
||||
lengthMenu: "_MENU_ Zeilen",
|
||||
},
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</html>
|
||||
{/if}
|
||||
|
Reference in New Issue
Block a user