Dashboard weiter ausgebaut

This commit is contained in:
aschwarz
2023-03-23 14:30:30 +01:00
parent 8ab6cd63e9
commit ec8b611c93
54 changed files with 2132 additions and 831 deletions

View File

@ -1,243 +0,0 @@
<!-- index gegen LDAP und DB bei externer Kennung-->
{if $action == ''}
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<title>Registrierung und Terminbuchung für Gottesdienste in Weinstadt-Beutelsbach</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="templates/{$global_template}/css/styles_login.css" type="text/css">
<style>
.squarebutton_blue{
width:100px;
}
</style>
<link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<script type="text/javascript" src="./fancybox/jquery-1.5.1.min.js"></script>
<!-- DATEI GIBTS NICHT <script>!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');</script>-->
<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".box").fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : true,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'type' : 'iframe'
});
});
</script>
<style>
.container {
display: flex;
justify-content: center;
}
.button {
font: bold 11px Arial;
text-decoration: none;
background-color: #EEEEEE;
color: #333333;
padding: 2px 6px 2px 6px;
border-top: 1px solid #CCCCCC;
border-right: 1px solid #333333;
border-bottom: 1px solid #333333;
border-left: 1px solid #CCCCCC;
}
</style>
</head>
<body>
<table height="100%" width="100%">
<tr>
<td width="5%">
&nbsp;
</td>
<td width="90%">
<div class="Header">
<div>
{if $abmelde_error == 1}
<div align="center">Fehler bei der Abmeldung</div>
{/if}
{if $abmelde_error == 0}
<div align="center">Abmeldung vom Gottesdienst am {$abmelde_termin} Uhr</div>
{/if}
</div>
</div>
<div class="pat_list_box">
<p>
{if $index_error == '1'}
<table width="70%" class="errorTable" align="center">
<tr>
<td>
<img src="templates/{$global_template}/images/pflichtfelder/achtung_gross.gif">
</td>
<td><b>Achtung!</b><br>
{$index_error_text}
</td>
</tr>
</table>
<br />
{/if}
<table align="center" border="0" bordercolordark="white" bordercolorlight="" cellspacing="0" width="96%" >
<tr>
<td align="left">
<table width="100%" border="0">
<form action=?action=terminwahl method="POST" name="persdat">
{if $abmelde_error == 1}
<tr>
<td width="80%">
<table width="100%" border=0>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">
Es ist ein Fehler aufgetreten. Die Buchung konnte nicht gelöscht werden oder ist bereits gelöscht.<br>
<br>
Im Zweifel kontaktieren Sie den <a href="mailto:nak-beutelsbach@gmx.de">Administrator</a>.
</td>
<td width="30%">&nbsp;</td>
</tr>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">&nbsp;</td>
<td width="30%">&nbsp;</td>
</tr>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">
</td>
<td width="30%">&nbsp;</td>
</tr>
</table>
{/if}
{if $abmelde_error == 0}
<tr>
<td width="80%">
<table width="100%" border=0>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">
<p align="center">
Sie möchten <b>{$abmelde_vorname} {$abmelde_nachname}</b> vom Gottesdienst am {$abmelde_termin} Uhr abmelden?
<br>
<br>
<br>
Sind Sie sich sicher?
<br>
<br>
<a href="?action=del&antwort=N">
<img title = "Nein" border="0" src="./templates/{$global_template}/images/nein.gif"></a>
&nbsp;
<a href="?action=del&antwort=Y">
<img title = "Ja"border="0" src="./templates/{$global_template}/images/ja.gif"></a>
</p>
</td>
<td width="30%">&nbsp;</td>
</tr>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">&nbsp;</td>
<td width="30%">&nbsp;</td>
</tr>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">
</td>
<td width="30%">&nbsp;</td>
</tr>
</table>
{/if}
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
<td width="5%">
&nbsp;
</td>
</tr>
</table>
</form>
</body>
</html>
{/if}
{if $action == 'del'}
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<title>Abmeldung beendet</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="templates/{$global_template}/css/styles_login.css" type="text/css">
</head>
<body onselectstart="return false" ondragstart="return false" oncontextmenu="return false" oncontext="return false">
<table height="100%" width="100%">
<tr>
<td width="15%">
&nbsp;
</td>
<td width="70%">
<div class="Header">
<div>
<div align="center">Abmeldung beendet</div>
</div>
</div>
<div class="pat_list_box">
<p>
{if $save_error == '1'}
<table width="70%" class="errorTable" align="center">
<tr>
<td>
<img src="templates/{$global_template}/images/pflichtfelder/achtung_gross.gif">
</td>
<td><b>Achtung!</b><br>
{$save_error_text}
</td>
</tr>
</table>
<br />
{else}
<br>
<br>
<table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" >
<tr>
<td align="left">
<table width="100%" border="0">
<form action=?action=save method="POST" name="save">
<tr>
<td width="80%">
<p align='center'>
{$abmelde_ausgabe}
</p>
<br>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
<br>
{/if}
</div>
</td>
<td width="15%">
&nbsp;
</td>
</tr>
</table>
</form>
</body>
</html>
{/if}

