Chorverwaltung

This commit is contained in:
aschwarz
2023-04-04 16:44:50 +02:00
parent 2fe4e927ff
commit 7c84c994e8
96 changed files with 10205 additions and 727 deletions

View File

@ -2,8 +2,13 @@
<!DOCTYPE html>
<html lang="de">
<head>
<title>JU & MI Benutzer erstellen</title>
<link rel="stylesheet" href="../jquery/jquery-ui.css">
{if $create_edit == ''}
<title>JU & MI S&auml;ngerIn erfassen</title>
{else}
<title>JU & MI S&auml;ngerIn bearbeiten</title>
{/if}
<title>JU & MI S&auml;ngerIn erfassen</title>
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
@ -14,131 +19,19 @@
<script src="js/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">
<style>
.multiselect-container {
position: absolute;
list-style-type: none;
margin: 5px 0 0 0;
width: 100%;
padding: 10px 0;
border: none;
-webkit-box-shadow: 0px 10px 23px -16px rgba(0, 0, 0, 0.14);
-moz-box-shadow: 0px 10px 23px -16px rgba(0, 0, 0, 0.14);
box-shadow: 0px 10px 23px -16px rgba(0, 0, 0, 0.14); }
.multiselect-container .input-group {
margin: 5px; }
.multiselect-container > li {
padding: 0;
font-size: 14px; }
.multiselect-container > li > a.multiselect-all label {
font-weight: 700;
color: gray; }
.multiselect-container > li.multiselect-group label {
margin: 0;
padding: 3px 20px 3px 20px;
height: 100%;
font-weight: 700; }
.multiselect-container > li.multiselect-group-clickable label {
cursor: pointer; }
.multiselect-container > li > a {
padding: 5px 0;
color: #000;
display: block; }
.multiselect-container > li > a > label {
display: block;
position: relative;
padding-left: 20px;
margin-bottom: 12px;
cursor: pointer;
font-size: 16px;
font-weight: 500;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none; }
.multiselect-container > li > a > label:before {
content: "";
display: inline-block;
position: relative;
height: 20px;
width: 20px;
border: 2px solid rgba(0, 0, 0, 0.2);
border-radius: 4px;
background-color: transparent;
margin-right: 15px;
vertical-align: middle; }
.multiselect-container > li.active > a > label:before {
font-family: 'fontAwesome';
content: "\f00c";
color: #fff;
background-color: #52de97;
border: 0;
display: inline-block;
padding: 0;
line-height: 1.2;
padding-left: 2px; }
.multiselect-container > li > a > label.radio, .multiselect-container > li > a > label.checkbox {
margin: 0; }
.multiselect-container > li > a > label > input[type=checkbox] {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0; }
.btn-group > .btn-group:nth-child(2) > .multiselect.btn {
border-top-left-radius: 4px;
border-bottom-left-radius: 4px; }
.form-inline .multiselect-container label.checkbox, .form-inline .multiselect-container label.radio {
padding: 3px 20px 3px 40px; }
.form-inline .multiselect-container li a label.checkbox input[type=checkbox],
.form-inline .multiselect-container li a label.radio input[type=radio] {
margin-left: -20px;
margin-right: 0; }
.btn-group {
height: 52px;
width: calc(100% - 150px); }
.btn-group button {
border-radius: 4px;
background: #fff;
-webkit-box-shadow: 0px 10px 23px -16px rgba(0, 0, 0, 0.14);
-moz-box-shadow: 0px 10px 23px -16px rgba(0, 0, 0, 0.14);
box-shadow: 0px 10px 23px -16px rgba(0, 0, 0, 0.14);
padding: 0 10px;
text-align: left;
position: relative; }
.btn-group button:after {
position: absolute;
top: 50%;
right: 20px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
color: #999999; }
.btn-group button:focus {
-webkit-box-shadow: 0px 10px 23px -16px rgba(0, 0, 0, 0.14);
-moz-box-shadow: 0px 10px 23px -16px rgba(0, 0, 0, 0.14);
box-shadow: 0px 10px 23px -16px rgba(0, 0, 0, 0.14);
padding: 0 10px; }
.sl {
color: gray;
width: 150px; }
</style>
<script type="text/javascript" src="../js/file_upload/vpb_uploader_member.js"></script>
<script type="text/javascript">$(document).ready(function()
{
// Call the main function
new vpb_multiple_file_uploader
({
vpb_form_id: "form_id", // Form ID
autoSubmit: true,
vpb_server_url: "../controller/admin_memberupload.php"
});
});
</script>
<link href = "../jquery/jquery-ui-themes-1.13.2/jquery-ui.css" rel = "stylesheet">
</head>
<body class="sb-nav-fixed">
<div id="navtop"></div>
@ -153,18 +46,20 @@
</script>
{/literal}
<div id="layoutSidenav">
<!-- Navigation left -->
<div id="navleft"></div>
<div id="layoutSidenav_content">
<main>
<!--Anwendung-->
<script src="../js/components/admin_create_member.js"></script>
<!-- Navigation left -->
<div id="navleft"></div>
<div id="layoutSidenav_content">
<main>
<div class="container-fluid">
<form name="form_id" id="form_id" action="javascript:void(0);" enctype="multipart/form-data">
<div class="card">
<div class="card-header">
<i class="fas fa-edit me-1"></i>
S&auml;ngerIn erfassen
{if $create_edit == ''}
S&auml;ngerIn erfassen
{else}
S&auml;ngerIn bearbeiten
{/if}
</div>
<div class="card-body">
<div class="row">
@ -183,47 +78,103 @@
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<div class="col-12 col-md-4">Singstimme:</div>
<div class="col-12 col-md-8">
<select name="singstimme"class="form-control" id="singstimme">
<option value="1">Sopran</option>
<option value="2">Alt</option>
<option value="3">Tenor</option>
<option value="4">Ba&szlig;</option>
</select>
</div>
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<div class="col-12 col-md-4">Bemerkung:</div>
<div class="col-12 col-md-8">
<div class="form-group">
<textarea id="bemerkung"></textarea>
</div>
<select name="singstimme"class="form-control" id="singstimme">
<option value="1" {if $member_anlegen_singstimme == 1} selected {/if}>Sopran</option>
<option value="2" {if $member_anlegen_singstimme == 2} selected {/if}>Alt</option>
<option value="3" {if $member_anlegen_singstimme == 3} selected {/if}>Tenor</option>
<option value="4" {if $member_anlegen_singstimme == 4} selected {/if}>Ba&szlig;</option>
</select>
</div>
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<div class="col-12 col-md-4">Bemerkung:</div>
<div class="col-12 col-md-8">
<div class="form-group">
<textarea id="bemerkung">{$member_anlegen_bemerkung}</textarea>
</div>
</div>
</div>
{if $create_edit != ''}
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<div class="col-12 col-md-4">Dateien:</div>
<div class="col-12 col-md-8">
<div class="form-group">
<table class="table table-striped table-bordered" id="curdoks">
<thead>
<tr>
<th style="color:blue; text-align:center;">Datei</th>
<th style="color:blue; text-align:center;">Uploaddatum</th>
<th style="color:blue; text-align:center;">Aktion</th>
<tr>
</thead>
<tbody>
{section name=table_data loop=$table_data}
<tr>
<td><a href="{$table_data[table_data].filename}" target="_new">{$table_data[table_data].originalname}</a></td>
<td>{$table_data[table_data].uploaddatum}</td>
<td><a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="delMemberFile({$table_data[table_data].id})"><i class="fa fa-trash" style="width:18px;"></i></a></td>
</tr>
{/section}
</tbody>
</table>
</div>
</div>
</div>
{/if}
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<label for="formFile" class="form-label">
<div class="col-12 col-md-4">PDF:</div>
<div class="col-12col-md-8">
<input class="form-control" type="file" name="vasplus_multiple_files" id="vasplus_multiple_files" multiple="multiple">
</div>
</label>
</div>
<table class="table table-striped table-bordered" id="add_files">
<thead>
<tr>
<th style="color:blue; text-align:center;">Datei</th>
<th style="color:blue; text-align:center;">Status</th>
<th style="color:blue; text-align:center;">Gr&ouml;&szlig;e</th>
<th style="color:blue; text-align:center;">Aktion</th>
<tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<p align='center'>
<button class="col-6 btn btn-primary btn-sm mt-3" id="save" onclick="membersave();">Speichern</button>
</p>
<p align='center'>
{if $create_edit != ''}
<input type="hidden" id="csid" value="{$create_edit}">
{else}
<input type="hidden" id="csid" value="-1">
{/if}
<button class="col-6 btn btn-primary btn-sm mt-3" id="save" onclick="membersave();">Speichern</button>
</p>
</div>
</div>
</div>
<div id="msg"></div>
<div id="msg1"></div>
</form>
</div>
<div id="msg"></div>
<div id="msg1"></div>
</main>
<script src="https://cdn.tiny.cloud/1/1rbpdpgs5ibxxotsljroj6rzz4t6v4akerjkdj7tuzdzlic6/tinymce/6/tinymce.min.js" referrerpolicy="origin"></script>
<script>
tinymce.init({
selector: 'textarea#bemerkung',
height: 200,
skin: 'bootstrap',
plugins: 'lists, link',
toolbar: 'h1 h2 bold italic strikethrough blockquote bullist numlist backcolor | link | removeformat help',
menubar: false,
});
</script>
<!-- footer -->
<div id="footer"></div>
</main>
<!--
<script src="https://cdn.tiny.cloud/1/1rbpdpgs5ibxxotsljroj6rzz4t6v4akerjkdj7tuzdzlic6/tinymce/6/tinymce.min.js" referrerpolicy="origin"></script>
-->
<script src="../tinymce/js/tinymce/tinymce.min.js"></script>
<script>
tinymce.init({
selector: 'textarea#bemerkung',
height: 200,
// skin: 'bootstrap',
plugins: 'lists, link',
toolbar: 'h1 h2 bold italic strikethrough blockquote bullist numlist backcolor | link | removeformat help',
menubar: false,
});
</script>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
</body>
</html>
{/if}
{/if}

View File

@ -0,0 +1,111 @@
{if $action == ''}
<!DOCTYPE html>
<html lang="de">
<head>
<title>JU & MI S&auml;ngerIn 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">
<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-->
<!-- 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/data-table/jumistyle.css"></style>
<script src="js/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 type="text/javascript" src="../js/file_upload/vpb_uploader_member.js"></script>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-edit me-1"></i>
S&auml;ngerIn bearbeiten
</div>
<div class="card-body">
<!-- https://datatables.net/download/release -->
<table id="myTable" class="table table-striped table-bordered table-responsive table-hover" >
<thead>
<tr>
<th>Vorname</th>
<th>Nachname</th>
<th class="d-none d-lg-table-cell"> Mail</th>
<th class="d-none d-lg-table-cell">Singstimme</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 class="d-none d-lg-table-cell">{$table_data[table_data].mail}</td>
<td class="d-none d-lg-table-cell">{$table_data[table_data].singstimme}</td>
<td>
<a href="create_member.php?editcsid={$table_data[table_data].csid}" class="settings" title="Edit Member" data-toggle="tooltip"><i class="fas fa fa-cog"></i></a>
&nbsp;
<a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="delMember({$table_data[table_data].csid})"><i class="fa fa-trash" style="width:18px;"></i></a>
</td>
</tr>
{/section}
</tbody>
</table>
</div>
</div>
</div>
<div id="msg"></div>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
</body>
<script>
$(document).ready(function(){
var table = new DataTable('#myTable', {
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}

View File

@ -0,0 +1,113 @@
{if $action == ''}
<!DOCTYPE html>
<html lang="de">
<head>
<title>JU & MI Noten 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">
<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-->
<!-- 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/data-table/jumistyle.css"></style>
<script src="js/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 type="text/javascript" src="../js/file_upload/vpb_uploader.js"></script>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-edit me-1"></i>
Noten bearbeiten
</div>
<div class="card-body">
<!-- https://datatables.net/download/release -->
<table id="myTable" class="table table-striped table-bordered table-responsive table-hover" >
<thead>
<tr>
<th>Titel</th>
<th>Verlag</th>
<th>Songbook</th>
<th class="d-none d-lg-table-cell"> Lizenzmenge</th>
<th class="d-none d-lg-table-cell">Streamlizenz</th>
<th>Aktion</th>
</tr>
</thead>
<tbody>
{section name=table_data loop=$table_data}
<tr>
<td>{$table_data[table_data].titel}</td>
<td>{$table_data[table_data].verlag}</td>
<td>{$table_data[table_data].songbook}</td>
<td class="d-none d-lg-table-cell">{$table_data[table_data].anz_lizenzen}</td>
<td class="d-none d-lg-table-cell">{$table_data[table_data].streamlizenz_vorh}</td>
<td>
<a href="notenupload.php?editjndid={$table_data[table_data].jndid}" class="settings" title="Edit Member" data-toggle="tooltip"><i class="fas fa fa-cog"></i></a>
&nbsp;
<a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="delNoten({$table_data[table_data].jndid})"><i class="fa fa-trash" style="width:18px;"></i></a>
</td>
</tr>
{/section}
</tbody>
</table>
</div>
</div>
</div>
<div id="msg"></div>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
</body>
<script>
$(document).ready(function(){
var table = new DataTable('#myTable', {
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}

View File

@ -18,7 +18,7 @@
</style>
<nav class="bg-juandmi sb-topnav navbar navbar-expand navbar-dark">
<!-- Navbar Brand-->
<a class="navbar-brand ps-3" href="index.php">Administration JU & MI</a>
<a class="navbar-brand ps-3" href="index.php">JU & MI</a>
<!-- Sidebar Toggle: js/scripts.js in der callbackfunktion vom Load aufrufen beim einbetten-->
<button class="btn btn-link btn-sm order-1 order-lg-0 me-4 me-lg-0" id="sidebarToggle" href="#!"><i class="fas fa-bars"></i></button>
<!-- Navbar Search-->

View File

@ -0,0 +1,168 @@
{if $action == ''}
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="Scrollable tab for Bootstrap 5">
<title>Notenbuch erfassen</title>
<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.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') {
rollesave();
}
}
{/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_notenbuch.js"></script>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Notenbuch erfassen
</div>
<div class="row mt-1 mt-sm-1 mb-1 mb-sm-1">
<div class="col-4 col-md-4">Notenbuchname:</div>
<div class="col-8 col-md-8"><input class="form-control" type="text" name="notenbuchname" id="notenbuchname" value="{$umfrageerf_value_frage}" 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="notenbuchsave();">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 Notenbücher
</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].zsid}|notenbuchzuordnung.php" onclick="ShowZuordnung(this)" data-bs-target="#ZuordnungModal"><i class="fa fa-eye" style="width:18px;"></i></a>
<a class="btn btn-success btn-rounded btn-icon btn-sm" data-bs-toggle="modal" value="{$table_data[table_data].zsid}|userzuordnung.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="delRole({$table_data[table_data].zsid})"><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}

View File

@ -0,0 +1,93 @@
{if $action == ''}
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="Scrollable tab for Bootstrap 5">
<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.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>
<style type="text/css">
.ui-sortable tr {
cursor:pointer;
}
.ui-sortable tr:hover {
background:rgba(244,251,17,0.45);
}
</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_notenbuch.js"></script>
<p class="text-center"><b>{$notenbuchzuordnung_bezeichnung}</b></p>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Nicht zugewiesene Rechte
</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-10 d-md-block"><b>Lied</b></div>
<div class="d-none col-md-2 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-10 col-md-10">{$table_data[table_data].titel}</div>
<div class="col-2 col-md-2"><a class="btn btn-success btn-rounded btn-icon btn-sm" onclick="erfzuordnung({$table_data[table_data].jndid},{$rollen_edit})"><i class="fa-solid fa-plus" style="width:18px;"></i></a></div>
</div>
{/section}
</div>
</div>
</div>
<br>
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Zugewiesene Lieder
</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-10 d-md-block"><b>Lied</b></div>
<div class="d-none col-md-2 d-md-block"><b>Aktion</b></div>
</div>
{section name=table_data1 loop=$table_data1}
<div class="row mt-0 mt-sm-1 mb-0 mb-sm-1">
<div class="col-10 col-md-10">{$table_data1[table_data1].titel}</div>
<div class="col-2 col-md-2"><a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="delzuordnung({$table_data1[table_data1].jndid}, {$rollen_edit})"><i class="fa-solid fa-minus" style="width:18px;"></i></a></div>
</div>
{/section}
</div>
</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>
</html>
{/if}

View File

@ -3,6 +3,12 @@
<html lang="de">
<head>
<meta charset="utf-8">
{if $create_edit == ''}
<title>JU & MI Noten erfassen</title>
{else}
<title>JU & MI Noten bearbeiten</title>
{/if}
<meta name="description" content="Scrollable tab for Bootstrap 5">
<meta name="keywords" content="Bootstrap, Bootstrap 5, Tabs">
<meta name="author" content="Federico Navarrete">
@ -66,34 +72,73 @@
<div class="card">
<div class="card-header">
<i class="fas fa-edit me-1"></i>
Notenupload
{if $create_edit == ''}
Noten erfassen
{else}
Noten bearbeiten
{/if}
</div>
<div class="card-body">
<div class="row">
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<div class="col-12 col-md-4">Titel:</div>
<div class="col-12 col-md-8">
<input type="text" id="titel" class="form-control rounded-right" required>
<input type="text" id="titel" class="form-control rounded-right" value="{$notenupload_titel}" required>
</div>
</div>
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<div class="col-12 col-md-4">Songbookname:</div>
<div class="col-12 col-md-8">
<input type="text" id="songbook" class="form-control rounded-right" value="{$notenupload_songbook}">
</div>
</div>
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<div class="col-12 col-md-4">Verlag:</div>
<div class="col-12 col-md-8">
<input type="text" id="verlag" class="form-control rounded-right" required">
<input type="text" id="verlag" class="form-control rounded-right" value="{$notenupload_verlag}">
</div>
</div>
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<div class="col-12 col-md-4">Anzahl Lizenzen:</div>
<div class="col-12 col-md-8">
<input type="text" id="anz_lizenzen" class="form-control rounded-right" required">
<input type="text" id="anz_lizenzen" class="form-control rounded-right" value="{$notenupload_anz_lizenzen}" required>
</div>
</div>
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<div class="col-8 col-md-4">Streamlizenz vorhanden:</div>
<div class="col-4 col-md-8">
<input class="form-check-input" type="checkbox" name="streamlizenz" id="streamlizenz" value="1">
<input class="form-check-input" type="checkbox" name="streamlizenz" id="streamlizenz" value="1" {if $notenupload_streamlizenz == '1'}checked{/if}>
</div>
</div>
{if $create_edit != ''}
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<div class="col-12 col-md-4">Dateien:</div>
<div class="col-12 col-md-8">
<div class="form-group">
<table class="table table-striped table-bordered" id="curdoks">
<thead>
<tr>
<th style="color:blue; text-align:center;">Datei</th>
<th style="color:blue; text-align:center;">Uploaddatum</th>
<th style="color:blue; text-align:center;">Aktion</th>
<tr>
</thead>
<tbody>
{section name=table_data loop=$table_data}
<tr>
<td><a href="{$table_data[table_data].filename}" target="_new">{$table_data[table_data].originalname}</a></td>
<td>{$table_data[table_data].uploaddatum}</td>
<td><a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="delNotenFile({$table_data[table_data].id})"><i class="fa fa-trash" style="width:18px;"></i></a></td>
</tr>
{/section}
</tbody>
</table>
</div>
</div>
</div>
{/if}
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
<label for="formFile" class="form-label">
<div class="col-12 col-md-4">PDF:</div>
@ -116,6 +161,11 @@
</table>
</div>
<p align='center'>
{if $create_edit != ''}
<input type="hidden" id="jndid" value="{$create_edit}">
{else}
<input type="hidden" id="jndid" value="-1">
{/if}
<button class="col-6 btn btn-primary btn-sm mt-3" id="save">Speichern</button>
</p>
</div>

View File

@ -1,114 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<html>
<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="" />
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="../bootstrap/node_modules/@popperjs/core/dist/umd/popper.min.js"></script>
<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>
<script src="../jquery/jquery-3.4.1.min.js"></script>
<style>
body {
margin: 0;
font-family: Arial, Helvetica, sans-serif;
}
@media only screen and (min-width: 769px) {
#div2 {
overflow: hidden;
background-color: #333;
height: 100%;
float: right !important;
width: 20%;
}
}
@media only screen and (max-width: 768px) {
#div2 {
height: 100px;
width: 100%;
position:fixed;
bottom:0;
background-color:gray;
}
}
.navbar a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
.navbar a:hover {
background: #f1f1f1;
color: black;
}
.navbar a.active {
background-color: #04AA6D;
color: white;
}
.main {
padding: 16px;
margin-bottom: 30px;
}
</style>
{literal}
<script>
<script>
$(document).ready(function() {
$("#div2").resizable({
alsoResize: "#main"
});
})
</script>
</script>
{/literal}
</head>
<body>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling" aria-controls="offcanvasScrolling">Toggle bottom offcanvas</button>
<div class="offcanvas offcanvas-bottom" data-bs-scroll="true" data-bs-backdrop="false" tabindex="-1" id="offcanvasScrolling" aria-labelledby="offcanvasScrollingLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasScrollingLabel">Colored with scrolling</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>Try scrolling the rest of the page to see this option in action.</p>
</div>
</div>
<div id="div2">
<a href="#home" class="active">Home</a>
<a href="#news">News</a>
<a href="#contact">Contact</a>
</div>
<div class="main">
<h1>Bottom Navigation Bar</h1>
<p>Some text some text some text.</p>
</div>
</body>
<script src="../tinymce/js/tinymce/tinymce.min.js"></script>
<script type="text/javascript">
tinymce.init({
selector: '#mytextarea'
});
</script>
</head>
<body>
<h1>TinyMCE Quick Start Guide</h1>
<form method="post">
<textarea id="mytextarea">Hello, World!</textarea>
</form>
</body>
</html>