M3 Integration fixes

This commit is contained in:
Mark Gregory
2026-09-21 14:27:26 +01:00
parent bcbdd24f15
commit 4108354935
25 changed files with 182 additions and 162 deletions
@@ -215,7 +215,8 @@
</div>
<form method="POST" action="{{ route('platform.companies.warehouses.division.update', [$company, $warehouse]) }}" class="contents">
@csrf @method('PUT')
<select name="division_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<label class="sr-only" for="division_id">Division</label>
<select id="division_id" aria-label="Division Id" name="division_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<option value="">Company-level warehouse</option>
@foreach($company->divisions as $divisionOption)
<option value="{{ $divisionOption->id }}" @selected($warehouse->division_id === $divisionOption->id)>{{ $divisionOption->name }}</option>
@@ -253,7 +254,7 @@
<div class="grid gap-4 md:grid-cols-4 md:items-end">
<div>
<label for="division_name" class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Division name</label>
<label for="sonar-input-47ea6fa2d4" class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Division name</label>
<input name="name" value="{{ $division->name }}" class="mt-2 h-12 w-full rounded-xl border-zinc-300 bg-white px-4 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white" required id="division_name">
</div>
@@ -275,8 +276,8 @@
</div>
<div>
<label for="division_description" class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Description</label>
<textarea id="division_description" name="description" rows="3" class="mt-2 w-full rounded-xl border-zinc-300 bg-white px-4 py-3 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white">{{ $division->description }}</textarea>
<label class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Description</label>
<textarea aria-label="Description" name="description" rows="3" class="mt-2 w-full rounded-xl border-zinc-300 bg-white px-4 py-3 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white">{{ $division->description }}</textarea>
</div>
</form>
<div class="mt-6"><h4 class="font-semibold">Division address</h4><form method="POST" action="{{ route('platform.companies.divisions.address.update', [$company, $division]) }}" class="mt-4">@csrf @method('PUT')@include('company::partials.address-form', ['address' => $division->address, 'defaultLabel' => 'Operating address'])</form></div>
@@ -47,13 +47,15 @@
<label for="sonar-input-9f8539cc9d" class="visually-hidden">Search title, reference, summary or body</label>
<input class="doc-input" name="search" value="{{ request('search') }}"
placeholder="Search title, reference, summary or body" id="sonar-input-9f8539cc9d">
<select class="doc-select" name="status">
<label class="sr-only" for="document_status">Status</label>
<select id="document_status" aria-label="Status" class="doc-select" name="status">
<option value="">All statuses</option>
@foreach ($statuses as $value => $label)
<option value="{{ $value }}" @selected(request('status') === $value)>{{ $label }}</option>
@endforeach
</select>
<select class="doc-select" name="category">
<label class="sr-only" for="document_category">Category</label>
<select id="document_category" aria-label="Category" class="doc-select" name="category">
<option value="">All categories</option>
@foreach ($categories as $category)
<option value="{{ $category->id }}" @selected((string) request('category') === (string) $category->id)>{{ $category->name }}
@@ -14,12 +14,12 @@
<div {{ $attributes->class('rounded-xl border border-zinc-200 bg-white p-3 shadow-sm dark:border-zinc-700 dark:bg-zinc-950/50') }}>
<div class="grid gap-3 lg:grid-cols-[minmax(0,1fr)_auto] lg:items-end">
<div class="min-w-0 space-y-2">
<label for="colour-select-{{ md5($model) }}" class="block text-xs font-bold uppercase tracking-wide text-zinc-600 dark:text-zinc-300">
<label class="block text-xs font-bold uppercase tracking-wide text-zinc-600 dark:text-zinc-300">
{{ $label }}
</label>
<div class="grid gap-2 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-center">
<select id="colour-select-{{ md5($model) }}"
<select aria-label="Form Field"
wire:model.live="{{ $model }}"
class="h-9 w-full rounded-lg border border-zinc-300 bg-white px-3 text-sm font-semibold text-zinc-900 shadow-sm outline-none transition-colors duration-150 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100"
>
@@ -38,7 +38,7 @@
</span>
</div>
<div class="flex flex-wrap items-center gap-1.5">
<div class="flex flex-wrap items-center gap-1.5" aria-label="Available Helpdesk colours">
@foreach ($options as $key => $option)
<button
type="button"
@@ -54,18 +54,24 @@
</div>
<div class="grid grid-cols-[2.75rem_minmax(0,11rem)] items-center gap-2 lg:justify-end">
<label class="sr-only" for="custom-colour-picker">Choose a custom hex colour</label>
<input
id="custom-colour-picker"
type="color"
value="{{ $currentHex }}"
wire:change="$set('{{ $model }}', $event.target.value)"
class="h-9 w-11 cursor-pointer rounded-lg border border-zinc-300 bg-white p-1 shadow-sm dark:border-zinc-700 dark:bg-zinc-900"
aria-label="Choose a custom hex colour"
/>
<label class="sr-only" for="custom-colour-text">Custom hex colour</label>
<input
id="custom-colour-text"
type="text"
wire:model.live.debounce.500ms="{{ $model }}"
class="h-9 w-full rounded-lg border border-zinc-300 bg-white px-3 text-xs font-semibold text-zinc-900 placeholder:text-zinc-400 shadow-sm outline-none transition-colors duration-150 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:placeholder:text-zinc-500"
placeholder="#ffffff"
aria-label="Custom hex colour"
/>
</div>
</div>
@@ -59,6 +59,7 @@
<div class="hd-select-wrap shrink-0 md:w-72">
<select
class="hd-select"
aria-label="Select Kanban board"
onchange="window.location.href = '{{ route('helpdesk.kanban') }}?board_id=' + encodeURIComponent(this.value)"
>
@foreach ($boards as $availableBoard)
@@ -153,18 +154,23 @@
<form method="POST" action="{{ route('helpdesk.tickets.board.update', $ticket) }}"
class="mt-3 rounded-xl border border-emerald-500/20 bg-emerald-950/20 p-2">
class="mt-3 rounded-xl border border-emerald-500/20 bg-emerald-950/20 p-2"
onclick="event.stopPropagation()"
onmousedown="event.stopPropagation()"
ondragstart="event.preventDefault(); event.stopPropagation();">
@csrf
<input type="hidden" name="return_to_board_id" value="{{ $board?->id }}">
<label
for="ticket-board-{{ $ticket->id }}" class="mb-1 block text-[11px] font-bold uppercase tracking-wide text-emerald-200/80">Board</label>
for="board_id_{{ $ticket->id }}" class="mb-1 block text-[11px] font-bold uppercase tracking-wide text-emerald-200/80">Board</label>
<div class="hd-ticket-board-select-wrap">
<select id="ticket-board-{{ $ticket->id }}" name="board_id"
<select id="board_id_{{ $ticket->id }}" name="board_id"
class="hd-ticket-board-select"
draggable="false"
onchange="this.form.requestSubmit ? this.form.requestSubmit() : this.form.submit()"
onclick="event.stopPropagation()"
onmousedown="event.stopPropagation()">
onkeydown="event.stopPropagation()"
onmousedown="event.stopPropagation()"
aria-label="Move {{ $ticket->reference }} to another board">
@foreach ($boards as $ticketBoard)
<option value="{{ $ticketBoard->id }}"
@selected((int) $ticket->board_id === (int) $ticketBoard->id)>{{ $ticketBoard->name }}</option>
@@ -211,11 +211,8 @@
<div class="lg:col-span-3 xl:col-span-6">
<fieldset class="rounded-2xl border border-zinc-700 bg-zinc-950/70 p-4">
<legend class="text-sm font-semibold text-zinc-200">Tags</legend>
<div class="flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between">
<legend class="text-sm font-semibold text-zinc-200">
Tags
</legend>
<span class="text-xs text-zinc-500">
Optional · select all that apply
</span>
@@ -241,11 +241,8 @@
<div class="lg:col-span-3 xl:col-span-6">
<fieldset class="rounded-2xl border border-zinc-700 bg-zinc-950/70 p-4">
<legend class="text-sm font-semibold text-zinc-200">Tags</legend>
<div class="flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between">
<legend class="text-sm font-semibold text-zinc-200">
Tags
</legend>
<span class="text-xs text-zinc-500">
Optional · select all that apply
</span>
@@ -482,7 +482,7 @@
<div id="ticket-comment-body-editor" dusk="comment-body" data-dusk="comment-body"
data-helpdesk-rich-editor data-helpdesk-sync-target="ticket-comment-body"
contenteditable="true" aria-label="Write a public reply or internal note" spellcheck="true" lang="en-GB" autocorrect="on" autocomplete="on" autocapitalize="sentences" inputmode="text"
contenteditable="true" aria-label="Write a public reply or internal note." spellcheck="true" lang="en-GB" autocorrect="on" autocomplete="on" autocapitalize="sentences" inputmode="text"
class="prose prose-sm min-h-[12rem] max-w-none bg-white p-4 text-sm leading-6 text-zinc-900 outline-none dark:prose-invert dark:bg-zinc-950 dark:text-zinc-100"
data-placeholder="Write a public reply or internal note. Right-click or Ctrl-click underlined words for spelling suggestions.">{!! $oldCommentBody !!}</div>
@@ -18,7 +18,8 @@
</button>
</div>
<textarea spellcheck="true" lang="en-GB" name="description" rows="2" placeholder="Optional work note"
<label class="sr-only" for="time_log_description">Description</label>
<textarea id="time_log_description" aria-label="Description" spellcheck="true" lang="en-GB" name="description" rows="2" placeholder="Optional work note"
class="block w-full rounded-lg border border-zinc-300 bg-white p-2 text-xs font-semibold text-zinc-900 shadow-sm focus:border-emerald-500 focus:ring-emerald-500 dark:border-zinc-700 dark:bg-zinc-950 dark:text-zinc-100"
data-dusk="ticket-time-description">{{ old('description') }}</textarea>
@@ -295,7 +295,7 @@ class CloseShipment extends Controller
->orderBy('AYINTBOX')
->get();
foreach ($iCM695M1JOINTMP as $key => $ICM695M1JOINR) {
foreach ($iCM695M1JOINTMP as $ICM695M1JOINR) {
$a4SHIPVIA = isset($ICM695M1JOINR->A4SHIPVIA) ? trim(str_replace('&', '_', $ICM695M1JOINR->A4SHIPVIA)) : '';
$sHIPTYPE = trim($ICM695M1JOINR->A4SHIPTYPE);
@@ -18,6 +18,10 @@ class OrderLinesOfClosedOrder extends Controller
public static function index(Request $request)
{
$iC670M = $iCM688M2 = [];
$wHDDA = '';
$cOMPANY = '110';
$pLANT = '144';
$wHS = '322';
$rEPORTDATEDisp = today()->format('Ymd');
$allReportsUrls = [];
try {
@@ -237,7 +241,7 @@ class OrderLinesOfClosedOrder extends Controller
private static function userWarehouseContext(string $defaultCompany = '', string $defaultPlant = '', string $defaultWarehouse = ''): array
{
$user = trim((string) m3User());
$user = trim((string) m3_user());
if ($user === '') {
return [$defaultCompany, $defaultPlant, $defaultWarehouse];
}
@@ -21,7 +21,7 @@ class UserControlController extends Controller
$connection = config('m3.connection', 'pgsql');
$profile = null;
if (Schema::connection($connection)->hasTable('icm428m')) {
$profile = DB::connection($connection)->table('icm428m')->where('R428US', strtoupper(m3User()))->first();
$profile = DB::connection($connection)->table('icm428m')->where('R428US', strtoupper(m3_user()))->first();
}
$co = $profile->R428CO ?? '';
$whs = $profile->R428WH ?? '';
@@ -87,14 +87,14 @@ class UserControlController extends Controller
}
$conn->setOptions(['persistent' => false, 'stateless' => true, 'debug' => true, 'debugLogFile' => '/www/sentm3test/htdocs/M3/storage/logs/toolkit_debug.log']);
// Add LIB
// $result = $conn->clCommand('ADDLIBLE LIB(MPDAT10)');
// $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
// define several input/output params
$params = [];
$params[] = $conn->addParameterChar('in', 10, 'User profile', 'E#iUsrPrf', $request->R428US);
$params[] = $conn->addParameterChar('in', 20, 'First name', 'FIRST', $request->R428FIRST);
$params[] = $conn->addParameterChar('in', 30, 'Family name', 'FAMILY', $request->R428FAMILY);
// # $result = $conn->pgmCall(Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4'), $params, array(), array());
$result = $conn->pgmCall('ICMUSRPRF', 'EWOBJ', $params, [], []);
$params[] = $conn->AddParameterChar('in', 10, 'User profile', 'E#iUsrPrf', $request->R428US);
$params[] = $conn->AddParameterChar('in', 20, 'First name', 'FIRST', $request->R428FIRST);
$params[] = $conn->AddParameterChar('in', 30, 'Family name', 'FAMILY', $request->R428FAMILY);
// # $result = $conn->PgmCall(Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4'), $params, array(), array());
$result = $conn->PgmCall('ICMUSRPRF', 'EWOBJ', $params, [], []);
if (! $result) {
return 'error profile2';
@@ -175,15 +175,15 @@ class UserControlController extends Controller
}
// Add LIB
// $result = $conn->clCommand('ADDLIBLE LIB(MPDAT10)');
// $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
// define several input/output params
$params = [];
// AddParameterChar($io, $size, $comment, $varName, $value, $varying, $dimension)
// Add Warehouse Param
$params[] = $conn->addParameterChar('in', 10, 'userid', 'USERID', $request->USERID);
$params[] = $conn->addParameterChar('in', 1, 'action', 'ACTION', $request->ACTION);
$params[] = $conn->AddParameterChar('in', 10, 'userid', 'USERID', $request->USERID);
$params[] = $conn->AddParameterChar('in', 1, 'action', 'ACTION', $request->ACTION);
// AddParameterPackDec($io, $length, $scale, $comment, $varName, $value,$dimension)
// Add Delivery Note Param
@@ -193,10 +193,10 @@ class UserControlController extends Controller
// Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4')
// ICM700C EWOBJTST ICM700C ICM700CSBM
$result = $conn->pgmCall('ICMCHGPRF', 'EWOBJ', $params, [], []);
$result = $conn->PgmCall('ICMCHGPRF', 'EWOBJ', $params, [], []);
if (! $result) {
echo "<script>alert($pGMERRORS);</script>";
echo "<script>alert(" . json_encode($conn->getErrorMsg()) . ");</script>";
return 'error';
}
@@ -236,11 +236,11 @@ class UserControlController extends Controller
return self::programBridgeConnectionError($e);
}
$result = $conn->clCommand('QSYS/CHGUSRPRF USRPRF(' . $request->R428US_PWD . ') PASSWORD(' . $request->NEW_PASSWORD . ') STATUS(*ENABLED) PWDEXP(*NO)');
$result = $conn->CLCommand('QSYS/CHGUSRPRF USRPRF(' . $request->R428US_PWD . ') PASSWORD(' . $request->NEW_PASSWORD . ') STATUS(*ENABLED) PWDEXP(*NO)');
if (! $result) {
dump($pGMERRORS);
echo "<script>alert($pGMERRORS);</script>";
dump($conn->getErrorMsg());
echo "<script>alert(" . json_encode($conn->getErrorMsg()) . ");</script>";
return 'error pwd';
}
@@ -29,34 +29,25 @@ class UtilitiesController extends Controller
} catch (\Throwable $e) {
// Determine reason for failure.
// Probably database authentication error or invalid or unreachable database.
$code = $e->getCode();
Log::error('Unable to connect to the program bridge.', ['exception' => $e]);
switch ($code) {
case 8001:
// "Authorization failure on distributed database connection attempt"
// Usually means a wrong DB2 user or password
break;
case 42705:
break;
default:
break;
}
return response()->json(['error' => 'Program bridge connection failed.'], 503);
}
$conn->setOptions(['persistent' => false, 'stateless' => true, 'debug' => true, 'debugLogFile' => '/www/sentustesx/htdocs/storage/logs/toolkit_debug.log']);
// Add LIB
// $result = $conn->clCommand('ADDLIBLE LIB(MPDAT10)');
// $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
// define several input/output params
$params = [];
// AddParameterChar($io, $size, $comment, $varName, $value, $varying, $dimension)
// Add Warehouse Param
$params[] = $conn->addParameterChar('in', 3, 'eqNumber', '', '111');
$params[] = $conn->AddParameterChar('in', 3, 'eqNumber', '', '111');
// AddParameterPackDec($io, $length, $scale, $comment, $varName, $value,$dimension)
// Add Delivery Note Param
$params[] = $conn->addParameterPackDec('in', 11, 0, 'ParamIn', '', '00000087125');
$params[] = $conn->AddParameterPackDec('in', 11, 0, 'ParamIn', '', '00000087125');
// Start Time Tracking
$start = microtime(true);
@@ -65,15 +56,15 @@ class UtilitiesController extends Controller
// Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4')
// ICM700C EWOBJTST ICM700C ICM700CSBM
$result = $conn->pgmCall('ICM700CSBM', 'EWOBJTST', $params, [], []);
$result = $conn->PgmCall('ICM700CSBM', 'EWOBJTST', $params, [], []);
if ($result) {
if (! $result) {
}
// Successful Call
else {
dump($result);
}
if ($pGMERRORS != '') {
dump($pGMERRORS);
}
// Get Execution Time
$time = microtime(true) - $start;
dump($time);
@@ -170,7 +161,7 @@ class UtilitiesController extends Controller
// Get the Calling User
// $userId = 'TWOSHIP';
// $sHUSER = isset($userId) ? $userId : (m3User() !== '' ? Str::upper(trim(m3User())) : '');
// $sHUSER = isset($userId) ? $userId : (m3_user() !== '' ? Str::upper(trim(m3_user())) : '');
// Get Manifest Array
$gSArray = $request->query();
@@ -2224,7 +2224,6 @@ div.table-responsive > table > tbody > tr:last-child > td{
opacity: 1;
}
.form-control::file-selector-button, .dataTable-input::file-selector-button {
padding: 0.375rem 0.75rem;
margin: -0.375rem -0.75rem;
-webkit-margin-end: 0.75rem;
margin-inline-end: 0.75rem;
@@ -3632,7 +3631,6 @@ textarea.form-control-lg {
.dropend .dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
vertical-align: 0.255em;
content: "";
border-top: 0.3em solid transparent;
border-right: 0;
@@ -3652,7 +3650,6 @@ textarea.form-control-lg {
margin-right: 0.125rem;
}
.dropstart .dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
vertical-align: 0.255em;
content: "";
@@ -3661,7 +3658,6 @@ textarea.form-control-lg {
.dropstart .dropdown-toggle::before {
display: inline-block;
margin-right: 0.255em;
vertical-align: 0.255em;
content: "";
border-top: 0.3em solid transparent;
border-right: 0.3em solid;
@@ -20,7 +20,8 @@ Sentinel Doc Archive
</div>
<label for="recipient-name" class="col-sm-1 col-form-label">Warehouse:</label>
<div class="col-sm-2">
<select class="form-select" id="WHDDA" tabindex="-1" disabled>
<label for="WHDDA" class="visually-hidden">Warehouse</label>
<select class="form-select" id="WHDDA" aria-label="WHDD" tabindex="-1" disabled>
@foreach ($IC670M as $key => $IC670MR)
@php $currentWHDDA = trim($IC670MR->WDCO).trim($IC670MR->WDPL).trim($IC670MR->WDWHS); @endphp
<option value="{{ $currentWHDDA }}"
@@ -28,7 +28,8 @@ Solon Sentinel Portal
<div class="row mb-3">
<label for="inputWhs" class="col-sm-2 col-form-label">Warehouse</label>
<div class="col-sm-10">
<select name="whs" class="form-control">
<label for="exec_whs" class="visually-hidden">Warehouse</label>
<select id="exec_whs" aria-label="Whs" name="whs" class="form-control">
<option value="*ALL">*ALL</option>
@foreach($whs_array as $key)
<option value={{$key}}
@@ -26,7 +26,8 @@ Solon Sentinel Portal - Daily User Efficiency
<div class="row mb-3">
<label for="inputUser" class="col-sm-2 col-form-label">User</label>
<div class="col-sm-10">
<select name="user" class="form-select">
<label for="picking_user" class="visually-hidden">User</label>
<select id="picking_user" aria-label="User" name="user" class="form-select">
<option value="" selected> </option>
@foreach($user_array as $key=>$val)
<option value={{$val['userprf']}}
@@ -28,7 +28,8 @@ Solon Sentinel Portal - userPickingStats v4
<div class="row mb-3">
<label for="inputUser" class="col-sm-2 col-form-label">User</label>
<div class="col-sm-10">
<select name="user" class="form-control">
<label for="picking_user_old" class="visually-hidden">User</label>
<select id="picking_user_old" aria-label="User" name="user" class="form-control">
<option value="" selected> </option>
@foreach($user_array as $key=>$val)
<option value={{$val['userprf']}}
@@ -26,7 +26,8 @@ Solon Sentinel Portal - Graph User Efficiency
<div class="row mb-3">
<label for="inputUser" class="col-sm-2 col-form-label">User</label>
<div class="col-sm-10">
<select name="user" class="form-select">
<label for="picking_user5" class="visually-hidden">User</label>
<select id="picking_user5" aria-label="User" name="user" class="form-select">
@foreach($user_array as $key=>$val)
<option value={{$val['userprf']}}
@if($val['userprf']==$user) selected @endif
@@ -15,7 +15,8 @@ Sentinel Doc Archive
<div class="mb-2 row">
<label for="date" class="col-sm-1 col-form-label">Select Year and Month</label>
<div class="col-sm-1">
<select name="date_in_yr" id="date_in_yr">
<label for="date_in_yr" class="visually-hidden">Year</label>
<select aria-label="Date In Yr" name="date_in_yr" id="date_in_yr">
@for($x=date('Y',strtotime(date('Y').'- 5 years'));$x<date('Y');$x++)
<option value={{$x}}>{{$x}}</option>
@endfor
@@ -4,57 +4,60 @@
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Add</h5>
<button type="button" class="btn-close close-modal" data-bs-dismiss="modal"></button>
<button type="button" class="btn-close close-modal" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="table-responsive" id="M3DeliveryAddData">
<input type="hidden" id="addAVCO" name="addAVCO" value="{{$power_user->R428CO}}">
<input type="hidden" id="addAVPLANT" name="addAVPLANT" value="{{$power_user->R428PL}}">
<input type="hidden" id="addAVWHS" name="addAVWHS" value="{{$power_user->R428WH}}">
<div class="sonar-form-layout">
<div>
</div>
<div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>Delivery Method</b></div> <!-- ALPHA -->
<div class="col text-right">
<table role="presentation" class="table table-condensed" >
<thead>
</thead>
<tbody>
<tr>
<td><b>Delivery Method</b></td> <!-- ALPHA -->
<td class="text-right">
<label for="addAVDELMETH" class="visually-hidden">addAVDELMETH</label>
<input type="text" maxlength="4" length="4" class="myinput" name="addAVDELMETH" id="addAVDELMETH">
</div>
</div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>Ship Via</b></div> <!-- ALPHA -->
<div class="col text-right">
<select id="addAVSHPVIA" name="addAVSHPVIA">
</td>
</tr>
<tr>
<td><b>Ship Via</b></td> <!-- ALPHA -->
<td class="text-right">
<label for="addAVSHPVIA" class="visually-hidden">addAVSHPVIA</label>
<select aria-label="Addavshpvia" id="addAVSHPVIA" name="addAVSHPVIA">
<option value="">Select Ship Via</option>
@foreach($shipvia as $key=>$val)
<option value="{{$val->AXCODE}}">{{$val->AXCODE}} - {{$val->AXDESC}}</option>
@endforeach
</select>
</div>
</div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>Sentinel Route</b></div> <!-- ALPHA -->
<div class="col text-right">
<select id="addAVSHSRT" name="addAVSHSRT">
</td>
</tr>
<tr>
<td><b>Sentinel Route</b></td> <!-- ALPHA -->
<td class="text-right">
<label for="addAVSHSRT" class="visually-hidden">addAVSHSRT</label>
<select aria-label="Addavshsrt" id="addAVSHSRT" name="addAVSHSRT">
<option value=" "></option>
<option value="GR">GR</option>
<option value="PU">PU</option>
</select>
</div>
</div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>International Code</b></div> <!-- ALPHA -->
<div class="col text-right">
<select id="addAVSHORCL" name="addAVSHORCL">
</td>
</tr>
<tr>
<td><b>International Code</b></td> <!-- ALPHA -->
<td class="text-right">
<label for="addAVSHORCL" class="visually-hidden">addAVSHORCL</label>
<select aria-label="Addavshorcl" id="addAVSHORCL" name="addAVSHORCL">
<option value=" " selected></option>
<option value="Y">002 - International</option>
</select>
</div>
</div>
</td>
</tr>
</div>
</div>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
@@ -4,62 +4,65 @@
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Edit</h5>
<button type="button" class="btn-close close-modal" data-bs-dismiss="modal"></button>
<button type="button" class="btn-close close-modal" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="table-responsive" id="M3DeliveryEditData">
<input type="hidden" id="AVCO" name="AVCO" value="{{$power_user->R428CO}}">
<input type="hidden" id="AVPLANT" name="AVPLANT" value="{{$power_user->R428PL}}">
<input type="hidden" id="AVWHS" name="AVWHS" value="{{$power_user->R428WH}}">
<div class="sonar-form-layout">
<div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>Delivery Method</b></div> <!-- ALPHA -->
<div class="col text-right">
<table role="presentation" class="table table-condensed">
<tbody>
<tr>
<td><b>Delivery Method</b></td> <!-- ALPHA -->
<td class="text-right">
<input type="hidden" name="OLD_AVDELMETH" id="OLD_AVDELMETH">
<label for="AVDELMETH" class="visually-hidden">AVDELMETH</label>
<input type="text" maxlength="4" length="4" class="myinput" name="AVDELMETH" id="AVDELMETH" readonly>
</div>
</div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>Ship Via</b></div> <!-- ALPHA -->
<div class="col text-right">
</td>
</tr>
<tr>
<td><b>Ship Via</b></td> <!-- ALPHA -->
<td class="text-right">
<label for="OLD_AVSHPVIA" class="visually-hidden">OLD AVSHPVIA</label>
<input type="hidden" name="OLD_AVSHPVIA" id="OLD_AVSHPVIA">
<select id="AVSHPVIA" name="AVSHPVIA">
<label for="AVSHPVIA" class="visually-hidden">AVSHPVIA</label>
<select aria-label="Avshpvia" id="AVSHPVIA" name="AVSHPVIA">
<option value="">Select Ship Via</option>
@foreach($shipvia as $key=>$val)
<option value="{{$val->AXCODE}}">{{$val->AXCODE}} - {{$val->AXDESC}}</option>
@endforeach
</select>
</div>
</div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>Sentinel Route</b></div> <!-- ALPHA -->
<div class="col text-right">
</td>
</tr>
<tr>
<td><b>Sentinel Route</b></td> <!-- ALPHA -->
<td class="text-right">
<label for="OLD_AVSHSRT" class="visually-hidden">OLD AVSHSRT</label>
<input type="hidden" name="OLD_AVSHSRT" id="OLD_AVSHSRT">
<select id="AVSHSRT" name="AVSHSRT">
<label for="AVSHSRT" class="visually-hidden">AVSHSRT</label>
<select aria-label="Avshsrt" id="AVSHSRT" name="AVSHSRT">
<option value=" "></option>
<option value="GR">GR</option>
<option value="PU">PU</option>
</select>
</div>
</div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>International Code</b></div> <!-- ALPHA -->
<div class="col text-right">
</td>
</tr>
<tr>
<td><b>International Code</b></td> <!-- ALPHA -->
<td class="text-right">
<label for="OLD_AVSHORCL" class="visually-hidden">OLD AVSHORCL</label>
<input type="hidden" name="OLD_AVSHORCL" id="OLD_AVSHORCL">
<select id="AVSHORCL" name="AVSHORCL">
<label for="AVSHORCL" class="visually-hidden">AVSHORCL</label>
<select aria-label="Avshorcl" id="AVSHORCL" name="AVSHORCL">
<option value=" " selected></option>
<option value="Y">002 - International</option>
</select>
</div>
</div>
</td>
</tr>
</div>
</div>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
@@ -4,19 +4,20 @@
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">ERP/TMS Part Data Add</h5>
<button type="button" class="btn-close close-modal" data-bs-dismiss="modal"></button>
<button type="button" class="btn-close close-modal" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="table-responsive" id="qtyAddData">
<div class="sonar-form-layout">
<div>
</div>
<div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><label for="AT9DPW" class="col-form-label"><b>Div-Plt-Whs:</b></label></div>
<div class="col">
<table role="presentation" class="table table-condensed" >
<thead>
</thead>
<tbody>
<tr>
<td><label for="AT9DPW" class="col-form-label"><b>Div-Plt-Whs:</b></label></td>
<td>
<div class="mb-3">
<select class="form-select-sm" id="addAT9DPW"
<label for="addAT9DPW" class="visually-hidden">addAT9DPW</label>
<select aria-label="Addat9dpw" class="form-select-sm" id="addAT9DPW"
@if($power_user->R428PWRUSR=="N")
disabled
@endif
@@ -30,32 +31,32 @@
@endforeach
</select>
</div>
</div>
</div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>Part</b></div> <!-- ALPHA -->
<div class="col text-right">
</td>
</tr>
<tr>
<td><b>Part</b></td> <!-- ALPHA -->
<td class="text-right">
<label for="addAT9PART" class="visually-hidden">addAT9PART</label>
<input type="text" maxlength="15" class="myinput" name="addAT9PART" id="addAT9PART" required>
</div>
</div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>Pallet Qty</b></div> <!-- NUMERIC -->
<div class="col text-right">
</td>
</tr>
<tr>
<td><b>Pallet Qty</b></td> <!-- NUMERIC -->
<td class="text-right">
<label for="addAT9QTY" class="visually-hidden">addAT9QTY</label>
<input type="number" min="1" max="999999999" increment=1 class="myinput" name="addAT9QTY" id="addAT9QTY" required>
</div>
</div>
<div class="row g-2 align-items-center mb-2">
<div class="col"><b>Hazardous Material</b></div> <!-- ALPHA -->
<div class="col text-right">
</td>
</tr>
<tr>
<td><b>Hazardous Material</b></td> <!-- ALPHA -->
<td class="text-right">
<label for="addAT9WRN" class="visually-hidden">addAT9WRN</label>
<input type="text" maxlength="5" class="myinput" name="addAT9WRN" id="addAT9WRN">
</div>
</div>
</td>
</tr>
</div>
</div>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
@@ -11,7 +11,8 @@
<h2 class="text-lg font-bold text-zinc-900 dark:text-white">Issue licence key</h2>
<form method="POST" action="{{ route('platform.licenses.store') }}" class="mt-5 grid gap-4 md:grid-cols-5">
@csrf
<select name="company_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<label class="sr-only" for="license_company_id">Company</label>
<select id="license_company_id" aria-label="Company Id" name="company_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
@foreach ($companies as $company)
<option value="{{ $company->id }}">{{ $company->name }}</option>
@endforeach
@@ -19,7 +20,8 @@
<label for="sonar-input-959b26bb51" class="visually-hidden">Licence label</label>
<input name="label" placeholder="Licence label"
class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required id="sonar-input-959b26bb51">
<select name="plan" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<label class="sr-only" for="license_plan">Plan</label>
<select id="license_plan" aria-label="Plan" name="plan" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<option>standard</option>
<option>professional</option>
<option>enterprise</option>
@@ -7,7 +7,8 @@
<h2 class="text-lg font-bold text-zinc-900 dark:text-white">Add payment or override</h2>
<form method="POST" action="{{ route('platform.payments.store') }}" class="mt-5 grid gap-4 md:grid-cols-6">
@csrf
<select name="company_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<label class="sr-only" for="payment_company_id">Company</label>
<select id="payment_company_id" aria-label="Company Id" name="company_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
@foreach ($companies as $company)
<option value="{{ $company->id }}">{{ $company->name }}</option>
@endforeach
@@ -18,7 +19,8 @@
<label for="sonar-input-e17e77c7c9" class="visually-hidden">currency</label>
<input name="currency" value="gbp"
class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required id="sonar-input-e17e77c7c9">
<select name="status" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<label class="sr-only" for="payment_status">Status</label>
<select id="payment_status" aria-label="Status" name="status" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<option>paid</option>
<option>pending</option>
<option>failed</option>
@@ -7,7 +7,8 @@
<h2 class="text-lg font-bold text-zinc-900 dark:text-white">Add validation rule</h2>
<form method="POST" action="{{ route('warehouse-rules.store') }}" class="mt-5 grid gap-4 md:grid-cols-6">
@csrf
<select name="warehouse_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<label class="sr-only" for="rule_warehouse_id">Warehouse</label>
<select id="rule_warehouse_id" aria-label="Warehouse Id" name="warehouse_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
@foreach ($warehouses as $warehouse)
<option value="{{ $warehouse->id }}">{{ $warehouse->name }}</option>
@endforeach
@@ -18,7 +19,8 @@
<label for="sonar-input-e1cd9e371a" class="visually-hidden">stock.location.required</label>
<input name="rule_key" placeholder="stock.location.required"
class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950" required id="sonar-input-e1cd9e371a">
<select name="severity" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<label class="sr-only" for="rule_severity">Severity</label>
<select id="rule_severity" aria-label="Severity" name="severity" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<option>error</option>
<option>warning</option>
<option>blocker</option>