View File

@ -1,13 +1,13 @@
{if $action == ''}
<!DOCTYPE html>
<html lang="en">
<html lang="de">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Login - SB Admin</title>
<title>JU & MI Administration</title>
<link href="css/styles.css" rel="stylesheet" />
<script src="all.js" crossorigin="anonymous"></script>
<script src="../jquery/jquery-3.4.1.min.js"></script>
@ -41,12 +41,13 @@
{$index_error_text}
</div>
{/if}
<div class="lottie-container" id="lottie-container"></div>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-5">
<div class="card shadow-lg border-0 rounded-lg mt-5">
<div class="card-header">
<h3 class="text-center font-weight-light my-4">JU & MI Login</h3>
<h3 class="text-center font-weight-light my-4">Login</h3>
</div>
<div class="card-body">
<form action=?action=anmeld method="POST" name="login">

View File

@ -4,14 +4,18 @@
<div class="nav">
<!--<div class="sb-sidenav-menu-heading">Core</div>-->
<a class="nav-link" href="startseite.php">
<div class="sb-nav-link-icon"><i class="fas fa-tachometer-alt"></i></div>
<div class="sb-nav-link-icon"><i class="fas fa-house"></i></div>
Home
</a>
<div class="sb-sidenav-menu-heading">Umfrage</div>
<a class="nav-link" href="survey_erfassen.php?new=1">
<div class="sb-nav-link-icon"><i class="fas fa-tachometer-alt"></i></div>
<div class="sb-nav-link-icon"><i class="fas fa fa-pie-chart"></i></div>
Erstellen
</a>
<a class="nav-link" href="survey_edit.php?new=1">
<div class="sb-nav-link-icon"><i class="fas fa-edit"></i></div>
Bearbeiten
</a>
<!--
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#collapseLayouts" aria-expanded="false" aria-controls="collapseLayouts">
<div class="sb-nav-link-icon"><i class="fas fa-columns"></i></div>
@ -57,8 +61,8 @@
</div>
-->
<div class="sb-sidenav-menu-heading">Administration</div>
<a class="nav-link" href="startseite.php">
<div class="sb-nav-link-icon"><i class="fas fa-chart-area"></i></div>
<a class="nav-link" href="parameter.php">
<div class="sb-nav-link-icon"><i class="fas fa-cog"></i></div>
Systemparameter
</a>
<!--

View File

@ -0,0 +1,61 @@
{if $action == ''}
<!DOCTYPE html>
<html lang="en">
<head>
<title>JU & MI Systemparameter</title>
<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="all.js" crossorigin="anonymous"></script>
<script src="../jquery/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
</head>
<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_parameter.js"></script>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Systemparameter
</div>
<div class="card-body">
{section name=table_data1 loop=$table_data1}
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">{$table_data1[table_data1].beschreibung}</div>
<div class="col-12 col-md-8"><input type="text" class="form-control" name="parameter[]" value="{$table_data1[table_data1].wert}"></div>
</div>
{/section}
</div>
</div>
</div>
<div class="col-12 btn-group">
<a class="btn btn-primary mt-3" onclick="onClickSaveParameter()"><i class="fa fa-save" style="width:18px;"></i></a>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
</body>
</html>
{/if}

