mirror of
https://github.com/snipe/snipe-it.git
synced 2025-01-13 06:47:46 -08:00
Merge branch 'refs/heads/develop' into License-export-button
This commit is contained in:
commit
420225c2d5
|
@ -18,7 +18,13 @@ class FieldOption {
|
||||||
// assignedTo directly on the asset is a special case where
|
// assignedTo directly on the asset is a special case where
|
||||||
// we want to avoid returning the property directly
|
// we want to avoid returning the property directly
|
||||||
// and instead return the entity's presented name.
|
// and instead return the entity's presented name.
|
||||||
if ($dataPath[0] === 'assignedTo'){
|
if ($dataPath[0] === 'assignedTo') {
|
||||||
|
if ($asset->relationLoaded('assignedTo')) {
|
||||||
|
// If the "assignedTo" relationship was eager loaded then the way to get the
|
||||||
|
// relationship changes from $asset->assignedTo to $asset->assigned.
|
||||||
|
return $asset->assigned ? $asset->assigned->present()->fullName() : null;
|
||||||
|
}
|
||||||
|
|
||||||
return $asset->assignedTo ? $asset->assignedTo->present()->fullName() : null;
|
return $asset->assignedTo ? $asset->assignedTo->present()->fullName() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -279,7 +279,24 @@ class ValidationServiceProvider extends ServiceProvider
|
||||||
|
|
||||||
Validator::extend('is_unique_department', function ($attribute, $value, $parameters, $validator) {
|
Validator::extend('is_unique_department', function ($attribute, $value, $parameters, $validator) {
|
||||||
$data = $validator->getData();
|
$data = $validator->getData();
|
||||||
if ((array_key_exists('location_id', $data) && $data['location_id'] != null) && (array_key_exists('company_id', $data) && $data['company_id'] != null)) {
|
|
||||||
|
if (
|
||||||
|
array_key_exists('location_id', $data) && $data['location_id'] !== null &&
|
||||||
|
array_key_exists('company_id', $data) && $data['company_id'] !== null
|
||||||
|
) {
|
||||||
|
//for updating existing departments
|
||||||
|
if(array_key_exists('id', $data) && $data['id'] !== null){
|
||||||
|
$count = Department::where('name', $data['name'])
|
||||||
|
->where('location_id', $data['location_id'])
|
||||||
|
->where('company_id', $data['company_id'])
|
||||||
|
->whereNotNull('company_id')
|
||||||
|
->whereNotNull('location_id')
|
||||||
|
->where('id', '!=', $data['id'])
|
||||||
|
->count('name');
|
||||||
|
|
||||||
|
return $count < 1;
|
||||||
|
}else // for entering in new departments
|
||||||
|
{
|
||||||
$count = Department::where('name', $data['name'])
|
$count = Department::where('name', $data['name'])
|
||||||
->where('location_id', $data['location_id'])
|
->where('location_id', $data['location_id'])
|
||||||
->where('company_id', $data['company_id'])
|
->where('company_id', $data['company_id'])
|
||||||
|
@ -289,6 +306,7 @@ class ValidationServiceProvider extends ServiceProvider
|
||||||
|
|
||||||
return $count < 1;
|
return $count < 1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,7 +142,32 @@ class Label implements View
|
||||||
// Remove Duplicates
|
// Remove Duplicates
|
||||||
$toAdd = $field
|
$toAdd = $field
|
||||||
->filter(fn($o) => !$myFields->contains('dataSource', $o['dataSource']))
|
->filter(fn($o) => !$myFields->contains('dataSource', $o['dataSource']))
|
||||||
->first();
|
// For fields that have multiple options, we need to combine them
|
||||||
|
// into a single field so all values are displayed.
|
||||||
|
->reduce(function ($previous, $current) {
|
||||||
|
// On the first iteration we simply return the item.
|
||||||
|
// If there is only one item to be processed for the row
|
||||||
|
// then this effectively skips everything below this if block.
|
||||||
|
if (is_null($previous)) {
|
||||||
|
return $current;
|
||||||
|
}
|
||||||
|
|
||||||
|
// At this point we are dealing with a row with multiple items being displayed.
|
||||||
|
// We need to combine the label and value of the current item with the previous item.
|
||||||
|
|
||||||
|
// The end result of this will be in this format:
|
||||||
|
// {labelOne} {valueOne} | {labelTwo} {valueTwo} | {labelThree} {valueThree}
|
||||||
|
$previous['value'] = trim(implode(' | ', [
|
||||||
|
implode(' ', [$previous['label'], $previous['value']]),
|
||||||
|
implode(' ', [$current['label'], $current['value']]),
|
||||||
|
]));
|
||||||
|
|
||||||
|
// We'll set the label to an empty string since we
|
||||||
|
// injected the label into the value field above.
|
||||||
|
$previous['label'] = '';
|
||||||
|
|
||||||
|
return $previous;
|
||||||
|
});
|
||||||
|
|
||||||
return $toAdd ? $myFields->push($toAdd) : $myFields;
|
return $toAdd ? $myFields->push($toAdd) : $myFields;
|
||||||
}, new Collection());
|
}, new Collection());
|
||||||
|
|
5
package-lock.json
generated
5
package-lock.json
generated
|
@ -19162,6 +19162,11 @@
|
||||||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"signature_pad": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-YLWysmaUBaC5wosAKkgbX7XI+LBv2w5L0QUcI6Jc4moHYzv9BUBJtAyNLpWzHjtjKTeWOH6bfP4a4pzf0UinfQ=="
|
||||||
|
},
|
||||||
"simple-concat": {
|
"simple-concat": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
"papaparse": "^4.3.3",
|
"papaparse": "^4.3.3",
|
||||||
"select2": "4.0.13",
|
"select2": "4.0.13",
|
||||||
"sheetjs": "^2.0.0",
|
"sheetjs": "^2.0.0",
|
||||||
|
"signature_pad": "^4.2.0",
|
||||||
"tableexport.jquery.plugin": "1.28.0",
|
"tableexport.jquery.plugin": "1.28.0",
|
||||||
"tether": "^1.4.0",
|
"tether": "^1.4.0",
|
||||||
"vue-resource": "^1.5.2",
|
"vue-resource": "^1.5.2",
|
||||||
|
|
BIN
public/css/dist/skins/skin-black-dark.css
vendored
BIN
public/css/dist/skins/skin-black-dark.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-black-dark.min.css
vendored
BIN
public/css/dist/skins/skin-black-dark.min.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-blue-dark.css
vendored
BIN
public/css/dist/skins/skin-blue-dark.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-blue-dark.min.css
vendored
BIN
public/css/dist/skins/skin-blue-dark.min.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-green-dark.css
vendored
BIN
public/css/dist/skins/skin-green-dark.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-green-dark.min.css
vendored
BIN
public/css/dist/skins/skin-green-dark.min.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-orange-dark.css
vendored
BIN
public/css/dist/skins/skin-orange-dark.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-orange-dark.min.css
vendored
BIN
public/css/dist/skins/skin-orange-dark.min.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-purple-dark.css
vendored
BIN
public/css/dist/skins/skin-purple-dark.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-purple-dark.min.css
vendored
BIN
public/css/dist/skins/skin-purple-dark.min.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-red-dark.css
vendored
BIN
public/css/dist/skins/skin-red-dark.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-red-dark.min.css
vendored
BIN
public/css/dist/skins/skin-red-dark.min.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-yellow-dark.css
vendored
BIN
public/css/dist/skins/skin-yellow-dark.css
vendored
Binary file not shown.
BIN
public/css/dist/skins/skin-yellow-dark.min.css
vendored
BIN
public/css/dist/skins/skin-yellow-dark.min.css
vendored
Binary file not shown.
|
@ -5,16 +5,16 @@
|
||||||
"/css/build/app.css": "/css/build/app.css?id=8e63a06059e22f0cd450bcde31055f81",
|
"/css/build/app.css": "/css/build/app.css?id=8e63a06059e22f0cd450bcde31055f81",
|
||||||
"/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=dc383f8560a8d4adb51d44fb4043e03b",
|
"/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=dc383f8560a8d4adb51d44fb4043e03b",
|
||||||
"/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=6f0563e726c2fe4fab4026daaa5bfdf2",
|
"/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=6f0563e726c2fe4fab4026daaa5bfdf2",
|
||||||
"/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=e6e53eef152bba01a4c666a4d8b01117",
|
"/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=6b6facc1efe19a7de3f1f93bb47bbf14",
|
||||||
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=07273f6ca3c698a39e8fc2075af4fa07",
|
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=8c17b6762a4155288938f17e61ffa864",
|
||||||
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=c1f33574ecb9d3e69d9b8fe5bd68e101",
|
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=9482fa0de7e64aa149179bbc514395ed",
|
||||||
"/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=7b315b9612b8fde8f9c5b0ddb6bba690",
|
"/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=7b315b9612b8fde8f9c5b0ddb6bba690",
|
||||||
"/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=7d92dea45d94be7e1d4e427c728d335d",
|
"/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=6b2cf3ef635113ac62239fdf9d4566e9",
|
||||||
"/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=6fe68325d5356197672c27bc77cedcb4",
|
"/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=6fe68325d5356197672c27bc77cedcb4",
|
||||||
"/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=8ca888bbc050d9680cbb65021382acba",
|
"/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=fc36e0e4e556223e2518749d8d8fae74",
|
||||||
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=b061bb141af3bdb6280c6ee772cf8f4f",
|
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=afa8d43e9671ae3f98a647c4bb792417",
|
||||||
"/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=76482123f6c70e866d6b971ba91de7bb",
|
"/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=76482123f6c70e866d6b971ba91de7bb",
|
||||||
"/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=d419cb63a12dc175d71645c876bfc2ab",
|
"/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=a06da73050e9225c34f9bb6562792ba0",
|
||||||
"/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=0a82a6ae6bb4e58fe62d162c4fb50397",
|
"/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=0a82a6ae6bb4e58fe62d162c4fb50397",
|
||||||
"/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=da6c7997d9de2f8329142399f0ce50da",
|
"/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=da6c7997d9de2f8329142399f0ce50da",
|
||||||
"/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=44bf834f2110504a793dadec132a5898",
|
"/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=44bf834f2110504a793dadec132a5898",
|
||||||
|
@ -35,18 +35,18 @@
|
||||||
"/js/dist/all.js": "/js/dist/all.js?id=13bdb521e0c745d7f81dae3fb110b650",
|
"/js/dist/all.js": "/js/dist/all.js?id=13bdb521e0c745d7f81dae3fb110b650",
|
||||||
"/js/dist/all-defer.js": "/js/dist/all-defer.js?id=19ccc62a8f1ea103dede4808837384d4",
|
"/js/dist/all-defer.js": "/js/dist/all-defer.js?id=19ccc62a8f1ea103dede4808837384d4",
|
||||||
"/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=0a82a6ae6bb4e58fe62d162c4fb50397",
|
"/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=0a82a6ae6bb4e58fe62d162c4fb50397",
|
||||||
"/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=d419cb63a12dc175d71645c876bfc2ab",
|
"/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=a06da73050e9225c34f9bb6562792ba0",
|
||||||
"/css/dist/skins/skin-black.min.css": "/css/dist/skins/skin-black.min.css?id=76482123f6c70e866d6b971ba91de7bb",
|
"/css/dist/skins/skin-black.min.css": "/css/dist/skins/skin-black.min.css?id=76482123f6c70e866d6b971ba91de7bb",
|
||||||
"/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=b061bb141af3bdb6280c6ee772cf8f4f",
|
"/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=afa8d43e9671ae3f98a647c4bb792417",
|
||||||
"/css/dist/skins/skin-blue.min.css": "/css/dist/skins/skin-blue.min.css?id=f677207c6cf9678eb539abecb408c374",
|
"/css/dist/skins/skin-blue.min.css": "/css/dist/skins/skin-blue.min.css?id=f677207c6cf9678eb539abecb408c374",
|
||||||
"/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=07273f6ca3c698a39e8fc2075af4fa07",
|
"/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=8c17b6762a4155288938f17e61ffa864",
|
||||||
"/css/dist/skins/skin-yellow.min.css": "/css/dist/skins/skin-yellow.min.css?id=7b315b9612b8fde8f9c5b0ddb6bba690",
|
"/css/dist/skins/skin-yellow.min.css": "/css/dist/skins/skin-yellow.min.css?id=7b315b9612b8fde8f9c5b0ddb6bba690",
|
||||||
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=c1f33574ecb9d3e69d9b8fe5bd68e101",
|
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=9482fa0de7e64aa149179bbc514395ed",
|
||||||
"/css/dist/skins/skin-red.min.css": "/css/dist/skins/skin-red.min.css?id=44bf834f2110504a793dadec132a5898",
|
"/css/dist/skins/skin-red.min.css": "/css/dist/skins/skin-red.min.css?id=44bf834f2110504a793dadec132a5898",
|
||||||
"/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=8ca888bbc050d9680cbb65021382acba",
|
"/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=fc36e0e4e556223e2518749d8d8fae74",
|
||||||
"/css/dist/skins/skin-purple.min.css": "/css/dist/skins/skin-purple.min.css?id=6fe68325d5356197672c27bc77cedcb4",
|
"/css/dist/skins/skin-purple.min.css": "/css/dist/skins/skin-purple.min.css?id=6fe68325d5356197672c27bc77cedcb4",
|
||||||
"/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=7d92dea45d94be7e1d4e427c728d335d",
|
"/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=6b2cf3ef635113ac62239fdf9d4566e9",
|
||||||
"/css/dist/skins/skin-orange.min.css": "/css/dist/skins/skin-orange.min.css?id=6f0563e726c2fe4fab4026daaa5bfdf2",
|
"/css/dist/skins/skin-orange.min.css": "/css/dist/skins/skin-orange.min.css?id=6f0563e726c2fe4fab4026daaa5bfdf2",
|
||||||
"/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=e6e53eef152bba01a4c666a4d8b01117",
|
"/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=6b6facc1efe19a7de3f1f93bb47bbf14",
|
||||||
"/css/dist/skins/skin-contrast.min.css": "/css/dist/skins/skin-contrast.min.css?id=da6c7997d9de2f8329142399f0ce50da"
|
"/css/dist/skins/skin-contrast.min.css": "/css/dist/skins/skin-contrast.min.css?id=da6c7997d9de2f8329142399f0ce50da"
|
||||||
}
|
}
|
||||||
|
|
|
@ -375,7 +375,10 @@ input[type=text], input[type=search] {
|
||||||
color: var(--text-main);
|
color: var(--text-main);
|
||||||
}
|
}
|
||||||
.skin-black-dark .main-header .navbar .dropdown-menu li a {
|
.skin-black-dark .main-header .navbar .dropdown-menu li a {
|
||||||
color: var(--header);
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.skin-black-dark .main-header .navbar .dropdown-menu li a:hover {
|
||||||
|
background-color: #000000;
|
||||||
}
|
}
|
||||||
.fixed-table-body thead th .th-inner, .skin-black-dark .sidebar-menu>li.active>a, .skin-black .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
.fixed-table-body thead th .th-inner, .skin-black-dark .sidebar-menu>li.active>a, .skin-black .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
||||||
background-color: var(--header)!important;
|
background-color: var(--header)!important;
|
||||||
|
|
|
@ -361,7 +361,10 @@ input[type=text], input[type=search] {
|
||||||
color: var(--text-main);
|
color: var(--text-main);
|
||||||
}
|
}
|
||||||
.skin-blue-dark .main-header .navbar .dropdown-menu li a {
|
.skin-blue-dark .main-header .navbar .dropdown-menu li a {
|
||||||
color: var(--header);
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.skin-blue-dark .main-header .navbar .dropdown-menu li a:hover {
|
||||||
|
background-color: #3c8dbc;
|
||||||
}
|
}
|
||||||
.fixed-table-body thead th .th-inner, .skin-blue-dark .sidebar-menu>li.active>a, .skin-blue .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
.fixed-table-body thead th .th-inner, .skin-blue-dark .sidebar-menu>li.active>a, .skin-blue .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
||||||
background-color: var(--header)!important;
|
background-color: var(--header)!important;
|
||||||
|
|
|
@ -348,7 +348,10 @@ input[type=text], input[type=search] {
|
||||||
color: var(--text-main);
|
color: var(--text-main);
|
||||||
}
|
}
|
||||||
.skin-green-dark .main-header .navbar .dropdown-menu li a {
|
.skin-green-dark .main-header .navbar .dropdown-menu li a {
|
||||||
color: var(--link);
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.skin-green-dark .main-header .navbar .dropdown-menu li a:hover {
|
||||||
|
background-color: #006300;
|
||||||
}
|
}
|
||||||
.fixed-table-body thead th .th-inner, .skin-green-dark .sidebar-menu>li.active>a, .skin-green .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
.fixed-table-body thead th .th-inner, .skin-green-dark .sidebar-menu>li.active>a, .skin-green .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
||||||
background-color: var(--header)!important;
|
background-color: var(--header)!important;
|
||||||
|
|
|
@ -359,7 +359,10 @@ input[type=text], input[type=search] {
|
||||||
color: var(--text-main);
|
color: var(--text-main);
|
||||||
}
|
}
|
||||||
.skin-orange-dark .main-header .navbar .dropdown-menu li a {
|
.skin-orange-dark .main-header .navbar .dropdown-menu li a {
|
||||||
color: var(--header);
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.skin-orange-dark .main-header .navbar .dropdown-menu li a:hover {
|
||||||
|
background-color: #ff8c00;
|
||||||
}
|
}
|
||||||
.fixed-table-body thead th .th-inner, .skin-orange-dark .sidebar-menu>li.active>a, .skin-orange .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
.fixed-table-body thead th .th-inner, .skin-orange-dark .sidebar-menu>li.active>a, .skin-orange .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
||||||
background-color: var(--header)!important;
|
background-color: var(--header)!important;
|
||||||
|
|
|
@ -362,7 +362,10 @@ input[type=text], input[type=search] {
|
||||||
color: var(--text-main);
|
color: var(--text-main);
|
||||||
}
|
}
|
||||||
.skin-purple-dark .main-header .navbar .dropdown-menu li a {
|
.skin-purple-dark .main-header .navbar .dropdown-menu li a {
|
||||||
color: var(--header);
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.skin-purple-dark .main-header .navbar .dropdown-menu li a:hover {
|
||||||
|
background-color: #5f5ca8;
|
||||||
}
|
}
|
||||||
.fixed-table-body thead th .th-inner, .skin-purple-dark .sidebar-menu>li.active>a, .skin-purple .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
.fixed-table-body thead th .th-inner, .skin-purple-dark .sidebar-menu>li.active>a, .skin-purple .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
||||||
background-color: var(--header)!important;
|
background-color: var(--header)!important;
|
||||||
|
|
|
@ -363,7 +363,10 @@ input[type=text], input[type=search] {
|
||||||
color: var(--text-main);
|
color: var(--text-main);
|
||||||
}
|
}
|
||||||
.skin-red-dark .main-header .navbar .dropdown-menu li a {
|
.skin-red-dark .main-header .navbar .dropdown-menu li a {
|
||||||
color: var(--header);
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.skin-red-dark .main-header .navbar .dropdown-menu li a:hover {
|
||||||
|
background-color: #c23320;
|
||||||
}
|
}
|
||||||
.fixed-table-body thead th .th-inner, .skin-red-dark .sidebar-menu>li.active>a, .skin-red .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
.fixed-table-body thead th .th-inner, .skin-red-dark .sidebar-menu>li.active>a, .skin-red .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
||||||
background-color: var(--header)!important;
|
background-color: var(--header)!important;
|
||||||
|
|
|
@ -355,8 +355,11 @@ input[type=text], input[type=search] {
|
||||||
.skin-yellow-dark .main-header .navbar .dropdown-menu li a {
|
.skin-yellow-dark .main-header .navbar .dropdown-menu li a {
|
||||||
color: var(--header);
|
color: var(--header);
|
||||||
}
|
}
|
||||||
|
.skin-yellow-dark .main-header .navbar .dropdown-menu li a:hover {
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
tr th div.th-inner {
|
tr th div.th-inner {
|
||||||
color:var(--text-main);
|
color: #FFFFFF;
|
||||||
}
|
}
|
||||||
.tab-content, .tab-pane {
|
.tab-content, .tab-pane {
|
||||||
background-color: var(--back-main);
|
background-color: var(--back-main);
|
||||||
|
|
|
@ -70,7 +70,7 @@
|
||||||
<h3 style="padding-top: 20px">{{trans('general.sign_tos')}}</h3>
|
<h3 style="padding-top: 20px">{{trans('general.sign_tos')}}</h3>
|
||||||
<div id="signature-pad" class="m-signature-pad">
|
<div id="signature-pad" class="m-signature-pad">
|
||||||
<div class="m-signature-pad--body col-md-12 col-sm-12 col-lg-12 col-xs-12">
|
<div class="m-signature-pad--body col-md-12 col-sm-12 col-lg-12 col-xs-12">
|
||||||
<canvas></canvas>
|
<canvas style="width:100%;"></canvas>
|
||||||
<input type="hidden" name="signature_output" id="signature_output">
|
<input type="hidden" name="signature_output" id="signature_output">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12 col-sm-12 col-lg-12 col-xs-12 text-center">
|
<div class="col-md-12 col-sm-12 col-lg-12 col-xs-12 text-center">
|
||||||
|
@ -94,6 +94,7 @@
|
||||||
@section('moar_scripts')
|
@section('moar_scripts')
|
||||||
|
|
||||||
<script nonce="{{ csrf_token() }}">
|
<script nonce="{{ csrf_token() }}">
|
||||||
|
|
||||||
var wrapper = document.getElementById("signature-pad"),
|
var wrapper = document.getElementById("signature-pad"),
|
||||||
clearButton = wrapper.querySelector("[data-action=clear]"),
|
clearButton = wrapper.querySelector("[data-action=clear]"),
|
||||||
saveButton = wrapper.querySelector("[data-action=save]"),
|
saveButton = wrapper.querySelector("[data-action=save]"),
|
||||||
|
@ -103,6 +104,7 @@
|
||||||
// Adjust canvas coordinate space taking into account pixel ratio,
|
// Adjust canvas coordinate space taking into account pixel ratio,
|
||||||
// to make it look crisp on mobile devices.
|
// to make it look crisp on mobile devices.
|
||||||
// This also causes canvas to be cleared.
|
// This also causes canvas to be cleared.
|
||||||
|
if (window.matchMedia("(min-width: 768px)").matches) {
|
||||||
function resizeCanvas() {
|
function resizeCanvas() {
|
||||||
// When zoomed out to less than 100%, for some very strange reason,
|
// When zoomed out to less than 100%, for some very strange reason,
|
||||||
// some browsers report devicePixelRatio as less than 1
|
// some browsers report devicePixelRatio as less than 1
|
||||||
|
@ -112,9 +114,9 @@
|
||||||
canvas.height = canvas.offsetHeight * ratio;
|
canvas.height = canvas.offsetHeight * ratio;
|
||||||
canvas.getContext("2d").scale(ratio, ratio);
|
canvas.getContext("2d").scale(ratio, ratio);
|
||||||
}
|
}
|
||||||
|
|
||||||
window.onresize = resizeCanvas;
|
window.onresize = resizeCanvas;
|
||||||
resizeCanvas();
|
resizeCanvas();
|
||||||
|
}
|
||||||
|
|
||||||
signaturePad = new SignaturePad(canvas);
|
signaturePad = new SignaturePad(canvas);
|
||||||
|
|
||||||
|
|
|
@ -374,7 +374,7 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@endcan
|
@endcan
|
||||||
<li class="divider"></li>
|
<li class="divider" style="margin-top: -1px; margin-bottom: -1px"></li>
|
||||||
<li>
|
<li>
|
||||||
|
|
||||||
<a href="{{ route('logout.get') }}"
|
<a href="{{ route('logout.get') }}"
|
||||||
|
|
26
tests/Unit/Models/Labels/FieldOptionTest.php
Normal file
26
tests/Unit/Models/Labels/FieldOptionTest.php
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\Unit\Models\Labels;
|
||||||
|
|
||||||
|
use App\Models\Asset;
|
||||||
|
use App\Models\Labels\FieldOption;
|
||||||
|
use App\Models\User;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
class FieldOptionTest extends TestCase
|
||||||
|
{
|
||||||
|
public function testItDisplaysAssignedToProperly()
|
||||||
|
{
|
||||||
|
// "assignedTo" is a "special" value that can be used in the new label engine
|
||||||
|
$fieldOption = FieldOption::fromString('Assigned To=assignedTo');
|
||||||
|
|
||||||
|
$asset = Asset::factory()
|
||||||
|
->assignedToUser(User::factory()->create(['first_name' => 'Luke', 'last_name' => 'Skywalker']))
|
||||||
|
->create();
|
||||||
|
|
||||||
|
$this->assertEquals('Luke Skywalker', $fieldOption->getValue($asset));
|
||||||
|
// If the "assignedTo" relationship was eager loaded then the way to get the
|
||||||
|
// relationship changes from $asset->assignedTo to $asset->assigned.
|
||||||
|
$this->assertEquals('Luke Skywalker', $fieldOption->getValue(Asset::with('assignedTo')->find($asset->id)));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue