pivi_vault_system/index.php

482 lines
17 KiB
PHP
Raw Permalink Normal View History

2024-02-28 15:55:13 +08:00
<!DOCTYPE html>
<html>
<head>
<?php
include 'header.php';
include 'config.php';
$user_id = $_GET['user_id'];
$name = $_GET['name'];
$company = $_GET['company'];
$role = $_GET['role'];
$uploader = 0;
$visible = false;
if ($role == $urole) {
$uploader = 1;
}
if ($role === $urole || $role === $arole || $role === $rrole || $role === $arole2 || $role === $arole3 || $role === $arole4) {
$visible = true;
}
$sql = "SELECT * FROM vault_users WHERE id=$user_id";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$company2 = $row['company2'];
?>
<script type="text/javascript" language="javascript" class="init">
var editor; // use a global for the submit and return data rendering in the examples
$(document).ready(function() {
editor = new $.fn.dataTable.Editor({
ajax: {
<?php
if ($uploader == 1) {
echo 'url: "documents2.php",';
} else {
echo ' url:"documents.php",';
}
?>
type: "POST",
data: function(d) {
// You can dynamically provide the data here
d.id = <?php echo $user_id ?>;
d.user = '<?php echo $name ?>';
d.company = '<?php echo $company ?>';
d.company2 = '<?php echo $company2 ?>';
// Make sure to return the updated data object
return d;
}
},
table: "#example",
fields: [{
label: "Type:",
name: "documents.type",
type: "select",
placeholder: "Select document type"
}, {
label: "Lot Number:",
name: "documents.lot_number",
}, {
label: "Description:",
name: "documents.description",
type: "textarea"
}, {
label: "Company:",
name: "documents.company",
type: "select",
placeholder: "Select company"
}, {
label: "Department:",
name: "documents.department",
type: "select",
placeholder: "Select department"
}, {
label: "Region:",
name: "documents.region",
type: "select"
}, {
label: "Province:",
name: "documents.province",
type: "select"
}, {
label: "City/Municipality:",
name: "documents.city",
type: "select"
}, {
label: "TCT Number:",
name: "documents.number"
}, {
label: "Total Area:",
name: "documents.area"
}, {
label: "Unit of Measure:",
name: "documents.unit",
type: "select",
placeholder: "Select unit of measure"
}, {
label: "File:",
name: "documents.file",
visible: <?php echo $visible ? 'true' : 'false'; ?>,
type: "upload",
display: function(file_id) {
// Extract the filename from the web_path
const filename = editor.file('files', file_id).web_path.split('/').pop();
// Display the PDF icon and filename
return `<i class="fa fa-file-pdf-o"></i> ${filename}`;
},
clearText: "Clear",
noImageText: 'No PDF',
}, {
label: "Vault Number:",
name: "documents.vault",
visible: <?php echo $visible ? 'true' : 'false'; ?>
}, {
label: "Folder Number:",
name: "documents.folder",
visible: <?php echo $visible ? 'true' : 'false'; ?>
}
]
});
editor.dependent('documents.region', '/api/province/index.php');
editor.dependent('documents.province', '/api/city/index.php');
$('#example').DataTable({
dom: "Bfrtip",
ajax: {
<?php
if ($uploader == 1) {
echo 'url: "documents2.php",';
} else {
echo ' url:"documents.php",';
}
?>
type: "POST",
data: function(d) {
// You can dynamically provide the data here
d.id = <?php echo $user_id ?>;
d.user = '<?php echo $name ?>';
d.company = '<?php echo $company ?>';
d.company2 = '<?php echo $company2 ?>';
// Make sure to return the updated data object
return d;
}
},
columns: [{
data: "documents.id"
},
{
data: "documents.date"
},
{
data: "type.name"
},
{
data: "documents.lot_number"
},
{
data: "documents.description"
},
{
data: "company.name"
},
{
data: "department.name"
},
{
data: "city.name"
},
{
data: "province.name"
},
{
data: "region.name"
},
{
data: "documents.number"
},
{
data: "documents.area"
},
{
data: "unit.name"
},
{
data: "documents.file",
visible: <?php echo $visible ? 'true' : 'false'; ?>,
render: function(file_id) {
if (file_id) {
// Extract the filename from the web_path
const filename = editor.file('files', file_id).web_path.split('/').pop();
// Display the PDF icon and filename
return `<i class="fa fa-file-pdf-o"></i> ${filename}`;
} else {
return 'No PDF';
}
},
title: 'PDF'
},
{
data: "documents.vault",
visible: <?php echo $visible ? 'true' : 'false'; ?>
},
{
data: "documents.folder",
visible: <?php echo $visible ? 'true' : 'false'; ?>
},
{
data: null,
render: function(data, type, row, meta) {
var visible = false;
<?php
if ($visible) {
echo "var visible = true;";
}
?>
var btns = '<a class="btn btn-default btn-sm" href="actions/request.php?doc_id=' +
data.documents.id + '&user_id=<?php echo $user_id; ?>&role=<?php echo $role; ?>">Request</a>';
if (visible) {
btns = '<a class="btn btn-default btn-sm" href="actions/print.php?doc_id=' +
data.documents.id + '" target="_blank">Print Labels</a> ' + btns;
// btns += ' <button class="btn btn-default btn-sm" onclick="openModal(\'' + data.documents.id + '\')">Add Table of Contents</button>';
var $doc_id = data.documents.id;
btns += ' <button class="btn btn-default btn-sm" onclick="openModal(\'' + $doc_id + '\')">Add Table of Contents</button>';
}
return btns;
}
}
],
select: true,
buttons: [
<?php
if ($role === $urole) {
echo '{ extend: "create", editor: editor },';
echo '{ extend: "edit", editor: editor },';
echo '{ extend: "remove", editor: editor }';
//echo '{ text: "Request", action: function (dt) { window.open("https://google.com","_self") } }';
}
?>
]
});
});
var selectedDocId;
function openModal(docId) {
console.log("Received docId:", docId);
selectedDocId = docId;
console.log(selectedDocId);
// Refresh DataTable with new docId
$('#toc').DataTable().ajax.reload();
// Show the modal
$('#myModal').modal('show');
}
</script>
</head>
<body class="dt-example dt-example-bootstrap" style="background-color: rgba(0, 0, 0, 0);">
<div class="demo-html">
<table id="example" class="display responsive nowrap" style="width:100%">
<!-- <table id="example" class="table table-striped table-bordered responsive" style="width:100%"> -->
<thead>
<tr>
<th>ID</th>
<th>Date</th>
<th>Type</th>
<th>Lot Number</th>
<th>Description</th>
<th>Company</th>
<th>Department</th>
<th>City/Municipality</th>
<th>Province</th>
<th>Region</th>
<th>TCT Number</th>
<th>Total Area</th>
<th>Unit of Measure</th>
<th>File</th>
<th>Vault Number</th>
<th>Folder Number</th>
<th>Action</th>
</tr>
</thead>
<tfoot>
<tr>
<th>ID</th>
<th>Date</th>
<th>Type</th>
<th>Lot Number</th>
<th>Description</th>
<th>Company</th>
<th>Department</th>
<th>City/Municipality</th>
<th>Province</th>
<th>Region</th>
<th>TCT Number</th>
<th>Total Area</th>
<th>Unit of Measure</th>
<th>File</th>
<th>Vault Number</th>
<th>Folder Number</th>
<th>Action</th>
</tr>
</tfoot>
</table>
</div>
</body>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">Table of Contents</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<div class="demo-html">
<table id="toc" class="display responsive nowrap" style="width:100%">
<thead>
<tr>
<th>ID</th>
<th>Document</th>
<th>Filing Tab Number</th>
<th>Document ID</th>
</tr>
</thead>
<tfoot>
<tr>
<th>ID</th>
<th>Document</th>
<th>Filing Tab Number</th>
<th>Document ID</th>
</tr>
</tfoot>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<style>
#myModal {
z-index: 10009 !important;
/* Adjust the z-index value as needed */
}
</style>
<script type="text/javascript" language="javascript" class="init">
var editor; // use a global for the submit and return data rendering in the examples
$(document).ready(function() {
editor = new $.fn.dataTable.Editor({
ajax: {
<?php
if ($uploader == 1) {
echo 'url: "toc.php",';
} else {
echo ' url:"documents.php",';
}
?>
type: "POST",
data: function(e) {
// You can dynamically provide the data here
e.id = <?php echo $user_id ?>;
e.user = '<?php echo $name ?>';
e.company = '<?php echo $company ?>';
e.company2 = '<?php echo $company2 ?>';
e.doc_id = selectedDocId || null;
// e.doc_id = selectedDocId; // Pass the selected document ID
// Make sure to return the updated data object
return e;
}
},
table: "#toc",
fields: [{
label: "Document:",
name: "table_of_content.document",
type: "text"
},
{
label: "Filing Tab Number:",
name: "table_of_content.number",
type: "text"
},
{
label: "Document ID",
name: "table_of_content.doc_id",
type: "hidden",
}
]
});
$('#toc').DataTable({
dom: "Bfrtip",
ajax: {
<?php
if ($uploader == 1) {
echo 'url: "toc.php",';
} else {
echo ' url:"documents.php",';
}
?>
type: "POST",
data: function(e) {
// You can dynamically provide the data here
e.id = <?php echo $user_id ?>;
e.user = '<?php echo $name ?>';
e.company = '<?php echo $company ?>';
e.company2 = '<?php echo $company2 ?>';
e.doc_id = selectedDocId || null ;
// Make sure to return the updated data object
return e;
}
},
columns: [{
data: "table_of_content.id"
},
{
data: "table_of_content.document"
},
{
data: "table_of_content.number"
},
{
data: "table_of_content.doc_id"
}
],
select: true,
buttons: [
<?php
if ($role === $urole) {
echo '{ extend: "create", editor: editor },';
echo '{ extend: "edit", editor: editor },';
echo '{ extend: "remove", editor: editor }';
}
?>
],
});
editor
.on('open', function() {
$('#myModal').modal('hide');
})
.on('close', function() {
$('#myModal').modal('show');
})
.on('initCreate', function() {
editor.field('table_of_content.doc_id').val(selectedDocId);
});
// editor.on('initCreate', function() {
// editor.field('table_of_content.doc_id').val(selectedDocId);
// });
// Initialize the DataTables Editor instance
// editor.create();
});
</script>
</html>