View File

@ -0,0 +1,116 @@
{if $action == ''}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Auswertung</title>
<!-- https://www.budde-mediendesign.de/blog/programmierung/das-bootstrap-4-grid-system-->
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<!--
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">
-->
<style type="text/css">
body {
background-color : #FFF;
}
.headline {
padding-top: 10px;
padding-bottom: 10px;
}
.container2 {
width: 80%;
}
.progress {
height: 28px;
}
.progress-bar {
background-color: #0BA7AD;
font-size: 16px;
line-height: 28px;
}
span {
position: absolute;
right: 20px;
color: #002C6C;
}
p {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div class="container">
<div class="grid">
<div class="headline col-12 bg-white">
<h2>
<p class="text-center">{$result_headline}</p>
</h2>
<p class="text-center small">({$result_datum_von} bis {$result_datum_bis})</p>
</div>
<div class="col-12 ">
<table class="table table-sm">
<tbody>
<tr>
<th scope="row">Vollständige Teilnehmer</th>
<td>{$result_anz_fertige}</td>
<tr>
<th scope="row">Teilweise beantwortet</th>
<td>{$result_anz_angefangen}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="container">
{section name=table_data loop=$table_data}
<p class="text-primary">{$table_data[table_data].frage}<br>({$table_data[table_data].anz_userfrage} Personen)</p>
{if $table_data[table_data].multiple == '1'}
<p class="small">(Multiple Choice Frage)</p>
{/if}
{section name=inner loop=$table_data[table_data].inner}
<div class="row">
<div class="col-5">
<label>
<p class="small">{$table_data[table_data].inner[inner].antwort}</p>
</label>
</div>
<div class="col-7">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="{$table_data[table_data].inner[inner].prozent}" aria-valuemin="0" aria-valuemax="100" style="width: {$table_data[table_data].inner[inner].prozent}%;"><span>{$table_data[table_data].inner[inner].prozent}%</span></div>
</div>
</div>
</div>
{/section}
<br>
{/section}
</div>
<div class="container">
<div class="grid">
<div class="col-12 ">
<table class="table table-striped">
{section name=table_data3 loop=$table_data3}
{if $smarty.section.table_data3.rownum == 1}
<thead>
<tr>
<th scope="col"><p class="text-primary">Bemerkungen</p></th>
</tr>
</thead>
<tbody>
{/if}
<tr>
<td>{$table_data3[table_data3].freitext}</td>
</tr>
{/section}
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
{/if}

View File

@ -1,13 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>JU & MI Startseite</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Dashboard - SB Admin</title>
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
<!-- icons in nav-->

View File

@ -0,0 +1,116 @@
{if $action == ''}
<!DOCTYPE html>
<html lang="de">
<head>
<title>JU & MI Umfragen bearbeiten</title>
<link rel="stylesheet" href="../jquery/jquery-ui.css">
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../jquery/jquery-3.4.1.min.js"></script>
<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="all.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
</head>
<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_edit.js"></script>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Erfasste Umfragen
</div>
<div class="card-body">
<div class="row">
<!-- bei mobilen Geäten ausblenden: d-none d-lg-block -->
<div class="col-1 d-none d-lg-block"><b>Nr</b></div>
<div class="col-5 d-none d-lg-block"><b>Überschrift</b></div>
<div class="col-2 d-none d-lg-block"><b>Startdatum</b></div>
<div class="col-2 d-none d-lg-block"><b>Enddatum</b></div>
<div class="col-2 d-none d-lg-block"><b>Bearbeiten</b></div>
</div>
{section name=table_data1 loop=$table_data1}
<div class="row mt-0 mb-0">
<div class="col-1 col-lg-1 mb-2 mb-sm-3">{$smarty.section.table_data1.rownum}</div>
<div class="col-9 col-lg-5 mb-2 mb-sm-3">{$table_data1[table_data1].headline}
<div class="d-block d-lg-none">{$table_data1[table_data1].datum_von} -</div>
<div class="d-block d-lg-none">{$table_data1[table_data1].datum_bis}</div>
</div>
<div class="d-none d-lg-block col-lg-2 mb-2 mb-sm-3">{$table_data1[table_data1].datum_von}</div>
<div class="d-none d-lg-block col-lg-2 mb-2 mb-sm-3">{$table_data1[table_data1].datum_bis}</div>
<div class="col-2 col-lg-2 mb-2 mb-sm-3">
<a href="survey_erfassen.php?edit=1&umid={$table_data1[table_data1].umid}" class="btn btn-primary btn-rounded btn-icon btn-sm"><i class="fa fa-edit" style="width:18px;"></i></a>
<a class="btn btn-success btn-rounded btn-icon btn-sm" data-bs-toggle="modal" value="{$table_data1[table_data1].umid}" onclick="ShowDetails(this)" data-bs-target="#exampleModal"><i class="fa fa-eye" style="width:18px;"></i></a>
<a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="onClickDeleteSurvey({$table_data1[table_data1].umid})"><i class="fa fa-trash" style="width:18px;"></i></a>
</div>
</div>
{/section}
<!-- Modal -->
<div class="modal" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Umfrageergebnis</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>
<hr>
<!-- Lösen Sie das Modal mit einem Button aus -->
{literal}
<script>
function ShowDetails(a){
let value = a.getAttribute("value");
$( '.modal-body' ).load( 'result_latest.php?editumid='+value , function () {
$( '#exampleModal' ).modal({show: true });
});
}
</script>
{/literal}
</div>
</div>
</div>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
</body>
</html>
{/if}

View File

@ -1,6 +1,8 @@
{if $action == ''}
<html>
<!DOCTYPE html>
<html lang="de">
<head>
<title>JU & MI Umfragen erfassen</title>
<link rel="stylesheet" href="../jquery/jquery-ui.css">
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
<script src="../jquery/jquery-1.12.4.js"></script>
@ -10,7 +12,7 @@
<script src="../jquery/jquery.mousewheel.js"></script>
<script src="../jquery/jquery.timepicker.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<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" />
@ -168,7 +170,7 @@
</div>
</div>
<div class="col-12 btn-group">
<input type='submit' class="btn btn-primary" name='senden' value="Weiter - Fragen erfassen">
<input type='submit' class="btn btn-primary mt-3" name='senden' value="Weiter - Fragen erfassen">
</div>
</form>
</main>
@ -188,7 +190,7 @@
<meta name="keywords" content="Bootstrap, Bootstrap 5, Tabs">
<meta name="author" content="Federico Navarrete">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<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" />
@ -315,8 +317,8 @@
</div>
<p align='center'>
<div class="col-12">
<a type="submit" href="?" class="btn btn-light btn-sm">Zurück</a>
<button class="btn btn-primary btn-sm" id="save" onclick="erfassensave();">Speichern</button>
<a type="submit" href="?" class="btn btn-light btn-sm mt-3">Zurück</a>
<button class="btn btn-primary btn-sm mt-3" id="save" onclick="erfassensave();">Speichern</button>
</div>
</p>
<div class="card">
@ -344,8 +346,8 @@
<thead>
<tr>
<th width="20%">Sortierung</th>
<th width="60%">Antwort</th>
<th width="20%">Löschen</th>
<th width="70%">Antwort</th>
<th width="10%">Löschen</th>
</tr>
</thead>
<tbody id="tb">
@ -353,7 +355,7 @@
<tr data-sort-id="{$table_data2[table_data2].uaid}">
<td valign="middle" class="priority">{$smarty.section.table_data2.rownum}</td>
<td valign="middle">{$table_data2[table_data2].antwort}</td>
<td valign="middle"><button class="btn btn-delete btn-danger btn-sm" onclick="onClickDelete({$table_data2[table_data2].uaid})">Löschen</button></td>
<td valign="middle"><button class="btn btn-delete btn-danger btn-rounded btn-icon" onclick="onClickDelete({$table_data2[table_data2].uaid})"><i class="fa fa-trash"></i></button></td>
</tr>
{/section}
</table>