feat: implement helper functions and add branding assets for admin panel interface
This commit is contained in:
@@ -1,167 +1,168 @@
|
||||
<!-- pdf.js CDN -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/pdfjs-dist@2.10.377/build/pdf.min.js"></script>
|
||||
<style>
|
||||
.flowchart .page {
|
||||
zoom: 50%;
|
||||
transition:all .5s
|
||||
}
|
||||
.flowchart .page {
|
||||
zoom: 50%;
|
||||
transition: all .5s
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
$(function(){
|
||||
var zoom = 50;
|
||||
$(".zoomin").on("click", function(){
|
||||
zoom = zoom + 10;
|
||||
$(".flowchart .page").css("zoom", zoom + "%");
|
||||
|
||||
});
|
||||
$(".zoomout").on("click", function(){
|
||||
zoom = zoom - 10;
|
||||
$(".flowchart .page").css("zoom", zoom + "%");
|
||||
|
||||
});
|
||||
$(function () {
|
||||
var zoom = 50;
|
||||
$(".zoomin").on("click", function () {
|
||||
zoom = zoom + 10;
|
||||
$(".flowchart .page").css("zoom", zoom + "%");
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
$(".zoomout").on("click", function () {
|
||||
zoom = zoom - 10;
|
||||
$(".flowchart .page").css("zoom", zoom + "%");
|
||||
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
$(function(){
|
||||
const $pdf = '{{url("assets/diagram.pdf")}}';
|
||||
$(function () {
|
||||
const $pdf = '{{url("assets/diagram.pdf")}}';
|
||||
|
||||
const $initialState = {
|
||||
pdfDoc: null,
|
||||
currentPage: 1,
|
||||
pageCount: 0,
|
||||
zoom: 0.615,
|
||||
};
|
||||
const $initialState = {
|
||||
pdfDoc: null,
|
||||
currentPage: 1,
|
||||
pageCount: 0,
|
||||
zoom: 0.615,
|
||||
};
|
||||
|
||||
// Render the page.
|
||||
const renderPage = () => {
|
||||
// Load the first page.
|
||||
$initialState.pdfDoc
|
||||
.getPage($initialState.currentPage)
|
||||
.then((page) => {
|
||||
console.log('page', page);
|
||||
// Render the page.
|
||||
const renderPage = () => {
|
||||
// Load the first page.
|
||||
$initialState.pdfDoc
|
||||
.getPage($initialState.currentPage)
|
||||
.then((page) => {
|
||||
console.log('page', page);
|
||||
|
||||
const canvas = $('#canvas')[0];
|
||||
const $ctx = canvas.getContext('2d');
|
||||
const $viewport = page.getViewport({
|
||||
scale: $initialState.zoom,
|
||||
const canvas = $('#canvas')[0];
|
||||
const $ctx = canvas.getContext('2d');
|
||||
const $viewport = page.getViewport({
|
||||
scale: $initialState.zoom,
|
||||
});
|
||||
|
||||
canvas.height = $viewport.height;
|
||||
canvas.width = $viewport.width;
|
||||
|
||||
// Render the PDF page into the canvas context.
|
||||
const renderCtx = {
|
||||
canvasContext: $ctx,
|
||||
viewport: $viewport,
|
||||
};
|
||||
|
||||
page.render(renderCtx);
|
||||
|
||||
$('#page_num').html($initialState.currentPage);
|
||||
});
|
||||
};
|
||||
|
||||
// Load the document.
|
||||
pdfjsLib
|
||||
.getDocument($pdf)
|
||||
.promise.then((doc) => {
|
||||
$initialState.pdfDoc = doc;
|
||||
console.log('pdfDocument', $initialState.pdfDoc);
|
||||
|
||||
$('#page_count').html($initialState.pdfDoc.numPages);
|
||||
|
||||
renderPage();
|
||||
})
|
||||
.catch((err) => {
|
||||
alert(err.message);
|
||||
});
|
||||
|
||||
canvas.height = $viewport.height;
|
||||
canvas.width = $viewport.width;
|
||||
function showPrevPage() {
|
||||
if ($initialState.pdfDoc === null || $initialState.currentPage <= 1)
|
||||
return;
|
||||
$initialState.currentPage--;
|
||||
// Render the current page
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
renderPage();
|
||||
}
|
||||
|
||||
// Render the PDF page into the canvas context.
|
||||
const renderCtx = {
|
||||
canvasContext: $ctx,
|
||||
viewport: $viewport,
|
||||
};
|
||||
function showNextPage() {
|
||||
if (
|
||||
$initialState.pdfDoc === null ||
|
||||
$initialState.currentPage >=
|
||||
$initialState.pdfDoc._pdfInfo.numPages
|
||||
)
|
||||
return;
|
||||
|
||||
page.render(renderCtx);
|
||||
$initialState.currentPage++;
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
renderPage();
|
||||
}
|
||||
|
||||
$('#page_num').html($initialState.currentPage);
|
||||
// Button events.
|
||||
$('#prev-page').click(showPrevPage);
|
||||
$('#next-page').click(showNextPage);
|
||||
|
||||
// Display a specific page.
|
||||
$('#current_page').on('keypress', (event) => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
// Get the key code.
|
||||
const $keycode = event.keyCode ? event.keyCode : event.which;
|
||||
if ($keycode === 13) {
|
||||
// Get the new page number and render it.
|
||||
let desiredPage = $('#current_page')[0].valueAsNumber;
|
||||
|
||||
$initialState.currentPage = Math.min(
|
||||
Math.max(desiredPage, 1),
|
||||
$initialState.pdfDoc._pdfInfo.numPages,
|
||||
);
|
||||
renderPage();
|
||||
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// Load the document.
|
||||
pdfjsLib
|
||||
.getDocument($pdf)
|
||||
.promise.then((doc) => {
|
||||
$initialState.pdfDoc = doc;
|
||||
console.log('pdfDocument', $initialState.pdfDoc);
|
||||
// Zoom functionality.
|
||||
$('#zoom_in').on('click', () => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
$initialState.zoom *= 4 / 3;
|
||||
|
||||
$('#page_count').html($initialState.pdfDoc.numPages);
|
||||
renderPage();
|
||||
});
|
||||
|
||||
renderPage();
|
||||
})
|
||||
.catch((err) => {
|
||||
alert(err.message);
|
||||
$('#zoom_out').on('click', () => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
$initialState.zoom *= 2 / 3;
|
||||
renderPage();
|
||||
});
|
||||
});
|
||||
|
||||
function showPrevPage() {
|
||||
if ($initialState.pdfDoc === null || $initialState.currentPage <= 1)
|
||||
return;
|
||||
$initialState.currentPage--;
|
||||
// Render the current page
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
renderPage();
|
||||
}
|
||||
|
||||
function showNextPage() {
|
||||
if (
|
||||
$initialState.pdfDoc === null ||
|
||||
$initialState.currentPage >=
|
||||
$initialState.pdfDoc._pdfInfo.numPages
|
||||
)
|
||||
return;
|
||||
|
||||
$initialState.currentPage++;
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
renderPage();
|
||||
}
|
||||
|
||||
// Button events.
|
||||
$('#prev-page').click(showPrevPage);
|
||||
$('#next-page').click(showNextPage);
|
||||
|
||||
// Display a specific page.
|
||||
$('#current_page').on('keypress', (event) => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
// Get the key code.
|
||||
const $keycode = event.keyCode ? event.keyCode : event.which;
|
||||
if ($keycode === 13) {
|
||||
// Get the new page number and render it.
|
||||
let desiredPage = $('#current_page')[0].valueAsNumber;
|
||||
|
||||
$initialState.currentPage = Math.min(
|
||||
Math.max(desiredPage, 1),
|
||||
$initialState.pdfDoc._pdfInfo.numPages,
|
||||
);
|
||||
renderPage();
|
||||
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
}
|
||||
});
|
||||
|
||||
// Zoom functionality.
|
||||
$('#zoom_in').on('click', () => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
$initialState.zoom *= 4 / 3;
|
||||
|
||||
renderPage();
|
||||
});
|
||||
|
||||
$('#zoom_out').on('click', () => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
$initialState.zoom *= 2 / 3;
|
||||
renderPage();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<header>
|
||||
<table class="table ">
|
||||
<tr>
|
||||
<td width="20%" style="vertical-align: middle">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-outline-primary" id="zoom_in">
|
||||
<i class="fas fa-search-plus"></i>
|
||||
</button>
|
||||
<table class="table ">
|
||||
<tr>
|
||||
<td width="20%" style="vertical-align: middle">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-outline-primary" id="zoom_in">
|
||||
<i class="fas fa-search-plus"></i>
|
||||
</button>
|
||||
|
||||
<button class="btn btn-outline-primary" id="zoom_out">
|
||||
<i class="fas fa-search-minus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
<td width="60%" class="text-center"><img src="{{url("assets/logo.svg")}}" class="p-1" alt=""></td>
|
||||
<td width="20%" style="vertical-align: bottom;font-size:16px">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</header>
|
||||
<button class="btn btn-outline-primary" id="zoom_out">
|
||||
<i class="fas fa-search-minus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
<td width="60%" class="text-center"><img src="{{url("assets/citrus-logos/citrus-yatay.svg")}}" class="p-1"
|
||||
alt=""></td>
|
||||
<td width="20%" style="vertical-align: bottom;font-size:16px">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</header>
|
||||
<div class="flowchart" style="overflow:auto;width:100%;height:80vh;margin-top:10px">
|
||||
|
||||
<!-- Canvas to place the PDF -->
|
||||
<canvas id="canvas" class="canvas__container"></canvas>
|
||||
</div>
|
||||
<!-- Canvas to place the PDF -->
|
||||
<canvas id="canvas" class="canvas__container"></canvas>
|
||||
</div>
|
||||
@@ -1,168 +1,168 @@
|
||||
|
||||
<!-- pdf.js CDN -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/pdfjs-dist@2.10.377/build/pdf.min.js"></script>
|
||||
<style>
|
||||
.flowchart .page {
|
||||
zoom: 50%;
|
||||
transition:all .5s
|
||||
}
|
||||
.flowchart .page {
|
||||
zoom: 50%;
|
||||
transition: all .5s
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
$(function(){
|
||||
var zoom = 50;
|
||||
$(".zoomin").on("click", function(){
|
||||
zoom = zoom + 10;
|
||||
$(".flowchart .page").css("zoom", zoom + "%");
|
||||
|
||||
});
|
||||
$(".zoomout").on("click", function(){
|
||||
zoom = zoom - 10;
|
||||
$(".flowchart .page").css("zoom", zoom + "%");
|
||||
|
||||
});
|
||||
$(function () {
|
||||
var zoom = 50;
|
||||
$(".zoomin").on("click", function () {
|
||||
zoom = zoom + 10;
|
||||
$(".flowchart .page").css("zoom", zoom + "%");
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
$(".zoomout").on("click", function () {
|
||||
zoom = zoom - 10;
|
||||
$(".flowchart .page").css("zoom", zoom + "%");
|
||||
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
$(function(){
|
||||
const $pdf = '{{url("assets/diagram.pdf")}}';
|
||||
$(function () {
|
||||
const $pdf = '{{url("assets/diagram.pdf")}}';
|
||||
|
||||
const $initialState = {
|
||||
pdfDoc: null,
|
||||
currentPage: 1,
|
||||
pageCount: 0,
|
||||
zoom: 0.615,
|
||||
};
|
||||
const $initialState = {
|
||||
pdfDoc: null,
|
||||
currentPage: 1,
|
||||
pageCount: 0,
|
||||
zoom: 0.615,
|
||||
};
|
||||
|
||||
// Render the page.
|
||||
const renderPage = () => {
|
||||
// Load the first page.
|
||||
$initialState.pdfDoc
|
||||
.getPage($initialState.currentPage)
|
||||
.then((page) => {
|
||||
console.log('page', page);
|
||||
// Render the page.
|
||||
const renderPage = () => {
|
||||
// Load the first page.
|
||||
$initialState.pdfDoc
|
||||
.getPage($initialState.currentPage)
|
||||
.then((page) => {
|
||||
console.log('page', page);
|
||||
|
||||
const canvas = $('#canvas')[0];
|
||||
const $ctx = canvas.getContext('2d');
|
||||
const $viewport = page.getViewport({
|
||||
scale: $initialState.zoom,
|
||||
const canvas = $('#canvas')[0];
|
||||
const $ctx = canvas.getContext('2d');
|
||||
const $viewport = page.getViewport({
|
||||
scale: $initialState.zoom,
|
||||
});
|
||||
|
||||
canvas.height = $viewport.height;
|
||||
canvas.width = $viewport.width;
|
||||
|
||||
// Render the PDF page into the canvas context.
|
||||
const renderCtx = {
|
||||
canvasContext: $ctx,
|
||||
viewport: $viewport,
|
||||
};
|
||||
|
||||
page.render(renderCtx);
|
||||
|
||||
$('#page_num').html($initialState.currentPage);
|
||||
});
|
||||
};
|
||||
|
||||
// Load the document.
|
||||
pdfjsLib
|
||||
.getDocument($pdf)
|
||||
.promise.then((doc) => {
|
||||
$initialState.pdfDoc = doc;
|
||||
console.log('pdfDocument', $initialState.pdfDoc);
|
||||
|
||||
$('#page_count').html($initialState.pdfDoc.numPages);
|
||||
|
||||
renderPage();
|
||||
})
|
||||
.catch((err) => {
|
||||
alert(err.message);
|
||||
});
|
||||
|
||||
canvas.height = $viewport.height;
|
||||
canvas.width = $viewport.width;
|
||||
function showPrevPage() {
|
||||
if ($initialState.pdfDoc === null || $initialState.currentPage <= 1)
|
||||
return;
|
||||
$initialState.currentPage--;
|
||||
// Render the current page
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
renderPage();
|
||||
}
|
||||
|
||||
// Render the PDF page into the canvas context.
|
||||
const renderCtx = {
|
||||
canvasContext: $ctx,
|
||||
viewport: $viewport,
|
||||
};
|
||||
function showNextPage() {
|
||||
if (
|
||||
$initialState.pdfDoc === null ||
|
||||
$initialState.currentPage >=
|
||||
$initialState.pdfDoc._pdfInfo.numPages
|
||||
)
|
||||
return;
|
||||
|
||||
page.render(renderCtx);
|
||||
$initialState.currentPage++;
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
renderPage();
|
||||
}
|
||||
|
||||
$('#page_num').html($initialState.currentPage);
|
||||
// Button events.
|
||||
$('#prev-page').click(showPrevPage);
|
||||
$('#next-page').click(showNextPage);
|
||||
|
||||
// Display a specific page.
|
||||
$('#current_page').on('keypress', (event) => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
// Get the key code.
|
||||
const $keycode = event.keyCode ? event.keyCode : event.which;
|
||||
if ($keycode === 13) {
|
||||
// Get the new page number and render it.
|
||||
let desiredPage = $('#current_page')[0].valueAsNumber;
|
||||
|
||||
$initialState.currentPage = Math.min(
|
||||
Math.max(desiredPage, 1),
|
||||
$initialState.pdfDoc._pdfInfo.numPages,
|
||||
);
|
||||
renderPage();
|
||||
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// Load the document.
|
||||
pdfjsLib
|
||||
.getDocument($pdf)
|
||||
.promise.then((doc) => {
|
||||
$initialState.pdfDoc = doc;
|
||||
console.log('pdfDocument', $initialState.pdfDoc);
|
||||
// Zoom functionality.
|
||||
$('#zoom_in').on('click', () => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
$initialState.zoom *= 4 / 3;
|
||||
|
||||
$('#page_count').html($initialState.pdfDoc.numPages);
|
||||
renderPage();
|
||||
});
|
||||
|
||||
renderPage();
|
||||
})
|
||||
.catch((err) => {
|
||||
alert(err.message);
|
||||
$('#zoom_out').on('click', () => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
$initialState.zoom *= 2 / 3;
|
||||
renderPage();
|
||||
});
|
||||
});
|
||||
|
||||
function showPrevPage() {
|
||||
if ($initialState.pdfDoc === null || $initialState.currentPage <= 1)
|
||||
return;
|
||||
$initialState.currentPage--;
|
||||
// Render the current page
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
renderPage();
|
||||
}
|
||||
|
||||
function showNextPage() {
|
||||
if (
|
||||
$initialState.pdfDoc === null ||
|
||||
$initialState.currentPage >=
|
||||
$initialState.pdfDoc._pdfInfo.numPages
|
||||
)
|
||||
return;
|
||||
|
||||
$initialState.currentPage++;
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
renderPage();
|
||||
}
|
||||
|
||||
// Button events.
|
||||
$('#prev-page').click(showPrevPage);
|
||||
$('#next-page').click(showNextPage);
|
||||
|
||||
// Display a specific page.
|
||||
$('#current_page').on('keypress', (event) => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
// Get the key code.
|
||||
const $keycode = event.keyCode ? event.keyCode : event.which;
|
||||
if ($keycode === 13) {
|
||||
// Get the new page number and render it.
|
||||
let desiredPage = $('#current_page')[0].valueAsNumber;
|
||||
|
||||
$initialState.currentPage = Math.min(
|
||||
Math.max(desiredPage, 1),
|
||||
$initialState.pdfDoc._pdfInfo.numPages,
|
||||
);
|
||||
renderPage();
|
||||
|
||||
$('#current_page').val($initialState.currentPage);
|
||||
}
|
||||
});
|
||||
|
||||
// Zoom functionality.
|
||||
$('#zoom_in').on('click', () => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
$initialState.zoom *= 4 / 3;
|
||||
|
||||
renderPage();
|
||||
});
|
||||
|
||||
$('#zoom_out').on('click', () => {
|
||||
if ($initialState.pdfDoc === null) return;
|
||||
$initialState.zoom *= 2 / 3;
|
||||
renderPage();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<header>
|
||||
<table class="table ">
|
||||
<tr>
|
||||
<td width="20%" style="vertical-align: middle">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-outline-primary" id="zoom_in">
|
||||
<i class="fas fa-search-plus"></i>
|
||||
</button>
|
||||
<table class="table ">
|
||||
<tr>
|
||||
<td width="20%" style="vertical-align: middle">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-outline-primary" id="zoom_in">
|
||||
<i class="fas fa-search-plus"></i>
|
||||
</button>
|
||||
|
||||
<button class="btn btn-outline-primary" id="zoom_out">
|
||||
<i class="fas fa-search-minus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
<td width="60%" class="text-center"><img src="{{url("assets/logo.svg")}}" class="p-1" alt=""></td>
|
||||
<td width="20%" style="vertical-align: bottom;font-size:16px">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</header>
|
||||
<button class="btn btn-outline-primary" id="zoom_out">
|
||||
<i class="fas fa-search-minus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
<td width="60%" class="text-center"><img src="{{url("assets/citrus-logos/citrus-yatay.svg")}}" class="p-1"
|
||||
alt=""></td>
|
||||
<td width="20%" style="vertical-align: bottom;font-size:16px">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</header>
|
||||
<div class="flowchart" style="overflow:auto;width:100%;height:80vh;margin-top:10px">
|
||||
|
||||
<!-- Canvas to place the PDF -->
|
||||
<canvas id="canvas" class="canvas__container"></canvas>
|
||||
</div>
|
||||
<!-- Canvas to place the PDF -->
|
||||
<canvas id="canvas" class="canvas__container"></canvas>
|
||||
</div>
|
||||
@@ -6,11 +6,12 @@
|
||||
{{__('Profile Settings')}}
|
||||
</h3>
|
||||
<div class="block-options">
|
||||
<button type="button" class="btn-block-option" data-toggle="block-option" data-action="content_toggle"><i class="si si-arrow-up"></i></button>
|
||||
<button type="button" class="btn-block-option" data-toggle="block-option"
|
||||
data-action="content_toggle"><i class="si si-arrow-up"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-content block-content-full text-center bg-body-light">
|
||||
<img class="" src="{{asset('assets/logo.svg')}}" alt="">
|
||||
<img class="" src="{{asset('assets/citrus-logos/citrus-yatay.svg')}}" alt="">
|
||||
<div class="mt-10 font-w600">{{ Auth::user()->name }} {{ Auth::user()->surname }}</div>
|
||||
<div class="pt-10">
|
||||
<span class="badge badge-success">{{ Auth::user()->level }}</span>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -320,23 +320,23 @@ if (getisset("send-mail")) {
|
||||
worksheet.columns.forEach(function (column, colIndex) {
|
||||
let maxLength = 10;
|
||||
let isNumericColumn = true;
|
||||
|
||||
|
||||
column.eachCell({ includeEmpty: false }, function (cell, rowNumber) {
|
||||
const cellValue = cell.value ? cell.value.toString() : '';
|
||||
if (cellValue.length > maxLength) maxLength = cellValue.length;
|
||||
|
||||
|
||||
// Check if column contains mostly numeric values (skip header row)
|
||||
if (rowNumber > 1 && cellValue && isNaN(parseFloat(cellValue))) {
|
||||
isNumericColumn = false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Apply 80% width reduction for numeric columns (defect counts, etc.)
|
||||
let calculatedWidth = Math.min(maxLength + 2, 30);
|
||||
if (isNumericColumn && colIndex > 0) {
|
||||
calculatedWidth = Math.max(Math.floor(calculatedWidth * 0.5), 6); // 50% width, min 6
|
||||
}
|
||||
|
||||
|
||||
column.width = calculatedWidth;
|
||||
});
|
||||
}
|
||||
@@ -729,7 +729,8 @@ if (getisset("send-mail")) {
|
||||
|
||||
|
||||
</td>
|
||||
<td width="60%" class="text-center"><img src="{{url("assets/logo.svg")}}" class="p-5" alt="">
|
||||
<td width="60%" class="text-center"><img src="{{url("assets/citrus-logos/citrus-yatay.svg")}}"
|
||||
class="p-5" alt="">
|
||||
</td>
|
||||
<td width="20%" style="vertical-align: bottom;font-size:16px">
|
||||
<small>{{e2("Report Date")}}</small> <br>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -50,94 +50,96 @@
|
||||
<img style="background: white;
|
||||
padding: 10px;
|
||||
border-radius: 10px;
|
||||
margin: 10px auto;" src="{{url("assets/logo.svg")}}" alt="">
|
||||
margin: 10px auto;" src="{{url("assets/citrus-logos/citrus-yatay.svg")}}" alt="">
|
||||
<h3>Work Permit Hierarchical Structure</h3>
|
||||
</div>
|
||||
|
||||
<div class="tree-content" id="tree-diagram">
|
||||
@php
|
||||
// Get all column names from both tables
|
||||
$workPermitColumns = Schema::getColumnListing('work_permit_documents');
|
||||
$subcontractorColumns = Schema::getColumnListing('subcontractors');
|
||||
|
||||
$workPermitUsers = DB::table("work_permit_documents")
|
||||
->select([
|
||||
'work_permit_documents.id',
|
||||
'work_permit_documents.name_surname',
|
||||
'work_permit_documents.company',
|
||||
'work_permit_documents.certificates_number',
|
||||
'work_permit_documents.duty',
|
||||
'work_permit_documents.document_number',
|
||||
'work_permit_documents.attorney',
|
||||
'work_permit_documents.attorney_date',
|
||||
'work_permit_documents.zone as project',
|
||||
'work_permit_documents.sign_order as personel_sign_order',
|
||||
'subcontractors.company_name_ru',
|
||||
'subcontractors.company_name_en',
|
||||
'subcontractors.job_description',
|
||||
'subcontractors.company_code',
|
||||
'subcontractors.operation_type',
|
||||
'subcontractors.city',
|
||||
'subcontractors.address',
|
||||
'subcontractors.logo',
|
||||
'subcontractors.sign_order as firma_sign_order'
|
||||
])
|
||||
->join("subcontractors", "work_permit_documents.company", "subcontractors.company_name_ru")
|
||||
->orderBy('subcontractors.operation_type')
|
||||
->orderBy('work_permit_documents.sign_order')
|
||||
->get();
|
||||
// Get all column names from both tables
|
||||
$workPermitColumns = Schema::getColumnListing('work_permit_documents');
|
||||
$subcontractorColumns = Schema::getColumnListing('subcontractors');
|
||||
|
||||
// Prepare array for single project names
|
||||
$allSingleProjects = [];
|
||||
$projectMapping = [];
|
||||
|
||||
// Parse comma-separated projects and organize
|
||||
foreach ($workPermitUsers as $user) {
|
||||
$projectParts = explode(',', $user->project);
|
||||
foreach ($projectParts as $singleProject) {
|
||||
$singleProject = trim($singleProject);
|
||||
if (!empty($singleProject) && !in_array($singleProject, $allSingleProjects)) {
|
||||
$allSingleProjects[] = $singleProject;
|
||||
}
|
||||
|
||||
if (!empty($singleProject)) {
|
||||
if (!isset($projectMapping[$singleProject])) {
|
||||
$projectMapping[$singleProject] = [];
|
||||
$workPermitUsers = DB::table("work_permit_documents")
|
||||
->select([
|
||||
'work_permit_documents.id',
|
||||
'work_permit_documents.name_surname',
|
||||
'work_permit_documents.company',
|
||||
'work_permit_documents.certificates_number',
|
||||
'work_permit_documents.duty',
|
||||
'work_permit_documents.document_number',
|
||||
'work_permit_documents.attorney',
|
||||
'work_permit_documents.attorney_date',
|
||||
'work_permit_documents.zone as project',
|
||||
'work_permit_documents.sign_order as personel_sign_order',
|
||||
'subcontractors.company_name_ru',
|
||||
'subcontractors.company_name_en',
|
||||
'subcontractors.job_description',
|
||||
'subcontractors.company_code',
|
||||
'subcontractors.operation_type',
|
||||
'subcontractors.city',
|
||||
'subcontractors.address',
|
||||
'subcontractors.logo',
|
||||
'subcontractors.sign_order as firma_sign_order'
|
||||
])
|
||||
->join("subcontractors", "work_permit_documents.company", "subcontractors.company_name_ru")
|
||||
->orderBy('subcontractors.operation_type')
|
||||
->orderBy('work_permit_documents.sign_order')
|
||||
->get();
|
||||
|
||||
// Prepare array for single project names
|
||||
$allSingleProjects = [];
|
||||
$projectMapping = [];
|
||||
|
||||
// Parse comma-separated projects and organize
|
||||
foreach ($workPermitUsers as $user) {
|
||||
$projectParts = explode(',', $user->project);
|
||||
foreach ($projectParts as $singleProject) {
|
||||
$singleProject = trim($singleProject);
|
||||
if (!empty($singleProject) && !in_array($singleProject, $allSingleProjects)) {
|
||||
$allSingleProjects[] = $singleProject;
|
||||
}
|
||||
|
||||
// Add this user to this project
|
||||
$found = false;
|
||||
foreach ($projectMapping[$singleProject] as $existingUser) {
|
||||
if ($existingUser->name_surname === $user->name_surname &&
|
||||
$existingUser->operation_type === $user->operation_type &&
|
||||
$existingUser->personel_sign_order === $user->personel_sign_order) {
|
||||
$found = true;
|
||||
break;
|
||||
|
||||
if (!empty($singleProject)) {
|
||||
if (!isset($projectMapping[$singleProject])) {
|
||||
$projectMapping[$singleProject] = [];
|
||||
}
|
||||
|
||||
// Add this user to this project
|
||||
$found = false;
|
||||
foreach ($projectMapping[$singleProject] as $existingUser) {
|
||||
if (
|
||||
$existingUser->name_surname === $user->name_surname &&
|
||||
$existingUser->operation_type === $user->operation_type &&
|
||||
$existingUser->personel_sign_order === $user->personel_sign_order
|
||||
) {
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$found) {
|
||||
$projectMapping[$singleProject][] = $user;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$found) {
|
||||
$projectMapping[$singleProject][] = $user;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Group companies by operation_type
|
||||
$companyOperationMapping = [];
|
||||
foreach ($workPermitUsers as $user) {
|
||||
$key = $user->operation_type;
|
||||
if (!isset($companyOperationMapping[$key])) {
|
||||
$companyOperationMapping[$key] = [];
|
||||
|
||||
// Group companies by operation_type
|
||||
$companyOperationMapping = [];
|
||||
foreach ($workPermitUsers as $user) {
|
||||
$key = $user->operation_type;
|
||||
if (!isset($companyOperationMapping[$key])) {
|
||||
$companyOperationMapping[$key] = [];
|
||||
}
|
||||
|
||||
if (!in_array($user->company_name_ru, $companyOperationMapping[$key])) {
|
||||
$companyOperationMapping[$key][] = $user->company_name_ru;
|
||||
}
|
||||
}
|
||||
|
||||
if (!in_array($user->company_name_ru, $companyOperationMapping[$key])) {
|
||||
$companyOperationMapping[$key][] = $user->company_name_ru;
|
||||
}
|
||||
}
|
||||
|
||||
// Sort projects alphabetically
|
||||
ksort($projectMapping);
|
||||
|
||||
// Sort projects alphabetically
|
||||
ksort($projectMapping);
|
||||
@endphp
|
||||
|
||||
<div class="tree-node root-node">
|
||||
@@ -145,10 +147,10 @@
|
||||
<div class="tree-children">
|
||||
@foreach($projectMapping as $singleProject => $users)
|
||||
@php
|
||||
// Group by operation_type for each project
|
||||
$operationGroups = collect($users)->groupBy('operation_type');
|
||||
// Group by operation_type for each project
|
||||
$operationGroups = collect($users)->groupBy('operation_type');
|
||||
@endphp
|
||||
|
||||
|
||||
<div class="tree-node project-node" data-project="{{ $singleProject }}">
|
||||
<div class="tree-node-content project-title">
|
||||
{{ $singleProject }}
|
||||
@@ -156,8 +158,8 @@
|
||||
<div class="tree-children">
|
||||
@foreach($operationGroups as $operationType => $operationGroup)
|
||||
@php
|
||||
// Get companies for this operation type in this project
|
||||
$companiesForThisOp = collect($operationGroup)->pluck('company_name_ru')->unique()->implode(', ');
|
||||
// Get companies for this operation type in this project
|
||||
$companiesForThisOp = collect($operationGroup)->pluck('company_name_ru')->unique()->implode(', ');
|
||||
@endphp
|
||||
<div class="tree-node operation-node">
|
||||
<div class="tree-node-content operation-type">
|
||||
@@ -165,18 +167,18 @@
|
||||
<div class="company-name">
|
||||
Company: {{ $companiesForThisOp }}
|
||||
@php
|
||||
$masterSignOrders = collect($operationGroup)->pluck('firma_sign_order')->filter()->unique()->implode(', ');
|
||||
$masterSignOrders = collect($operationGroup)->pluck('firma_sign_order')->filter()->unique()->implode(', ');
|
||||
@endphp
|
||||
@if(!empty($masterSignOrders))
|
||||
<span class="sign-order-badge master-badge">{{ $masterSignOrders }}</span>
|
||||
<span class="sign-order-badge master-badge">{{ $masterSignOrders }}</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="tree-children">
|
||||
@php
|
||||
$sortedUsers = collect($operationGroup)->sortBy('personel_sign_order');
|
||||
$sortedUsers = collect($operationGroup)->sortBy('personel_sign_order');
|
||||
@endphp
|
||||
|
||||
|
||||
@foreach($sortedUsers as $user)
|
||||
<div class="tree-node user-node">
|
||||
<div class="tree-node-content">
|
||||
@@ -225,7 +227,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="wp-{{$user->id}}">
|
||||
<div class="placeholder-list scrollable-list">
|
||||
@@ -234,12 +236,12 @@
|
||||
</div>
|
||||
<!-- Work Permit Document Placeholders -->
|
||||
@foreach($workPermitColumns as $column)
|
||||
<div class="placeholder-item">
|
||||
<code class="copyable" data-clipboard-text="{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_".$column."}" !!}">
|
||||
{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_".$column."}" !!}
|
||||
</code>
|
||||
<i class="fa fa-copy copy-icon"></i>
|
||||
</div>
|
||||
<div class="placeholder-item">
|
||||
<code class="copyable" data-clipboard-text="{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_" . $column . "}" !!}">
|
||||
{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_" . $column . "}" !!}
|
||||
</code>
|
||||
<i class="fa fa-copy copy-icon"></i>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
@@ -250,18 +252,18 @@
|
||||
</div>
|
||||
<!-- Subcontractor Placeholders -->
|
||||
@foreach($subcontractorColumns as $column)
|
||||
<div class="placeholder-item">
|
||||
<code class="copyable" data-clipboard-text="{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_sub_".$column."}" !!}">
|
||||
{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_sub_".$column."}" !!}
|
||||
</code>
|
||||
<i class="fa fa-copy copy-icon"></i>
|
||||
</div>
|
||||
<div class="placeholder-item">
|
||||
<code class="copyable" data-clipboard-text="{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_sub_" . $column . "}" !!}">
|
||||
{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_sub_" . $column . "}" !!}
|
||||
</code>
|
||||
<i class="fa fa-copy copy-icon"></i>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="placeholder-search mt-2">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control placeholder-filter" placeholder="Search placeholders...">
|
||||
@@ -272,30 +274,30 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="placeholder-common mt-2">
|
||||
<h6 class="text-white font-size-sm">Common Placeholders</h6>
|
||||
<div class="placeholder-item">
|
||||
<code class="copyable" data-clipboard-text="{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_name_surname}" !!}">
|
||||
{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_name_surname}" !!}
|
||||
<code class="copyable" data-clipboard-text="{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_name_surname}" !!}">
|
||||
{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_name_surname}" !!}
|
||||
</code>
|
||||
<i class="fa fa-copy copy-icon"></i>
|
||||
</div>
|
||||
<div class="placeholder-item">
|
||||
<code class="copyable" data-clipboard-text="{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_company_name}" !!}">
|
||||
{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_company_name}" !!}
|
||||
<code class="copyable" data-clipboard-text="{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_company_name}" !!}">
|
||||
{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_company_name}" !!}
|
||||
</code>
|
||||
<i class="fa fa-copy copy-icon"></i>
|
||||
</div>
|
||||
<div class="placeholder-item">
|
||||
<code class="copyable" data-clipboard-text="{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_certificate_no}" !!}">
|
||||
{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_certificate_no}" !!}
|
||||
<code class="copyable" data-clipboard-text="{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_certificate_no}" !!}">
|
||||
{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_certificate_no}" !!}
|
||||
</code>
|
||||
<i class="fa fa-copy copy-icon"></i>
|
||||
</div>
|
||||
<div class="placeholder-item">
|
||||
<code class="copyable" data-clipboard-text="{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_duty}" !!}">
|
||||
{!! "{".$user->job_description.$user->firma_sign_order."_".$user->personel_sign_order."_duty}" !!}
|
||||
<code class="copyable" data-clipboard-text="{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_duty}" !!}">
|
||||
{!! "{" . $user->job_description . $user->firma_sign_order . "_" . $user->personel_sign_order . "_duty}" !!}
|
||||
</code>
|
||||
<i class="fa fa-copy copy-icon"></i>
|
||||
</div>
|
||||
|
||||
@@ -2,100 +2,100 @@
|
||||
@extends('admin.master')
|
||||
|
||||
@section('content')
|
||||
<div id="page-container" class="main-content-boxed side-trans-enabled">
|
||||
<div id="page-container" class="main-content-boxed side-trans-enabled">
|
||||
|
||||
<!-- Main Container -->
|
||||
<main id="main-container" style="min-height: 969px;">
|
||||
<!-- Main Container -->
|
||||
<main id="main-container" style="min-height: 969px;">
|
||||
|
||||
<!-- Page Content -->
|
||||
<div class="bg-image" style="background-image: url('{{url("assets/back.jpg")}}'); background-color: #f8f9fa;
|
||||
background-position: center;
|
||||
background-size: contain; ">
|
||||
<div class="row mx-0 bg-black-op">
|
||||
<div class="hero-static col-md-6 col-xl-8 d-none d-md-flex align-items-md-end" >
|
||||
<div class="p-30 js-appear-enabled animated fadeIn" data-toggle="appear">
|
||||
<p class="font-size-h3 font-w600 text-white">
|
||||
{{e2("Learning without stopping. Recognizing that everything you know can be renewed again.")}}
|
||||
</p>
|
||||
<p class="font-italic text-white-op">
|
||||
{{e2("Copyright")}} © <span class="js-year-copy js-year-copy-enabled">{{e2("1991")}} - {{date('Y')}}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div style="background-color:#ffffffe6 !important;" class="hero-static text-center col-md-6 col-xl-4 d-flex align-items-center bg-white js-appear-enabled animated fadeInRight" data-toggle="appear" data-class="animated fadeInRight">
|
||||
<div class="content content-full">
|
||||
<!-- Header -->
|
||||
<div class="px-30 py-10">
|
||||
<a class="link-effect font-w700" href="#">
|
||||
<img src="{{url("assets/logo.svg")}}" style="width:70%" class="img-fluid" alt="" />
|
||||
</a>
|
||||
<h1 class="h3 font-w700 mt-30 mb-10">{{e2("Welcome")}}</h1>
|
||||
<h2 class="h5 font-w400 text-muted mb-0">{{e2("Please sign in")}}</h2>
|
||||
<!-- Page Content -->
|
||||
<div class="bg-image" style="background-image: url('{{url("assets/back.jpg")}}'); background-color: #f8f9fa;
|
||||
background-position: center;
|
||||
background-size: contain; ">
|
||||
<div class="row mx-0 bg-black-op">
|
||||
<div class="hero-static col-md-6 col-xl-8 d-none d-md-flex align-items-md-end" >
|
||||
<div class="p-30 js-appear-enabled animated fadeIn" data-toggle="appear">
|
||||
<p class="font-size-h3 font-w600 text-white">
|
||||
{{e2("Learning without stopping. Recognizing that everything you know can be renewed again.")}}
|
||||
</p>
|
||||
<p class="font-italic text-white-op">
|
||||
{{e2("Copyright")}} © <span class="js-year-copy js-year-copy-enabled">{{e2("1991")}} - {{date('Y')}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<!-- END Header -->
|
||||
</div>
|
||||
<div style="background-color:#ffffffe6 !important;" class="hero-static text-center col-md-6 col-xl-4 d-flex align-items-center bg-white js-appear-enabled animated fadeInRight" data-toggle="appear" data-class="animated fadeInRight">
|
||||
<div class="content content-full">
|
||||
<!-- Header -->
|
||||
<div class="px-30 py-10">
|
||||
<a class="link-effect font-w700" href="#">
|
||||
<img src="{{url("assets/citrus-logos/citrus-yatay.svg")}}" style="width:70%" class="img-fluid" alt="" />
|
||||
</a>
|
||||
<h1 class="h3 font-w700 mt-30 mb-10">{{e2("Welcome")}}</h1>
|
||||
<h2 class="h5 font-w400 text-muted mb-0">{{e2("Please sign in")}}</h2>
|
||||
</div>
|
||||
<!-- END Header -->
|
||||
|
||||
<!-- Sign In Form -->
|
||||
<!-- jQuery Validation functionality is initialized with .js-validation-signin class in js/pages/op_auth_signin.min.js which was auto compiled from _es6/pages/op_auth_signin.js -->
|
||||
<!-- For more examples you can check out https://github.com/jzaefferer/jquery-validation -->
|
||||
<form class="js-validation-signin px-30" action="{{ route('login') }}" method="post" novalidate="novalidate">
|
||||
@csrf
|
||||
<div class="form-group row">
|
||||
<div class="col-12">
|
||||
<div class="form-material floating">
|
||||
<input type="text" class="form-control p-4" id="login-username" name="email">
|
||||
<label for="login-username">{{ __('Username') }}</label>
|
||||
</div>
|
||||
@error('email')
|
||||
<div class="alert alert-danger" >
|
||||
<strong>{{ $message }}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-12">
|
||||
<div class="form-material floating">
|
||||
<input type="password" class="form-control p-4" id="login-password" name="password">
|
||||
<label for="login-password">{{ __('Password') }}</label>
|
||||
</div>
|
||||
@error('password')
|
||||
<div class="alert alert-danger">
|
||||
<strong>{{ $message }}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-12">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" checked id="login-remember-me" name="remember" {{ old('remember') ? 'checked' : '' }}>
|
||||
<label class="custom-control-label" for="login-remember-me">{{ __('Remember Me') }}</label>
|
||||
|
||||
<!-- Sign In Form -->
|
||||
<!-- jQuery Validation functionality is initialized with .js-validation-signin class in js/pages/op_auth_signin.min.js which was auto compiled from _es6/pages/op_auth_signin.js -->
|
||||
<!-- For more examples you can check out https://github.com/jzaefferer/jquery-validation -->
|
||||
<form class="js-validation-signin px-30" action="{{ route('login') }}" method="post" novalidate="novalidate">
|
||||
@csrf
|
||||
<div class="form-group row">
|
||||
<div class="col-12">
|
||||
<div class="form-material floating">
|
||||
<input type="text" class="form-control p-4" id="login-username" name="email">
|
||||
<label for="login-username">{{ __('Username') }}</label>
|
||||
</div>
|
||||
@error('email')
|
||||
<div class="alert alert-danger" >
|
||||
<strong>{{ $message }}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-sm btn-hero btn-alt-primary">
|
||||
<i class="si si-login mr-10"></i> {{e2("Sign In")}}
|
||||
</button>
|
||||
<div class="mt-30 d-none">
|
||||
<a class="link-effect text-muted mr-10 mb-5 d-inline-block" href="op_auth_signup2.html">
|
||||
<i class="fa fa-plus mr-5"></i> {{e2("Create Account")}}
|
||||
</a>
|
||||
<a class="link-effect text-muted mr-10 mb-5 d-inline-block" href="op_auth_reminder2.html">
|
||||
<i class="fa fa-warning mr-5"></i> {{e2("Forgot Password")}}
|
||||
</a>
|
||||
<div class="form-group row">
|
||||
<div class="col-12">
|
||||
<div class="form-material floating">
|
||||
<input type="password" class="form-control p-4" id="login-password" name="password">
|
||||
<label for="login-password">{{ __('Password') }}</label>
|
||||
</div>
|
||||
@error('password')
|
||||
<div class="alert alert-danger">
|
||||
<strong>{{ $message }}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- END Sign In Form -->
|
||||
<div class="form-group row">
|
||||
<div class="col-12">
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" checked id="login-remember-me" name="remember" {{ old('remember') ? 'checked' : '' }}>
|
||||
<label class="custom-control-label" for="login-remember-me">{{ __('Remember Me') }}</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-sm btn-hero btn-alt-primary">
|
||||
<i class="si si-login mr-10"></i> {{e2("Sign In")}}
|
||||
</button>
|
||||
<div class="mt-30 d-none">
|
||||
<a class="link-effect text-muted mr-10 mb-5 d-inline-block" href="op_auth_signup2.html">
|
||||
<i class="fa fa-plus mr-5"></i> {{e2("Create Account")}}
|
||||
</a>
|
||||
<a class="link-effect text-muted mr-10 mb-5 d-inline-block" href="op_auth_reminder2.html">
|
||||
<i class="fa fa-warning mr-5"></i> {{e2("Forgot Password")}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- END Sign In Form -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END Page Content -->
|
||||
<!-- END Page Content -->
|
||||
|
||||
</main>
|
||||
<!-- END Main Container -->
|
||||
</div>
|
||||
</main>
|
||||
<!-- END Main Container -->
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user