Finanzen hinzugefügt
This commit is contained in:
parent
640323dbe3
commit
ccfae236fc
265
controller/admin_finanzen.php
Normal file
265
controller/admin_finanzen.php
Normal file
@ -0,0 +1,265 @@
|
||||
<?php
|
||||
require_once ("../config.inc.php");
|
||||
$function = $_POST['function'];
|
||||
|
||||
if ($function == 'save_with_files')
|
||||
{
|
||||
|
||||
if (isset($_POST) && $_SERVER['REQUEST_METHOD'] == "POST")
|
||||
{
|
||||
## Dieses Script wird für jede Datei einzeln aufgerufen durch vpb_uploader.js. Bei 3 Dateien, 3x
|
||||
$form_datum = $_POST['datum'];
|
||||
$datum_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $form_datum);
|
||||
$beschreibung = $_POST['beschreibung'];
|
||||
$firma = $_POST['firma'];
|
||||
$art = $_POST['art'];
|
||||
$betrag = $_POST['betrag'];
|
||||
$bemerkung = $_POST['bemerkung'];
|
||||
|
||||
#fid gesetzt, wenn Finanzen bearbeitet wird
|
||||
$fid_edit = $_POST['fid_edit'];
|
||||
|
||||
|
||||
$datum_file = date("Ymd_His_");
|
||||
#$vpb_file_name = strip_tags($_FILES['upload_file']['name']); //File Name
|
||||
$vpb_file_name = str_replace(array(
|
||||
"ä",
|
||||
"ö",
|
||||
"ü",
|
||||
"ß",
|
||||
"Ä",
|
||||
"Ö",
|
||||
"Ü",
|
||||
" "
|
||||
) , array(
|
||||
"ae",
|
||||
"oe",
|
||||
"ue",
|
||||
"ss",
|
||||
"Ae",
|
||||
"Oe",
|
||||
"Ue",
|
||||
"_"
|
||||
) , $_FILES['upload_file']['name']);
|
||||
$originalname = $_FILES['upload_file']['name'];
|
||||
$vpb_file_name = $datum_file . $vpb_file_name;
|
||||
$vpb_file_id = strip_tags($_POST['upload_file_ids']); // File id is gotten from the file name
|
||||
$vpb_file_size = $_FILES['upload_file']['size']; // File Size
|
||||
$vpb_uploaded_files_location = '../media/file_upload/finanzen/'; //This is the directory where uploaded files are saved on your server
|
||||
$vpb_final_location = $vpb_uploaded_files_location . $vpb_file_name; //Directory to save file plus the file to be saved
|
||||
//Without Validation and does not save filenames in the database
|
||||
|
||||
|
||||
|
||||
|
||||
if (move_uploaded_file(strip_tags($_FILES['upload_file']['tmp_name']) , $vpb_final_location))
|
||||
{
|
||||
|
||||
$result = $db->query("SELECT fid
|
||||
FROM jumi_finanzen
|
||||
WHERE datum = '$datum_form'
|
||||
AND beschreibung = '$beschreibung'
|
||||
AND firma = '$firma'
|
||||
AND art = '$art'
|
||||
AND betrag = '$betrag'
|
||||
AND bemerkung = '$bemerkung'
|
||||
");
|
||||
$row = $result->fetch_array();
|
||||
if ($row['fid'] == '' AND $fid_edit == '-1')
|
||||
{
|
||||
$sql1 = $db->query("INSERT INTO jumi_finanzen ( datum
|
||||
, beschreibung
|
||||
, firma
|
||||
, art
|
||||
, betrag
|
||||
, bemerkung
|
||||
)
|
||||
VALUES
|
||||
( '$datum_form'
|
||||
, '$beschreibung'
|
||||
, '$firma'
|
||||
, '$art'
|
||||
, '$betrag'
|
||||
, '$bemerkung'
|
||||
)
|
||||
");
|
||||
$fid = $db->insert_id;
|
||||
}
|
||||
elseif($fid_edit != '-1')
|
||||
{
|
||||
$sql1 = $db->query( "UPDATE jumi_finanzen
|
||||
SET datum = '$datum_form'
|
||||
,beschreibung = '$beschreibung'
|
||||
,firma = '$firma'
|
||||
,art = '$art'
|
||||
,betrag = '$betrag'
|
||||
,bemerkung = '$bemerkung'
|
||||
WHERE fid = $fid_edit
|
||||
" );
|
||||
$fid = $fid_edit;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$fid = $row['fid'];
|
||||
}
|
||||
$datum = date("Y-m-d H:i:s");
|
||||
$sql2 = $db->query("INSERT INTO jumi_finanzen_uploads ( fid
|
||||
, filename
|
||||
, originalname
|
||||
, uid
|
||||
, datum
|
||||
)
|
||||
VALUES
|
||||
( $fid
|
||||
, '$vpb_final_location'
|
||||
, '$originalname'
|
||||
, $uid
|
||||
, '$datum'
|
||||
)
|
||||
");
|
||||
//Display the file id
|
||||
if ($sql2)
|
||||
{
|
||||
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Betrag wurde erfasst!</div>|***|success|***|' . $vpb_file_id;
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Betrag wurde nicht erfasst: Insert Fehler Datenbank.</div>|***|error|***|' . $vpb_file_id;
|
||||
exit;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//Display general system error
|
||||
echo 'general_system_error';
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if ($function == 'save_without_files')
|
||||
{
|
||||
$form_datum = $_POST['datum'];
|
||||
$datum_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $form_datum);
|
||||
$beschreibung = $_POST['beschreibung'];
|
||||
$firma = $_POST['firma'];
|
||||
$art = $_POST['art'];
|
||||
$betrag = $_POST['betrag'];
|
||||
$bemerkung = $_POST['bemerkung'];
|
||||
#fid gesetzt, wenn Finanzen bearbeitet wird
|
||||
$fid_edit = $_POST['fid_edit'];
|
||||
|
||||
|
||||
$db = dbconnect();
|
||||
|
||||
# Wenn Verlag nicht vorhanden, dann neu anlegen
|
||||
|
||||
|
||||
$datum = date("Y-m-d H:i:s");
|
||||
if($fid_edit == '-1'){
|
||||
$sql1 = $db->query("INSERT INTO jumi_finanzen ( datum
|
||||
, beschreibung
|
||||
, firma
|
||||
, art
|
||||
, betrag
|
||||
, bemerkung
|
||||
)
|
||||
VALUES
|
||||
( '$datum_form'
|
||||
, '$beschreibung'
|
||||
, '$firma'
|
||||
, '$art'
|
||||
, '$betrag'
|
||||
, '$bemerkung'
|
||||
)
|
||||
");
|
||||
if ($sql1)
|
||||
{
|
||||
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Betrag wurde erfasst!</div>|***|success|***|';
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Betrag wurde nicht erfasst: Insert Fehler Datenbank.</div>|***|error';
|
||||
exit;
|
||||
}
|
||||
}else{
|
||||
$sql1 = $db->query( "UPDATE jumi_finanzen
|
||||
SET datum = '$datum_form'
|
||||
,beschreibung = '$beschreibung'
|
||||
,firma = '$firma'
|
||||
,art = '$art'
|
||||
,betrag = '$betrag'
|
||||
,bemerkung = '$bemerkung'
|
||||
WHERE fid = $fid_edit
|
||||
" );
|
||||
|
||||
|
||||
if ($sql1)
|
||||
{
|
||||
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Betrag wurde bearbeitet!</div>|***|success|***|';
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Betrag wurde nicht bearbeitet: Update Fehler Datenbank.</div>|***|error';
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($function == 'delBelegFile') {
|
||||
if (isset($_POST['id'])) {
|
||||
$id = $_POST['id'];
|
||||
}
|
||||
|
||||
$result0 = $db->query("SELECT filename, fid
|
||||
FROM jumi_finanzen_uploads
|
||||
WHERE id = $id;");
|
||||
$row0 = $result0->fetch_array();
|
||||
|
||||
$stmt1 = $db->query("DELETE FROM jumi_finanzen_uploads WHERE id= $id");
|
||||
$del = unlink($row0['filename']);
|
||||
|
||||
if ($stmt1 AND $del) {
|
||||
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Die Datei wurde gelöscht!</div>|***|success|***|'.$row0['fid'];
|
||||
exit;
|
||||
} else {
|
||||
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Die Datei wurde nicht gelöscht: DELETE Fehler Datenbank.</div>|***|success|***|'.$row0['fid'];
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($function == 'delBeleg') {
|
||||
if (isset($_POST['fid'])) {
|
||||
$fid = $_POST['fid'];
|
||||
}
|
||||
|
||||
$query = "SELECT id, filename, originalname FROM jumi_finanzen_uploads WHERE fid='$fid' ORDER BY datum DESC";
|
||||
$result = $db->query( $query)
|
||||
or die ("Cannot execute query1");
|
||||
|
||||
while ($row = $result->fetch_array()){
|
||||
$del = unlink($row['filename']);
|
||||
}
|
||||
|
||||
|
||||
$stmt1 = $db->query("DELETE FROM jumi_finanzen_uploads WHERE fid = $fid;");
|
||||
$stmt2 = $db->query("DELETE FROM jumi_finanzen WHERE fid = $fid");
|
||||
|
||||
|
||||
if ($stmt1 AND $stmt2) {
|
||||
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Beleg wurde gelöscht!</div>|***|success';
|
||||
exit;
|
||||
} else {
|
||||
echo '<div class="alert alert-danger"><i class="fa fa-fw fa-thumbs-down"></i> Beleg wurde nicht gelöscht: DELETE Fehler Datenbank.</div>|***|success';
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
117
dashboard/finanzen.php
Normal file
117
dashboard/finanzen.php
Normal file
@ -0,0 +1,117 @@
|
||||
<?php
|
||||
## INDEX gegen DB
|
||||
if (!isset($_SESSION))
|
||||
{
|
||||
session_start();
|
||||
}
|
||||
#$_SESSION['sessionid'] = session_id();
|
||||
include_once '../classes/TestProjektSmarty.class_subdir.php';
|
||||
require_once ("../config.inc.php");
|
||||
$smarty = new SmartyAdmin();
|
||||
if (!rechte('__noright__', $uid))
|
||||
{
|
||||
echo "<meta http-equiv=\"refresh\" content=\"0; URL=error.php\">";
|
||||
exit;
|
||||
}
|
||||
$templatename = substr(basename($_SERVER['PHP_SELF']) , 0, -3) . "html";
|
||||
require_once "../language/german.inc.php";
|
||||
|
||||
# Gespeicherte Werte
|
||||
$result_sum = $db->query("SELECT sum(betrag) kontostand
|
||||
FROM jumi_finanzen
|
||||
");
|
||||
$row_sum = $result_sum->fetch_array();
|
||||
|
||||
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
|
||||
$kontostand = $fmt->formatCurrency($row_sum['kontostand'], "EUR");
|
||||
$smarty->assign('kontostand', $kontostand);
|
||||
|
||||
$query = "SELECT fid, datum, date_format(datum, '%d.%m.%Y') datum_form, beschreibung, firma, art, betrag, bemerkung
|
||||
FROM jumi_finanzen
|
||||
ORDER BY datum DESC";
|
||||
|
||||
$result = $db->query($query) or die("Cannot execute query");
|
||||
|
||||
while ($row = $result->fetch_array())
|
||||
{
|
||||
$value2 = '';
|
||||
unset($inner1);
|
||||
|
||||
$query2 = "SELECT id, filename, originalname
|
||||
FROM jumi_finanzen_uploads
|
||||
WHERE fid=$row[fid]
|
||||
ORDER BY id ASC
|
||||
";
|
||||
|
||||
$result2 = $db->query($query2) or die("Cannot execute query2");
|
||||
$ln2 = 0;
|
||||
|
||||
while ($row2 = $result2->fetch_array())
|
||||
{
|
||||
|
||||
$inner1[$ln2]['id'] = $row2['id'];
|
||||
$inner1[$ln2]['filename'] = $row2['filename'];
|
||||
$inner1[$ln2]['originalname'] = $row2['originalname'];
|
||||
|
||||
$dateiarray = explode(".",$row2['originalname']);
|
||||
$endung = ".".$dateiarray[count($dateiarray)-1];
|
||||
$datei_short = substr($row2['originalname'],0,8)."[...]".$endung;
|
||||
$inner1[$ln2]['originalname_short'] = $datei_short;
|
||||
|
||||
$value2 = $inner1;
|
||||
$ln2++;
|
||||
}
|
||||
|
||||
#$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
|
||||
$betrag = $fmt->formatCurrency($row['betrag'], "EUR");
|
||||
|
||||
$row['betrag_form'] = $betrag;
|
||||
$row['inner'] = $value2;
|
||||
$table_data[] = $row;
|
||||
}
|
||||
$smarty->assign('table_data', $table_data);
|
||||
|
||||
#echo "<pre>";
|
||||
#print_r($table_data);
|
||||
#echo "</pre>";
|
||||
|
||||
|
||||
if (isset($_GET['editfid']) and $_GET['editfid'] != '')
|
||||
{
|
||||
# Aus externer Seite edit_user.php
|
||||
#echo "<br><br><br><br><br><br><br><br>-----------------------------------------------hier";
|
||||
$fid = $_GET['editfid'];
|
||||
$smarty->assign('create_edit', $fid);
|
||||
|
||||
$result0 = $db->query("SELECT fid, date_format(datum, '%d.%m.%Y') datum, beschreibung, firma, art, betrag, bemerkung
|
||||
FROM jumi_finanzen
|
||||
WHERE fid = $fid
|
||||
");
|
||||
$row0 = $result0->fetch_array();
|
||||
$smarty->assign('finanzen_datum', $row0['datum']);
|
||||
$smarty->assign('finanzen_beschreibung', $row0['beschreibung']);
|
||||
$smarty->assign('finanzen_firma', $row0['firma']);
|
||||
$smarty->assign('finanzen_art', $row0['art']);
|
||||
if($row0['art'] == 'A'){
|
||||
$betrag = $row0['betrag'] * (-1);
|
||||
}else{
|
||||
$betrag = $row0['betrag'];
|
||||
}
|
||||
$smarty->assign('finanzen_betrag', $betrag);
|
||||
$smarty->assign('finanzen_bemerkung', $row0['bemerkung']);
|
||||
|
||||
$query = "SELECT id, filename, originalname, date_format(datum, '%d.%m.%y - %H:%i') uploaddatum FROM jumi_finanzen_uploads WHERE fid='$fid' ORDER BY datum DESC";
|
||||
$result = $db->query($query) or die("Cannot execute query1");
|
||||
|
||||
while ($row10 = $result->fetch_array())
|
||||
{
|
||||
|
||||
$row10['orginalname_short'] = $datei_short;
|
||||
$value[] = $row10;
|
||||
}
|
||||
$smarty->assign('table_data2', $value);
|
||||
}
|
||||
|
||||
$smarty->assign('action', "$action");
|
||||
$smarty->display("modern/dashboard/$templatename");
|
||||
?>
|
@ -14,9 +14,12 @@ if(!rechte('__noright__', $uid)){
|
||||
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
|
||||
require_once "../language/german.inc.php";
|
||||
|
||||
$row10['originalname'] = "Einwilligungserklaerung_personenbezogene_Daten.pdf";
|
||||
$dateiarray = explode(".",$row10['originalname']);
|
||||
$endung = ".".$dateiarray[count($dateiarray)-1];
|
||||
$datei_short = substr($row10['originalname'],0,8)."[...]".$endung;
|
||||
echo $datei_short;
|
||||
|
||||
|
||||
|
||||
$smarty->assign('action', "$action");
|
||||
$smarty->display("modern/dashboard/$templatename");
|
||||
#$smarty->assign('action', "$action");
|
||||
#$smarty->display("modern/dashboard/$templatename");
|
||||
?>
|
||||
|
433
js/file_upload/vpb_uploader_finanzen.js
Normal file
433
js/file_upload/vpb_uploader_finanzen.js
Normal file
@ -0,0 +1,433 @@
|
||||
function vpb_multiple_file_uploader(vpb_configuration_settings) {
|
||||
this.vpb_settings = vpb_configuration_settings;
|
||||
this.vpb_files = "";
|
||||
this.vpb_browsed_files = []
|
||||
var self = this;
|
||||
var vpb_msg = "Sorry, your browser does not support this application. Thank You!";
|
||||
|
||||
//Get all browsed file extensions
|
||||
function vpb_file_ext(file) {
|
||||
return (/[.]/.exec(file)) ? /[^.]+$/.exec(file.toLowerCase()) : '';
|
||||
}
|
||||
|
||||
/* Display added files which are ready for upload */
|
||||
//with their file types, names, size, date last modified along with an option to remove an unwanted file
|
||||
vpb_multiple_file_uploader.prototype.vpb_show_added_files = function(vpb_value) {
|
||||
this.vpb_files = vpb_value;
|
||||
if (this.vpb_files.length > 0) {
|
||||
var vpb_added_files_displayer = vpb_file_id = "";
|
||||
for (var i = 0; i < this.vpb_files.length; i++) {
|
||||
//Use the names of the files without their extensions as their ids
|
||||
var files_name_without_extensions = this.vpb_files[i].name.substr(0, this.vpb_files[i].name.lastIndexOf('.')) || this.vpb_files[i].name;
|
||||
vpb_file_id = files_name_without_extensions.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
|
||||
|
||||
var vpb_file_to_add = vpb_file_ext(this.vpb_files[i].name);
|
||||
var vpb_class = $("#added_class").val();
|
||||
var vpb_file_icon;
|
||||
|
||||
//Check and display File Size
|
||||
var vpb_fileSize = (this.vpb_files[i].size / 1024);
|
||||
if (vpb_fileSize / 1024 > 1) {
|
||||
if (((vpb_fileSize / 1024) / 1024) > 1) {
|
||||
vpb_fileSize = (Math.round(((vpb_fileSize / 1024) / 1024) * 100) / 100);
|
||||
var vpb_actual_fileSize = vpb_fileSize + " GB";
|
||||
} else {
|
||||
vpb_fileSize = (Math.round((vpb_fileSize / 1024) * 100) / 100)
|
||||
var vpb_actual_fileSize = vpb_fileSize + " MB";
|
||||
}
|
||||
} else {
|
||||
vpb_fileSize = (Math.round(vpb_fileSize * 100) / 100)
|
||||
var vpb_actual_fileSize = vpb_fileSize + " KB";
|
||||
}
|
||||
|
||||
//Check and display the date that files were last modified
|
||||
var vpb_date_last_modified = new Date(this.vpb_files[i].lastModifiedDate);
|
||||
var dd = vpb_date_last_modified.getDate();
|
||||
var mm = vpb_date_last_modified.getMonth() + 1;
|
||||
var yyyy = vpb_date_last_modified.getFullYear();
|
||||
var vpb_date_last_modified_file = dd + '/' + mm + '/' + yyyy;
|
||||
|
||||
//File Display Classes
|
||||
if (vpb_class == 'vpb_blue') {
|
||||
var new_classc = 'vpb_white';
|
||||
} else {
|
||||
var new_classc = 'vpb_blue';
|
||||
}
|
||||
|
||||
|
||||
if (typeof this.vpb_files[i] != undefined && this.vpb_files[i].name != "") {
|
||||
//Check for the type of file browsed so as to represent each file with the appropriate file icon
|
||||
|
||||
if (vpb_file_to_add == "jpg" || vpb_file_to_add == "JPG" || vpb_file_to_add == "jpeg" || vpb_file_to_add == "JPEG" || vpb_file_to_add == "gif" || vpb_file_to_add == "GIF" || vpb_file_to_add == "png" || vpb_file_to_add == "PNG") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/images_file.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "doc" || vpb_file_to_add == "docx" || vpb_file_to_add == "rtf" || vpb_file_to_add == "DOC" || vpb_file_to_add == "DOCX") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/doc.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "pdf" || vpb_file_to_add == "PDF") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/pdf.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "txt" || vpb_file_to_add == "TXT" || vpb_file_to_add == "RTF") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/txt.png" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "php") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/php.png" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "css") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/general.png" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "js") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/general.png" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "html" || vpb_file_to_add == "HTML" || vpb_file_to_add == "htm" || vpb_file_to_add == "HTM") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/html.png" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "setup") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/setup.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "video") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/video.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "real") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/real.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "psd") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/psd.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "fla") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/fla.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "xls" || vpb_file_to_add == "xlsx") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/xls.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "swf") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/swf.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "eps") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/eps.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "exe") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/exe.gif" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "binary") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/binary.png" align="absmiddle" border="0" alt="" />';
|
||||
} else if (vpb_file_to_add == "zip") {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/archive.png" align="absmiddle" border="0" alt="" />';
|
||||
} else {
|
||||
vpb_file_icon = '<img src="../media/file_upload_images/general.png" align="absmiddle" border="0" alt="" />';
|
||||
}
|
||||
var split = this.vpb_files[i].name.split('.');
|
||||
var filename = split[0];
|
||||
var extension = split[1];
|
||||
if (filename.length > 15) {
|
||||
filename = filename.substring(0, 10) + '[...]';
|
||||
}
|
||||
var result = filename + '.' + extension;
|
||||
//Assign browsed files to a variable so as to later display them below
|
||||
vpb_added_files_displayer += '<tr id="add_fileID' + vpb_file_id + '" class="' + new_classc + '"><td><div align="left"><span style="font-family:Verdana, Geneva, sans-serif;font-size:11px;color:gray;">' + vpb_file_icon + ' ' + result + '</span></div></td><td><span id="uploading_' + vpb_file_id + '"><span style="font-family:Verdana, Geneva, sans-serif;font-size:11px;color:gray;">Uploadbereit</span></span></td><td><div align="right"><span style="font-family:Verdana, Geneva, sans-serif;font-size:11px;color:gray;">' + vpb_actual_fileSize + '</span></div></td><td><span id="remove' + vpb_file_id + '"><span class="vpb_files_remove_left_inner" style="font-family:Verdana, Geneva, sans-serif;font-size:11px;" onclick="vpb_remove_this_file(\'' + vpb_file_id + '\',\'' + this.vpb_files[i].name + '\');">Entfernen</span></span></td></tr></div>';
|
||||
|
||||
}
|
||||
}
|
||||
//Display browsed files on the screen to the user who wants to upload them
|
||||
$("#add_files").append(vpb_added_files_displayer);
|
||||
$("#added_class").val(new_classc);
|
||||
}
|
||||
}
|
||||
|
||||
//File Reader
|
||||
vpb_multiple_file_uploader.prototype.vpb_read_file = function(vpb_e) {
|
||||
if (vpb_e.target.files) {
|
||||
self.vpb_show_added_files(vpb_e.target.files);
|
||||
self.vpb_browsed_files.push(vpb_e.target.files);
|
||||
} else {
|
||||
alert('Sorry, a file you have specified could not be read at the moment. Thank You!');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function addEvent(type, el, fn) {
|
||||
if (window.addEventListener) {
|
||||
el.addEventListener(type, fn, false);
|
||||
} else if (window.attachEvent) {
|
||||
var f = function() {
|
||||
fn.call(el, window.event);
|
||||
};
|
||||
el.attachEvent('on' + type, f)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Get the ids of all added files and also start the upload when called
|
||||
vpb_multiple_file_uploader.prototype.vpb_starter = function() {
|
||||
if (window.File && window.FileReader && window.FileList && window.Blob) {
|
||||
var vpb_browsed_file_ids = $("#" + this.vpb_settings.vpb_form_id).find("input[type='file']").eq(0).attr("id");
|
||||
document.getElementById(vpb_browsed_file_ids).addEventListener("change", this.vpb_read_file, false);
|
||||
document.getElementById(this.vpb_settings.vpb_form_id).addEventListener("submit", this.vpb_submit_added_files, true);
|
||||
} else {
|
||||
alert(vpb_msg);
|
||||
}
|
||||
}
|
||||
|
||||
//Call the uploading function when click on the upload button
|
||||
vpb_multiple_file_uploader.prototype.vpb_submit_added_files = function() {
|
||||
self.vpb_upload_bgin();
|
||||
}
|
||||
|
||||
//Start uploads
|
||||
vpb_multiple_file_uploader.prototype.vpb_upload_bgin = function() {
|
||||
|
||||
if (this.vpb_browsed_files.length > 0) {
|
||||
for (var k = 0; k < this.vpb_browsed_files.length; k++) {
|
||||
var file = this.vpb_browsed_files[k];
|
||||
this.vasPLUS(file, 0);
|
||||
}
|
||||
} else {
|
||||
// Else Zweig ergänzt A. Schwarz. Wenn keine Dateien zum hochladen sind, dann Insert mit den Daten machen
|
||||
this.vasINSERT();
|
||||
}
|
||||
}
|
||||
|
||||
//Main file uploader
|
||||
|
||||
// A. Schwarz: Insert mit File
|
||||
vpb_multiple_file_uploader.prototype.vasPLUS = function(file, file_counter) {
|
||||
if (typeof file[file_counter] != undefined && file[file_counter] != '') {
|
||||
//Use the file names without their extensions as their ids
|
||||
var files_name_without_extensions = file[file_counter].name.substr(0, file[file_counter].name.lastIndexOf('.')) || file[file_counter].name;
|
||||
var ids = files_name_without_extensions.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
|
||||
var vpb_browsed_file_ids = $("#" + this.vpb_settings.vpb_form_id).find("input[type='file']").eq(0).attr("id");
|
||||
|
||||
var removed_file = $("#" + ids).val();
|
||||
|
||||
if (removed_file != "" && removed_file != undefined && removed_file == ids) {
|
||||
self.vasPLUS(file, file_counter + 1);
|
||||
} else {
|
||||
var dataString = new FormData();
|
||||
dataString.append('upload_file', file[file_counter]);
|
||||
dataString.append('upload_file_ids', ids);
|
||||
|
||||
var datum = document.getElementById("datum").value;
|
||||
var beschreibung = document.getElementById("beschreibung").value;
|
||||
var firma = document.getElementById("firma").value;
|
||||
var art = $("#art").val();
|
||||
var betrag = document.getElementById("betrag").value;
|
||||
var bemerkung = document.getElementById("bemerkung").value;
|
||||
if(art == 'A'){
|
||||
betrag=betrag*(-1);
|
||||
}
|
||||
// fid beim Bearbeiten von Finanzen
|
||||
var fid_edit = document.getElementById("fid").value;
|
||||
|
||||
dataString.append('datum', datum);
|
||||
dataString.append('beschreibung', beschreibung);
|
||||
dataString.append('firma', firma);
|
||||
dataString.append('art', art);
|
||||
dataString.append('betrag', betrag);
|
||||
dataString.append('bemerkung', bemerkung);
|
||||
dataString.append('fid_edit', fid_edit);
|
||||
dataString.append('function', 'save_with_files');
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: this.vpb_settings.vpb_server_url,
|
||||
data: dataString,
|
||||
cache: false,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
beforeSend: function() {
|
||||
$("#uploading_" + ids).html('<div align="left"><img src="../media/file_upload_images/loadings.gif" width="80" align="absmiddle" title="Upload...."/></div>');
|
||||
$("#remove" + ids).html('<div align="center" style="font-family:Verdana, Geneva, sans-serif;font-size:11px;color:blue;">Uploading...</div>');
|
||||
},
|
||||
success: function(response) {
|
||||
var a = response.split('|***|');
|
||||
|
||||
// Länge der Zeit berechnen, wie lange die Messagebox angezeigt wird. Jedes File wird zumindest optisch einzeln hochgeladen.
|
||||
var waitempty_chk = ($('[id^=add_fileID]').length*2000)+3000;
|
||||
|
||||
if(waitempty_chk >5000 ){
|
||||
var waitempty = waitempty_chk;
|
||||
}else{
|
||||
// Mindestens aber 5 Sekunden
|
||||
var waitempty = 5000;
|
||||
}
|
||||
setTimeout(function() {
|
||||
// document.getElementById("datum").value = "";
|
||||
// document.getElementById("verlag").value = "";
|
||||
// document.getElementById("anz_lizenzen").value = "";
|
||||
// document.getElementById("vasplus_multiple_files").value = "";
|
||||
// document.getElementById("streamlizenz").checked = false;
|
||||
// var $el = $('#vasplus_multiple_files');
|
||||
// $el.wrap('<form>').closest('form').get(0).reset();
|
||||
// $el.unwrap();
|
||||
//
|
||||
// $("#add_files > tbody").empty();
|
||||
// Alternativlösung. Felder leeren alleine bringt nichts. Wenn man eine File hochlädt und das nächste Mal ohne File, dann werden die letzten Files nochmals hochgeladen.
|
||||
// Daher eine Weiterleitung auf sich selbst, damit der Prozess neu initiiert wird.
|
||||
window.location = "?";
|
||||
|
||||
}, waitempty);
|
||||
|
||||
|
||||
$('#msg').show().delay(waitempty).fadeOut(500);
|
||||
$('#msg').html(a[0]);
|
||||
|
||||
var responseid = a[2];
|
||||
setTimeout(function() {
|
||||
var response_brought = responseid.indexOf(ids);
|
||||
if (response_brought != -1) {
|
||||
$("#uploading_" + ids).html('<div align="left" style="font-family:Verdana, Geneva, sans-serif;font-size:11px;color:blue;">Vollständig</div>');
|
||||
$("#remove" + ids).html('<div align="center" style="font-family:Verdana, Geneva, sans-serif;font-size:11px;color:gray;">Hochgeladen</div>');
|
||||
} else {
|
||||
var fileType_response_brought = responseid.indexOf('file_type_error');
|
||||
if (fileType_response_brought != -1) {
|
||||
|
||||
var filenamewithoutextension = responseid.replace('file_type_error&', '').substr(0, responseid.replace('file_type_error&', '').lastIndexOf('.')) || responseid.replace('file_type_error&', '');
|
||||
var fileID = filenamewithoutextension.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
|
||||
$("#uploading_" + fileID).html('<div align="left" style="font-family:Verdana, Geneva, sans-serif;font-size:11px;color:red;">Invalid File</div>');
|
||||
$("#remove" + fileID).html('<div align="center" style="font-family:Verdana, Geneva, sans-serif;font-size:11px;color:orange;">Abgebrochen</div>');
|
||||
|
||||
} else {
|
||||
var filesize_response_brought = responseid.indexOf('file_size_error');
|
||||
if (filesize_response_brought != -1) {
|
||||
var filenamewithoutextensions = responseid.replace('file_size_error&', '').substr(0, responseid.replace('file_size_error&', '').lastIndexOf('.')) || responseid.replace('file_size_error&', '');
|
||||
var fileID = filenamewithoutextensions.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
|
||||
$("#uploading_" + fileID).html('<div align="left" style="font-family:Verdana, Geneva, sans-serif;font-size:11px;color:red;">Exceeded Size</div>');
|
||||
$("#remove" + fileID).html('<div align="center" style="font-family:Verdana, Geneva, sans-serif;font-size:11px;color:orange;">Abgebrochen</div>');
|
||||
} else {
|
||||
var general_response_brought = responseid.indexOf('general_system_error');
|
||||
if (general_response_brought != -1) {
|
||||
alert('Sorry, the file was not uploaded...');
|
||||
} else {
|
||||
/* Do nothing */ }
|
||||
}
|
||||
}
|
||||
}
|
||||
if (file_counter + 1 < file.length) {
|
||||
self.vasPLUS(file, file_counter + 1);
|
||||
} else {}
|
||||
}, 2000);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
alert('Sorry, this system could not verify the identity of the file you were trying to upload at the moment. Thank You!');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// By A. Schwarz: Insert ohne File
|
||||
vpb_multiple_file_uploader.prototype.vasINSERT = function() {
|
||||
var datum = document.getElementById("datum").value;
|
||||
var beschreibung = document.getElementById("beschreibung").value;
|
||||
var firma = document.getElementById("firma").value;
|
||||
var art = $("#art").val();
|
||||
var betrag = document.getElementById("betrag").value;
|
||||
var bemerkung = document.getElementById("bemerkung").value;
|
||||
if(art == 'A'){
|
||||
betrag=betrag*(-1);
|
||||
}
|
||||
|
||||
// fid beim Bearbeiten von Finanzen
|
||||
var fid_edit = document.getElementById("fid").value;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: this.vpb_settings.vpb_server_url,
|
||||
data: {
|
||||
'function': 'save_without_files',
|
||||
'datum': datum,
|
||||
'beschreibung': beschreibung,
|
||||
'firma': firma,
|
||||
'art': art,
|
||||
'betrag': betrag,
|
||||
'bemerkung': bemerkung,
|
||||
'fid_edit': fid_edit
|
||||
},
|
||||
success: function(response) { //we got the response
|
||||
if (response != '') {
|
||||
var a = response.split('|***|');
|
||||
if (a[1] == "success") {
|
||||
//document.getElementById("datum").value = "";
|
||||
//document.getElementById("verlag").value = "";
|
||||
//document.getElementById("anz_lizenzen").value = "";
|
||||
//document.getElementById("vasplus_multiple_files").value = "";
|
||||
//document.getElementById("streamlizenz").checked = false;
|
||||
//if(fid_edit == '-1'){
|
||||
setTimeout(function() {
|
||||
window.location = "?";
|
||||
}, 2000);
|
||||
//}
|
||||
}
|
||||
$('#msg').show().delay(2000).fadeOut(500);
|
||||
$('#msg').html(a[0]);
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, exception) {
|
||||
console.log(xhr);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
this.vpb_starter();
|
||||
}
|
||||
|
||||
function vpb_remove_this_file(id, filename) {
|
||||
if (confirm('If you are sure to remove the file: ' + filename + ' then click on OK otherwise, Cancel it.')) {
|
||||
$("#vpb_removed_files").append('<input type="hidden" id="' + id + '" value="' + id + '">');
|
||||
$("#add_fileID" + id).slideUp();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function delBelegFile(id) {
|
||||
r = confirm('Dokument löschen?');
|
||||
if (r) {
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '../controller/admin_finanzen.php',
|
||||
data: {
|
||||
'function': 'delBelegFile',
|
||||
'id': id
|
||||
},
|
||||
success: function(result) { //we got the response
|
||||
if(result!=''){
|
||||
var a = result.split('|***|');
|
||||
var fid = a[2];
|
||||
if(a[1]=="success"){
|
||||
$(document).ajaxStop(function(){
|
||||
setTimeout(function() {
|
||||
window.location = "?editfid="+fid;
|
||||
}, 2000);
|
||||
});
|
||||
}
|
||||
$('#msg').show().delay(10000).fadeOut(500);
|
||||
$('#msg').html(a[0]);
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, exception) {
|
||||
console.log(xhr);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function delBeleg(fid) {
|
||||
r = confirm('Beleg löschen?');
|
||||
if (r) {
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '../controller/admin_finanzen.php',
|
||||
data: {
|
||||
'function': 'delBeleg',
|
||||
'fid': fid
|
||||
},
|
||||
success: function(result) { //we got the response
|
||||
if(result!=''){
|
||||
var a = result.split('|***|');
|
||||
if(a[1]=="success"){
|
||||
$(document).ajaxStop(function(){
|
||||
setTimeout(function() {
|
||||
window.location = "?";
|
||||
}, 2000);
|
||||
});
|
||||
}
|
||||
$('#msg').show().delay(10000).fadeOut(500);
|
||||
$('#msg').html(a[0]);
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, exception) {
|
||||
console.log(xhr);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
Binary file not shown.
BIN
media/file_upload/finanzen/20230419_185343_Unterschrift_Sixt.pdf
Normal file
BIN
media/file_upload/finanzen/20230419_185343_Unterschrift_Sixt.pdf
Normal file
Binary file not shown.
302
templates/modern/dashboard/finanzen.html
Normal file
302
templates/modern/dashboard/finanzen.html
Normal file
@ -0,0 +1,302 @@
|
||||
{if $action == ''}
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
{if $create_edit == ''}
|
||||
<title>JU & MI Finazen erfassen</title>
|
||||
{else}
|
||||
<title>JU & MI Finazen bearbeiten</title>
|
||||
{/if}
|
||||
<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" />
|
||||
<!-- 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>
|
||||
<!-- 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>
|
||||
-->
|
||||
<link rel="stylesheet" href="../jquery/jquery-ui.css">
|
||||
<script src="../jquery/jquery-ui.js"></script>
|
||||
<!--<script type="text/javascript" charset="utf-8" language="javascript" src="../js/file_upload/DT_bootstrap.js"></script>-->
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$(".datepicker").datepicker({
|
||||
prevText: '< zurück', prevStatus: '',
|
||||
prevJumpText: '<<', prevJumpStatus: '',
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
nextText: 'Vor >', nextStatus: '',
|
||||
nextJumpText: '>>', nextJumpStatus: '',
|
||||
currentText: 'Heute', currentStatus: '',
|
||||
todayText: 'Heute', todayStatus: '',
|
||||
clearText: '-', clearStatus: '',
|
||||
closeText: 'schließen', closeStatus: '',
|
||||
monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
|
||||
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
|
||||
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
|
||||
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
|
||||
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
|
||||
weekHeader: 'Wo',
|
||||
weekStatus: 'Woche des Monats',
|
||||
showMonthAfterYear: false,
|
||||
showOn: 'focus',
|
||||
firstDay: 1,
|
||||
numberOfMonths : 1,
|
||||
yearRange: "c-5:+5",
|
||||
showButtonPanel : true,
|
||||
altField : "#datepicker_input",
|
||||
dateFormat : "dd.mm.yy",
|
||||
showWeek: true
|
||||
});
|
||||
$.datepicker._gotoToday = function(id) {
|
||||
$(id).datepicker('setDate', new Date()).datepicker('hide').blur();
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript" src="../js/file_upload/vpb_uploader_finanzen.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_finanzen.php"
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<link href = "../jquery/jquery-ui-themes-1.13.2/jquery-ui.css" rel = "stylesheet">
|
||||
<style>
|
||||
body {
|
||||
font-family:Verdana, Geneva, sans-serif;
|
||||
}
|
||||
span{
|
||||
color:red;
|
||||
cursor:pointer;
|
||||
}
|
||||
</style>
|
||||
</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>
|
||||
<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>
|
||||
{if $create_edit == ''}
|
||||
Finanzen erfassen
|
||||
{else}
|
||||
Finanzen bearbeiten
|
||||
{/if}
|
||||
<div class="d-lg-none">
|
||||
<font color="red">Querformat für Mobilgeräte</font>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="row mt-2 mb-2">
|
||||
<div class="col-12 col-md-4">Datum:</div>
|
||||
<div class="col-12 col-md-8">
|
||||
<input type="text" class="datepicker form-control" name="datum" id="datum" value="{$finanzen_datum}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-2 mb-2">
|
||||
<div class="col-12 col-md-4">Beschreibung:</div>
|
||||
<div class="col-12 col-md-8">
|
||||
<input type="text" id="beschreibung" class="form-control rounded-right" value="{$finanzen_beschreibung}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-2 mb-2">
|
||||
<div class="col-12 col-md-4">Firma:</div>
|
||||
<div class="col-12 col-md-8">
|
||||
<input type="text" id="firma" class="form-control rounded-right" value="{$finanzen_firma}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-2 mb-2">
|
||||
<div class="col-12 col-md-4">Art:</div>
|
||||
<div class="col-12 col-md-8">
|
||||
<select name="art"class="form-control" id="art">
|
||||
<option value="E" {if $finanzen_art == "E"} selected {/if}>Einnahme</option>
|
||||
<option value="A" {if $finanzen_art == "A"} selected {/if}>Ausgabe</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-2 mb-2">
|
||||
<div class="col-12 col-md-4">Betrag:</div>
|
||||
<div class="col-12 col-md-8">
|
||||
<input type="number" min="1" step="any" id="betrag" class="form-control rounded-right" value="{$finanzen_betrag}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-2 mb-2">
|
||||
<div class="col-12 col-md-4">Bemerkung:</div>
|
||||
<div class="col-12 col-md-8">
|
||||
<input type="text" id="bemerkung" class="form-control rounded-right" value="{$finanzen_bemerkung}">
|
||||
</div>
|
||||
</div>
|
||||
{if $create_edit != ''}
|
||||
<div class="row mt-2 mb-2">
|
||||
<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 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>
|
||||
<tbody>
|
||||
{section name=table_data2 loop=$table_data2}
|
||||
<tr>
|
||||
<td><a href="{$table_data2[table_data2].filename}" target="_new">{$table_data2[table_data2].originalname}</a></td>
|
||||
<td class="d-none d-lg-table-cell">{$table_data2[table_data2].uploaddatum}</td>
|
||||
<td><a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="delBelegFile({$table_data2[table_data2].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 mb-2">
|
||||
<label for="formFile" class="form-label">
|
||||
<div class="col-12 col-md-4">Belege:</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öße</th>
|
||||
<th style="color:blue; text-align:center;">Aktion</th>
|
||||
<tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p align='center'>
|
||||
{if $create_edit != ''}
|
||||
<input type="hidden" id="fid" value="{$create_edit}">
|
||||
{else}
|
||||
<input type="hidden" id="fid" value="-1">
|
||||
{/if}
|
||||
<button class="col-6 btn btn-primary btn-sm mt-3" id="save">Speichern</button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="msg"></div>
|
||||
</form>
|
||||
<br>
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-table me-1"></i>
|
||||
Kontostand: {if $kontostand < 0}<font color="red">{/if}<b>{$kontostand}</b>{if $kontostand < 0}</font>{/if}
|
||||
<div class="d-lg-none">
|
||||
<font color="red">Querformat für Mobilgeräte</font>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<!-- https://datatables.net/download/release -->
|
||||
<table id="myTable" class="table table-striped table-bordered table-hover" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Vorname</th>
|
||||
<th>Beschreibung</th>
|
||||
<th class="d-none d-lg-table-cell">Firma</th>
|
||||
<th>Beleg</th>
|
||||
<th>Betrag</th>
|
||||
<th>Bemerkung</th>
|
||||
<th>Aktion</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{section name=table_data loop=$table_data}
|
||||
<tr>
|
||||
<td>{$table_data[table_data].datum_form}</td>
|
||||
<td>{$table_data[table_data].beschreibung}</td>
|
||||
<td class="d-none d-lg-table-cell">{$table_data[table_data].firma}</td>
|
||||
<td>
|
||||
{section name=inner loop=$table_data[table_data].inner}
|
||||
<a href="{$table_data[table_data].inner[inner].filename}" target="_new">
|
||||
<div class="d-sm-block d-lg-none mt-0 mb-0">{$table_data[table_data].inner[inner].originalname_short}</div>
|
||||
<div class="d-none d-lg-block mt-0 mb-0">{$table_data[table_data].inner[inner].originalname}</div>
|
||||
</a>
|
||||
{/section}
|
||||
</td>
|
||||
<td align="right">{$table_data[table_data].betrag_form}</td>
|
||||
<td>{$table_data[table_data].bemerkung}</td>
|
||||
<td>
|
||||
<a href="?editfid={$table_data[table_data].fid}" class="settings" title="Edit Beleg" data-toggle="tooltip"><i class="fas fa fa-edit"></i></a>
|
||||
|
||||
<a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="delBeleg({$table_data[table_data].fid})"><i class="fa fa-trash" style="width:18px;"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
{/section}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</center>
|
||||
</main>
|
||||
<!-- Livesearchscript muss nach den Textfelder sitzen-->
|
||||
<script src="../js/components/admin_notenupload.js"></script>
|
||||
<!-- footer -->
|
||||
<div id="footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
var table = new DataTable('#myTable', {
|
||||
rowReorder: true,
|
||||
pageLength: 5,
|
||||
order: [[1, 'desc']],
|
||||
language: {
|
||||
url: '//cdn.datatables.net/plug-ins/1.13.4/i18n/de-DE.json',
|
||||
search: "",
|
||||
lengthMenu: "_MENU_ Zeilen",
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</html>
|
||||
{/if}
|
Loading…
x
Reference in New Issue
Block a user