Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Sarun Mungthanya
SpnPatch-Laravel
Commits
1097ea6b
Commit
1097ea6b
authored
Aug 29, 2024
by
Sarun Mungthanya
Browse files
add master file format
parent
f8d82fd3
Changes
35
Hide whitespace changes
Inline
Side-by-side
resources/js/pages/roleSelect.js
0 → 100644
View file @
1097ea6b
const
roleSelect
=
{
role
:
{
valueField
:
"
id
"
,
searchField
:
"
name
"
,
options
:
[],
// Initialize empty array for options
placeholder
:
""
,
placeholder
:
"
Select the role
"
,
plugins
:
[
'
remove_button
'
],
closeAfterSelect
:
true
,
onDelete
:
function
(
values
)
{
},
render
:
{
option
:
function
(
data
,
escape
)
{
if
(
!
data
.
name
)
{
console
.
error
(
"
Invalid data for option:
"
,
data
);
return
""
;
}
return
`<div class="flex space-x-3">
<div class="flex flex-col">
<span>
${
escape
(
data
.
name
)}
</span>
</div>
</div>`
;
},
item
:
function
(
data
,
escape
)
{
if
(
!
data
.
name
)
{
console
.
error
(
"
Invalid data for item:
"
,
data
);
return
""
;
}
return
`<span class="badge rounded-full bg-primary dark:bg-accent text-white px-2 py-2 mb-2 mr-2">
<span class="mx-2">
${
escape
(
data
.
name
)}
</span>
</span>`
;
},
},
},
};
const
fetchRoles
=
(
roleSelect
)
=>
{
return
fetch
(
'
/get-roles
'
)
.
then
(
response
=>
response
.
json
())
.
then
(
data
=>
{
if
(
!
data
.
roles
||
!
Array
.
isArray
(
data
.
roles
))
{
console
.
error
(
"
Invalid response format:
"
,
data
);
return
;
}
roleSelect
.
role
.
options
=
data
.
roles
;
})
.
catch
(
error
=>
console
.
error
(
'
Error fetching role data:
'
,
error
));
};
export
{
roleSelect
,
fetchRoles
};
\ No newline at end of file
resources/js/pages/userSelect copy.js
0 → 100644
View file @
1097ea6b
const
userSelect
=
{
user
:
{
valueField
:
"
id
"
,
searchField
:
"
username
"
,
options
:
[],
// Initialize empty array for options
placeholder
:
"
Select the user
"
,
plugins
:
[
'
remove_button
'
],
closeAfterSelect
:
true
,
onDelete
:
function
(
values
)
{
},
render
:
{
option
:
function
(
data
,
escape
)
{
if
(
!
data
.
username
||
!
data
.
email
)
{
console
.
error
(
"
Invalid data for option:
"
,
data
);
return
""
;
}
return
`<div class="flex space-x-3">
<div class="flex flex-col">
<span>
${
escape
(
data
.
username
)}
</span>
<span class="text-xs opacity-80">
${
escape
(
data
.
email
)}
</span>
</div>
</div>`
;
},
item
:
function
(
data
,
escape
)
{
if
(
!
data
.
username
)
{
console
.
error
(
"
Invalid data for item:
"
,
data
);
return
""
;
}
return
`<span class="badge rounded-full bg-primary dark:bg-accent text-white px-2 py-2 mb-2 mr-2">
<span class="mx-2">
${
escape
(
data
.
username
)}
</span>
</span>`
;
},
},
},
};
const
fetchUsers
=
(
userSelect
)
=>
{
return
fetch
(
'
/get-users
'
)
.
then
(
response
=>
response
.
json
())
.
then
(
data
=>
{
if
(
!
data
.
users
||
!
Array
.
isArray
(
data
.
users
))
{
console
.
error
(
"
Invalid response format:
"
,
data
);
return
;
}
userSelect
.
user
.
options
=
data
.
users
;
})
.
catch
(
error
=>
console
.
error
(
'
Error fetching user data:
'
,
error
));
};
export
{
userSelect
,
fetchUsers
};
\ No newline at end of file
resources/js/pages/userSelect.js
View file @
1097ea6b
...
@@ -9,7 +9,8 @@ const userSelect = {
...
@@ -9,7 +9,8 @@ const userSelect = {
},
},
render
:
{
render
:
{
option
:
function
(
data
,
escape
)
{
option
:
function
(
data
,
escape
)
{
if
(
!
data
.
name
||
!
data
.
email
)
{
if
(
!
data
.
name
)
{
// console.log(data)
console
.
error
(
"
Invalid data for option:
"
,
data
);
console
.
error
(
"
Invalid data for option:
"
,
data
);
return
""
;
return
""
;
}
}
...
...
resources/views/livewire/main-container.blade.php
View file @
1097ea6b
...
@@ -37,6 +37,10 @@
...
@@ -37,6 +37,10 @@
<livewire:pages.exchangerate.exchangerate-index
/>
<livewire:pages.exchangerate.exchangerate-index
/>
@elseif ($currentContent === 'DischargePort')
@elseif ($currentContent === 'DischargePort')
<livewire:pages.dischargeport.dischargeport-index
/>
<livewire:pages.dischargeport.dischargeport-index
/>
@elseif ($currentContent === 'MasterFile')
<livewire:pages.masterfile.masterfile-index
/>
@elseif ($currentContent === 'FormatFileMaster')
<livewire:pages.format-file-master.file-index
/>
@else
@else
@livewire('code-comparer')
@livewire('code-comparer')
@endif
@endif
...
...
resources/views/livewire/navbar.blade.php
View file @
1097ea6b
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
@
mouseleave=
"timer = setTimeout(() => open = false, 100)"
@
mouseleave=
"timer = setTimeout(() => open = false, 100)"
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
<a
href=
"/server-license"
>
Server License Management
</a>
<a
href=
"/server-license"
>
Server License Management
</a>
<ul
x-cloak
x-show=
"open"
@
click=
"open = false"
@
mouseenter=
"clearTimeout(timer)"
{{--
<ul
x-cloak
x-show=
"open"
@
click=
"open = false"
@
mouseenter=
"clearTimeout(timer)"
@
mouseleave=
"timer = setTimeout(() => open = false, 100)"
@
mouseleave=
"timer = setTimeout(() => open = false, 100)"
class=
"absolute left-0 mt-2 w-48 bg-white shadow-lg"
>
class=
"absolute left-0 mt-2 w-48 bg-white shadow-lg"
>
<li><a
href=
"#"
class=
"block px-4 py-2 text-gray-700 hover:bg-stone-100"
>
Submenu 1
</a>
<li><a
href=
"#"
class=
"block px-4 py-2 text-gray-700 hover:bg-stone-100"
>
Submenu 1
</a>
...
@@ -16,11 +16,24 @@
...
@@ -16,11 +16,24 @@
</li>
</li>
<li><a
href=
"#"
class=
"block px-4 py-2 text-gray-700 hover:bg-stone-100"
>
Submenu 3
</a>
<li><a
href=
"#"
class=
"block px-4 py-2 text-gray-700 hover:bg-stone-100"
>
Submenu 3
</a>
</li>
</li>
</ul>
</ul>
--}}
</li>
</li>
<li
x-data=
"{ open: false }"
<li
x-data=
"{ open: false, timer: null }"
@
click.away=
"open = false"
@
mouseenter=
"open = true; clearTimeout(timer)"
@
mouseleave=
"timer = setTimeout(() => open = false, 100)"
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
<a
href=
"/patch"
>
Patch
</a>
<span
class=
"cursor-pointer"
@
click.stop
>
Patch
</span>
<ul
x-cloak
x-show=
"open"
@
click.stop=
"open = false"
@
mouseleave=
"open = false"
class=
"absolute left-0 mt-2 w-48 bg-white shadow-lg"
>
<li><a
href=
"/patch"
class=
"block px-4 py-2 text-gray-700 hover:bg-stone-100"
>
Create
Patch
</a></li>
<li><a
href=
"/master-file"
class=
"block px-4 py-2 text-gray-700 hover:bg-stone-100"
>
Create
MasterFile
</a></li>
<li><a
href=
"/exchange-rate"
class=
"block px-4 py-2 text-gray-700 hover:bg-stone-100"
>
Create
Exchangerate
</a></li>
<li><a
href=
"/discharge-port"
class=
"block px-4 py-2 text-gray-700 hover:bg-stone-100"
>
Create
Discharge Port
</a></li>
</ul>
</li>
</li>
<li
x-data=
"{ open: false, timer: null }"
@
click.away=
"open = false"
@
mouseenter=
"open = true; clearTimeout(timer)"
<li
x-data=
"{ open: false, timer: null }"
@
click.away=
"open = false"
@
mouseenter=
"open = true; clearTimeout(timer)"
@
mouseleave=
"timer = setTimeout(() => open = false, 100)"
@
mouseleave=
"timer = setTimeout(() => open = false, 100)"
...
@@ -39,16 +52,13 @@
...
@@ -39,16 +52,13 @@
</li>
</li>
<li
x-data=
"{ open: false }"
<li
x-data=
"{ open: false }"
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
<a
href=
"/
parameter"
>
Parame
ter
</a>
<a
href=
"/
format-file-master"
>
Format File Mas
ter
</a>
</li>
</li>
<li
x-data=
"{ open: false }"
<li
x-data=
"{ open: false }"
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
<a
href=
"/exchange-rate"
>
Create Patch Exchangerate
</a>
<a
href=
"/parameter"
>
Parameter
</a>
</li>
<li
x-data=
"{ open: false }"
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
<a
href=
"/discharge-port"
>
Create Discharge Port
</a>
</li>
</li>
<li
x-data=
"{ open: false, timer: null }"
@
click.away=
"open = false"
@
mouseenter=
"open = true; clearTimeout(timer)"
<li
x-data=
"{ open: false, timer: null }"
@
click.away=
"open = false"
@
mouseenter=
"open = true; clearTimeout(timer)"
@
mouseleave=
"timer = setTimeout(() => open = false, 100)"
@
mouseleave=
"timer = setTimeout(() => open = false, 100)"
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
class=
"relative px-2 py-1 rounded text-gray-700 hover:bg-primary-focus hover:text-white"
>
...
...
resources/views/livewire/pages/format-file-master/file-create.blade.php
0 → 100644
View file @
1097ea6b
<div
class=
"grid grid-cols-1 gap-4 sm:gap-5 lg:gap-6"
>
<form
wire:submit.prevent=
"save"
>
@csrf
<div
class=
"card pb-4"
>
<div
class=
"my-3 flex h-8 items-center justify-between px-4 sm:px-5"
>
<h2
class=
"font-medium tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100 lg:text-base"
>
<i
class=
"fa-solid fa-edit text-primary"
></i>
Create
</h2>
</div>
<div
class=
"w-3/4 px-3 space-y-3 m-auto mb-4"
>
<div
class=
"flex items-center"
>
<label
class=
"w-2/12 mr-2"
>
<span>
Name :
</span>
</label>
<span
class=
"relative flex w-full"
>
<input
wire:model.defer=
"name"
class=
"form-input w-2/4 rounded-lg border border-slate-300 bg-transparent px-3 py-2 text-xs pl-4 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder=
""
name=
"name"
type=
"text"
value=
"{{ old('name') }}"
/>
@error('name')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</span>
</div>
<div
class=
"flex items-center"
>
@if ($file)
<div
class=
"mt-2 text-sm text-slate-600 dark:text-slate-300 mr-4"
>
Uploaded File: {{ $file->getClientOriginalName() }}
</div>
@endif
<span
wire:loading
>
<svg
class=
"animate-spin h-5 w-5 text-primary m-3"
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
viewBox=
"0 0 24 24"
>
<circle
class=
"opacity-25"
cx=
"12"
cy=
"12"
r=
"10"
stroke=
"currentColor"
stroke-width=
"4"
></circle>
<path
class=
"opacity-75"
fill=
"currentColor"
d=
"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.964 7.964 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
>
</path>
</svg>
</span>
<label
for=
"file-upload"
class=
"btn bg-slate-150 font-medium text-slate-800 hover:bg-slate-200 focus:bg-slate-200 active:bg-slate-200/80 dark:bg-navy-500 dark:text-navy-50 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90"
aria-label=
"Upload File"
>
<input
tabindex=
"-1"
id=
"file-upload"
type=
"file"
wire:model=
"file"
class=
"pointer-events-none absolute inset-0 h-full w-full opacity-0"
/>
<div
class=
"flex items-center space-x-2"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
class=
"size-5"
fill=
"none"
viewBox=
"0 0 24 24"
stroke=
"currentColor"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
stroke-width=
"2"
d=
"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"
/>
</svg>
<span>
Choose File
</span>
</div>
@error('file')
<span
class=
"error"
>
{{ $message }}
</span>
@enderror
</label>
</div>
</div>
<div
class=
"grid grid-cols-12 justify-center space-x-2 pt-4"
>
<a
href=
"/format-file-master"
class=
"col-start-4 btn border border-slate-300 font-medium text-slate-800 hover:bg-slate-150 focus:bg-slate-150 active:bg-slate-150/80 dark:border-navy-450 dark:text-navy-50 dark:hover:bg-navy-500 dark:focus:bg-navy-500 dark:active:bg-navy-500/90"
>
Cancel
</a>
<button
type=
"submit"
class=
"btn ml-3 bg-primary font-medium text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/90 dark:bg-accent dark:hover:bg-accent-focus dark:focus:bg-accent-focus dark:active:bg-accent/90"
>
Save
</button>
</div>
</div>
</form>
</div>
resources/views/livewire/pages/format-file-master/file-index.blade.php
0 → 100644
View file @
1097ea6b
<div
class=
"border-0 shadow-none"
>
`
<div
wire:loading.class=
""
wire:loading.class.remove=
"hidden"
wire:target=
"save"
class=
"absolute inset-0 items-center justify-center z-50 bg-slate-50 dark:bg-navy-900 hidden"
>
<div
class=
"flex justify-center items-center "
>
<div
class=
"items-center h-100vh"
style=
"align-content: center;"
>
<div
class=
"animate-spin rounded-full h-32 w-32 border-t-2 border-b-2 border-blue-500"
></div>
</div>
</div>
</div>
<div
class=
"m-2"
>
@if ($action === 'list')
@if ($message)
<div
class=
"alert alert-success"
>
<div
wire:ignore
x-data=
"{ show: true }"
x-init=
"setTimeout(() => show = false, 3000)"
x-show.transition.duration.500ms=
"show"
class=
"fixed top-5 right-5 z-50 bg-green-500 text-white py-2 px-4 rounded-md shadow-lg"
>
{{ $message }}
</div>
</div>
@endif
<div
class=
"grid grid-cols-1 gap-4 sm:gap-5 lg:gap-6 bg-main-container rounded-md"
>
<div
class=
"pb-4"
>
<div
class=
"my-3 flex h-8 items-center justify-between px-4 sm:px-5"
>
<h2
class=
"text-2xl text-black "
>
Master File Format
</h2>
</div>
<div
class=
"flex justify-between"
>
<div
class=
"px-2 ml-4"
>
<button
type=
"button"
class=
"py-2 px-3 bg-primary rounded-md text-white hover:bg-primary-focus"
wire:click=
"showAddForm"
>
Add
</button>
</div>
<div
class=
"inline-flex flex-initial"
>
<div
x-data=
"{ isInputActive: true }"
>
<div
class=
"flex gap-4 px-5 items-center"
>
<button
@
click=
"isInputActive = !isInputActive"
class=
"btn h-8 w-10 rounded-full p-0 hover:bg-primary-focus hover:text-main-container active:text-main-container focus:text-main-container primary-focus hover:text-main-container active:text-main-container focus:text-main-container dark:hover:bg-navy-300/20 dark:focus:bg-navy-300/20 dark:active:bg-navy-300/25"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
class=
"h-4.5 w-4.5"
fill=
"none"
viewBox=
"0 0 24 24"
stroke=
"currentColor"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
stroke-width=
"1.5"
d=
"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
/>
</svg>
</button>
<span
class=
"w-64"
x-show=
"isInputActive === true"
>
<input
class=
"form-input h-9 peer w-full rounded-lg border border-slate-300 bg-transparent px-3 py-2 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder=
"Search Keyword"
type=
"text"
wire:model.defer=
"keyword"
/>
</span>
<span
class=
"w-52"
x-show=
"isInputActive === true"
>
<select
wire:model.defer=
"searchSelected"
class=
"form-select h-9 w-full rounded-lg border border-slate-300 bg-main-container px-3 py-2 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:bg-navy-700 dark:hover:border-navy-400 dark:focus:border-accent"
>
@foreach ($searchBy as $key => $by)
<option
value=
"{{ $key }}"
>
{{ $by }}
</option>
@endforeach
</select>
</span>
<button
type=
"button"
class=
"bg-primary text-white px-4 py-2 rounded hover:bg-primary-focus"
wire:click=
"search"
>
Search
</button>
</div>
</div>
</div>
</div>
<div
class=
"mx-3 mt-3 px-4"
>
<div
class=
"is-scrollbar-hidden min-w-full table-responsive"
x-data=
"pages.tables.initExample1"
>
<table
class=
"is-hoverable table w-full text-left border-b"
>
<thead>
<tr>
<th
class=
"whitespace-nowrap rounded-tl-lg bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
#
</th>
<th
class=
"whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
Name
</th>
<th
class=
"whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
File
</th>
<th
class=
"whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
Date
</th>
<th
class=
"whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
Timestamp
</th>
<th
class=
"whitespace-nowrap rounded-tr-lg bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
Action
</th>
</tr>
</thead>
<tbody>
@foreach ($results as $formatFile)
<tr
class=
"border-y border-transparent border-b-slate-200 dark:border-b-navy-500"
>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
<label
class=
"inline-flex items-center space-x-2"
>
<input
class=
"form-checkbox is-basic h-4 w-4 rounded border-slate-400/70 checked:bg-primary checked:border-primary focus:border-primary dark:bg-navy-900 dark:border-navy-500 dark:checked:bg-accent dark:checked:border-accent dark:hover:border-accent dark:focus:border-accent"
type=
"checkbox"
wire:model.defer=
"selectedPatch"
value=
"{{ $formatFile->formatservice_ID }}"
/>
</label>
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
{{ $formatFile->name }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
{{ \Illuminate\Support\Str::limit($formatFile->file, 100) }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
{{ $formatFile->date }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
{{ $formatFile->timestamp }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
<div
class=
"flex justify-center space-x-2"
>
<a
wire:click=
"showpatchEditForm({{ $formatFile->formatservice_ID }})"
class=
"btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25"
>
<i
class=
"fa fa-edit"
></i>
</a>
<a
wire:click=
"showDeleteModal({{ $formatFile->formatservice_ID }})"
class=
"btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25"
>
<i
class=
"fa fa-trash"
></i>
</a>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<livewire:delete-modal
/>
{{ $results->links('livewire.paginate-custom') }}
</div>
</div>
</div>
@elseif($action === 'add')
<livewire:pages.format-file-master.file-create
/>
@elseif($action === 'edit')
<livewire:pages.format-file-master.file-edit
:editId=
"$editId"
/>
@endif
@push('script')
<script>
console
.
log
(
"
ddd
"
)
</script>
@endpush
</div>
</div>
resources/views/livewire/pages/format-file-master/format-file-edit.blade.php
0 → 100644
View file @
1097ea6b
<div
class=
"grid grid-cols-1 gap-4 sm:gap-5 lg:gap-6"
x-data=
"{ changePassword: @entangle('changePassword'), tomGReady: false }"
x-show=
"tomGReady"
>
<form
wire:submit.prevent=
"submitEditForm"
>
@csrf
<div
class=
"card pb-4"
>
<div
class=
"my-3 flex h-8 items-center justify-between px-4 sm:px-5"
>
<h2
class=
"font-medium tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100 lg:text-base"
>
<i
class=
"fa-solid fa-edit text-primary"
></i>
Edit User
</h2>
</div>
<div
class=
"w-3/4 px-3 space-y-3 m-auto mb-4"
>
<div
class=
"flex items-center"
>
<label
class=
"w-2/12 mr-2"
>
<span>
Name:
</span>
</label>
<span
class=
"relative flex w-full"
>
<input
wire:model.defer=
"name"
class=
"form-input w-2/4 rounded-lg border border-slate-300 bg-transparent px-3 py-2 text-xs pl-4 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder=
"Name"
name=
"name"
type=
"text"
/>
@error('name')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</span>
</div>
<div
class=
"flex items-center"
>
<label
class=
"w-2/12 mr-2"
>
<span>
Email:
</span>
</label>
<span
class=
"relative flex w-full"
>
<input
wire:model.defer=
"email"
class=
"form-input w-2/4 rounded-lg border border-slate-300 bg-transparent px-3 py-2 text-xs pl-4 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder=
"Email"
name=
"email"
type=
"email"
/>
@error('email')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</span>
</div>
<div
class=
"flex items-center "
wire:ignore
>
<span
class=
"w-2/12 mr-2"
>
Add Groups:
</span>
<span
class=
"relative flex w-full"
>
<input
class=
"mt-1.5 relative flex w-1/2"
wire:ignore
x-data=
"{ groupLists: @entangle('group_lists') }"
x-init=
"groupLists = @js($userGroups);
const tempGroup = pages.groupSelect;
pages.fetchGroups(tempGroup).then(() => {
$el._x_tom = new Tom($el, {
...tempGroup.group,
onChange: (value) => {
groupLists = value;
}
});
$el._x_tom.setValue(groupLists);
tomGReady = true
})"
type=
"text"
>
</span>
</div>
<!-- Toggle Button for Change Password -->
<div
class=
"flex items-center"
>
<button
type=
"button"
@
click=
"changePassword = !changePassword"
class=
"btn border bg-gray-300 border-gray-300 font-medium text-gray-800 hover:text-white focus:text-white hover:bg-gray-500 focus:bg-gray-500 active:bg-gray-150/80 dark:border-navy-450 dark:text-navy-50 dark:hover:bg-navy-500 dark:focus:bg-navy-500 dark:active:bg-navy-500/90"
>
Change Password
</button>
</div>
<!-- Password Fields (Hidden by Default) -->
<div
x-show=
"changePassword"
>
<div
class=
"flex items-center mt-4"
>
<label
class=
"w-2/12 mr-2"
>
<span>
Current Password:
</span>
</label>
<span
class=
"relative flex w-full"
>
<input
wire:model.defer=
"current_password"
class=
"form-input w-2/4 rounded-lg border border-slate-300 bg-transparent px-3 py-2 text-xs pl-4 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder=
"Current Password"
name=
"current_password"
type=
"password"
/>
@error('current_password')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</span>
</div>
<div
class=
"flex items-center mt-4"
>
<label
class=
"w-2/12 mr-2"
>
<span>
New Password:
</span>
</label>
<span
class=
"relative flex w-full"
>
<input
wire:model.defer=
"new_password"
class=
"form-input w-2/4 rounded-lg border border-slate-300 bg-transparent px-3 py-2 text-xs pl-4 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder=
"New Password"
name=
"new_password"
type=
"password"
/>
@error('new_password')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</span>
</div>
<div
class=
"flex items-center mt-4"
>
<label
class=
"w-2/12 mr-2"
>
<span>
Confirm New Password:
</span>
</label>
<span
class=
"relative flex w-full"
>
<input
wire:model.defer=
"new_password_confirmation"
class=
"form-input w-2/4 rounded-lg border border-slate-300 bg-transparent px-3 py-2 text-xs pl-4 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder=
"Confirm New Password"
name=
"new_password_confirmation"
type=
"password"
/>
@error('new_password_confirmation')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</span>
</div>
</div>
</div>
<div
class=
"grid grid-cols-12 justify-center space-x-2 pt-4"
>
<span
wire:click=
"goBack"
class=
"col-start-4 btn border border-slate-300 font-medium text-slate-800 hover:bg-slate-150 focus:bg-slate-150 active:bg-slate-150/80 dark:border-navy-450 dark:text-navy-50 dark:hover:bg-navy-500 dark:focus:bg-navy-500 dark:active:bg-navy-500/90"
>
Cancel
</span>
<button
type=
"submit"
class=
"btn ml-3 bg-primary font-medium text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/90 dark:bg-accent dark:hover:bg-accent-focus dark:focus:bg-accent-focus dark:active:bg-accent/90"
>
Save
</button>
</div>
</div>
</form>
</div>
resources/views/livewire/pages/format-file-master/patch-create.blade.php
0 → 100644
View file @
1097ea6b
<div
class=
"bg-main-container"
>
<link
href=
"{{ asset('css/pages/patch.css') }}"
rel=
"stylesheet"
>
<div
class=
"max-w-full mx-auto px-5 "
>
<h2
class=
"text-2xl text-black "
>
Patch Management
</h2>
<a
type=
"button"
href=
"/patch"
class=
"btn mx-auto m-3 text-white bg-primary px-3 py-2"
>
Back
</a>
@if (session()->has('message'))
<div
class=
"alert alert-success"
>
{{ session('message') }}
</div>
@endif
<div
class=
"flex flex-wrap -mx-3 "
>
<div
class=
"w-full md:w-1/2 px-3 mb-6 "
>
<div
x-data=
"{
searchQuery: 'SPN64Bits',
selectedBranch: @entangle('selectedBranch'),
selectedProject: @entangle('selectedProject'),
projects: @entangle('projects').defer,
branches: @entangle('branches').defer,
fileChanges: @entangle('fileChanges').defer,
isLoading: false,
fetchProjects() {
this.isLoading = true;
this.selectedProject = '60';
this.$wire.set('searchProject', this.searchQuery);
},
fetchBranches() {
if (this.selectedProject) {
this.$wire.set('selectedProject', this.selectedProject);
}
}
}"
@
projects-fetched.window=
"isLoading = false"
@
files-fetched.window=
"isLoading = false"
x-init=
"fetchProjects"
class=
"p-6 bg-white shadow-lg rounded-lg "
>
</style>
<div
class=
""
>
<div
class=
"flex mb-3"
>
<label
for=
"searchProject"
class=
"form-label text-lg mr-2"
>
Search Project:
</label>
<input
type=
"text"
@
input.debounce.500ms=
"fetchProjects"
class=
"form-input h-8 ml-2 rounded-lg border border-slate-300 bg-transparent px-3 py-2 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
id=
"searchProject"
placeholder=
"Enter project name"
x-model=
"searchQuery"
>
</div>
</div>
{{--
<div
x-show=
"!isLoading && projects.length > 0"
class=
"grid grid-cols-3"
>
--}}
<div
x-show=
"true"
class=
""
>
<div
class=
"flex mb-3"
>
<label
for=
"project"
class=
"form-label text-lg mr-2"
>
Select Project:
</label>
<div
x-show=
"isLoading"
class=
"mx-auto mt-2"
>
<span>
Loading...
</span>
</div>
<select
x-model=
"selectedProject"
x-show=
"!isLoading"
@
change=
"fetchBranches"
id=
"project"
class=
"ml-2 w-64 h-8 mt-1 border border-gray-300 rounded-md"
>
<option
value=
""
>
Choose Project
</option>
<template
x-for=
"project in projects"
:key=
"project.id"
>
<option
:value=
"project.id"
x-text=
"project.name"
></option>
</template>
</select>
</div>
</div>
{{--
<template
x-if=
"selectedProject"
>
--}}
{{--
<template
x-if=
"true"
>
<div
class=
"mb-3"
>
<label
for=
"branch"
class=
"form-label w-64 text-lg mr-2"
>
Select Branch:
</label>
<select
x-model=
"selectedBranch"
id=
"branch"
class=
"ml-2 w-64 h-8 mt-1 border border-gray-300 rounded-md"
>
<option
value=
""
>
Choose Branch
</option>
<template
x-for=
"branch in branches"
:key=
"branch.name"
>
<option
:value=
"branch.name"
x-text=
"branch.name"
></option>
</template>
</select>
</div>
</template>
--}}
<div
class=
"mb-3"
>
<input
type=
"text"
value=
"c5d80f79"
wire:model.defer=
"startCommit"
placeholder=
"Start Commit"
class=
"placeholder:text-sm text-lg mb-2 form-input rounded-lg border border-slate-300 px-2"
>
<input
type=
"text"
value=
"254e87"
wire:model.defer=
"endCommit"
placeholder=
"End Commit"
class=
"placeholder:text-sm text-lg mb-2 form-input rounded-lg border border-slate-300 px-2"
>
<div
class=
"text-center"
>
<button
type=
"button"
wire:click=
"getChangedFiles"
class=
"btn mx-auto mt-3 text-white bg-primary px-3 py-2"
>
Get
Changed
Files
</button>
</div>
</div>
<div
wire:loading.class=
"flex"
wire:loading.class.remove=
"hidden"
class=
"flex inset-0 items-center justify-center z-50 bg-slate-50 dark:bg-navy-900 hidden"
>
<div
class=
"app-preloader grid h-full w-full place-content-center"
>
<div
class=
"app-preloader-inner relative inline-block h-48 w-48"
></div>
</div>
</div>
{{--
<template
x-if=
"Object.keys(fileChanges).length > 0"
>
<div
class=
"mt-5 bg-gray-100 p-4 rounded-lg shadow"
>
<h3
class=
"text-lg mb-3"
>
Changed Files
</h3>
<div
class=
"tree"
>
<ul
x-html=
"renderTree(fileChanges)"
></ul>
</div>
</div>
</template>
--}}
<div
class=
"mt-5 bg-gray-100 p-4 rounded-lg shadow"
>
<h3
class=
"text-lg mb-3"
>
Changed Files
</h3>
<div
class=
"file-tree"
>
<ul
class=
'pl-4 mt-1'
>
@foreach ($fileChanges as $name => $item)
@include('livewire.pages.patch.tree-item', [
'name' => $name,
'item' => $item,
])
@endforeach
</ul>
</div>
</div>
</div>
</div>
<div
class=
"w-full md:w-1/2 px-3 mb-6"
>
<div
class=
"p-6 bg-white shadow-md rounded-lg rounded-lg "
>
<h2
class=
"text-2xl text-black font-bold mb-4"
>
Create Patch
</h2>
<div
class=
"mb-4"
>
<label
for=
"patch_name"
class=
"block text-gray-700"
>
Patch name
</label>
<input
type=
"text"
id=
"patch_name"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
wire:model.defer=
"PATCHNAME"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"patch_date"
class=
"block text-gray-700"
>
Patch date
</label>
<input
type=
"datetime-local"
id=
"patch_date"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
wire:model.defer=
"PDATE"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"php_version"
class=
"block text-gray-700"
>
PHP Version
</label>
<select
id=
"php_version"
wire:model.defer=
"PHP_VERSION"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
>
<option
value=
"0"
>
ALL
</option>
<option
value=
"1"
>
32Bits (PHP 5.2)
</option>
<option
value=
"2"
>
64Bits (PHP 5.6)
</option>
<option
value=
"3"
>
64Bits (PHP 8.0)
</option>
</select>
</div>
<div
class=
"mb-4"
>
<label
for=
"patch_level"
class=
"block text-gray-700"
>
Patch level
</label>
<input
type=
"text"
id=
"patch_level"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
wire:model.defer=
"PLEVEL"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"code"
class=
"block text-gray-700"
>
Patch Code
</label>
<input
type=
"text"
id=
"code"
wire:model.defer=
"PCODE"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"major_version"
class=
"block text-gray-700"
>
Major version
</label>
<input
type=
"text"
id=
"major_version"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
wire:model.defer=
"MAJOR_VERSION"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"pdesc"
class=
"block text-gray-700"
>
Patch Desciption
</label>
<input
type=
"text"
id=
"pdesc"
wire:model.defer=
"PDESC"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"remark"
class=
"block text-gray-700"
>
Remark
</label>
<input
type=
"text"
id=
"remark"
wire:model.defer=
"Remark"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"owner"
class=
"block text-gray-700"
>
Owner
</label>
<input
type=
"text"
id=
"owner"
wire:model.defer=
"POWNER"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
value=
"aom"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"papprovedate"
class=
"block text-gray-700"
>
Papprovedate
</label>
<input
type=
"datetime-local"
id=
"papprovedate"
wire:model.defer=
"PAPPROVEDATE"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
value=
"2024-03-27T15:00"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"ptype"
class=
"block text-gray-700"
>
Ptype
</label>
<input
type=
"text"
id=
"ptype"
wire:model.defer=
"PTYPE"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"specific_customer"
class=
"block text-gray-700"
>
Specific Customer
</label>
<input
type=
"text"
id=
"specific_customer"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"patchcode"
class=
"block text-gray-700"
>
Patchcode
</label>
<textarea
id=
"patchcode"
wire:model.defer=
"PATCHCODE"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
rows=
"5"
>
pathcode
</textarea>
</div>
<div
class=
"mb-4"
>
<label
for=
"uninstall"
class=
"block text-gray-700"
>
Uninstall
</label>
<input
type=
"text"
id=
"uninstall"
wire:model.defer=
"UNINSTALL"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
value=
"$b=1"
>
</div>
<div
class=
"mb-4"
>
<label
for=
"patchcode_server"
class=
"block text-gray-700"
>
Patchcode_server
</label>
<textarea
id=
"patchcode_server"
wire:model.defer=
"PATCHCODE_SERVER"
class=
"w-full mt-1 p-2 border border-gray-300 rounded-md"
rows=
"5"
></textarea>
</div>
<div
class=
"flex justify-center"
>
<button
type=
"button"
wire:click=
"save"
class=
"bg-stone-700 text-white px-4 py-2 rounded-md hover:bg-blue-600"
>
Save
</button>
</div>
</div>
</div>
</div>
<livewire:pages.patch.modal-edit-code>
</div>
resources/views/livewire/pages/group/group-index.blade.php
View file @
1097ea6b
...
@@ -122,7 +122,7 @@
...
@@ -122,7 +122,7 @@
</th>
</th>
<th
<th
class=
"whitespace-nowrap bg-slate-200 px-4 py-3 font-semibold uppercase text-slate-800 dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
class=
"whitespace-nowrap bg-slate-200 px-4 py-3 font-semibold uppercase text-slate-800 dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
group
Role
</th>
</th>
<th
<th
class=
"whitespace-nowrap bg-slate-200 px-4 py-3 font-semibold uppercase text-slate-800 dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
class=
"whitespace-nowrap bg-slate-200 px-4 py-3 font-semibold uppercase text-slate-800 dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
...
...
resources/views/livewire/pages/role/role-create.blade.php
View file @
1097ea6b
...
@@ -42,32 +42,8 @@
...
@@ -42,32 +42,8 @@
</div>
</div>
<div
class=
"tabs flex flex-col"
>
<div
class=
"tabs flex flex-col"
>
<div
x-data=
"{ activeTab: 'Import' }"
class=
"tabs flex flex-col"
>
<div
x-data=
"{ activeTab: 'Import' }"
class=
"tabs flex flex-col"
>
<div
class=
"is-scrollbar-hidden overflow-x-auto bg-slate-200 text-slate-600 dark:bg-navy-800 dark:text-navy-200 p-2"
>
<div
class=
"tab-content pt-4 px-2 mt-2 pb-2"
>
<div
class=
"tabs-list flex"
>
<button
@
click=
"activeTab = 'Center'"
type=
"button"
:class=
"activeTab === 'Center' ? 'bg-white shadow dark:bg-navy-500 dark:text-navy-100' :
'hover:text-slate-800 focus:text-slate-800 dark:hover:text-navy-100 dark:focus:text-navy-100'"
class=
"btn shrink-0 space-x-2 px-3 py-1.5 font-medium"
>
Center
</button>
<button
@
click=
"activeTab = 'Import'"
type=
"button"
:class=
"activeTab === 'Import' ?
'bg-white shadow dark:bg-navy-500 dark:text-navy-100' :
'hover:text-slate-800 focus:text-slate-800 dark:hover:text-navy-100 dark:focus:text-navy-100'"
class=
"btn shrink-0 space-x-2 px-3 py-1.5 font-medium"
>
Import
</button>
<button
@
click=
"activeTab = 'Export'"
type=
"button"
:class=
"activeTab === 'Export' ?
'bg-white shadow dark:bg-navy-500 dark:text-navy-100' :
'hover:text-slate-800 focus:text-slate-800 dark:hover:text-navy-100 dark:focus:text-navy-100'"
class=
"btn shrink-0 space-x-2 px-3 py-1.5 font-medium"
>
Export
</button>
</div>
</div>
<div
x-show=
"activeTab === 'Center'"
class=
"tab-content pt-4 bg-slate-200 px-2 mt-2 pb-2"
>
<div
x-transition:enter=
"transition-all duration-500 ease-in-out"
<div
x-transition:enter=
"transition-all duration-500 ease-in-out"
x-transition:enter-start=
"opacity-0 [transform:translate3d(1rem,0,0)]"
x-transition:enter-start=
"opacity-0 [transform:translate3d(1rem,0,0)]"
x-transition:enter-end=
"opacity-100 [transform:translate3d(0,0,0)]"
>
x-transition:enter-end=
"opacity-100 [transform:translate3d(0,0,0)]"
>
...
@@ -81,6 +57,12 @@
...
@@ -81,6 +57,12 @@
'Group Management',
'Group Management',
'Company Management',
'Company Management',
'Company Type Management',
'Company Type Management',
'Server License Management',
'Patch Management',
'Send Patch Management',
'Parameter Management',
'Patch Exchange Rate Management',
'Patch Discharge Port Management',
];
];
@endphp
@endphp
...
@@ -145,165 +127,17 @@
...
@@ -145,165 +127,17 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
x-show=
"activeTab === 'Import'"
class=
"tab-content pt-4 bg-slate-200 px-2 mt-2 pb-2"
>
<div
x-transition:enter=
"transition-all duration-500 ease-in-out"
x-transition:enter-start=
"opacity-0 [transform:translate3d(1rem,0,0)]"
x-transition:enter-end=
"opacity-100 [transform:translate3d(0,0,0)]"
>
<div
class=
"grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-5 lg:grid-cols-3 lg:gap-6 xl:grid-cols-3"
>
@php
$currentGroup = '';
$tabGroup2 = [
'File Management Import',
'Header Management Import',
'Detail Management Import',
'Item Management Import',
'Flight Management Import',
];
@endphp
@foreach ($permissions as $permission)
@if (!in_array($permission['permission_group_name'], $tabGroup2))
@continue
@endif
@if ($permission['permission_group_name'] !== $currentGroup)
@if ($currentGroup !== '')
</div>
</div>
@endif
<div
x-data=
"{
allChecked: false,
permissionList: @entangle('permission_lists'),
toggleAll(group) {
this.allChecked = !this.allChecked;
document.querySelectorAll(`.permissionGroup[data-group='${group}'] input[type='checkbox']`).forEach(checkbox => {
checkbox.checked = this.allChecked;
if (this.allChecked) {
if (!this.permissionListAlpine.includes(checkbox.value)) {
this.permissionListAlpine.push(checkbox.value);
}
} else {
this.permissionListAlpine = this.permissionListAlpine.filter(id => id != checkbox.value);
}
});
},
toggleIndividual(event) {
event.stopPropagation();
this.allChecked = this.permissionListAlpine.length === @json($permissions->count());
}
}"
class=
"card grow items-center p-4 sm:p-5 cursor-pointer permissionGroup"
data-group=
"{{ $permission['permission_group_name'] }}"
@
click=
"toggleAll('{{ $permission['permission_group_name'] }}')"
>
<h3
class=
"pt-3 text-lg font-medium text-slate-700 dark:text-navy-100"
>
{{ $permission['permission_group_name'] }}
</h3>
<div
class=
"my-4 h-px w-full bg-slate-200 dark:bg-navy-500"
></div>
<div
class=
"grow space-y-4 permission-list"
>
@endif
<div
class=
"flex items-center space-x-4"
>
<label
class=
"inline-flex items-center space-x-2"
@
click=
"toggleIndividual($event)"
>
<input
class=
"form-switch h-5 w-10 rounded-full bg-slate-300 before:rounded-full before:bg-slate-50 checked:!bg-primary checked:before:bg-white dark:bg-navy-900 dark:before:bg-navy-300 dark:checked:before:bg-white"
type=
"checkbox"
x-model=
"permissionListAlpine"
value=
"{{ $permission['id'] }}"
/>
<span>
{{ $permission['name'] }}
</span>
</label>
</div>
@php $currentGroup = $permission['permission_group_name']; @endphp
@endforeach
@if ($currentGroup !== '')
</div>
@endif
</div>
</div>
</div>
</div>
</div>
</div>
<div
x-show=
"activeTab === 'Export'"
class=
"tab-content pt-4 bg-slate-200 px-2 mt-2 pb-2"
>
</form>
<div
x-transition:enter=
"transition-all duration-500 ease-in-out"
<div
class=
"grid grid-cols-6 justify-center space-x-2 pt-4"
>
x-transition:enter-start=
"opacity-0 [transform:translate3d(1rem,0,0)]"
<span
wire:click=
"goBack"
x-transition:enter-end=
"opacity-100 [transform:translate3d(0,0,0)]"
>
class=
"col-start-3 btn border border-slate-300 font-medium text-slate-800 hover:bg-slate-150 focus:bg-slate-150 active:bg-slate-150/80 dark:border-navy-450 dark:text-navy-50 dark:hover:bg-navy-500 dark:focus:bg-navy-500 dark:active:bg-navy-500/90"
>
<div
class=
"grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-5 lg:grid-cols-3 lg:gap-6 xl:grid-cols-3"
>
Cancel
@php
</span>
$currentGroup = '';
<button
type=
"button"
@
click=
"submit"
$tabGroup3 = [
class=
"btn ml-3 bg-primary font-medium text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/90 dark:bg-accent dark:hover:bg-accent-focus dark:focus:bg-accent-focus dark:active:bg-accent/90"
>
'File Management Export',
Save
'Header Management Export',
</button>
'Detail Management Export',
</div>
'Item Management Export',
'Flight Management Export',
];
@endphp
@foreach ($permissions as $permission)
@if (!in_array($permission['permission_group_name'], $tabGroup3))
@continue
@endif
@if ($permission['permission_group_name'] !== $currentGroup)
@if ($currentGroup !== '')
</div>
</div>
@endif
<div
x-data=
"{
allChecked: false,
permissionList: @entangle('permission_lists'),
toggleAll(group) {
this.allChecked = !this.allChecked;
document.querySelectorAll(`.permissionGroup[data-group='${group}'] input[type='checkbox']`).forEach(checkbox => {
checkbox.checked = this.allChecked;
if (this.allChecked) {
if (!this.permissionListAlpine.includes(checkbox.value)) {
this.permissionListAlpine.push(checkbox.value);
}
} else {
this.permissionListAlpine = this.permissionListAlpine.filter(id => id != checkbox.value);
}
});
},
toggleIndividual(event) {
event.stopPropagation();
this.allChecked = this.permissionListAlpine.length === @json($permissions->count());
}
}"
class=
"card grow items-center p-4 sm:p-5 cursor-pointer permissionGroup"
data-group=
"{{ $permission['permission_group_name'] }}"
@
click=
"toggleAll('{{ $permission['permission_group_name'] }}')"
>
<h3
class=
"pt-3 text-lg font-medium text-slate-700 dark:text-navy-100"
>
{{ $permission['permission_group_name'] }}
</h3>
<div
class=
"my-4 h-px w-full bg-slate-200 dark:bg-navy-500"
></div>
<div
class=
"grow space-y-4 permission-list"
>
@endif
<div
class=
"flex items-center space-x-4"
>
<label
class=
"inline-flex items-center space-x-2"
@
click=
"toggleIndividual($event)"
>
<input
class=
"form-switch h-5 w-10 rounded-full bg-slate-300 before:rounded-full before:bg-slate-50 checked:!bg-primary checked:before:bg-white dark:bg-navy-900 dark:before:bg-navy-300 dark:checked:before:bg-white"
type=
"checkbox"
x-model=
"permissionListAlpine"
value=
"{{ $permission['id'] }}"
/>
<span>
{{ $permission['name'] }}
</span>
</label>
</div>
@php $currentGroup = $permission['permission_group_name']; @endphp
@endforeach
@if ($currentGroup !== '')
</div>
@endif
</div>
</div>
</div>
</div>
</div>
</form>
<div
class=
"grid grid-cols-6 justify-center space-x-2 pt-4"
>
<span
wire:click=
"goBack"
class=
"col-start-3 btn border border-slate-300 font-medium text-slate-800 hover:bg-slate-150 focus:bg-slate-150 active:bg-slate-150/80 dark:border-navy-450 dark:text-navy-50 dark:hover:bg-navy-500 dark:focus:bg-navy-500 dark:active:bg-navy-500/90"
>
Cancel
</span>
<button
type=
"button"
@
click=
"submit"
class=
"btn ml-3 bg-primary font-medium text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/90 dark:bg-accent dark:hover:bg-accent-focus dark:focus:bg-accent-focus dark:active:bg-accent/90"
>
Save
</button>
</div>
</div>
</div>
resources/views/livewire/pages/role/role-edit.blade.php
View file @
1097ea6b
...
@@ -2,13 +2,12 @@
...
@@ -2,13 +2,12 @@
$jsonPermissionLists
=
json_encode
(
$permission_lists
??
[]);
$jsonPermissionLists
=
json_encode
(
$permission_lists
??
[]);
@
endphp
@
endphp
<
div
class
=
"grid grid-cols-1 gap-4 sm:gap-5 lg:gap-6"
<
div
class
=
"grid grid-cols-1 gap-4 sm:gap-5 lg:gap-6"
x
-
data
=
"{
x
-
data
=
"{
permissionListAlpine: {!!
$jsonPermissionLists
!!},
permissionListAlpine: {!!
$jsonPermissionLists
!!},
submit() {
submit() {
@this.call('submitEditForm', this.permissionListAlpine);
@this.call('submitEditForm', this.permissionListAlpine);
}
}
}"
>
}"
>
<
form
wire
:
submit
.
prevent
=
""
>
<
form
wire
:
submit
.
prevent
=
""
>
@
csrf
@
csrf
...
@@ -47,32 +46,8 @@
...
@@ -47,32 +46,8 @@
</
div
>
</
div
>
<
div
class
=
"tabs flex flex-col"
>
<
div
class
=
"tabs flex flex-col"
>
<
div
x
-
data
=
"{ activeTab: 'Import' }"
class
=
"tabs flex flex-col"
>
<
div
x
-
data
=
"{ activeTab: 'Import' }"
class
=
"tabs flex flex-col"
>
<
div
class
=
"is-scrollbar-hidden overflow-x-auto bg-slate-200 text-slate-600 dark:bg-navy-800 dark:text-navy-200 p-2"
>
<
div
class
=
"tab-content pt-4 px-2 mt-2 pb-2"
>
<
div
class
=
"tabs-list flex"
>
<
button
@
click
=
"activeTab = 'Center'"
type
=
"button"
:
class
=
"activeTab === 'Center' ? 'bg-white shadow dark:bg-navy-500 dark:text-navy-100' :
'hover:text-slate-800 focus:text-slate-800 dark:hover:text-navy-100 dark:focus:text-navy-100'"
class
=
"btn shrink-0 space-x-2 px-3 py-1.5 font-medium"
>
Center
</
button
>
<
button
@
click
=
"activeTab = 'Import'"
type
=
"button"
:
class
=
"activeTab === 'Import' ?
'bg-white shadow dark:bg-navy-500 dark:text-navy-100' :
'hover:text-slate-800 focus:text-slate-800 dark:hover:text-navy-100 dark:focus:text-navy-100'"
class
=
"btn shrink-0 space-x-2 px-3 py-1.5 font-medium"
>
Import
</
button
>
<
button
@
click
=
"activeTab = 'Export'"
type
=
"button"
:
class
=
"activeTab === 'Export' ?
'bg-white shadow dark:bg-navy-500 dark:text-navy-100' :
'hover:text-slate-800 focus:text-slate-800 dark:hover:text-navy-100 dark:focus:text-navy-100'"
class
=
"btn shrink-0 space-x-2 px-3 py-1.5 font-medium"
>
Export
</
button
>
</
div
>
</
div
>
<
div
x
-
show
=
"activeTab === 'Center'"
class
=
"tab-content pt-4 bg-slate-200 px-2 mt-2 pb-2"
>
<
div
x
-
transition
:
enter
=
"transition-all duration-500 ease-in-out"
<
div
x
-
transition
:
enter
=
"transition-all duration-500 ease-in-out"
x
-
transition
:
enter
-
start
=
"opacity-0 [transform:translate3d(1rem,0,0)]"
x
-
transition
:
enter
-
start
=
"opacity-0 [transform:translate3d(1rem,0,0)]"
x
-
transition
:
enter
-
end
=
"opacity-100 [transform:translate3d(0,0,0)]"
>
x
-
transition
:
enter
-
end
=
"opacity-100 [transform:translate3d(0,0,0)]"
>
...
@@ -86,6 +61,12 @@
...
@@ -86,6 +61,12 @@
'Group Management'
,
'Group Management'
,
'Company Management'
,
'Company Management'
,
'Company Type Management'
,
'Company Type Management'
,
'Server License Management'
,
'Patch Management'
,
'Send Patch Management'
,
'Parameter Management'
,
'Patch Exchange Rate Management'
,
'Patch Discharge Port Management'
,
];
];
@
endphp
@
endphp
...
@@ -150,165 +131,17 @@
...
@@ -150,165 +131,17 @@
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
<
div
x
-
show
=
"activeTab === 'Import'"
class
=
"tab-content pt-4 bg-slate-200 px-2 mt-2 pb-2"
>
<
div
x
-
transition
:
enter
=
"transition-all duration-500 ease-in-out"
x
-
transition
:
enter
-
start
=
"opacity-0 [transform:translate3d(1rem,0,0)]"
x
-
transition
:
enter
-
end
=
"opacity-100 [transform:translate3d(0,0,0)]"
>
<
div
class
=
"grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-5 lg:grid-cols-3 lg:gap-6 xl:grid-cols-3"
>
@
php
$currentGroup
=
''
;
$tabGroup2
=
[
'File Management Import'
,
'Header Management Import'
,
'Detail Management Import'
,
'Item Management Import'
,
'Flight Management Import'
,
];
@
endphp
@
foreach
(
$permissions
as
$permission
)
@
if
(
!
in_array
(
$permission
[
'permission_group_name'
],
$tabGroup2
))
@
continue
@
endif
@
if
(
$permission
[
'permission_group_name'
]
!==
$currentGroup
)
@
if
(
$currentGroup
!==
''
)
</
div
>
</
div
>
@
endif
<
div
x
-
data
=
"{
allChecked: false,
permissionList: @entangle('permission_lists'),
toggleAll(group) {
this.allChecked = !this.allChecked;
document.querySelectorAll(`.permissionGroup[data-group='${group}'] input[type='checkbox']`).forEach(checkbox => {
checkbox.checked = this.allChecked;
if (this.allChecked) {
if (!this.permissionListAlpine.includes(checkbox.value)) {
this.permissionListAlpine.push(checkbox.value);
}
} else {
this.permissionListAlpine = this.permissionListAlpine.filter(id => id != checkbox.value);
}
});
},
toggleIndividual(event) {
event.stopPropagation();
this.allChecked = this.permissionListAlpine.length === @json(
$permissions->count
());
}
}"
class
=
"card grow items-center p-4 sm:p-5 cursor-pointer permissionGroup"
data
-
group
=
"{{
$permission['permission_group_name']
}}"
@
click
=
"toggleAll('{{
$permission['permission_group_name']
}}')"
>
<
h3
class
=
"pt-3 text-lg font-medium text-slate-700 dark:text-navy-100"
>
{{
$permission
[
'permission_group_name'
]
}}
</
h3
>
<
div
class
=
"my-4 h-px w-full bg-slate-200 dark:bg-navy-500"
></
div
>
<
div
class
=
"grow space-y-4 permission-list"
>
@
endif
<
div
class
=
"flex items-center space-x-4"
>
<
label
class
=
"inline-flex items-center space-x-2"
@
click
=
"toggleIndividual(
$event
)"
>
<
input
class
=
"form-switch h-5 w-10 rounded-full bg-slate-300 before:rounded-full before:bg-slate-50 checked:!bg-primary checked:before:bg-white dark:bg-navy-900 dark:before:bg-navy-300 dark:checked:before:bg-white"
type
=
"checkbox"
x
-
model
=
"permissionListAlpine"
value
=
"{{
$permission['id']
}}"
/>
<
span
>
{{
$permission
[
'name'
]
}}
</
span
>
</
label
>
</
div
>
@
php
$currentGroup
=
$permission
[
'permission_group_name'
];
@
endphp
@
endforeach
@
if
(
$currentGroup
!==
''
)
</
div
>
@
endif
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
<
div
x
-
show
=
"activeTab === 'Export'"
class
=
"tab-content pt-4 bg-slate-200 px-2 mt-2 pb-2"
>
</
form
>
<
div
x
-
transition
:
enter
=
"transition-all duration-500 ease-in-out"
<
div
class
=
"grid grid-cols-6 justify-center space-x-2 pt-4"
>
x
-
transition
:
enter
-
start
=
"opacity-0 [transform:translate3d(1rem,0,0)]"
<
span
wire
:
click
=
"goBack"
x
-
transition
:
enter
-
end
=
"opacity-100 [transform:translate3d(0,0,0)]"
>
class
=
"col-start-3 btn border border-slate-300 font-medium text-slate-800 hover:bg-slate-150 focus:bg-slate-150 active:bg-slate-150/80 dark:border-navy-450 dark:text-navy-50 dark:hover:bg-navy-500 dark:focus:bg-navy-500 dark:active:bg-navy-500/90"
>
<
div
class
=
"grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-5 lg:grid-cols-3 lg:gap-6 xl:grid-cols-3"
>
Cancel
@
php
</
span
>
$currentGroup
=
''
;
<
button
type
=
"button"
@
click
=
"submit"
$tabGroup3
=
[
class
=
"btn ml-3 bg-primary font-medium text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/90 dark:bg-accent dark:hover:bg-accent-focus dark:focus:bg-accent-focus dark:active:bg-accent/90"
>
'File Management Export'
,
Save
'Header Management Export'
,
</
button
>
'Detail Management Export'
,
</
div
>
'Item Management Export'
,
'Flight Management Export'
,
];
@
endphp
@
foreach
(
$permissions
as
$permission
)
@
if
(
!
in_array
(
$permission
[
'permission_group_name'
],
$tabGroup3
))
@
continue
@
endif
@
if
(
$permission
[
'permission_group_name'
]
!==
$currentGroup
)
@
if
(
$currentGroup
!==
''
)
</
div
>
</
div
>
@
endif
<
div
x
-
data
=
"{
allChecked: false,
permissionList: @entangle('permission_lists'),
toggleAll(group) {
this.allChecked = !this.allChecked;
document.querySelectorAll(`.permissionGroup[data-group='${group}'] input[type='checkbox']`).forEach(checkbox => {
checkbox.checked = this.allChecked;
if (this.allChecked) {
if (!this.permissionListAlpine.includes(checkbox.value)) {
this.permissionListAlpine.push(checkbox.value);
}
} else {
this.permissionListAlpine = this.permissionListAlpine.filter(id => id != checkbox.value);
}
});
},
toggleIndividual(event) {
event.stopPropagation();
this.allChecked = this.permissionListAlpine.length === @json(
$permissions->count
());
}
}"
class
=
"card grow items-center p-4 sm:p-5 cursor-pointer permissionGroup"
data
-
group
=
"{{
$permission['permission_group_name']
}}"
@
click
=
"toggleAll('{{
$permission['permission_group_name']
}}')"
>
<
h3
class
=
"pt-3 text-lg font-medium text-slate-700 dark:text-navy-100"
>
{{
$permission
[
'permission_group_name'
]
}}
</
h3
>
<
div
class
=
"my-4 h-px w-full bg-slate-200 dark:bg-navy-500"
></
div
>
<
div
class
=
"grow space-y-4 permission-list"
>
@
endif
<
div
class
=
"flex items-center space-x-4"
>
<
label
class
=
"inline-flex items-center space-x-2"
@
click
=
"toggleIndividual(
$event
)"
>
<
input
class
=
"form-switch h-5 w-10 rounded-full bg-slate-300 before:rounded-full before:bg-slate-50 checked:!bg-primary checked:before:bg-white dark:bg-navy-900 dark:before:bg-navy-300 dark:checked:before:bg-white"
type
=
"checkbox"
x
-
model
=
"permissionListAlpine"
value
=
"{{
$permission['id']
}}"
/>
<
span
>
{{
$permission
[
'name'
]
}}
</
span
>
</
label
>
</
div
>
@
php
$currentGroup
=
$permission
[
'permission_group_name'
];
@
endphp
@
endforeach
@
if
(
$currentGroup
!==
''
)
</
div
>
@
endif
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
form
>
<
div
class
=
"grid grid-cols-6 justify-center space-x-2 pt-4"
>
<
span
wire
:
click
=
"goBack"
class
=
"col-start-3 btn border border-slate-300 font-medium text-slate-800 hover:bg-slate-150 focus:bg-slate-150 active:bg-slate-150/80 dark:border-navy-450 dark:text-navy-50 dark:hover:bg-navy-500 dark:focus:bg-navy-500 dark:active:bg-navy-500/90"
>
Cancel
</
span
>
<
button
type
=
"button"
@
click
=
"submit"
class
=
"btn ml-3 bg-primary font-medium text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/90 dark:bg-accent dark:hover:bg-accent-focus dark:focus:bg-accent-focus dark:active:bg-accent/90"
>
Save
</
button
>
</
div
>
</
div
>
</
div
>
resources/views/livewire/pages/user/user-index.blade.php
View file @
1097ea6b
...
@@ -150,7 +150,7 @@
...
@@ -150,7 +150,7 @@
value=
"{{ $user->id }}"
/>
value=
"{{ $user->id }}"
/>
</label>
</label>
</td>
</td>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
{{ $user->name }}
</td>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
{{ $user->
user
name }}
</td>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
{{ $user->email }}
</td>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
{{ $user->email }}
</td>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
@php
@php
...
...
routes/web.php
View file @
1097ea6b
...
@@ -18,10 +18,14 @@ use App\Http\Controllers\ExchangeRateController;
...
@@ -18,10 +18,14 @@ use App\Http\Controllers\ExchangeRateController;
use
App\Http\Controllers\ConsigneeController
;
use
App\Http\Controllers\ConsigneeController
;
use
App\Http\Controllers\DeletePatchController
;
use
App\Http\Controllers\DeletePatchController
;
use
App\Http\Controllers\DischargePortController
;
use
App\Http\Controllers\DischargePortController
;
use
App\Http\Controllers\FormatFileMasterContrller
;
use
App\Http\Controllers\MasterFileController
;
use
App\Http\Controllers\ParameterController
;
use
App\Http\Controllers\ParameterController
;
use
App\Http\Controllers\PatchController
;
use
App\Http\Controllers\PatchController
;
use
App\Http\Controllers\SelectListController
;
use
App\Http\Controllers\SendPatchController
;
use
App\Http\Controllers\SendPatchController
;
use
App\Http\Controllers\ServerLicenseController
;
use
App\Http\Controllers\ServerLicenseController
;
use
App\Http\Controllers\TransferDataController
;
use
App\Http\Livewire\Pages\Role\RoleIndex
;
use
App\Http\Livewire\Pages\Role\RoleIndex
;
use
App\Http\Livewire\Pages\SendPatch\SendPatch
;
use
App\Http\Livewire\Pages\SendPatch\SendPatch
;
/*
/*
...
@@ -37,7 +41,7 @@ use App\Http\Livewire\Pages\SendPatch\SendPatch;
...
@@ -37,7 +41,7 @@ use App\Http\Livewire\Pages\SendPatch\SendPatch;
// $test = ConfServerLicense::limit(3)->get();
// $test = ConfServerLicense::limit(3)->get();
// dd($test);
// dd($test);
Route
::
get
(
'/transfer-user'
,
[
TransferDataController
::
class
,
'transferUserData'
]);
Route
::
middleware
(
'guest'
)
->
group
(
function
()
{
Route
::
middleware
(
'guest'
)
->
group
(
function
()
{
Route
::
get
(
'/login'
,
[
\
App\Http\Controllers\AuthController
::
class
,
'loginView'
])
->
name
(
'loginView'
);
Route
::
get
(
'/login'
,
[
\
App\Http\Controllers\AuthController
::
class
,
'loginView'
])
->
name
(
'loginView'
);
Route
::
post
(
'/login'
,
[
\
App\Http\Controllers\AuthController
::
class
,
'login'
])
->
name
(
'login'
);
Route
::
post
(
'/login'
,
[
\
App\Http\Controllers\AuthController
::
class
,
'login'
])
->
name
(
'login'
);
...
@@ -52,40 +56,30 @@ Route::middleware('auth')->group(function () {
...
@@ -52,40 +56,30 @@ Route::middleware('auth')->group(function () {
Route
::
get
(
'/get-serverlicense'
,
[
ServerLicenseController
::
class
,
'getAllServerKey'
]);
Route
::
get
(
'/get-serverlicense'
,
[
ServerLicenseController
::
class
,
'getAllServerKey'
]);
Route
::
get
(
'/patch'
,
[
PatchController
::
class
,
'index'
])
->
name
(
'patch.index'
);
Route
::
get
(
'/patch'
,
[
PatchController
::
class
,
'index'
])
->
name
(
'patch.index'
);
Route
::
get
(
'/master-file'
,
[
MasterFileController
::
class
,
'index'
])
->
name
(
'master-file.index'
);
Route
::
get
(
'/format-file-master'
,
[
FormatFileMasterContrller
::
class
,
'index'
])
->
name
(
'format-file-master.index'
);
Route
::
get
(
'/send-patch'
,
[
SendPatchController
::
class
,
'index'
]);
Route
::
get
(
'/send-patch'
,
[
SendPatchController
::
class
,
'index'
]);
Route
::
get
(
'/send-multi-patch'
,
[
SendPatchController
::
class
,
'indexMulti'
]);
Route
::
get
(
'/send-multi-patch'
,
[
SendPatchController
::
class
,
'indexMulti'
]);
Route
::
get
(
'/delete-multi-patch'
,
[
DeletePatchController
::
class
,
'indexMulti'
]);
Route
::
get
(
'/delete-multi-patch'
,
[
DeletePatchController
::
class
,
'indexMulti'
]);
Route
::
get
(
'/server-license'
,
[
ServerLicenseController
::
class
,
'index'
])
->
name
(
'server-license.index'
);
Route
::
get
(
'/server-license'
,
[
ServerLicenseController
::
class
,
'index'
])
->
name
(
'server-license.index'
);
Route
::
get
(
'/user'
,
[
UserController
::
class
,
'index'
])
->
name
(
'user.index'
);
Route
::
get
(
'/user'
,
[
UserController
::
class
,
'index'
])
->
name
(
'user.index'
);
Route
::
get
(
'/company'
,
[
CompanyController
::
class
,
'index'
])
->
name
(
'company.index'
);
Route
::
get
(
'/company'
,
[
CompanyController
::
class
,
'index'
])
->
name
(
'company.index'
);
Route
::
get
(
'/group'
,
[
GroupController
::
class
,
'index'
])
->
name
(
'group.index'
);
Route
::
get
(
'/group'
,
[
GroupController
::
class
,
'index'
])
->
name
(
'group.index'
);
Route
::
get
(
'/role'
,
[
RoleController
::
class
,
'index'
])
->
name
(
'role.index'
);
Route
::
get
(
'/role'
,
[
RoleController
::
class
,
'index'
])
->
name
(
'role.index'
);
Route
::
get
(
'/exchange-rate'
,
[
ExchangeRateController
::
class
,
'index'
]);
Route
::
get
(
'/exchange-rate'
,
[
ExchangeRateController
::
class
,
'index'
]);
Route
::
get
(
'/parameter'
,
[
ParameterController
::
class
,
'index'
]);
Route
::
get
(
'/parameter'
,
[
ParameterController
::
class
,
'index'
]);
Route
::
get
(
'/discharge-port'
,
[
DischargePortController
::
class
,
'index'
]);
Route
::
get
(
'/discharge-port'
,
[
DischargePortController
::
class
,
'index'
]);
Route
::
get
(
'/get-users'
,
[
SelectListController
::
class
,
'getUsers'
]);
Route
::
get
(
'/get-roles'
,
[
SelectListController
::
class
,
'getRoles'
]);
Route
::
get
(
'/get-groups'
,
[
SelectListController
::
class
,
'getGroups'
]);
// Route::get('role', [RoleController::class ,'index'])->name('role-index');
// Route::get('role', [RoleController::class ,'index'])->name('role-index');
// Route::get('/role', [RoleIndex::class])->name('role-index');
// Route::get('/role', [RoleIndex::class])->name('role-index');
// Route::get('/generateModels', [GenModelController::class, 'generateModels']);
// Route::get('/generateModels', [GenModelController::class, 'generateModels']);
});
});
sonar-project.properties
0 → 100644
View file @
1097ea6b
sonar.projectKey
=
SpnPatch
sonar.projectName
=
SpnPatch
sonar.projectVersion
=
1.0
sonar.sources
=
.
sonar.host.url
=
http://localhost:9000
sonar.login
=
sqp_917ecaf164588e499aca30eaac9dd1e9f4f3765a
sonar.exclusions
=
vendor/**,storage/**,bootstrap/cache/**,public/**
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment