pivi_vault_system/index.php

482 lines
17 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>