Notenverwaltung erweitert

This commit is contained in:
aschwarz 2023-04-05 08:51:21 +02:00
parent 7c84c994e8
commit 107fb24ead
14 changed files with 375 additions and 112 deletions

View File

@ -42,10 +42,10 @@ if ($function == 'erfzuordnung') {
$db = dbconnect();
$sql1 = $db->query("INSERT INTO jumi_noten_zusammenstellung_zuord ( jndid, zsid) VALUES ( $jndid, $zsid )");
if($sql1){
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Das Recht wurde zugewiesen!</div>|***|success|***|'.$jndid;
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Die Noten wurden zugewiesen!</div>|***|success|***|'.$jndid;
exit;
}else{
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Das Recht wurde nicht zugewiesen: Insert Fehler Datenbank.</div>|***|error';
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Die Noten wurden nicht zugewiesen: Insert Fehler Datenbank.</div>|***|error';
exit;
}
}
@ -60,27 +60,27 @@ if ($function == 'delzuordnung') {
$sql1 = $db->query("DELETE FROM jumi_noten_zusammenstellung_zuord WHERE jndid='$jndid' AND zsid='$zsid'");
if($sql1){
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Das Recht wurde gelöscht!</div>|***|success|***|'.$jndid;
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Die Noten wurden entfernt!</div>|***|success|***|'.$jndid;
exit;
}else{
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Das Recht wurde nicht gelöscht: DELETE Fehler Datenbank.</div>|***|error';
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Die Noten wurdne nicht entfernt: DELETE Fehler Datenbank.</div>|***|error';
exit;
}
}
if ($function == 'erfuser') {
if (isset($_POST['rid'])) {
$rid = $_POST['rid'];
if ($function == 'erfNotenUser') {
if (isset($_POST['zsid'])) {
$zsid = $_POST['zsid'];
}
if (isset($_POST['uid'])) {
$uid = $_POST['uid'];
if (isset($_POST['csid'])) {
$csid = $_POST['csid'];
}
$db = dbconnect();
$sql1 = $db->query("INSERT INTO jumi_admin_rollen_user_zuord ( rid, uid) VALUES ( $rid, $uid )");
$sql1 = $db->query("INSERT INTO jumi_noten_zus_saenger_zuord ( zsid, csid) VALUES ( $zsid, $csid )");
if($sql1){
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Der Benutzer wurde zugewiesen!</div>|***|success|***|'.$rid;
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Der Benutzer wurde zugewiesen!</div>|***|success|***|'.$zsid;
exit;
}else{
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Der Benutzer wurde nicht zugewiesen: Insert Fehler Datenbank.</div>|***|error';
@ -88,17 +88,17 @@ if ($function == 'erfuser') {
}
}
if ($function == 'deluser') {
if (isset($_POST['rid'])) {
$rid = $_POST['rid'];
if ($function == 'delNotenUser') {
if (isset($_POST['zsid'])) {
$zsid = $_POST['zsid'];
}
if (isset($_POST['uid'])) {
$uid = $_POST['uid'];
if (isset($_POST['csid'])) {
$csid = $_POST['csid'];
}
$sql1 = $db->query("DELETE FROM jumi_admin_rollen_user_zuord WHERE rid='$rid' AND uid='$uid'");
$sql1 = $db->query("DELETE FROM jumi_noten_zus_saenger_zuord WHERE zsid='$zsid' AND csid='$csid'");
if($sql1){
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Der Benutzer wurde gelöscht!</div>|***|success|***|'.$rid;
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Der Benutzer wurde gelöscht!</div>|***|success|***|'.$zsid;
exit;
}else{
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Der Benutzer wurde nicht gelöscht: DELETE Fehler Datenbank.</div>|***|error';
@ -107,14 +107,14 @@ if ($function == 'deluser') {
}
if ($function == 'delRole') {
if (isset($_POST['rid'])) {
$rid = $_POST['rid'];
if ($function == 'delZusammenstellung') {
if (isset($_POST['zsid'])) {
$zsid = $_POST['zsid'];
}
$stmt1 = $db->query("DELETE FROM jumi_admin_rollen_rechte_zuord WHERE rid= $rid");
$stmt2 = $db->query("DELETE FROM jumi_admin_rollen_user_zuord WHERE rid= $rid");
$stmt3 = $db->query("DELETE FROM jumi_admin_rolle WHERE rid= $rid");
$stmt1 = $db->query("DELETE FROM jumi_noten_zusammenstellung_zuord WHERE zsid= $zsid");
$stmt2 = $db->query("DELETE FROM jumi_noten_zus_saenger_zuord WHERE zsid= $zsid");
$stmt3 = $db->query("DELETE FROM jumi_noten_zusammenstellung WHERE zsid= $zsid");
if ($stmt1 AND $stmt2 AND $stmt3) {
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Die Rolle wurde gelöscht!</div>|***|success';
exit;
@ -124,26 +124,4 @@ if ($function == 'delRole') {
}
}
/*
if ($function == 'deleteQuestion') {
$id2 = $_POST['id2'];
$stmt1 = $db->query("DELETE FROM jumi_umfragen_antworten WHERE ufid = $id2");
$stmt2 = $db->query("DELETE FROM jumi_umfragen_fragen WHERE ufid = $id2");
# ggf. bereis Abstimmergebnisse löschen
# Sonst werden keine neue Fragen erfasst
# unset($_SESSION["umfrageerf_ufid"]);
if ($stmt1 and $stmt2) {
echo "Success";
} else {
echo "Error";
}
}
*/
?>

View File

@ -9,6 +9,7 @@ if ($function == 'save_with_files')
{
## Dieses Script wird für jede Datei einzeln aufgerufen durch vpb_uploader.js. Bei 3 Dateien, 3x
$titel = $_POST['titel'];
$liednr = $_POST['liednr'];
$songbook = $_POST['songbook'];
$verlag = $_POST['verlag'];
#csid gesetzt, wenn Member bearbeitet wird
@ -94,6 +95,7 @@ if ($function == 'save_with_files')
$result = $db->query("SELECT jndid
FROM jumi_noten_daten
WHERE titel = '$titel'
AND liednr = '$liednr'
AND vid = '$vid'
AND sbid = '$sbid'
AND anz_lizenzen = '$anz_lizenzen'
@ -103,6 +105,7 @@ if ($function == 'save_with_files')
if ($row['jndid'] == '' AND $jndid_edit == '-1')
{
$sql1 = $db->query("INSERT INTO jumi_noten_daten ( titel
, liednr
, vid
, sbid
, anz_lizenzen
@ -112,6 +115,7 @@ if ($function == 'save_with_files')
)
VALUES
( '$titel'
, '$liednr'
, '$vid'
, '$sbid'
, '$anz_lizenzen'
@ -126,6 +130,7 @@ if ($function == 'save_with_files')
{
$sql1 = $db->query( "UPDATE jumi_noten_daten
SET titel = '$titel'
,liednr = '$liednr'
,vid = '$vid'
,sbid = '$sbid'
,anz_lizenzen = '$anz_lizenzen'
@ -200,6 +205,7 @@ if ($function == 'save_with_files')
if ($function == 'save_without_files')
{
$titel = $_POST['titel'];
$liednr = $_POST['liednr'];
$songbook = $_POST['songbook'];
$verlag = $_POST['verlag'];
$jndid_edit = $_POST['jndid_edit'];
@ -257,6 +263,7 @@ if ($function == 'save_without_files')
$datum = date("Y-m-d H:i:s");
if($jndid_edit == '-1'){
$sql1 = $db->query("INSERT INTO jumi_noten_daten ( titel
, liednr
, vid
, sbid
, anz_lizenzen
@ -266,6 +273,7 @@ if ($function == 'save_without_files')
)
VALUES
( '$titel'
, '$liednr'
, '$vid'
, '$sbid'
, '$anz_lizenzen'
@ -287,6 +295,7 @@ if ($function == 'save_without_files')
}else{
$sql1 = $db->query( "UPDATE jumi_noten_daten
SET titel = '$titel'
,liednr = '$liednr'
,vid = '$vid'
,sbid = '$sbid'
,anz_lizenzen = '$anz_lizenzen'

View File

@ -20,7 +20,7 @@ require_once "../language/german.inc.php";
$jndid = $_GET['editjndid'];
$smarty->assign('create_edit', $jndid);
$result0 = $db->query("SELECT a. jndid, titel, anz_lizenzen, streamlizenz, b.bezeichnung songbook, c.bezeichnung verlag
$result0 = $db->query("SELECT a. jndid, titel, liednr, anz_lizenzen, streamlizenz, b.bezeichnung songbook, c.bezeichnung verlag
FROM jumi_noten_daten a, jumi_noten_songbook b, jumi_noten_verlag c
WHERE a.sbid=b.sbid
AND a.vid=c.vid
@ -28,6 +28,7 @@ require_once "../language/german.inc.php";
ORDER BY titel ASC;");
$row0 = $result0->fetch_array();
$smarty->assign('notenupload_titel', $row0['titel']);
$smarty->assign('notenupload_liednr', $row0['liednr']);
$smarty->assign('notenupload_anz_lizenzen', $row0['anz_lizenzen']);
$smarty->assign('notenupload_streamlizenz', $row0['streamlizenz']);
$smarty->assign('notenupload_songbook', $row0['songbook']);

View File

@ -0,0 +1,64 @@
<?php
if (!isset($_SESSION)) {
session_start();
}
include_once '../classes/TestProjektSmarty.class_subdir.php';
require_once("../config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
$smarty = new SmartyAdmin();
if(!rechte('rollen.php', $uid)){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=error.php\">";
exit;
}
require_once "../language/german.inc.php";
if (isset($_GET['action'])) {
$action = $_GET['action'];
} else {
$action = '';
}
if ($action == '') {
if (isset($_GET['edit'])) {
$zsid = $_GET['edit'];
$smarty->assign('zusammenstellung_edit', $zsid);
}
$result_head = $db->query("SELECT bezeichnung FROM jumi_noten_zusammenstellung WHERE zsid=$zsid");
$row_head = $result_head->fetch_array();
$smarty->assign('notenzuordnung_bezeichnung', $row_head['bezeichnung']);
# Nicht zugewiesene User
$query = "SELECT csid, vorname, nachname
FROM jumi_chor_saenger
WHERE csid NOT IN (SELECT csid FROM jumi_noten_zus_saenger_zuord WHERE zsid=$zsid)
ORDER BY nachname ASC";
$result = $db->query($query) or die("Cannot execute query");
while ($row = $result->fetch_array()) {
$table_data[] = $row;
}
$smarty->assign('table_data', $table_data);
# Zugewiesene Rechte
$query1 = "SELECT csid, vorname, nachname
FROM jumi_chor_saenger
WHERE csid IN (SELECT csid FROM jumi_noten_zus_saenger_zuord WHERE zsid=$zsid)
ORDER BY nachname ASC";
$result1 = $db->query($query1) or die("Cannot execute query1");
while ($row1 = $result1->fetch_array()) {
$table_data1[] = $row1;
}
$smarty->assign('table_data1', $table_data1);
}
$smarty->assign('action', "$action");
$smarty->display("$template/dashboard/$templatename");
?>

View File

@ -14,9 +14,9 @@ function notenbuchsave(){
setTimeout(function() {
document.getElementById("notenbuchname").value ="";
window.location = "?";
}, 2000);
}, 1000);
}
$('#msg').show().delay(2000).fadeOut(500);
$('#msg').show().delay(1000).fadeOut(500);
$('#msg').html(a[0]);
}
},
@ -48,9 +48,9 @@ function erfzuordnung(jndid, zsid) {
$("#ZuordnungModal .modal-body").load('notenbuchzuordnung.php?edit='+value, function() {
$("#ZuordnungModal").modal("show");
});
}, 2000);
}, 1000);
}
$('#msg').show().delay(2000).fadeOut(500);
$('#msg').show().delay(1000).fadeOut(500);
$('#msg').html(a[0]);
}
},
@ -84,7 +84,7 @@ function delzuordnung(jndid, zsid) {
});
}, 2000);
}
$('#msg').show().delay(2000).fadeOut(500);
$('#msg').show().delay(1000).fadeOut(500);
$('#msg').html(a[0]);
}
},
@ -94,20 +94,16 @@ function delzuordnung(jndid, zsid) {
});
}
/*
function erfuser(val) {
var param = val.split('|');
var uid = param[0];
var rid = param[1];
function erfNotenUser(csid, zsid) {
$.ajax({
type: 'POST',
url: '../controller/admin_notenbuch.php',
data: {
'function': 'erfuser',
'uid': uid,
'rid': rid
'function': 'erfNotenUser',
'csid': csid,
'zsid': zsid
},
success: function(result) { //we got the response
if(result!=''){
@ -117,7 +113,7 @@ function erfuser(val) {
// Refresh Modal
var value = a[2];
// load the url and show modal on success
$("#ZuordnungModal .modal-body").load('userzuordnung.php?edit='+value, function() {
$("#ZuordnungModal .modal-body").load('notenuserzuordnung.php?edit='+value, function() {
$("#ZuordnungModal").modal("show");
});
});
@ -132,18 +128,15 @@ function erfuser(val) {
});
}
function deluser(val) {
var param = val.split('|');
var uid = param[0];
var rid = param[1];
function delNotenUser(csid, zsid) {
$.ajax({
type: 'POST',
url: '../controller/admin_notenbuch.php',
data: {
'function': 'deluser',
'uid': uid,
'rid': rid
'function': 'delNotenUser',
'csid': csid,
'zsid': zsid
},
success: function(result) { //we got the response
if(result!=''){
@ -154,7 +147,7 @@ function deluser(val) {
// Refresh Modal
var value = a[2];
// load the url and show modal on success
$("#ZuordnungModal .modal-body").load('userzuordnung.php?edit='+value, function() {
$("#ZuordnungModal .modal-body").load('notenuserzuordnung.php?edit='+value, function() {
$("#ZuordnungModal").modal("show");
});
});
@ -170,16 +163,15 @@ function deluser(val) {
}
function delRole(rid) {
r = confirm('Rolle löschen? Benutzer sind dann unzugeordnet!');
function delZusammenstellung(zsid) {
r = confirm('Zusammenstellung löschen?');
if (r) {
$.ajax({
type: 'POST',
url: '../controller/admin_notenbuch.php',
data: {
'function': 'delRole',
'rid': rid
'function': 'delZusammenstellung',
'zsid': zsid
},
success: function(result) { //we got the response
if(result!=''){
@ -199,4 +191,3 @@ function delRole(rid) {
});
}
}
*/

View File

@ -190,6 +190,7 @@ function vpb_multiple_file_uploader(vpb_configuration_settings) {
dataString.append('upload_file_ids', ids);
var titel = document.getElementById("titel").value;
var liednr = document.getElementById("liednr").value;
var songbook = document.getElementById("songbook").value;
var verlag = document.getElementById("verlag").value;
var anz_lizenzen = document.getElementById("anz_lizenzen").value;
@ -203,6 +204,7 @@ function vpb_multiple_file_uploader(vpb_configuration_settings) {
var streamlizenz = 0;
}
dataString.append('titel', titel);
dataString.append('liednr', liednr);
dataString.append('songbook', songbook);
dataString.append('verlag', verlag);
dataString.append('anz_lizenzen', anz_lizenzen);
@ -302,6 +304,7 @@ function vpb_multiple_file_uploader(vpb_configuration_settings) {
// By A. Schwarz: Insert ohne File
vpb_multiple_file_uploader.prototype.vasINSERT = function() {
var titel = document.getElementById("titel").value;
var liednr = document.getElementById("liednr").value;
var songbook = document.getElementById("songbook").value;
var verlag = document.getElementById("verlag").value;
var anz_lizenzen = document.getElementById("anz_lizenzen").value;
@ -321,6 +324,7 @@ function vpb_multiple_file_uploader(vpb_configuration_settings) {
data: {
'function': 'save_without_files',
'titel': titel,
'liednr': liednr,
'songbook': songbook,
'verlag': verlag,
'anz_lizenzen': anz_lizenzen,

Binary file not shown.

View File

@ -60,7 +60,7 @@
<thead>
<tr>
<th>Titel</th>
<th>Verlag</th>
<th class="d-none d-lg-table-cell">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>
@ -71,7 +71,7 @@
{section name=table_data loop=$table_data}
<tr>
<td>{$table_data[table_data].titel}</td>
<td>{$table_data[table_data].verlag}</td>
<td class="d-none d-lg-table-cell">{$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>

View File

@ -102,8 +102,8 @@ $(document).ready(function(){
<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>
<a class="btn btn-success btn-rounded btn-icon btn-sm" data-bs-toggle="modal" value="{$table_data[table_data].zsid}|notenuserzuordnung.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="delZusammenstellung({$table_data[table_data].zsid})"><i class="fa fa-trash" style="width:18px;"></i></a>
</div>
</div>

View File

@ -13,6 +13,19 @@
<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
@ -47,39 +60,59 @@
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>
<table id="notassigned" class="table table-striped table-bordered table-responsive table-hover" >
<thead>
<tr>
<th>Lied</th>
<th>Aktion</th>
</tr>
</thead>
<tbody>
{section name=table_data loop=$table_data}
<tr>
<td>{$table_data[table_data].titel}</td>
<td>
<p class="text-center">
<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>
</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 Lieder
Nicht 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>
<table id="assigned" class="table table-striped table-bordered table-responsive table-hover" >
<thead>
<tr>
<th>Lied</th>
<th>Aktion</th>
</tr>
</thead>
<tbody>
{section name=table_data1 loop=$table_data1}
<tr>
<td>{$table_data1[table_data1].titel}</td>
<td>
<p class="text-center">
<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>
</p>
</td>
</tr>
{/section}
</tbody>
</table>
</div>
</div>
<div id="msg"></div>
@ -89,5 +122,29 @@
<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}

View File

@ -86,6 +86,12 @@
<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">LiedNr:</div>
<div class="col-12 col-md-8">
<input type="text" id="liednr" class="form-control rounded-right" value="{$notenupload_liednr}" 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">
@ -120,7 +126,7 @@
<thead>
<tr>
<th style="color:blue; text-align:center;">Datei</th>
<th style="color:blue; text-align:center;">Uploaddatum</th>
<th class="d-none d-lg-table-cell" style="color:blue; text-align:center;">Uploaddatum</th>
<th style="color:blue; text-align:center;">Aktion</th>
<tr>
</thead>
@ -128,7 +134,7 @@
{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 class="d-none d-lg-table-cell">{$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}

View File

@ -0,0 +1,153 @@
{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>
<!-- 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_rollen.js"></script>
<p class="text-center"><b>{$notenzuordnung_bezeichnung}</b></p>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Nicht zugewiesene S&auml;gerIn
</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="erfNotenUser({$table_data[table_data].csid}, {$zusammenstellung_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 S&auml;gerIn
</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="delNotenUser({$table_data1[table_data1].csid}, {$zusammenstellung_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}

View File

@ -46,11 +46,11 @@
<div class="card-body">
<div class="row">
<!-- bei mobilen Geäten ausblenden: d-none d-lg-block -->
<div class="d-none d-lg-block"><b>Nr</b></div>
<div class="d-none d-lg-block"><b>Überschrift</b></div>
<div class="d-none d-lg-block"><b>Startdatum</b></div>
<div class="d-none d-lg-block"><b>Enddatum</b></div>
<div class="d-none d-lg-block"><b>Bearbeiten</b></div>
<div class="d-none col-1 col-lg-1 mb-2 mb-sm-3 d-lg-block"><b>Nr</b></div>
<div class="d-none col-8 col-lg-5 mb-2 mb-sm-3 d-lg-block"><b>Überschrift</b></div>
<div class="d-none d-lg-block col-lg-2 mb-2 mb-sm-3 d-lg-block"><b>Startdatum</b></div>
<div class="d-none d-lg-block col-lg-2 mb-2 mb-sm-3 d-lg-block"><b>Enddatum</b></div>
<div class="d-none col-3 col-lg-2 mb-2 mb-sm-3 d-lg-block"><b>Bearbeiten</b></div>
</div>
{section name=table_data1 loop=$table_data1}
<div class="row mt-0 mb-0">

View File

@ -60,7 +60,7 @@
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Nicht zugewiesene Benutzer
Nicht zugewiesene Lieder
</div>
<div class="card-body">
<table id="notassigned" class="table table-striped table-bordered table-responsive table-hover" >