Compare commits
154 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ea1ff1e8bb | |||
| a7b155108d | |||
| 44c0c1bf0e | |||
| 7cd35a80b6 | |||
| e8973f08b5 | |||
| dd9c9520fb | |||
| aec033d8d2 | |||
| 5496b62b33 | |||
| e393e2eb4b | |||
| 10781a6e4b | |||
| 5a86004081 | |||
| 91ade1f33e | |||
| eaecf8137a | |||
| 92bb8fac32 | |||
| d4a7811078 | |||
| cb8dbcc172 | |||
| 495e68d23c | |||
| 20a0c4e3b5 | |||
| 4d773829f8 | |||
| bcb9804be8 | |||
| 5e59fa2598 | |||
| 6ea722d41e | |||
| 66346684a9 | |||
| 9731a31cb6 | |||
| ef3e016667 | |||
| 93e4d23143 | |||
| 0153a37cd7 | |||
| cce5846018 | |||
| a070f7cd5e | |||
| 4c11041477 | |||
| 166f526302 | |||
| f8718ffc1e | |||
| 31e4d3b725 | |||
| a766572a2f | |||
| 6a8824a467 | |||
| 0c3972d7b7 | |||
| 4a0eb2b3f1 | |||
| b3559ac74e | |||
| 4252bd2348 | |||
| 728338bfa8 | |||
| df8834fd88 | |||
| c8bc0eff11 | |||
| 8b6e869215 | |||
| 063893c109 | |||
| 44f4f20187 | |||
| 792b18f845 | |||
| 0671e478cd | |||
| d2fc27e21d | |||
| 740f27198f | |||
| 064f4b3fc6 | |||
| 5458676ead | |||
| 8337628323 | |||
| 7faaa4ce24 | |||
| 9583a72016 | |||
| e0102ddbf0 | |||
| 1030ad9a27 | |||
| ab8dcdcc40 | |||
| 773997a492 | |||
| 8333c80b7a | |||
| 96644ab6b9 | |||
| f977c53ecb | |||
| 8c1843b351 | |||
| c9e86ac194 | |||
| f7449921e9 | |||
| 5f79534f4a | |||
| 3bcd5d94d6 | |||
| 01348187c8 | |||
| b26a4ad333 | |||
| 89f45d3d05 | |||
| e83a062eda | |||
| 1ea667e709 | |||
| 5326ebd136 | |||
| 4db9892f8c | |||
| 880828379e | |||
| 9b54077409 | |||
| 9f478b51e2 | |||
| 7c77e03c5a | |||
| 9d3aed42b7 | |||
| 3dedd51b84 | |||
| 711c713ab8 | |||
| 5bc5e9f108 | |||
| 9770692d07 | |||
| 133da6569b | |||
| 985e683896 | |||
| c3698053ea | |||
| dba06a3a9e | |||
| 07b1062fb2 | |||
| be0933a708 | |||
| d31f185cce | |||
| 5901182885 | |||
| f033aeda83 | |||
| 53f9e2bc7a | |||
| 514db05770 | |||
| 7ca617f077 | |||
| 8f5ac5fb55 | |||
| 54f828743e | |||
| f519fb747f | |||
| 36f714e414 | |||
| 773c773773 | |||
| 3071a83ae0 | |||
| 1c4864a3cc | |||
| 50c92d4730 | |||
| f8a0bf6a4b | |||
| 910fc08406 | |||
| eebc56d54b | |||
| b5ddc2c85b | |||
| 4e03ebe284 | |||
| 7577fc61e4 | |||
| d302675056 | |||
| 5316f41eba | |||
| fa6c463d46 | |||
| 23a441e7c8 | |||
| ac993184ee | |||
| 1dbc1f4aa2 | |||
| 089704c4f9 | |||
| bb933e5214 | |||
| eb34cf7917 | |||
| 4909cf2a9e | |||
| 37f9cca5ec | |||
| 72192257f2 | |||
| e0050bc844 | |||
| d2d0842737 | |||
| fe3b9f9e86 | |||
| 0ea6671bfa | |||
| 9209675d45 | |||
| 3e44f39f4d | |||
| 1f6ab340a6 | |||
| f208869aff | |||
| c031686825 | |||
| 791c39d977 | |||
| aac432b00c | |||
| 2b5b3273e2 | |||
| 4f57eebf24 | |||
| 0c9a1a8922 | |||
| fa2a3e4b03 | |||
| 94a337fc9e | |||
| 8d9cdf9c15 | |||
| fb8d52d599 | |||
| 070c36ffe6 | |||
| 5db1c50816 | |||
| 43e97ea6ea | |||
| 8fdedf9441 | |||
| b67ed3eac2 | |||
| 116ce931ce | |||
| 15d0fb4feb | |||
| 132b164a74 | |||
| bdbe2c3ac6 | |||
| 8ebe64e630 | |||
| c07a244bab | |||
| 8a032ee040 | |||
| a835401cb2 | |||
| 2cd7c7a357 | |||
| b5378eff64 | |||
| 570dd09dcd |
@@ -2621,6 +2621,13 @@
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "denzfarid",
|
||||
"name": "denzfarid",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1294403?v=4",
|
||||
"profile": "https://github.com/denzfarid",
|
||||
"contributions": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -19,6 +19,8 @@ on:
|
||||
|
||||
jobs:
|
||||
codacy-security-scan:
|
||||
# Ensure schedule job never runs on forked repos. It's only executed for 'snipe/snipe-it'
|
||||
if: (github.repository == 'snipe/snipe-it') || ((github.repository != 'snipe/snipe-it') && (github.event_name != 'schedule'))
|
||||
name: Codacy Security Scan
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
@@ -23,6 +23,7 @@ php7.4-xml \
|
||||
php7.4-mbstring \
|
||||
php7.4-zip \
|
||||
php7.4-bcmath \
|
||||
php7.4-redis \
|
||||
patch \
|
||||
curl \
|
||||
wget \
|
||||
|
||||
@@ -27,6 +27,7 @@ RUN apk add --no-cache \
|
||||
php7-xmlwriter \
|
||||
php7-xmlreader \
|
||||
php7-sodium \
|
||||
php7-redis \
|
||||
curl \
|
||||
wget \
|
||||
vim \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
 [](https://crowdin.com/project/snipe-it) [](https://hub.docker.com/r/snipe/snipe-it/) [](https://twitter.com/snipeitapp) [](https://www.codacy.com/app/snipe/snipe-it?utm_source=github.com&utm_medium=referral&utm_content=snipe/snipe-it&utm_campaign=Badge_Grade)
|
||||
[](#contributors) [](https://discord.gg/yZFtShAcKk) [](https://huntr.dev)
|
||||
[](#contributors) [](https://discord.gg/yZFtShAcKk) [](https://huntr.dev)
|
||||
|
||||
## Snipe-IT - Open Source Asset Management System
|
||||
|
||||
@@ -131,7 +131,8 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken
|
||||
| [<img src="https://avatars.githubusercontent.com/u/1975640?v=4" width="110px;"/><br /><sub>Evan Taylor</sub>](https://github.com/Delta5)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Delta5 "Code") | [<img src="https://avatars.githubusercontent.com/u/8735148?v=4" width="110px;"/><br /><sub>Petri Asikainen</sub>](https://github.com/PetriAsi)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PetriAsi "Code") | [<img src="https://avatars.githubusercontent.com/u/11424540?v=4" width="110px;"/><br /><sub>derdeagle</sub>](https://github.com/derdeagle)<br />[💻](https://github.com/snipe/snipe-it/commits?author=derdeagle "Code") | [<img src="https://avatars.githubusercontent.com/u/176950?v=4" width="110px;"/><br /><sub>Mike Frysinger</sub>](https://wh0rd.org/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=vapier "Code") | [<img src="https://avatars.githubusercontent.com/u/22044358?v=4" width="110px;"/><br /><sub>ALPHA</sub>](https://github.com/AL4AL)<br />[💻](https://github.com/snipe/snipe-it/commits?author=AL4AL "Code") | [<img src="https://avatars.githubusercontent.com/u/1042587?v=4" width="110px;"/><br /><sub>FliegenKLATSCH</sub>](https://www.ifern.de)<br />[💻](https://github.com/snipe/snipe-it/commits?author=FliegenKLATSCH "Code") | [<img src="https://avatars.githubusercontent.com/u/442138?v=4" width="110px;"/><br /><sub>Jeremy Price</sub>](https://github.com/jerm)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jerm "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/84392209?v=4" width="110px;"/><br /><sub>Toreg87</sub>](https://github.com/Toreg87)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Toreg87 "Code") | [<img src="https://avatars.githubusercontent.com/u/67638596?v=4" width="110px;"/><br /><sub>Matthew Nickson</sub>](https://github.com/Computroniks)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Computroniks "Code") | [<img src="https://avatars.githubusercontent.com/u/1646397?v=4" width="110px;"/><br /><sub>Jethro Nederhof</sub>](https://jethron.id.au)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jethron "Code") | [<img src="https://avatars.githubusercontent.com/u/23289826?v=4" width="110px;"/><br /><sub>Oskar Stenberg</sub>](https://github.com/01ste02)<br />[💻](https://github.com/snipe/snipe-it/commits?author=01ste02 "Code") | [<img src="https://avatars.githubusercontent.com/u/82208283?v=4" width="110px;"/><br /><sub>Robert-Azelis</sub>](https://github.com/Robert-Azelis)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Robert-Azelis "Code") | [<img src="https://avatars.githubusercontent.com/u/60648387?v=4" width="110px;"/><br /><sub>Alexander William Smith</sub>](https://github.com/alwism)<br />[💻](https://github.com/snipe/snipe-it/commits?author=alwism "Code") | [<img src="https://avatars.githubusercontent.com/u/24418301?v=4" width="110px;"/><br /><sub>LEITWERK AG</sub>](https://www.leitwerk.de/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=leitwerk-ag "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/1911435?v=4" width="110px;"/><br /><sub>Adam</sub>](http://www.aboutcher.co.uk)<br />[💻](https://github.com/snipe/snipe-it/commits?author=adamboutcher "Code") | [<img src="https://avatars.githubusercontent.com/u/16104273?v=4" width="110px;"/><br /><sub>Ian</sub>](https://snksrv.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sneak-it "Code") | [<img src="https://avatars.githubusercontent.com/u/4023909?v=4" width="110px;"/><br /><sub>Shao Yu-Lung (Allen)</sub>](http://blog.bestlong.idv.tw/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=bestlong "Code") | [<img src="https://avatars.githubusercontent.com/u/76475453?v=4" width="110px;"/><br /><sub>Haxatron</sub>](https://github.com/Haxatron)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Haxatron "Code") | [<img src="https://avatars.githubusercontent.com/u/88776392?v=4" width="110px;"/><br /><sub>PlaneNuts</sub>](https://github.com/PlaneNuts)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PlaneNuts "Code") | [<img src="https://avatars.githubusercontent.com/u/3842948?v=4" width="110px;"/><br /><sub>Bradley Coudriet</sub>](http://bjcpgd.cias.rit.edu)<br />[💻](https://github.com/snipe/snipe-it/commits?author=exula "Code") | [<img src="https://avatars.githubusercontent.com/u/21966173?v=4" width="110px;"/><br /><sub>Dalton Durst</sub>](https://daltondur.st)<br />[💻](https://github.com/snipe/snipe-it/commits?author=UniversalSuperBox "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/38761237?v=4" width="110px;"/><br /><sub>Alex Janes</sub>](https://adagiohealth.org)<br />[💻](https://github.com/snipe/snipe-it/commits?author=adagioajanes "Code") | [<img src="https://avatars.githubusercontent.com/u/32387849?v=4" width="110px;"/><br /><sub>Nuraeil</sub>](https://github.com/nuraeil)<br />[💻](https://github.com/snipe/snipe-it/commits?author=nuraeil "Code") | [<img src="https://avatars.githubusercontent.com/u/48162670?v=4" width="110px;"/><br /><sub>TenOfTens</sub>](https://github.com/TenOfTens)<br />[💻](https://github.com/snipe/snipe-it/commits?author=TenOfTens "Code") | [<img src="https://avatars.githubusercontent.com/u/9415391?v=4" width="110px;"/><br /><sub>waffle</sub>](https://ditisjens.be/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=insert-waffle "Code") | [<img src="https://avatars.githubusercontent.com/u/19945501?v=4" width="110px;"/><br /><sub>Yevhenii Huzii</sub>](https://github.com/QveenSi)<br />[💻](https://github.com/snipe/snipe-it/commits?author=QveenSi "Code") | [<img src="https://avatars.githubusercontent.com/u/3839381?v=4" width="110px;"/><br /><sub>Achmad Fienan Rahardianto</sub>](https://github.com/veenone)<br />[💻](https://github.com/snipe/snipe-it/commits?author=veenone "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/38761237?v=4" width="110px;"/><br /><sub>Alex Janes</sub>](https://adagiohealth.org)<br />[💻](https://github.com/snipe/snipe-it/commits?author=adagioajanes "Code") | [<img src="https://avatars.githubusercontent.com/u/32387849?v=4" width="110px;"/><br /><sub>Nuraeil</sub>](https://github.com/nuraeil)<br />[💻](https://github.com/snipe/snipe-it/commits?author=nuraeil "Code") | [<img src="https://avatars.githubusercontent.com/u/48162670?v=4" width="110px;"/><br /><sub>TenOfTens</sub>](https://github.com/TenOfTens)<br />[💻](https://github.com/snipe/snipe-it/commits?author=TenOfTens "Code") | [<img src="https://avatars.githubusercontent.com/u/9415391?v=4" width="110px;"/><br /><sub>waffle</sub>](https://ditisjens.be/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=insert-waffle "Code") | [<img src="https://avatars.githubusercontent.com/u/19945501?v=4" width="110px;"/><br /><sub>Yevhenii Huzii</sub>](https://github.com/QveenSi)<br />[💻](https://github.com/snipe/snipe-it/commits?author=QveenSi "Code") | [<img src="https://avatars.githubusercontent.com/u/3839381?v=4" width="110px;"/><br /><sub>Achmad Fienan Rahardianto</sub>](https://github.com/veenone)<br />[💻](https://github.com/snipe/snipe-it/commits?author=veenone "Code") | [<img src="https://avatars.githubusercontent.com/u/19945501?v=4" width="110px;"/><br /><sub>Yevhenii Huzii</sub>](https://github.com/QveenSi)<br />[💻](https://github.com/snipe/snipe-it/commits?author=QveenSi "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/97299851?v=4" width="110px;"/><br /><sub>Christian Weirich</sub>](https://github.com/chrisweirich)<br />[💻](https://github.com/snipe/snipe-it/commits?author=chrisweirich "Code") | [<img src="https://avatars.githubusercontent.com/u/1294403?v=4" width="110px;"/><br /><sub>denzfarid</sub>](https://github.com/denzfarid)<br /> |
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
|
||||
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
|
||||
|
||||
+43
-12
@@ -841,6 +841,16 @@ class Helper
|
||||
return preg_replace('/\s+/u', '_', trim($string));
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an array (or null) of the the raw and formatted date object for easy use in
|
||||
* the API and the bootstrap table listings.
|
||||
*
|
||||
* @param $date
|
||||
* @param $type
|
||||
* @param $array
|
||||
* @return array|string|null
|
||||
*/
|
||||
|
||||
public static function getFormattedDateObject($date, $type = 'datetime', $array = true)
|
||||
{
|
||||
if ($date == '') {
|
||||
@@ -848,21 +858,42 @@ class Helper
|
||||
}
|
||||
|
||||
$settings = Setting::getSettings();
|
||||
$tmp_date = new \Carbon($date);
|
||||
|
||||
if ($type == 'datetime') {
|
||||
$dt['datetime'] = $tmp_date->format('Y-m-d H:i:s');
|
||||
$dt['formatted'] = $tmp_date->format($settings->date_display_format.' '.$settings->time_display_format);
|
||||
} else {
|
||||
$dt['date'] = $tmp_date->format('Y-m-d');
|
||||
$dt['formatted'] = $tmp_date->format($settings->date_display_format);
|
||||
/**
|
||||
* Wrap this in a try/catch so that if Carbon crashes, for example if the $date value
|
||||
* isn't actually valid, we don't crash out completely.
|
||||
*
|
||||
* While this *shouldn't* typically happen since we validate dates before entering them
|
||||
* into the database (and we use date/datetime fields for native fields in the system),
|
||||
* it is a possible scenario that a custom field could be created as an "ANY" field, data gets
|
||||
* added, and then the custom field format gets edited later. If someone put bad data in the
|
||||
* database before then - or if they manually edited the field's value - it will crash.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
try {
|
||||
$tmp_date = new \Carbon($date);
|
||||
|
||||
if ($type == 'datetime') {
|
||||
$dt['datetime'] = $tmp_date->format('Y-m-d H:i:s');
|
||||
$dt['formatted'] = $tmp_date->format($settings->date_display_format.' '.$settings->time_display_format);
|
||||
} else {
|
||||
$dt['date'] = $tmp_date->format('Y-m-d');
|
||||
$dt['formatted'] = $tmp_date->format($settings->date_display_format);
|
||||
}
|
||||
|
||||
if ($array == 'true') {
|
||||
return $dt;
|
||||
}
|
||||
|
||||
return $dt['formatted'];
|
||||
|
||||
} catch (\Exception $e) {
|
||||
\Log::warning($e);
|
||||
return $date.' (Invalid '.$type.' value.)';
|
||||
}
|
||||
|
||||
if ($array == 'true') {
|
||||
return $dt;
|
||||
}
|
||||
|
||||
return $dt['formatted'];
|
||||
}
|
||||
|
||||
// Nicked from Drupal :)
|
||||
|
||||
@@ -9,6 +9,7 @@ use App\Models\Accessory;
|
||||
use App\Models\Company;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Redirect;
|
||||
|
||||
/** This controller handles all actions related to Accessories for
|
||||
@@ -130,6 +131,17 @@ class AccessoriesController extends Controller
|
||||
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist'));
|
||||
}
|
||||
|
||||
$min = $accessory->numCheckedOut();
|
||||
$validator = Validator::make($request->all(), [
|
||||
"qty" => "required|numeric|min:$min"
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return redirect()->back()
|
||||
->withErrors($validator)
|
||||
->withInput();
|
||||
}
|
||||
|
||||
$this->authorize($accessory);
|
||||
|
||||
// Update the accessory data
|
||||
|
||||
@@ -152,6 +152,13 @@ class AcceptanceController extends Controller
|
||||
* since we want the moment-in-time proof of what the EULA was when they accepted it.
|
||||
*/
|
||||
$branding_settings = SettingsController::getPDFBranding();
|
||||
|
||||
if (is_null($branding_settings->logo)){
|
||||
$path_logo = "";
|
||||
} else {
|
||||
$path_logo = public_path() . '/uploads/' . $branding_settings->logo;
|
||||
}
|
||||
|
||||
$data = [
|
||||
'item_tag' => $item->asset_tag,
|
||||
'item_model' => $display_model,
|
||||
@@ -162,7 +169,7 @@ class AcceptanceController extends Controller
|
||||
'assigned_to' => $assigned_to,
|
||||
'company_name' => $branding_settings->site_name,
|
||||
'signature' => ($sig_filename) ? storage_path() . '/private_uploads/signatures/' . $sig_filename : null,
|
||||
'logo' => public_path() . '/uploads/' . $branding_settings->logo,
|
||||
'logo' => $path_logo,
|
||||
'date_settings' => $branding_settings->date_display_format,
|
||||
];
|
||||
|
||||
|
||||
@@ -70,6 +70,10 @@ class AssetModelsController extends Controller
|
||||
$assetmodels->onlyTrashed();
|
||||
}
|
||||
|
||||
if ($request->filled('category_id')) {
|
||||
$assetmodels = $assetmodels->where('models.category_id', '=', $request->input('category_id'));
|
||||
}
|
||||
|
||||
if ($request->filled('search')) {
|
||||
$assetmodels->TextSearch($request->input('search'));
|
||||
}
|
||||
|
||||
@@ -714,23 +714,32 @@ class AssetsController extends Controller
|
||||
* @since [v5.1.18]
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function restore($assetId = null)
|
||||
public function restore(Request $request, $assetId = null)
|
||||
{
|
||||
// Get asset information
|
||||
$asset = Asset::withTrashed()->find($assetId);
|
||||
$this->authorize('delete', $asset);
|
||||
|
||||
if (isset($asset->id)) {
|
||||
// Restore the asset
|
||||
Asset::withTrashed()->where('id', $assetId)->restore();
|
||||
|
||||
$logaction = new Actionlog();
|
||||
$logaction->item_type = Asset::class;
|
||||
$logaction->item_id = $asset->id;
|
||||
$logaction->created_at = date("Y-m-d H:i:s");
|
||||
$logaction->user_id = Auth::user()->id;
|
||||
$logaction->logaction('restored');
|
||||
if ($asset->deleted_at=='') {
|
||||
$message = 'Asset was not deleted. No data was changed.';
|
||||
|
||||
return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/hardware/message.restore.success')));
|
||||
} else {
|
||||
|
||||
$message = trans('admin/hardware/message.restore.success');
|
||||
// Restore the asset
|
||||
Asset::withTrashed()->where('id', $assetId)->restore();
|
||||
|
||||
$logaction = new Actionlog();
|
||||
$logaction->item_type = Asset::class;
|
||||
$logaction->item_id = $asset->id;
|
||||
$logaction->created_at = date("Y-m-d H:i:s");
|
||||
$logaction->user_id = Auth::user()->id;
|
||||
$logaction->logaction('restored');
|
||||
}
|
||||
|
||||
return response()->json(Helper::formatStandardApiResponse('success', (new AssetsTransformer)->transformAsset($asset, $request), $message));
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -116,16 +116,20 @@ class LicenseSeatsController extends Controller
|
||||
return response()->json(Helper::formatStandardApiResponse('success', $licenseSeat, trans('admin/licenses/message.update.success')));
|
||||
}
|
||||
|
||||
// the logging functions expect only one "target". if both asset and user are present in the request,
|
||||
// we simply let assets take precedence over users...
|
||||
if ($licenseSeat->isDirty('assigned_to')) {
|
||||
$target = $is_checkin ? $oldUser : User::find($licenseSeat->assigned_to);
|
||||
}
|
||||
if ($licenseSeat->isDirty('asset_id')) {
|
||||
$target = $is_checkin ? $oldAsset : Asset::find($licenseSeat->asset_id);
|
||||
}
|
||||
|
||||
if (is_null($target)){
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, 'Target not found'));
|
||||
}
|
||||
|
||||
if ($licenseSeat->save()) {
|
||||
// the logging functions expect only one "target". if both asset and user are present in the request,
|
||||
// we simply let assets take precedence over users...
|
||||
$changes = $licenseSeat->getChanges();
|
||||
if (array_key_exists('assigned_to', $changes)) {
|
||||
$target = $is_checkin ? $oldUser : User::find($changes['assigned_to']);
|
||||
}
|
||||
if (array_key_exists('asset_id', $changes)) {
|
||||
$target = $is_checkin ? $oldAsset : Asset::find($changes['asset_id']);
|
||||
}
|
||||
|
||||
if ($is_checkin) {
|
||||
$licenseSeat->logCheckin($target, $request->input('note'));
|
||||
|
||||
@@ -519,10 +519,14 @@ class UsersController extends Controller
|
||||
{
|
||||
$this->authorize('view', User::class);
|
||||
$this->authorize('view', License::class);
|
||||
$user = User::where('id', $id)->withTrashed()->first();
|
||||
$licenses = $user->licenses()->get();
|
||||
|
||||
if ($user = User::where('id', $id)->withTrashed()->first()) {
|
||||
$licenses = $user->licenses()->get();
|
||||
return (new LicensesTransformer())->transformLicenses($licenses, $licenses->count());
|
||||
}
|
||||
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/users/message.user_not_found', compact('id'))));
|
||||
|
||||
return (new LicensesTransformer())->transformLicenses($licenses, $licenses->count());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -129,7 +129,7 @@ class ComponentsController extends Controller
|
||||
if (is_null($component = Component::find($componentId))) {
|
||||
return redirect()->route('components.index')->with('error', trans('admin/components/message.does_not_exist'));
|
||||
}
|
||||
$min = $component->numCHeckedOut();
|
||||
$min = $component->numCheckedOut();
|
||||
$validator = Validator::make($request->all(), [
|
||||
'qty' => "required|numeric|min:$min",
|
||||
]);
|
||||
|
||||
@@ -9,6 +9,7 @@ use App\Models\Company;
|
||||
use App\Models\Consumable;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
/**
|
||||
* This controller handles all actions related to Consumables for
|
||||
@@ -128,6 +129,17 @@ class ConsumablesController extends Controller
|
||||
return redirect()->route('consumables.index')->with('error', trans('admin/consumables/message.does_not_exist'));
|
||||
}
|
||||
|
||||
$min = $consumable->numCheckedOut();
|
||||
$validator = Validator::make($request->all(), [
|
||||
"qty" => "required|numeric|min:$min"
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return redirect()->back()
|
||||
->withErrors($validator)
|
||||
->withInput();
|
||||
}
|
||||
|
||||
$this->authorize($consumable);
|
||||
|
||||
$consumable->name = $request->input('name');
|
||||
|
||||
@@ -211,23 +211,35 @@ class LocationsController extends Controller
|
||||
|
||||
public function print_assigned($id)
|
||||
{
|
||||
$location = Location::where('id', $id)->first();
|
||||
$parent = Location::where('id', $location->parent_id)->first();
|
||||
$manager = User::where('id', $location->manager_id)->first();
|
||||
$users = User::where('location_id', $id)->with('company', 'department', 'location')->get();
|
||||
$assets = Asset::where('assigned_to', $id)->where('assigned_type', Location::class)->with('model', 'model.category')->get();
|
||||
|
||||
return view('locations/print')->with('assets', $assets)->with('users', $users)->with('location', $location)->with('parent', $parent)->with('manager', $manager);
|
||||
if ($location = Location::where('id', $id)->first()) {
|
||||
$parent = Location::where('id', $location->parent_id)->first();
|
||||
$manager = User::where('id', $location->manager_id)->first();
|
||||
$users = User::where('location_id', $id)->with('company', 'department', 'location')->get();
|
||||
$assets = Asset::where('assigned_to', $id)->where('assigned_type', Location::class)->with('model', 'model.category')->get();
|
||||
return view('locations/print')->with('assets', $assets)->with('users', $users)->with('location', $location)->with('parent', $parent)->with('manager', $manager);
|
||||
|
||||
}
|
||||
|
||||
return redirect()->route('locations.index')->with('error', trans('admin/locations/message.does_not_exist'));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function print_all_assigned($id)
|
||||
{
|
||||
$location = Location::where('id', $id)->first();
|
||||
$parent = Location::where('id', $location->parent_id)->first();
|
||||
$manager = User::where('id', $location->manager_id)->first();
|
||||
$users = User::where('location_id', $id)->with('company', 'department', 'location')->get();
|
||||
$assets = Asset::where('location_id', $id)->with('model', 'model.category')->get();
|
||||
if ($location = Location::where('id', $id)->first()) {
|
||||
$parent = Location::where('id', $location->parent_id)->first();
|
||||
$manager = User::where('id', $location->manager_id)->first();
|
||||
$users = User::where('location_id', $id)->with('company', 'department', 'location')->get();
|
||||
$assets = Asset::where('location_id', $id)->with('model', 'model.category')->get();
|
||||
return view('locations/print')->with('assets', $assets)->with('users', $users)->with('location', $location)->with('parent', $parent)->with('manager', $manager);
|
||||
|
||||
}
|
||||
return redirect()->route('locations.index')->with('error', trans('admin/locations/message.does_not_exist'));
|
||||
|
||||
|
||||
|
||||
return view('locations/print')->with('assets', $assets)->with('users', $users)->with('location', $location)->with('parent', $parent)->with('manager', $manager);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -942,7 +942,7 @@ class SettingsController extends Controller
|
||||
$setting->ldap_lname_field = $request->input('ldap_lname_field');
|
||||
$setting->ldap_fname_field = $request->input('ldap_fname_field');
|
||||
$setting->ldap_auth_filter_query = $request->input('ldap_auth_filter_query');
|
||||
$setting->ldap_version = $request->input('ldap_version');
|
||||
$setting->ldap_version = $request->input('ldap_version', 3);
|
||||
$setting->ldap_active_flag = $request->input('ldap_active_flag');
|
||||
$setting->ldap_emp_num = $request->input('ldap_emp_num');
|
||||
$setting->ldap_email = $request->input('ldap_email');
|
||||
|
||||
@@ -55,25 +55,35 @@ class ActionlogsTransformer
|
||||
}
|
||||
}
|
||||
|
||||
$file_url = '';
|
||||
if($actionlog->filename!='') {
|
||||
if ($actionlog->present()->actionType() == 'accepted') {
|
||||
$file_url = route('log.storedeula.download', ['filename' => $actionlog->filename]);
|
||||
} else {
|
||||
if ($actionlog->itemType() == 'asset') {
|
||||
$file_url = route('show/assetfile', ['assetId' => $actionlog->id, 'fileId' => $actionlog->id]);
|
||||
} elseif ($actionlog->itemType() == 'license') {
|
||||
$file_url = route('show.licensefile', ['licenseId' => $actionlog->item->id, 'fileId' => $actionlog->id]);
|
||||
} elseif ($actionlog->itemType() == 'user') {
|
||||
$file_url = route('show/userfile', ['userId' => $actionlog->item->id, 'fileId' => $actionlog->id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$array = [
|
||||
$array = [
|
||||
'id' => (int) $actionlog->id,
|
||||
'icon' => $icon,
|
||||
'file' => ($actionlog->filename!='')
|
||||
?
|
||||
[
|
||||
'url' => ($actionlog->present()->actionType()=='accepted')
|
||||
?
|
||||
route('log.storedeula.download', ['filename' => $actionlog->filename])
|
||||
:
|
||||
route('show/assetfile', ['assetId' => $actionlog->id, 'fileId' => $actionlog->id]),
|
||||
'url' => $file_url,
|
||||
'filename' => $actionlog->filename,
|
||||
'inlineable' => (bool) Helper::show_file_inline($actionlog->filename),
|
||||
] : null,
|
||||
|
||||
'item' => ($actionlog->item) ? [
|
||||
'id' => (int) $actionlog->item->id,
|
||||
'name' => ($actionlog->itemType()=='user') ? $actionlog->filename : e($actionlog->item->getDisplayNameAttribute()),
|
||||
'name' => ($actionlog->itemType()=='user') ? e($actionlog->item->getFullNameAttribute()) : e($actionlog->item->getDisplayNameAttribute()),
|
||||
'type' => e($actionlog->itemType()),
|
||||
] : null,
|
||||
'location' => ($actionlog->location) ? [
|
||||
@@ -104,6 +114,7 @@ class ActionlogsTransformer
|
||||
];
|
||||
//\Log::info("Clean Meta is: ".print_r($clean_meta,true));
|
||||
|
||||
//dd($array);
|
||||
return $array;
|
||||
}
|
||||
|
||||
|
||||
@@ -98,21 +98,36 @@ class AssetsTransformer
|
||||
$decrypted = Helper::gracefulDecrypt($field, $asset->{$field->convertUnicodeDbSlug()});
|
||||
$value = (Gate::allows('superadmin')) ? $decrypted : strtoupper(trans('admin/custom_fields/general.encrypted'));
|
||||
|
||||
if ($field->format == 'DATE'){
|
||||
if (Gate::allows('superadmin')){
|
||||
$value = Helper::getFormattedDateObject($value)['formatted'];
|
||||
} else {
|
||||
$value = strtoupper(trans('admin/custom_fields/general.encrypted'));
|
||||
}
|
||||
}
|
||||
|
||||
$fields_array[$field->name] = [
|
||||
'field' => e($field->convertUnicodeDbSlug()),
|
||||
'value' => e($value),
|
||||
'field_format' => $field->format,
|
||||
'element' => $field->element,
|
||||
|
||||
];
|
||||
|
||||
} else {
|
||||
$value = $asset->{$field->convertUnicodeDbSlug()};
|
||||
|
||||
if ($field->format == 'DATE'){
|
||||
$value = Helper::getFormattedDateObject($value)['formatted'];
|
||||
}
|
||||
$fields_array[$field->name] = [
|
||||
'field' => e($field->convertUnicodeDbSlug()),
|
||||
'value' => e($asset->{$field->convertUnicodeDbSlug()}),
|
||||
'value' => e($value),
|
||||
'field_format' => $field->format,
|
||||
'element' => $field->element,
|
||||
];
|
||||
|
||||
|
||||
}
|
||||
|
||||
$array['custom_fields'] = $fields_array;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -46,7 +46,7 @@ class CustomFieldsTransformer
|
||||
'field_values' => ($field->field_values) ? e($field->field_values) : null,
|
||||
'field_values_array' => ($field->field_values) ? explode("\r\n", e($field->field_values)) : null,
|
||||
'type' => e($field->element),
|
||||
'required' => $field->pivot ? $field->pivot->required : false,
|
||||
'required' => (($field->pivot) && ($field->pivot->required=='1')) ? true : false,
|
||||
'created_at' => Helper::getFormattedDateObject($field->created_at, 'datetime'),
|
||||
'updated_at' => Helper::getFormattedDateObject($field->updated_at, 'datetime'),
|
||||
];
|
||||
|
||||
@@ -30,7 +30,6 @@ class CheckoutableListener
|
||||
public function onCheckedOut($event)
|
||||
{
|
||||
|
||||
\Log::debug('onCheckedOut in the Checkoutable listener fired');
|
||||
|
||||
/**
|
||||
* When the item wasn't checked out to a user, we can't send notifications
|
||||
|
||||
@@ -310,6 +310,21 @@ class Accessory extends SnipeModel
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check how many items within an accessory are checked out
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v5.0]
|
||||
* @return int
|
||||
*/
|
||||
public function numCheckedOut()
|
||||
{
|
||||
$checkedout = 0;
|
||||
$checkedout = $this->users->count();
|
||||
|
||||
return $checkedout;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check how many items of an accessory remain
|
||||
*
|
||||
|
||||
@@ -276,6 +276,21 @@ class Consumable extends SnipeModel
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check how many items within a consumable are checked out
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v5.0]
|
||||
* @return int
|
||||
*/
|
||||
public function numCheckedOut()
|
||||
{
|
||||
$checkedout = 0;
|
||||
$checkedout = $this->users->count();
|
||||
|
||||
return $checkedout;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the number of available consumables
|
||||
*
|
||||
|
||||
+2
-3
@@ -37,7 +37,7 @@ class Ldap extends Model
|
||||
public static function connectToLdap()
|
||||
{
|
||||
$ldap_host = Setting::getSettings()->ldap_server;
|
||||
$ldap_version = Setting::getSettings()->ldap_version;
|
||||
$ldap_version = Setting::getSettings()->ldap_version ?: 3;
|
||||
$ldap_server_cert_ignore = Setting::getSettings()->ldap_server_cert_ignore;
|
||||
$ldap_use_tls = Setting::getSettings()->ldap_tls;
|
||||
|
||||
@@ -304,14 +304,13 @@ class Ldap extends Model
|
||||
|
||||
// HUGE thanks to this article: https://stackoverflow.com/questions/68275972/how-to-get-paged-ldap-queries-in-php-8-and-read-more-than-1000-entries
|
||||
// which helped me wrap my head around paged results!
|
||||
\Log::info("ldap conn is: ".$ldapconn." basedn is: $base_dn, filter is: $filter - count is: $count. page size is: $page_size"); //FIXME - remove
|
||||
// if a $count is set and it's smaller than $page_size then use that as the page size
|
||||
$ldap_controls = [];
|
||||
//if($count == -1) { //count is -1 means we have to employ paging to query the entire directory
|
||||
$ldap_controls = [['oid' => LDAP_CONTROL_PAGEDRESULTS, 'iscritical' => false, 'value' => ['size'=> $count == -1||$count>$page_size ? $page_size : $count, 'cookie' => $cookie]]];
|
||||
//}
|
||||
$search_results = ldap_search($ldapconn, $base_dn, $filter, [], 0, /* $page_size */ -1, -1, LDAP_DEREF_NEVER, $ldap_controls); // TODO - I hate the @, and I hate that we get a full page even if we ask for 10 records. Can we use an ldap_control?
|
||||
\Log::info("did the search run? I guess so if you got here!");
|
||||
\Log::debug("did the search run? I guess so if you got here!");
|
||||
if (! $search_results) {
|
||||
return redirect()->route('users.index')->with('error', trans('admin/users/message.error.ldap_could_not_search').ldap_error($ldapconn)); // TODO this is never called in any routed context - only from the Artisan command. So this redirect will never work.
|
||||
}
|
||||
|
||||
@@ -103,6 +103,7 @@ class Location extends SnipeModel
|
||||
return $this->hasMany(\App\Models\User::class, 'location_id');
|
||||
}
|
||||
|
||||
|
||||
public function assets()
|
||||
{
|
||||
return $this->hasMany(\App\Models\Asset::class, 'location_id')
|
||||
@@ -129,6 +130,23 @@ class Location extends SnipeModel
|
||||
return $this->hasMany(\App\Models\Asset::class, 'rtd_location_id');
|
||||
}
|
||||
|
||||
public function consumables()
|
||||
{
|
||||
return $this->hasMany(\App\Models\Consumable::class, 'location_id');
|
||||
}
|
||||
|
||||
public function components()
|
||||
{
|
||||
return $this->hasMany(\App\Models\Component::class, 'location_id');
|
||||
}
|
||||
|
||||
public function accessories()
|
||||
{
|
||||
return $this->hasMany(\App\Models\Accessory::class, 'location_id');
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function parent()
|
||||
{
|
||||
return $this->belongsTo(self::class, 'parent_id', 'id')
|
||||
|
||||
@@ -18,22 +18,37 @@ class AssetObserver
|
||||
public function updating(Asset $asset)
|
||||
{
|
||||
$attributes = $asset->getAttributes();
|
||||
$attributesOriginal = $asset->getOriginal();
|
||||
|
||||
$attributesOriginal = $asset->getRawOriginal();
|
||||
$same_checkout_counter = false;
|
||||
$same_checkin_counter = false;
|
||||
|
||||
if (array_key_exists('checkout_counter', $attributes) && array_key_exists('checkout_counter', $attributesOriginal)){
|
||||
$same_checkout_counter = (($attributes['checkout_counter'] == $attributesOriginal['checkout_counter']));
|
||||
}
|
||||
|
||||
if (array_key_exists('checkin_counter', $attributes) && array_key_exists('checkin_counter', $attributesOriginal)){
|
||||
$same_checkin_counter = (($attributes['checkin_counter'] == $attributesOriginal['checkin_counter']));
|
||||
}
|
||||
|
||||
// If the asset isn't being checked out or audited, log the update.
|
||||
// (Those other actions already create log entries.)
|
||||
if (($attributes['assigned_to'] == $attributesOriginal['assigned_to'])
|
||||
if (($attributes['assigned_to'] == $attributesOriginal['assigned_to'])
|
||||
&& ($same_checkout_counter) && ($same_checkin_counter)
|
||||
&& ((isset( $attributes['next_audit_date']) ? $attributes['next_audit_date'] : null) == (isset($attributesOriginal['next_audit_date']) ? $attributesOriginal['next_audit_date']: null))
|
||||
&& ($attributes['last_checkout'] == $attributesOriginal['last_checkout']))
|
||||
&& ($attributes['last_checkout'] == $attributesOriginal['last_checkout']))
|
||||
{
|
||||
$changed = [];
|
||||
|
||||
foreach ($asset->getOriginal() as $key => $value) {
|
||||
if ($asset->getOriginal()[$key] != $asset->getAttributes()[$key]) {
|
||||
$changed[$key]['old'] = $asset->getOriginal()[$key];
|
||||
foreach ($asset->getRawOriginal() as $key => $value) {
|
||||
if ($asset->getRawOriginal()[$key] != $asset->getAttributes()[$key]) {
|
||||
$changed[$key]['old'] = $asset->getRawOriginal()[$key];
|
||||
$changed[$key]['new'] = $asset->getAttributes()[$key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($changed)){
|
||||
return;
|
||||
}
|
||||
|
||||
$logAction = new Actionlog();
|
||||
$logAction->item_type = Asset::class;
|
||||
|
||||
@@ -90,6 +90,14 @@ class LocationPresenter extends Presenter
|
||||
'title' => trans('admin/locations/table.address'),
|
||||
'visible' => true,
|
||||
],
|
||||
[
|
||||
'field' => 'address2',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'switchable' => true,
|
||||
'title' => trans('admin/locations/table.address'),
|
||||
'visible' => false,
|
||||
],
|
||||
[
|
||||
'field' => 'city',
|
||||
'searchable' => true,
|
||||
|
||||
@@ -134,7 +134,7 @@ class Saml
|
||||
$this->_auth = new OneLogin_Saml2_Auth($this->_settings);
|
||||
} catch (Exception $e) {
|
||||
if ( $this->isEnabled() ) { // $this->loadSettings() initializes this to true if SAML is enabled by settings.
|
||||
\Log::error('Trying OneLogin_Saml2_Auth failed. Setting SAML enabled to false. OneLogin_Saml2_Auth error message is: '. $e->getMessage());
|
||||
\Log::warning('Trying OneLogin_Saml2_Auth failed. Setting SAML enabled to false. OneLogin_Saml2_Auth error message is: '. $e->getMessage());
|
||||
}
|
||||
$this->_enabled = false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,158 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Class Namespace
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value sets the root namespace for Livewire component classes in
|
||||
| your application. This value affects component auto-discovery and
|
||||
| any Livewire file helper commands, like `artisan make:livewire`.
|
||||
|
|
||||
| After changing this item, run: `php artisan livewire:discover`.
|
||||
|
|
||||
*/
|
||||
|
||||
'class_namespace' => 'App\\Http\\Livewire',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| View Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value sets the path for Livewire component views. This affects
|
||||
| file manipulation helper commands like `artisan make:livewire`.
|
||||
|
|
||||
*/
|
||||
|
||||
'view_path' => resource_path('views/livewire'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Layout
|
||||
|--------------------------------------------------------------------------
|
||||
| The default layout view that will be used when rendering a component via
|
||||
| Route::get('/some-endpoint', SomeComponent::class);. In this case the
|
||||
| the view returned by SomeComponent will be wrapped in "layouts.app"
|
||||
|
|
||||
*/
|
||||
|
||||
'layout' => 'layouts.app',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Livewire Assets URL
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value sets the path to Livewire JavaScript assets, for cases where
|
||||
| your app's domain root is not the correct path. By default, Livewire
|
||||
| will load its JavaScript assets from the app's "relative root".
|
||||
|
|
||||
| Examples: "/assets", "myurl.com/app".
|
||||
|
|
||||
*/
|
||||
|
||||
'asset_url' => env('APP_URL'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Livewire App URL
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value should be used if livewire assets are served from CDN.
|
||||
| Livewire will communicate with an app through this url.
|
||||
|
|
||||
| Examples: "https://my-app.com", "myurl.com/app".
|
||||
|
|
||||
*/
|
||||
|
||||
'app_url' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Livewire Endpoint Middleware Group
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value sets the middleware group that will be applied to the main
|
||||
| Livewire "message" endpoint (the endpoint that gets hit everytime
|
||||
| a Livewire component updates). It is set to "web" by default.
|
||||
|
|
||||
*/
|
||||
|
||||
'middleware_group' => 'web',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Livewire Temporary File Uploads Endpoint Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Livewire handles file uploads by storing uploads in a temporary directory
|
||||
| before the file is validated and stored permanently. All file uploads
|
||||
| are directed to a global endpoint for temporary storage. The config
|
||||
| items below are used for customizing the way the endpoint works.
|
||||
|
|
||||
*/
|
||||
|
||||
'temporary_file_upload' => [
|
||||
'disk' => env('PRIVATE_FILESYSTEM_DISK', 'local'), // Example: 'local', 's3' Default: 'default'
|
||||
'rules' => null, // Example: ['file', 'mimes:png,jpg'] Default: ['required', 'file', 'max:12288'] (12MB)
|
||||
'directory' => null, // Example: 'tmp' Default 'livewire-tmp'
|
||||
'middleware' => null, // Example: 'throttle:5,1' Default: 'throttle:60,1'
|
||||
'preview_mimes' => [ // Supported file types for temporary pre-signed file URLs.
|
||||
'png', 'gif', 'bmp', 'svg', 'wav', 'mp4',
|
||||
'mov', 'avi', 'wmv', 'mp3', 'm4a',
|
||||
'jpg', 'jpeg', 'mpga', 'webp', 'wma',
|
||||
],
|
||||
'max_upload_time' => 5, // Max duration (in minutes) before an upload gets invalidated.
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Manifest File Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value sets the path to the Livewire manifest file.
|
||||
| The default should work for most cases (which is
|
||||
| "<app_root>/bootstrap/cache/livewire-components.php"), but for specific
|
||||
| cases like when hosting on Laravel Vapor, it could be set to a different value.
|
||||
|
|
||||
| Example: for Laravel Vapor, it would be "/tmp/storage/bootstrap/cache/livewire-components.php".
|
||||
|
|
||||
*/
|
||||
|
||||
'manifest_path' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Back Button Cache
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value determines whether the back button cache will be used on pages
|
||||
| that contain Livewire. By disabling back button cache, it ensures that
|
||||
| the back button shows the correct state of components, instead of
|
||||
| potentially stale, cached data.
|
||||
|
|
||||
| Setting it to "false" (default) will disable back button cache.
|
||||
|
|
||||
*/
|
||||
|
||||
'back_button_cache' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Render On Redirect
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value determines whether Livewire will render before it's redirected
|
||||
| or not. Setting it to "false" (default) will mean the render method is
|
||||
| skipped when redirecting. And "true" will mean the render method is
|
||||
| run before redirecting. Browsers bfcache can store a potentially
|
||||
| stale view if render is skipped on redirect.
|
||||
|
|
||||
*/
|
||||
|
||||
'render_on_redirect' => false,
|
||||
|
||||
];
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
return array (
|
||||
'app_version' => 'v6.0.2',
|
||||
'full_app_version' => 'v6.0.2 - build 7880-g43c5b412c',
|
||||
'build_version' => '7880',
|
||||
'app_version' => 'v6.0.3',
|
||||
'full_app_version' => 'v6.0.3 - build 8045-ga7b155108',
|
||||
'build_version' => '8045',
|
||||
'prerelease_version' => '',
|
||||
'hash_version' => 'g43c5b412c',
|
||||
'full_hash' => 'v6.0.2-128-g43c5b412c',
|
||||
'hash_version' => 'ga7b155108',
|
||||
'full_hash' => 'v6.0.3-153-ga7b155108',
|
||||
'branch' => 'master',
|
||||
);
|
||||
);
|
||||
-50
@@ -1,50 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
Snipe-IT Setup
|
||||
</title>
|
||||
|
||||
<style>
|
||||
td, th {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.preflight-success {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.preflight-error {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.preflight-warning {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
font-size: 280%;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 250%;
|
||||
}
|
||||
|
||||
.alert {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-11 col-lg-offset-1">
|
||||
<h1>D'oh. If you're seeing this, your DocumentRoot is set incorrectly. It should be set to the <code>public</code> directory.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1 +1 @@
|
||||
.skin-blue .main-header .navbar{background-color:#3c8dbc}.skin-blue .main-header .navbar .nav>li>a{color:#fff}.skin-blue .main-header .navbar .nav .open>a,.skin-blue .main-header .navbar .nav .open>a:focus,.skin-blue .main-header .navbar .nav .open>a:hover,.skin-blue .main-header .navbar .nav>.active>a,.skin-blue .main-header .navbar .nav>li>a:active,.skin-blue .main-header .navbar .nav>li>a:focus,.skin-blue .main-header .navbar .nav>li>a:hover,.skin-blue .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-blue .main-header .navbar .dropdown-menu li a{color:#333}.skin-blue .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue .main-header li.user-header{background-color:#3c8dbc}.skin-blue .content-header{background:transparent}.skin-blue .left-side,.skin-blue .main-sidebar,.skin-blue .wrapper{background-color:#222d32}.skin-blue .user-panel>.info,.skin-blue .user-panel>.info>a{color:#fff}.skin-blue .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-blue .sidebar-menu>li>a{border-left:3px solid transparent}.skin-blue .sidebar-menu>li.active>a,.skin-blue .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#3c8dbc;color:#fff}.skin-blue .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-blue .sidebar a{color:#b8c7ce}.skin-blue .sidebar a:hover{text-decoration:none}.skin-blue .treeview-menu>li>a{color:#8aa4af}.skin-blue .treeview-menu>li.active>a,.skin-blue .treeview-menu>li>a:hover{color:#fff}.skin-blue .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-blue .sidebar-form .btn,.skin-blue .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-blue .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-blue .sidebar-form input[type=text]:focus,.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-blue.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link,btn-sm.btn-primary,btn-sm .btn-primary:link{background-color:#307095;border-color:#23536f;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover,btn-sma.btn-primary:hover{background-color:#23536f;border-color:#23536f;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link,btn-sm.btn-white:link{background-color:#307095;color:#fff}.btn.btn-white:hover,.btn.btn-white:visited,.btn:hover.btn-white:hover,.btn:hover.btn-white:visited,btn-sm.btn-white:hover,btn-sm.btn-white:visited{background-color:#173648;color:#fff}.btn-danger,.btn-danger:link,.btn-danger:visited,.btn-warning,.btn-warning:link,.btn-warning:visited,a.btn-danger:hover,a.btn-warning:hover{color:#fff}a{color:#3c8dbc}a:hover{color:#23536f}a:visited{color:#3c8dbc}:root{--button-default:#00436b;--button-primary:#002338;--button-hover:#00131e;--header:#0073b7;--text-main:#bbb;--text-sub:#9b9b9b;--link:#1978d4;--visited-link:#3c8dbc;--hover-link:#4b77be;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}.text-primary{color:#23536f}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
.skin-blue .main-header .navbar{background-color:#3c8dbc}.skin-blue .main-header .navbar .nav>li>a{color:#fff}.skin-blue .main-header .navbar .nav .open>a,.skin-blue .main-header .navbar .nav .open>a:focus,.skin-blue .main-header .navbar .nav .open>a:hover,.skin-blue .main-header .navbar .nav>.active>a,.skin-blue .main-header .navbar .nav>li>a:active,.skin-blue .main-header .navbar .nav>li>a:focus,.skin-blue .main-header .navbar .nav>li>a:hover,.skin-blue .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-blue .main-header .navbar .dropdown-menu li a{color:#333}.skin-blue .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue .main-header li.user-header{background-color:#3c8dbc}.skin-blue .content-header{background:transparent}.skin-blue .left-side,.skin-blue .main-sidebar,.skin-blue .wrapper{background-color:#222d32}.skin-blue .user-panel>.info,.skin-blue .user-panel>.info>a{color:#fff}.skin-blue .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-blue .sidebar-menu>li>a{border-left:3px solid transparent}.skin-blue .sidebar-menu>li.active>a,.skin-blue .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#3c8dbc;color:#fff}.skin-blue .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-blue .sidebar a{color:#b8c7ce}.skin-blue .sidebar a:hover{text-decoration:none}.skin-blue .treeview-menu>li>a{color:#8aa4af}.skin-blue .treeview-menu>li.active>a,.skin-blue .treeview-menu>li>a:hover{color:#fff}.skin-blue .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-blue .sidebar-form .btn,.skin-blue .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-blue .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-blue .sidebar-form input[type=text]:focus,.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-blue.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link,btn-sm.btn-primary,btn-sm .btn-primary:link{background-color:#307095;border-color:#23536f;color:#fff!important}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover,btn-sma.btn-primary:hover{background-color:#23536f;border-color:#23536f;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link,btn-sm.btn-white:link{background-color:#307095;color:#fff}.btn.btn-white:hover,.btn.btn-white:visited,.btn:hover.btn-white:hover,.btn:hover.btn-white:visited,btn-sm.btn-white:hover,btn-sm.btn-white:visited{background-color:#173648;color:#fff}.btn-danger,.btn-danger:link,.btn-danger:visited,.btn-warning,.btn-warning:link,.btn-warning:visited,a.btn-danger:hover,a.btn-warning:hover{color:#fff}:root{--button-default:#00436b;--button-primary:#002338;--button-hover:#00131e;--header:#0073b7;--text-main:#bbb;--text-sub:#9b9b9b;--link:#0073b7;--visited-link:#0093ea;--hover-link:#1eabff;--nav-link:#fff;--light-link:#fff}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}a:hover{color:var(--hover-link)}.text-primary{color:#23536f}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
.skin-blue .main-header .navbar{background-color:#3c8dbc}.skin-blue .main-header .navbar .nav>li>a{color:#fff}.skin-blue .main-header .navbar .nav .open>a,.skin-blue .main-header .navbar .nav .open>a:focus,.skin-blue .main-header .navbar .nav .open>a:hover,.skin-blue .main-header .navbar .nav>.active>a,.skin-blue .main-header .navbar .nav>li>a:active,.skin-blue .main-header .navbar .nav>li>a:focus,.skin-blue .main-header .navbar .nav>li>a:hover,.skin-blue .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-blue .main-header .navbar .dropdown-menu li a{color:#333}.skin-blue .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue .main-header li.user-header{background-color:#3c8dbc}.skin-blue .content-header{background:0 0}.skin-blue .left-side,.skin-blue .main-sidebar,.skin-blue .wrapper{background-color:#222d32}.skin-blue .user-panel>.info,.skin-blue .user-panel>.info>a{color:#fff}.skin-blue .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-blue .sidebar-menu>li>a{border-left:3px solid transparent}.skin-blue .sidebar-menu>li.active>a,.skin-blue .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#3c8dbc;color:#fff}.skin-blue .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-blue .sidebar a{color:#b8c7ce}.skin-blue .sidebar a:hover{text-decoration:none}.skin-blue .treeview-menu>li>a{color:#8aa4af}.skin-blue .treeview-menu>li.active>a,.skin-blue .treeview-menu>li>a:hover{color:#fff}.skin-blue .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-blue .sidebar-form .btn,.skin-blue .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-blue .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-blue .sidebar-form input[type=text]:focus,.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-blue.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary,btn-sm .btn-primary:link,btn-sm.btn-primary{background-color:#307095;border-color:#23536f;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover,btn-sma.btn-primary:hover{background-color:#23536f;border-color:#23536f;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link,btn-sm.btn-white:link{background-color:#307095;color:#fff}.btn.btn-white:hover,.btn.btn-white:visited,.btn:hover.btn-white:hover,.btn:hover.btn-white:visited,btn-sm.btn-white:hover,btn-sm.btn-white:visited{background-color:#173648;color:#fff}.btn-danger,.btn-danger:link,.btn-danger:visited,.btn-warning,.btn-warning:link,.btn-warning:visited,a.btn-danger:hover,a.btn-warning:hover{color:#fff}a{color:#3c8dbc}a:hover{color:#23536f}a:visited{color:#3c8dbc}:root{--button-default:#00436b;--button-primary:#002338;--button-hover:#00131e;--header:#0073b7;--text-main:#bbb;--text-sub:#9b9b9b;--link:#1978d4;--visited-link:#3c8dbc;--hover-link:#4b77be;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}.text-primary{color:#23536f}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
.skin-blue .main-header .navbar{background-color:#3c8dbc}.skin-blue .main-header .navbar .nav>li>a{color:#fff}.skin-blue .main-header .navbar .nav .open>a,.skin-blue .main-header .navbar .nav .open>a:focus,.skin-blue .main-header .navbar .nav .open>a:hover,.skin-blue .main-header .navbar .nav>.active>a,.skin-blue .main-header .navbar .nav>li>a:active,.skin-blue .main-header .navbar .nav>li>a:focus,.skin-blue .main-header .navbar .nav>li>a:hover,.skin-blue .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-blue .main-header .navbar .dropdown-menu li a{color:#333}.skin-blue .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue .main-header li.user-header{background-color:#3c8dbc}.skin-blue .content-header{background:0 0}.skin-blue .left-side,.skin-blue .main-sidebar,.skin-blue .wrapper{background-color:#222d32}.skin-blue .user-panel>.info,.skin-blue .user-panel>.info>a{color:#fff}.skin-blue .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-blue .sidebar-menu>li>a{border-left:3px solid transparent}.skin-blue .sidebar-menu>li.active>a,.skin-blue .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#3c8dbc;color:#fff}.skin-blue .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-blue .sidebar a{color:#b8c7ce}.skin-blue .sidebar a:hover{text-decoration:none}.skin-blue .treeview-menu>li>a{color:#8aa4af}.skin-blue .treeview-menu>li.active>a,.skin-blue .treeview-menu>li>a:hover{color:#fff}.skin-blue .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-blue .sidebar-form .btn,.skin-blue .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-blue .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-blue .sidebar-form input[type=text]:focus,.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-blue.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary,btn-sm .btn-primary:link,btn-sm.btn-primary{background-color:#307095;border-color:#23536f;color:#fff!important}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover,btn-sma.btn-primary:hover{background-color:#23536f;border-color:#23536f;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link,btn-sm.btn-white:link{background-color:#307095;color:#fff}.btn.btn-white:hover,.btn.btn-white:visited,.btn:hover.btn-white:hover,.btn:hover.btn-white:visited,btn-sm.btn-white:hover,btn-sm.btn-white:visited{background-color:#173648;color:#fff}.btn-danger,.btn-danger:link,.btn-danger:visited,.btn-warning,.btn-warning:link,.btn-warning:visited,a.btn-danger:hover,a.btn-warning:hover{color:#fff}:root{--button-default:#00436b;--button-primary:#002338;--button-hover:#00131e;--header:#0073b7;--text-main:#bbb;--text-sub:#9b9b9b;--link:#0073b7;--visited-link:#0093ea;--hover-link:#1eabff;--nav-link:#fff;--light-link:#fff}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}a:hover{color:var(--hover-link)}.text-primary{color:#23536f}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1 +1 @@
|
||||
:root{--visited-link:#5d995d;--background:#222;--back-main:#333;--back-sub:#3d4144;--back-sub-alt:rgba(0,0,0,.36);--button-default:#005a31;--button-primary:#002715;--button-hover:#000d07;--header:#00a65a;--text-main:#bbb;--text-sub:#9b9b9b;--link:#28a228}.skin-green .main-header .navbar{background-color:#00a65a}.skin-green .main-header .navbar .nav>li>a{color:#fff}.skin-green .main-header .navbar .nav .open>a,.skin-green .main-header .navbar .nav .open>a:focus,.skin-green .main-header .navbar .nav .open>a:hover,.skin-green .main-header .navbar .nav>.active>a,.skin-green .main-header .navbar .nav>li>a:active,.skin-green .main-header .navbar .nav>li>a:focus,.skin-green .main-header .navbar .nav>li>a:hover,.skin-green .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-green .main-header .navbar .sidebar-toggle{color:#fff}.skin-green .main-header .navbar .sidebar-toggle:hover{background-color:#008d4c}@media (max-width:767px){.skin-green .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-green .main-header .navbar .dropdown-menu li a{color:#333}.skin-green .main-header .navbar .dropdown-menu li a:hover{background:#008d4c}}.skin-green .main-header li.user-header{background-color:#00a65a}.skin-green .content-header{background:transparent}.skin-green .left-side,.skin-green .main-sidebar,.skin-green .wrapper{background-color:#222d32}.skin-green .user-panel>.info,.skin-green .user-panel>.info>a{color:#fff}.skin-green .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-green .sidebar-menu>li>a{border-left:3px solid transparent}.skin-green .sidebar-menu>li.active>a,.skin-green .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#00a65a;color:#fff}.skin-green .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-green .sidebar a{color:#b8c7ce}.skin-green .sidebar a:hover{text-decoration:none}.skin-green .treeview-menu>li>a{color:#8aa4af}.skin-green .treeview-menu>li.active>a,.skin-green .treeview-menu>li>a:hover{color:#fff}.skin-green .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-green .sidebar-form .btn,.skin-green .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-green .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-green .sidebar-form input[type=text]:focus,.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-green .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-green.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link{background-color:#00733e;border-color:#004023;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#004023;border-color:#004023;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#00733e;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#000d07;color:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}a{color:#00a65a}a:hover{color:#004023}a:visited{color:#00a65a}.text-primary{color:#004023}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#00a65a}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
:root{--background:#222;--back-main:#333;--back-sub:#3d4144;--back-sub-alt:rgba(0,0,0,.36);--button-default:#005a31;--button-primary:#002715;--button-hover:#000d07;--header:#00a65a;--text-main:#bbb;--text-sub:#9b9b9b;--link:#00a65a;--visited-link:#00f383;--hover-link:#0dff90}.skin-green .main-header .navbar{background-color:#00a65a}.skin-green .main-header .navbar .nav>li>a{color:#fff}.skin-green .main-header .navbar .nav .open>a,.skin-green .main-header .navbar .nav .open>a:focus,.skin-green .main-header .navbar .nav .open>a:hover,.skin-green .main-header .navbar .nav>.active>a,.skin-green .main-header .navbar .nav>li>a:active,.skin-green .main-header .navbar .nav>li>a:focus,.skin-green .main-header .navbar .nav>li>a:hover,.skin-green .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-green .main-header .navbar .sidebar-toggle{color:#fff}.skin-green .main-header .navbar .sidebar-toggle:hover{background-color:#008d4c}@media (max-width:767px){.skin-green .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-green .main-header .navbar .dropdown-menu li a{color:#333}.skin-green .main-header .navbar .dropdown-menu li a:hover{background:#008d4c}}.skin-green .main-header li.user-header{background-color:#00a65a}.skin-green .content-header{background:transparent}.skin-green .left-side,.skin-green .main-sidebar,.skin-green .wrapper{background-color:#222d32}.skin-green .user-panel>.info,.skin-green .user-panel>.info>a{color:#fff}.skin-green .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-green .sidebar-menu>li>a{border-left:3px solid transparent}.skin-green .sidebar-menu>li.active>a,.skin-green .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#00a65a;color:#fff}.skin-green .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-green .sidebar a{color:#b8c7ce}.skin-green .sidebar a:hover{text-decoration:none}.skin-green .treeview-menu>li>a{color:#8aa4af}.skin-green .treeview-menu>li.active>a,.skin-green .treeview-menu>li>a:hover{color:#fff}.skin-green .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-green .sidebar-form .btn,.skin-green .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-green .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-green .sidebar-form input[type=text]:focus,.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-green .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-green.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link{background-color:#00733e;border-color:#004023;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#004023;border-color:#004023;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#00733e;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#000d07;color:#fff}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}a{color:#00a65a}a:hover{color:#004023}a:visited{color:#00a65a}.text-primary{color:#004023}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#00a65a}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
:root{--visited-link:#5d995d;--background:#222;--back-main:#333;--back-sub:#3d4144;--back-sub-alt:rgba(0,0,0,.36);--button-default:#005a31;--button-primary:#002715;--button-hover:#000d07;--header:#00a65a;--text-main:#bbb;--text-sub:#9b9b9b;--link:#28a228}.skin-green .main-header .navbar{background-color:#00a65a}.skin-green .main-header .navbar .nav>li>a{color:#fff}.skin-green .main-header .navbar .nav .open>a,.skin-green .main-header .navbar .nav .open>a:focus,.skin-green .main-header .navbar .nav .open>a:hover,.skin-green .main-header .navbar .nav>.active>a,.skin-green .main-header .navbar .nav>li>a:active,.skin-green .main-header .navbar .nav>li>a:focus,.skin-green .main-header .navbar .nav>li>a:hover,.skin-green .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-green .main-header .navbar .sidebar-toggle{color:#fff}.skin-green .main-header .navbar .sidebar-toggle:hover{background-color:#008d4c}@media (max-width:767px){.skin-green .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-green .main-header .navbar .dropdown-menu li a{color:#333}.skin-green .main-header .navbar .dropdown-menu li a:hover{background:#008d4c}}.skin-green .main-header li.user-header{background-color:#00a65a}.skin-green .content-header{background:0 0}.skin-green .left-side,.skin-green .main-sidebar,.skin-green .wrapper{background-color:#222d32}.skin-green .user-panel>.info,.skin-green .user-panel>.info>a{color:#fff}.skin-green .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-green .sidebar-menu>li>a{border-left:3px solid transparent}.skin-green .sidebar-menu>li.active>a,.skin-green .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#00a65a;color:#fff}.skin-green .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-green .sidebar a{color:#b8c7ce}.skin-green .sidebar a:hover{text-decoration:none}.skin-green .treeview-menu>li>a{color:#8aa4af}.skin-green .treeview-menu>li.active>a,.skin-green .treeview-menu>li>a:hover{color:#fff}.skin-green .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-green .sidebar-form .btn,.skin-green .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-green .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-green .sidebar-form input[type=text]:focus,.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-green .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-green.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary{background-color:#00733e;border-color:#004023;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#004023;border-color:#004023;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#00733e;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#000d07;color:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}a{color:#00a65a}a:hover{color:#004023}a:visited{color:#00a65a}.text-primary{color:#004023}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#00a65a}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
:root{--background:#222;--back-main:#333;--back-sub:#3d4144;--back-sub-alt:rgba(0,0,0,.36);--button-default:#005a31;--button-primary:#002715;--button-hover:#000d07;--header:#00a65a;--text-main:#bbb;--text-sub:#9b9b9b;--link:#00a65a;--visited-link:#00f383;--hover-link:#0dff90}.skin-green .main-header .navbar{background-color:#00a65a}.skin-green .main-header .navbar .nav>li>a{color:#fff}.skin-green .main-header .navbar .nav .open>a,.skin-green .main-header .navbar .nav .open>a:focus,.skin-green .main-header .navbar .nav .open>a:hover,.skin-green .main-header .navbar .nav>.active>a,.skin-green .main-header .navbar .nav>li>a:active,.skin-green .main-header .navbar .nav>li>a:focus,.skin-green .main-header .navbar .nav>li>a:hover,.skin-green .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-green .main-header .navbar .sidebar-toggle{color:#fff}.skin-green .main-header .navbar .sidebar-toggle:hover{background-color:#008d4c}@media (max-width:767px){.skin-green .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-green .main-header .navbar .dropdown-menu li a{color:#333}.skin-green .main-header .navbar .dropdown-menu li a:hover{background:#008d4c}}.skin-green .main-header li.user-header{background-color:#00a65a}.skin-green .content-header{background:0 0}.skin-green .left-side,.skin-green .main-sidebar,.skin-green .wrapper{background-color:#222d32}.skin-green .user-panel>.info,.skin-green .user-panel>.info>a{color:#fff}.skin-green .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-green .sidebar-menu>li>a{border-left:3px solid transparent}.skin-green .sidebar-menu>li.active>a,.skin-green .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#00a65a;color:#fff}.skin-green .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-green .sidebar a{color:#b8c7ce}.skin-green .sidebar a:hover{text-decoration:none}.skin-green .treeview-menu>li>a{color:#8aa4af}.skin-green .treeview-menu>li.active>a,.skin-green .treeview-menu>li>a:hover{color:#fff}.skin-green .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-green .sidebar-form .btn,.skin-green .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-green .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-green .sidebar-form input[type=text]:focus,.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-green .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-green.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary{background-color:#00733e;border-color:#004023;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#004023;border-color:#004023;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#00733e;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#000d07;color:#fff}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}a{color:#00a65a}a:hover{color:#004023}a:visited{color:#00a65a}.text-primary{color:#004023}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#00a65a}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
.skin-orange .main-header .navbar{background-color:#ff8c00}.skin-orange .main-header .navbar .nav>li>a{color:#fff}.skin-orange .main-header .navbar .nav .open>a,.skin-orange .main-header .navbar .nav .open>a:focus,.skin-orange .main-header .navbar .nav .open>a:hover,.skin-orange .main-header .navbar .nav>.active>a,.skin-orange .main-header .navbar .nav>li>a:active,.skin-orange .main-header .navbar .nav>li>a:focus,.skin-orange .main-header .navbar .nav>li>a:hover,.skin-orange .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-orange .main-header .navbar .sidebar-toggle{color:#fff}.skin-orange .main-header .navbar .sidebar-toggle:hover{background-color:#e67e00}@media (max-width:767px){.skin-orange .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-orange .main-header .navbar .dropdown-menu li a{color:#333}.skin-orange .main-header .navbar .dropdown-menu li a:hover{background:#e67e00}}.skin-orange .main-header li.user-header{background-color:#ff8c00}.skin-orange .content-header{background:transparent}.skin-orange .left-side,.skin-orange .main-sidebar,.skin-orange .wrapper{background-color:#222d32}.skin-orange .user-panel>.info,.skin-orange .user-panel>.info>a{color:#fff}.skin-orange .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-orange .sidebar-menu>li>a{border-left:3px solid transparent}.skin-orange .sidebar-menu>li.active>a,.skin-orange .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#ff8c00;color:#fff}.skin-orange .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-orange .sidebar a{color:#b8c7ce}.skin-orange .sidebar a:hover{text-decoration:none}.skin-orange .treeview-menu>li>a{color:#8aa4af}.skin-orange .treeview-menu>li.active>a,.skin-orange .treeview-menu>li>a:hover{color:#fff}.skin-orange .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-orange .sidebar-form .btn,.skin-orange .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-orange .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-orange .sidebar-form input[type=text]:focus,.skin-orange .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-orange .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-orange .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-orange.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link{background-color:#cc7000;border-color:#995400;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#995400;border-color:#995400;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#cc7000;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#663800;color:#fff}a{color:#ff8c00}a:hover{color:#995400}a:visited{color:#ff8c00}.text-primary{color:#995400}:root{--button-default:#b36200;--button-primary:#804600;--button-hover:#663800;--header:#ff8c00;--text-main:#bbb;--text-sub:#9b9b9b;--link:#d43900;--visited-link:#d46a43;--hover-link:#ff4500;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#ff8c00}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
.skin-orange .main-header .navbar{background-color:#ff8c00}.skin-orange .main-header .navbar .nav>li>a{color:#fff}.skin-orange .main-header .navbar .nav .open>a,.skin-orange .main-header .navbar .nav .open>a:focus,.skin-orange .main-header .navbar .nav .open>a:hover,.skin-orange .main-header .navbar .nav>.active>a,.skin-orange .main-header .navbar .nav>li>a:active,.skin-orange .main-header .navbar .nav>li>a:focus,.skin-orange .main-header .navbar .nav>li>a:hover,.skin-orange .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-orange .main-header .navbar .sidebar-toggle{color:#fff}.skin-orange .main-header .navbar .sidebar-toggle:hover{background-color:#e67e00}@media (max-width:767px){.skin-orange .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-orange .main-header .navbar .dropdown-menu li a{color:#333}.skin-orange .main-header .navbar .dropdown-menu li a:hover{background:#e67e00}}.skin-orange .main-header li.user-header{background-color:#ff8c00}.skin-orange .content-header{background:transparent}.skin-orange .left-side,.skin-orange .main-sidebar,.skin-orange .wrapper{background-color:#222d32}.skin-orange .user-panel>.info,.skin-orange .user-panel>.info>a{color:#fff}.skin-orange .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-orange .sidebar-menu>li>a{border-left:3px solid transparent}.skin-orange .sidebar-menu>li.active>a,.skin-orange .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#ff8c00;color:#fff}.skin-orange .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-orange .sidebar a{color:#b8c7ce}.skin-orange .sidebar a:hover{text-decoration:none}.skin-orange .treeview-menu>li>a{color:#8aa4af}.skin-orange .treeview-menu>li.active>a,.skin-orange .treeview-menu>li>a:hover{color:#fff}.skin-orange .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-orange .sidebar-form .btn,.skin-orange .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-orange .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-orange .sidebar-form input[type=text]:focus,.skin-orange .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-orange .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-orange .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-orange.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link{background-color:#cc7000;border-color:#995400;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#995400;border-color:#995400;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#cc7000;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#663800;color:#fff}a{color:var(--link)}a:hover{color:var(--hover-link)}a:visited{color:var(--visited-link)}.text-primary{color:#995400}:root{--button-default:#b36200;--button-primary:#804600;--button-hover:#663800;--header:#ff8c00;--text-main:#bbb;--text-sub:#9b9b9b;--link:#ff8c00;--visited-link:#ffa333;--hover-link:#ffaf4d;--nav-link:#fff;--light-link:#fff}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#ff8c00}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
.skin-orange .main-header .navbar{background-color:#ff8c00}.skin-orange .main-header .navbar .nav>li>a{color:#fff}.skin-orange .main-header .navbar .nav .open>a,.skin-orange .main-header .navbar .nav .open>a:focus,.skin-orange .main-header .navbar .nav .open>a:hover,.skin-orange .main-header .navbar .nav>.active>a,.skin-orange .main-header .navbar .nav>li>a:active,.skin-orange .main-header .navbar .nav>li>a:focus,.skin-orange .main-header .navbar .nav>li>a:hover,.skin-orange .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-orange .main-header .navbar .sidebar-toggle{color:#fff}.skin-orange .main-header .navbar .sidebar-toggle:hover{background-color:#e67e00}@media (max-width:767px){.skin-orange .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-orange .main-header .navbar .dropdown-menu li a{color:#333}.skin-orange .main-header .navbar .dropdown-menu li a:hover{background:#e67e00}}.skin-orange .main-header li.user-header{background-color:#ff8c00}.skin-orange .content-header{background:0 0}.skin-orange .left-side,.skin-orange .main-sidebar,.skin-orange .wrapper{background-color:#222d32}.skin-orange .user-panel>.info,.skin-orange .user-panel>.info>a{color:#fff}.skin-orange .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-orange .sidebar-menu>li>a{border-left:3px solid transparent}.skin-orange .sidebar-menu>li.active>a,.skin-orange .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#ff8c00;color:#fff}.skin-orange .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-orange .sidebar a{color:#b8c7ce}.skin-orange .sidebar a:hover{text-decoration:none}.skin-orange .treeview-menu>li>a{color:#8aa4af}.skin-orange .treeview-menu>li.active>a,.skin-orange .treeview-menu>li>a:hover{color:#fff}.skin-orange .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-orange .sidebar-form .btn,.skin-orange .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-orange .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-orange .sidebar-form input[type=text]:focus,.skin-orange .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-orange .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-orange .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-orange.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary{background-color:#cc7000;border-color:#995400;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#995400;border-color:#995400;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#cc7000;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#663800;color:#fff}a{color:#ff8c00}a:hover{color:#995400}a:visited{color:#ff8c00}.text-primary{color:#995400}:root{--button-default:#b36200;--button-primary:#804600;--button-hover:#663800;--header:#ff8c00;--text-main:#bbb;--text-sub:#9b9b9b;--link:#d43900;--visited-link:#d46a43;--hover-link:#ff4500;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#ff8c00}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
.skin-orange .main-header .navbar{background-color:#ff8c00}.skin-orange .main-header .navbar .nav>li>a{color:#fff}.skin-orange .main-header .navbar .nav .open>a,.skin-orange .main-header .navbar .nav .open>a:focus,.skin-orange .main-header .navbar .nav .open>a:hover,.skin-orange .main-header .navbar .nav>.active>a,.skin-orange .main-header .navbar .nav>li>a:active,.skin-orange .main-header .navbar .nav>li>a:focus,.skin-orange .main-header .navbar .nav>li>a:hover,.skin-orange .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-orange .main-header .navbar .sidebar-toggle{color:#fff}.skin-orange .main-header .navbar .sidebar-toggle:hover{background-color:#e67e00}@media (max-width:767px){.skin-orange .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-orange .main-header .navbar .dropdown-menu li a{color:#333}.skin-orange .main-header .navbar .dropdown-menu li a:hover{background:#e67e00}}.skin-orange .main-header li.user-header{background-color:#ff8c00}.skin-orange .content-header{background:0 0}.skin-orange .left-side,.skin-orange .main-sidebar,.skin-orange .wrapper{background-color:#222d32}.skin-orange .user-panel>.info,.skin-orange .user-panel>.info>a{color:#fff}.skin-orange .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-orange .sidebar-menu>li>a{border-left:3px solid transparent}.skin-orange .sidebar-menu>li.active>a,.skin-orange .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#ff8c00;color:#fff}.skin-orange .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-orange .sidebar a{color:#b8c7ce}.skin-orange .sidebar a:hover{text-decoration:none}.skin-orange .treeview-menu>li>a{color:#8aa4af}.skin-orange .treeview-menu>li.active>a,.skin-orange .treeview-menu>li>a:hover{color:#fff}.skin-orange .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-orange .sidebar-form .btn,.skin-orange .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-orange .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-orange .sidebar-form input[type=text]:focus,.skin-orange .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-orange .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-orange .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-orange.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary{background-color:#cc7000;border-color:#995400;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#995400;border-color:#995400;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#cc7000;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#663800;color:#fff}a{color:var(--link)}a:hover{color:var(--hover-link)}a:visited{color:var(--visited-link)}.text-primary{color:#995400}:root{--button-default:#b36200;--button-primary:#804600;--button-hover:#663800;--header:#ff8c00;--text-main:#bbb;--text-sub:#9b9b9b;--link:#ff8c00;--visited-link:#ffa333;--hover-link:#ffaf4d;--nav-link:#fff;--light-link:#fff}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#ff8c00}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
.skin-purple .main-header .navbar{background-color:#605ca8}.skin-purple .main-header .navbar .nav>li>a{color:#fff}.skin-purple .main-header .navbar .nav .open>a,.skin-purple .main-header .navbar .nav .open>a:focus,.skin-purple .main-header .navbar .nav .open>a:hover,.skin-purple .main-header .navbar .nav>.active>a,.skin-purple .main-header .navbar .nav>li>a:active,.skin-purple .main-header .navbar .nav>li>a:focus,.skin-purple .main-header .navbar .nav>li>a:hover,.skin-purple .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-purple .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple .main-header .navbar .sidebar-toggle:hover{background-color:#555299}@media (max-width:767px){.skin-purple .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-purple .main-header .navbar .dropdown-menu li a{color:#333}.skin-purple .main-header .navbar .dropdown-menu li a:hover{background:#555299}}.skin-purple .main-header li.user-header{background-color:#605ca8}.skin-purple .content-header{background:transparent}.skin-purple .left-side,.skin-purple .main-sidebar,.skin-purple .wrapper{background-color:#222d32}.skin-purple .user-panel>.info,.skin-purple .user-panel>.info>a{color:#fff}.skin-purple .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-purple .sidebar-menu>li>a{border-left:3px solid transparent}.skin-purple .sidebar-menu>li.active>a,.skin-purple .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#605ca8;color:#fff}.skin-purple .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-purple .sidebar a{color:#b8c7ce}.skin-purple .sidebar a:hover{text-decoration:none}.skin-purple .treeview-menu>li>a{color:#8aa4af}.skin-purple .treeview-menu>li.active>a,.skin-purple .treeview-menu>li>a:hover{color:#fff}.skin-purple .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-purple .sidebar-form .btn,.skin-purple .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-purple .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-purple .sidebar-form input[type=text]:focus,.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-purple .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-purple.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link{background-color:#4c4988;border-color:#3a3767;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#3a3767;border-color:#3a3767;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#4c4988;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#272546;color:#fff}a{color:#605ca8}a:hover{color:#3a3767}a:visited{color:#605ca8}.text-primary{color:#3a3767}:root{--button-default:#434078;--button-primary:#302e56;--button-hover:#272546;--header:#605ca8;--text-main:#bbb;--text-sub:#9b9b9b;--link:#9370db;--visited-link:#b93cf6;--hover-link:#bf55ec;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#605ca8}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
.skin-purple .main-header .navbar{background-color:#605ca8}.skin-purple .main-header .navbar .nav>li>a{color:#fff}.skin-purple .main-header .navbar .nav .open>a,.skin-purple .main-header .navbar .nav .open>a:focus,.skin-purple .main-header .navbar .nav .open>a:hover,.skin-purple .main-header .navbar .nav>.active>a,.skin-purple .main-header .navbar .nav>li>a:active,.skin-purple .main-header .navbar .nav>li>a:focus,.skin-purple .main-header .navbar .nav>li>a:hover,.skin-purple .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-purple .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple .main-header .navbar .sidebar-toggle:hover{background-color:#555299}@media (max-width:767px){.skin-purple .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-purple .main-header .navbar .dropdown-menu li a{color:#333}.skin-purple .main-header .navbar .dropdown-menu li a:hover{background:#555299}}.skin-purple .main-header li.user-header{background-color:#605ca8}.skin-purple .content-header{background:transparent}.skin-purple .left-side,.skin-purple .main-sidebar,.skin-purple .wrapper{background-color:#222d32}.skin-purple .user-panel>.info,.skin-purple .user-panel>.info>a{color:#fff}.skin-purple .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-purple .sidebar-menu>li>a{border-left:3px solid transparent}.skin-purple .sidebar-menu>li.active>a,.skin-purple .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#605ca8;color:#fff}.skin-purple .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-purple .sidebar a{color:#b8c7ce}.skin-purple .sidebar a:hover{text-decoration:none}.skin-purple .treeview-menu>li>a{color:#8aa4af}.skin-purple .treeview-menu>li.active>a,.skin-purple .treeview-menu>li>a:hover{color:#fff}.skin-purple .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-purple .sidebar-form .btn,.skin-purple .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-purple .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-purple .sidebar-form input[type=text]:focus,.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-purple .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-purple.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link{background-color:#4c4988;border-color:#3a3767;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#3a3767;border-color:#3a3767;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#4c4988;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#272546;color:#fff}a{color:var(--link)}a:hover{color:var(--hover-link)}a:visited{color:var(--visited-link)}.text-primary{color:#3a3767}:root{--button-default:#434078;--button-primary:#302e56;--button-hover:#272546;--header:#605ca8;--text-main:#bbb;--text-sub:#9b9b9b;--link:#605ca8;--visited-link:#918ec3;--hover-link:#c1c0dd;--nav-link:#fff;--light-link:#fff}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#605ca8}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
.skin-purple .main-header .navbar{background-color:#605ca8}.skin-purple .main-header .navbar .nav>li>a{color:#fff}.skin-purple .main-header .navbar .nav .open>a,.skin-purple .main-header .navbar .nav .open>a:focus,.skin-purple .main-header .navbar .nav .open>a:hover,.skin-purple .main-header .navbar .nav>.active>a,.skin-purple .main-header .navbar .nav>li>a:active,.skin-purple .main-header .navbar .nav>li>a:focus,.skin-purple .main-header .navbar .nav>li>a:hover,.skin-purple .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-purple .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple .main-header .navbar .sidebar-toggle:hover{background-color:#555299}@media (max-width:767px){.skin-purple .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-purple .main-header .navbar .dropdown-menu li a{color:#333}.skin-purple .main-header .navbar .dropdown-menu li a:hover{background:#555299}}.skin-purple .main-header li.user-header{background-color:#605ca8}.skin-purple .content-header{background:0 0}.skin-purple .left-side,.skin-purple .main-sidebar,.skin-purple .wrapper{background-color:#222d32}.skin-purple .user-panel>.info,.skin-purple .user-panel>.info>a{color:#fff}.skin-purple .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-purple .sidebar-menu>li>a{border-left:3px solid transparent}.skin-purple .sidebar-menu>li.active>a,.skin-purple .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#605ca8;color:#fff}.skin-purple .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-purple .sidebar a{color:#b8c7ce}.skin-purple .sidebar a:hover{text-decoration:none}.skin-purple .treeview-menu>li>a{color:#8aa4af}.skin-purple .treeview-menu>li.active>a,.skin-purple .treeview-menu>li>a:hover{color:#fff}.skin-purple .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-purple .sidebar-form .btn,.skin-purple .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-purple .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-purple .sidebar-form input[type=text]:focus,.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-purple .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-purple.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary{background-color:#4c4988;border-color:#3a3767;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#3a3767;border-color:#3a3767;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#4c4988;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#272546;color:#fff}a{color:#605ca8}a:hover{color:#3a3767}a:visited{color:#605ca8}.text-primary{color:#3a3767}:root{--button-default:#434078;--button-primary:#302e56;--button-hover:#272546;--header:#605ca8;--text-main:#bbb;--text-sub:#9b9b9b;--link:#9370db;--visited-link:#b93cf6;--hover-link:#bf55ec;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#605ca8}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
.skin-purple .main-header .navbar{background-color:#605ca8}.skin-purple .main-header .navbar .nav>li>a{color:#fff}.skin-purple .main-header .navbar .nav .open>a,.skin-purple .main-header .navbar .nav .open>a:focus,.skin-purple .main-header .navbar .nav .open>a:hover,.skin-purple .main-header .navbar .nav>.active>a,.skin-purple .main-header .navbar .nav>li>a:active,.skin-purple .main-header .navbar .nav>li>a:focus,.skin-purple .main-header .navbar .nav>li>a:hover,.skin-purple .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-purple .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple .main-header .navbar .sidebar-toggle:hover{background-color:#555299}@media (max-width:767px){.skin-purple .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-purple .main-header .navbar .dropdown-menu li a{color:#333}.skin-purple .main-header .navbar .dropdown-menu li a:hover{background:#555299}}.skin-purple .main-header li.user-header{background-color:#605ca8}.skin-purple .content-header{background:0 0}.skin-purple .left-side,.skin-purple .main-sidebar,.skin-purple .wrapper{background-color:#222d32}.skin-purple .user-panel>.info,.skin-purple .user-panel>.info>a{color:#fff}.skin-purple .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-purple .sidebar-menu>li>a{border-left:3px solid transparent}.skin-purple .sidebar-menu>li.active>a,.skin-purple .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#605ca8;color:#fff}.skin-purple .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-purple .sidebar a{color:#b8c7ce}.skin-purple .sidebar a:hover{text-decoration:none}.skin-purple .treeview-menu>li>a{color:#8aa4af}.skin-purple .treeview-menu>li.active>a,.skin-purple .treeview-menu>li>a:hover{color:#fff}.skin-purple .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-purple .sidebar-form .btn,.skin-purple .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-purple .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-purple .sidebar-form input[type=text]:focus,.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-purple .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-purple.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary{background-color:#4c4988;border-color:#3a3767;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#3a3767;border-color:#3a3767;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#4c4988;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#272546;color:#fff}a{color:var(--link)}a:hover{color:var(--hover-link)}a:visited{color:var(--visited-link)}.text-primary{color:#3a3767}:root{--button-default:#434078;--button-primary:#302e56;--button-hover:#272546;--header:#605ca8;--text-main:#bbb;--text-sub:#9b9b9b;--link:#605ca8;--visited-link:#918ec3;--hover-link:#c1c0dd;--nav-link:#fff;--light-link:#fff}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#605ca8}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1 +1 @@
|
||||
.skin-red .main-header .navbar{background-color:#dd4b39}.skin-red .main-header .navbar .nav>li>a{color:#fff}.skin-red .main-header .navbar .nav .open>a,.skin-red .main-header .navbar .nav .open>a:focus,.skin-red .main-header .navbar .nav .open>a:hover,.skin-red .main-header .navbar .nav>.active>a,.skin-red .main-header .navbar .nav>li>a:active,.skin-red .main-header .navbar .nav>li>a:focus,.skin-red .main-header .navbar .nav>li>a:hover,.skin-red .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-red .main-header .navbar .sidebar-toggle{color:#fff}.skin-red .main-header .navbar .sidebar-toggle:hover{background-color:#d73925}@media (max-width:767px){.skin-red .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-red .main-header .navbar .dropdown-menu li a{color:#333}.skin-red .main-header .navbar .dropdown-menu li a:hover{background:#d73925}}.skin-red .main-header li.user-header{background-color:#dd4b39}.skin-red .content-header{background:transparent}.skin-red .left-side,.skin-red .main-sidebar,.skin-red .wrapper{background-color:#222d32}.skin-red .user-panel>.info,.skin-red .user-panel>.info>a{color:#fff}.skin-red .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-red .sidebar-menu>li>a{border-left:3px solid transparent}.skin-red .sidebar-menu>li.active>a,.skin-red .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#dd4b39;color:#fff}.skin-red .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-red .sidebar a{color:#b8c7ce}.skin-red .sidebar a:hover{text-decoration:none}.skin-red .treeview-menu>li>a{color:#8aa4af}.skin-red .treeview-menu>li.active>a,.skin-red .treeview-menu>li>a:hover{color:#fff}.skin-red .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-red .sidebar-form .btn,.skin-red .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-red .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-red .sidebar-form input[type=text]:focus,.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-red .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-red.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link{background-color:#c23321;border-color:#96271a;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#96271a;border-color:#96271a;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#c23321;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#6b1c12;color:#fff}a{color:#dd4b39}a:hover{color:#96271a}a:visited{color:#dd4b39}.text-primary{color:#96271a}:root{--button-default:#ac2d1e;--button-primary:#802216;--button-hover:#6b1c12;--header:#dd4b39;--text-main:#bbb;--text-alt:#222;--text-sub:#9b9b9b;--link:#e00000;--visited-link:#d24d57;--hover-link:#d24d57;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#dd4b39}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
.skin-red .main-header .navbar{background-color:#dd4b39}.skin-red .main-header .navbar .nav>li>a{color:#fff}.skin-red .main-header .navbar .nav .open>a,.skin-red .main-header .navbar .nav .open>a:focus,.skin-red .main-header .navbar .nav .open>a:hover,.skin-red .main-header .navbar .nav>.active>a,.skin-red .main-header .navbar .nav>li>a:active,.skin-red .main-header .navbar .nav>li>a:focus,.skin-red .main-header .navbar .nav>li>a:hover,.skin-red .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-red .main-header .navbar .sidebar-toggle{color:#fff}.skin-red .main-header .navbar .sidebar-toggle:hover{background-color:#d73925}@media (max-width:767px){.skin-red .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-red .main-header .navbar .dropdown-menu li a{color:#333}.skin-red .main-header .navbar .dropdown-menu li a:hover{background:#d73925}}.skin-red .main-header li.user-header{background-color:#dd4b39}.skin-red .content-header{background:transparent}.skin-red .left-side,.skin-red .main-sidebar,.skin-red .wrapper{background-color:#222d32}.skin-red .user-panel>.info,.skin-red .user-panel>.info>a{color:#fff}.skin-red .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-red .sidebar-menu>li>a{border-left:3px solid transparent}.skin-red .sidebar-menu>li.active>a,.skin-red .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#dd4b39;color:#fff}.skin-red .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-red .sidebar a{color:#b8c7ce}.skin-red .sidebar a:hover{text-decoration:none}.skin-red .treeview-menu>li>a{color:#8aa4af}.skin-red .treeview-menu>li.active>a,.skin-red .treeview-menu>li>a:hover{color:#fff}.skin-red .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-red .sidebar-form .btn,.skin-red .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-red .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-red .sidebar-form input[type=text]:focus,.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-red .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-red.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link{background-color:#c23321;border-color:#96271a;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#96271a;border-color:#96271a;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#c23321;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#6b1c12;color:#fff}a{color:#dd4b39}a:hover{color:#96271a}a:visited{color:#dd4b39}.text-primary{color:#96271a}:root{--button-default:#ac2d1e;--button-primary:#802216;--button-hover:#6b1c12;--header:#dd4b39;--text-main:#bbb;--text-alt:#222;--text-sub:#9b9b9b;--link:#dd4b39;--visited-link:#e8867a;--hover-link:#f3c2bc;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#dd4b39}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
.skin-red .main-header .navbar{background-color:#dd4b39}.skin-red .main-header .navbar .nav>li>a{color:#fff}.skin-red .main-header .navbar .nav .open>a,.skin-red .main-header .navbar .nav .open>a:focus,.skin-red .main-header .navbar .nav .open>a:hover,.skin-red .main-header .navbar .nav>.active>a,.skin-red .main-header .navbar .nav>li>a:active,.skin-red .main-header .navbar .nav>li>a:focus,.skin-red .main-header .navbar .nav>li>a:hover,.skin-red .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-red .main-header .navbar .sidebar-toggle{color:#fff}.skin-red .main-header .navbar .sidebar-toggle:hover{background-color:#d73925}@media (max-width:767px){.skin-red .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-red .main-header .navbar .dropdown-menu li a{color:#333}.skin-red .main-header .navbar .dropdown-menu li a:hover{background:#d73925}}.skin-red .main-header li.user-header{background-color:#dd4b39}.skin-red .content-header{background:0 0}.skin-red .left-side,.skin-red .main-sidebar,.skin-red .wrapper{background-color:#222d32}.skin-red .user-panel>.info,.skin-red .user-panel>.info>a{color:#fff}.skin-red .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-red .sidebar-menu>li>a{border-left:3px solid transparent}.skin-red .sidebar-menu>li.active>a,.skin-red .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#dd4b39;color:#fff}.skin-red .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-red .sidebar a{color:#b8c7ce}.skin-red .sidebar a:hover{text-decoration:none}.skin-red .treeview-menu>li>a{color:#8aa4af}.skin-red .treeview-menu>li.active>a,.skin-red .treeview-menu>li>a:hover{color:#fff}.skin-red .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-red .sidebar-form .btn,.skin-red .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-red .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-red .sidebar-form input[type=text]:focus,.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-red .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-red.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary{background-color:#c23321;border-color:#96271a;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#96271a;border-color:#96271a;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#c23321;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#6b1c12;color:#fff}a{color:#dd4b39}a:hover{color:#96271a}a:visited{color:#dd4b39}.text-primary{color:#96271a}:root{--button-default:#ac2d1e;--button-primary:#802216;--button-hover:#6b1c12;--header:#dd4b39;--text-main:#bbb;--text-alt:#222;--text-sub:#9b9b9b;--link:#e00000;--visited-link:#d24d57;--hover-link:#d24d57;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#dd4b39}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
.skin-red .main-header .navbar{background-color:#dd4b39}.skin-red .main-header .navbar .nav>li>a{color:#fff}.skin-red .main-header .navbar .nav .open>a,.skin-red .main-header .navbar .nav .open>a:focus,.skin-red .main-header .navbar .nav .open>a:hover,.skin-red .main-header .navbar .nav>.active>a,.skin-red .main-header .navbar .nav>li>a:active,.skin-red .main-header .navbar .nav>li>a:focus,.skin-red .main-header .navbar .nav>li>a:hover,.skin-red .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-red .main-header .navbar .sidebar-toggle{color:#fff}.skin-red .main-header .navbar .sidebar-toggle:hover{background-color:#d73925}@media (max-width:767px){.skin-red .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-red .main-header .navbar .dropdown-menu li a{color:#333}.skin-red .main-header .navbar .dropdown-menu li a:hover{background:#d73925}}.skin-red .main-header li.user-header{background-color:#dd4b39}.skin-red .content-header{background:0 0}.skin-red .left-side,.skin-red .main-sidebar,.skin-red .wrapper{background-color:#222d32}.skin-red .user-panel>.info,.skin-red .user-panel>.info>a{color:#fff}.skin-red .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-red .sidebar-menu>li>a{border-left:3px solid transparent}.skin-red .sidebar-menu>li.active>a,.skin-red .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#dd4b39;color:#fff}.skin-red .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-red .sidebar a{color:#b8c7ce}.skin-red .sidebar a:hover{text-decoration:none}.skin-red .treeview-menu>li>a{color:#8aa4af}.skin-red .treeview-menu>li.active>a,.skin-red .treeview-menu>li>a:hover{color:#fff}.skin-red .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-red .sidebar-form .btn,.skin-red .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-red .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-red .sidebar-form input[type=text]:focus,.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-red .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-red.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary{background-color:#c23321;border-color:#96271a;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#96271a;border-color:#96271a;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#c23321;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#6b1c12;color:#fff}a{color:#dd4b39}a:hover{color:#96271a}a:visited{color:#dd4b39}.text-primary{color:#96271a}:root{--button-default:#ac2d1e;--button-primary:#802216;--button-hover:#6b1c12;--header:#dd4b39;--text-main:#bbb;--text-alt:#222;--text-sub:#9b9b9b;--link:#dd4b39;--visited-link:#e8867a;--hover-link:#f3c2bc;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#dd4b39}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
.skin-yellow .main-header .navbar{background-color:#f39c12}.skin-yellow .main-header .navbar .nav>li>a{color:#fff}.skin-yellow .main-header .navbar .nav .open>a,.skin-yellow .main-header .navbar .nav .open>a:focus,.skin-yellow .main-header .navbar .nav .open>a:hover,.skin-yellow .main-header .navbar .nav>.active>a,.skin-yellow .main-header .navbar .nav>li>a:active,.skin-yellow .main-header .navbar .nav>li>a:focus,.skin-yellow .main-header .navbar .nav>li>a:hover,.skin-yellow .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-yellow .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow .main-header .navbar .sidebar-toggle:hover{background-color:#e08e0b}@media (max-width:767px){.skin-yellow .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-yellow .main-header .navbar .dropdown-menu li a{color:#333}.skin-yellow .main-header .navbar .dropdown-menu li a:hover{background:#e08e0b}}.skin-yellow .main-header li.user-header{background-color:#f39c12}.skin-yellow .content-header{background:transparent}.skin-yellow .left-side,.skin-yellow .main-sidebar,.skin-yellow .wrapper{background-color:#222d32}.skin-yellow .user-panel>.info,.skin-yellow .user-panel>.info>a{color:#fff}.skin-yellow .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-yellow .sidebar-menu>li>a{border-left:3px solid transparent}.skin-yellow .sidebar-menu>li.active>a,.skin-yellow .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#f39c12;color:#fff}.skin-yellow .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-yellow .sidebar a{color:#b8c7ce}.skin-yellow .sidebar a:hover{text-decoration:none}.skin-yellow .treeview-menu>li>a{color:#8aa4af}.skin-yellow .treeview-menu>li.active>a,.skin-yellow .treeview-menu>li>a:hover{color:#fff}.skin-yellow .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-yellow .sidebar-form .btn,.skin-yellow .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-yellow .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-yellow .sidebar-form input[type=text]:focus,.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-yellow .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-yellow.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link{background-color:#c87f0a;border-color:#976008;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#976008;border-color:#976008;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#c87f0a;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#674105;color:#fff}a{color:#f39c12}a:hover{color:#976008}a:visited{color:#f39c12}.text-primary{color:#976008}:root{--button-default:#b06f09;--button-primary:#7f5006;--button-hover:#674105;--header:#f39c12;--text-main:#bbb;--text-sub:#9b9b9b;--link:#f5b043;--visited-link:#f8c573;--hover-link:#fef7ec;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#f39c12}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
.skin-yellow .main-header .navbar{background-color:#fbcc34}.skin-yellow .main-header .navbar .nav>li>a{color:hsla(0,0%,100%,.8)}.skin-yellow .main-header .navbar .nav .open>a,.skin-yellow .main-header .navbar .nav .open>a:focus,.skin-yellow .main-header .navbar .nav .open>a:hover,.skin-yellow .main-header .navbar .nav>.active>a,.skin-yellow .main-header .navbar .nav>li>a:active,.skin-yellow .main-header .navbar .nav>li>a:focus,.skin-yellow .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-yellow .main-header .navbar .sidebar-toggle{color:hsla(0,0%,100%,.8)}.skin-yellow .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-yellow .main-header .navbar .sidebar-toggle{color:#000}.skin-yellow .main-header .navbar .sidebar-toggle:hover{background-color:#fbc61b}@media (max-width:767px){.skin-yellow .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-yellow .main-header .navbar .dropdown-menu li a{color:#333}.skin-yellow .main-header .navbar .dropdown-menu li a:hover{background:#fbc61b}}.skin-yellow .main-header li.user-header{background-color:#fbcc34}.skin-yellow .content-header{background:transparent}.skin-yellow .left-side,.skin-yellow .main-sidebar,.skin-yellow .wrapper{background-color:#222d32}.skin-yellow .user-panel>.info,.skin-yellow .user-panel>.info>a{color:#fff}.skin-yellow .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-yellow .sidebar-menu>li>a{border-left:3px solid transparent}.skin-yellow .sidebar-menu>li.active>a,.skin-yellow .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#fbcc34;color:#fff}.skin-yellow .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-yellow .sidebar a{color:#b8c7ce}.skin-yellow .sidebar a:hover{text-decoration:none}.skin-yellow .treeview-menu>li>a{color:#8aa4af}.skin-yellow .treeview-menu>li.active>a,.skin-yellow .treeview-menu>li>a:hover{color:#fff}.skin-yellow .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-yellow .sidebar-form .btn,.skin-yellow .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-yellow .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-yellow .sidebar-form input[type=text]:focus,.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-yellow .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-yellow.layout-top-nav .main-header>.logo .logo-variant{background-color:none;color:#413f42}.btn.btn-primary,.btn .btn-primary:link,.btn:hover.btn-primary,.btn:hover .btn-primary:link{background-color:#f7be05;border-color:#c59704;color:var(--nav-link)}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#c59704;border-color:#c59704;color:var(--nav-link)}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#f7be05;color:var(--nav-link)}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#937103;color:var(--nav-link)}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}a{color:var(--link)}a:hover{color:var(--hover-link)}a:visited{color:var(--visited-link)}.text-primary{color:#c59704}:root{--button-default:#deab04;--button-primary:#ac8403;--button-hover:#937103;--header:#fbcc34;--text-main:#bbb;--text-sub:#9b9b9b;--link:#5b585c;--visited-link:#747176;--hover-link:#b4b1b5;--nav-link:#222;--light-link:#fff}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#fbcc34}.search-highlight,.search-highlight:hover{background-color:#e9d15b}.navbar-nav>li>a:link,.navbar-nav>li>a:visited,.thead,:hover{color:var(--nav-link)}.skin-yellow .main-header .navbar .nav>li>a{color:#413f42}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
.skin-yellow .main-header .navbar{background-color:#f39c12}.skin-yellow .main-header .navbar .nav>li>a{color:#fff}.skin-yellow .main-header .navbar .nav .open>a,.skin-yellow .main-header .navbar .nav .open>a:focus,.skin-yellow .main-header .navbar .nav .open>a:hover,.skin-yellow .main-header .navbar .nav>.active>a,.skin-yellow .main-header .navbar .nav>li>a:active,.skin-yellow .main-header .navbar .nav>li>a:focus,.skin-yellow .main-header .navbar .nav>li>a:hover,.skin-yellow .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-yellow .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow .main-header .navbar .sidebar-toggle:hover{background-color:#e08e0b}@media (max-width:767px){.skin-yellow .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-yellow .main-header .navbar .dropdown-menu li a{color:#333}.skin-yellow .main-header .navbar .dropdown-menu li a:hover{background:#e08e0b}}.skin-yellow .main-header li.user-header{background-color:#f39c12}.skin-yellow .content-header{background:0 0}.skin-yellow .left-side,.skin-yellow .main-sidebar,.skin-yellow .wrapper{background-color:#222d32}.skin-yellow .user-panel>.info,.skin-yellow .user-panel>.info>a{color:#fff}.skin-yellow .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-yellow .sidebar-menu>li>a{border-left:3px solid transparent}.skin-yellow .sidebar-menu>li.active>a,.skin-yellow .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#f39c12;color:#fff}.skin-yellow .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-yellow .sidebar a{color:#b8c7ce}.skin-yellow .sidebar a:hover{text-decoration:none}.skin-yellow .treeview-menu>li>a{color:#8aa4af}.skin-yellow .treeview-menu>li.active>a,.skin-yellow .treeview-menu>li>a:hover{color:#fff}.skin-yellow .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-yellow .sidebar-form .btn,.skin-yellow .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-yellow .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-yellow .sidebar-form input[type=text]:focus,.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-yellow .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-yellow.layout-top-nav .main-header>.logo .logo-variant{background-color:none}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary{background-color:#c87f0a;border-color:#976008;color:#fff}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#976008;border-color:#976008;color:#fff}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#c87f0a;color:#fff}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#674105;color:#fff}a{color:#f39c12}a:hover{color:#976008}a:visited{color:#f39c12}.text-primary{color:#976008}:root{--button-default:#b06f09;--button-primary:#7f5006;--button-hover:#674105;--header:#f39c12;--text-main:#bbb;--text-sub:#9b9b9b;--link:#f5b043;--visited-link:#f8c573;--hover-link:#fef7ec;--nav-link:#fff;--light-link:#fff}a:link{color:var(--link)}a:visited{color:var(--visited-link)}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#f39c12}.search-highlight,.search-highlight:hover{background-color:#e9d15b}
|
||||
.skin-yellow .main-header .navbar{background-color:#fbcc34}.skin-yellow .main-header .navbar .nav>li>a{color:hsla(0,0%,100%,.8)}.skin-yellow .main-header .navbar .nav .open>a,.skin-yellow .main-header .navbar .nav .open>a:focus,.skin-yellow .main-header .navbar .nav .open>a:hover,.skin-yellow .main-header .navbar .nav>.active>a,.skin-yellow .main-header .navbar .nav>li>a:active,.skin-yellow .main-header .navbar .nav>li>a:focus,.skin-yellow .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-yellow .main-header .navbar .sidebar-toggle{color:hsla(0,0%,100%,.8)}.skin-yellow .main-header .navbar .sidebar-toggle:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-yellow .main-header .navbar .sidebar-toggle{color:#000}.skin-yellow .main-header .navbar .sidebar-toggle:hover{background-color:#fbc61b}@media (max-width:767px){.skin-yellow .main-header .navbar .dropdown-menu li.divider{background-color:hsla(0,0%,100%,.1)}.skin-yellow .main-header .navbar .dropdown-menu li a{color:#333}.skin-yellow .main-header .navbar .dropdown-menu li a:hover{background:#fbc61b}}.skin-yellow .main-header li.user-header{background-color:#fbcc34}.skin-yellow .content-header{background:0 0}.skin-yellow .left-side,.skin-yellow .main-sidebar,.skin-yellow .wrapper{background-color:#222d32}.skin-yellow .user-panel>.info,.skin-yellow .user-panel>.info>a{color:#fff}.skin-yellow .sidebar-menu>li.header{background:#1a2226;color:#4b646f}.skin-yellow .sidebar-menu>li>a{border-left:3px solid transparent}.skin-yellow .sidebar-menu>li.active>a,.skin-yellow .sidebar-menu>li:hover>a{background:#1e282c;border-left-color:#fbcc34;color:#fff}.skin-yellow .sidebar-menu>li>.treeview-menu{background:#2c3b41;margin:0 1px}.skin-yellow .sidebar a{color:#b8c7ce}.skin-yellow .sidebar a:hover{text-decoration:none}.skin-yellow .treeview-menu>li>a{color:#8aa4af}.skin-yellow .treeview-menu>li.active>a,.skin-yellow .treeview-menu>li>a:hover{color:#fff}.skin-yellow .sidebar-form{border:1px solid #374850;border-radius:3px;margin:10px}.skin-yellow .sidebar-form .btn,.skin-yellow .sidebar-form input[type=text]{background-color:#374850;border:1px solid transparent;box-shadow:none;height:35px;transition:all .3s ease-in-out}.skin-yellow .sidebar-form input[type=text]{border-bottom-left-radius:2px;border-bottom-right-radius:0;border-top-left-radius:2px;border-top-right-radius:0;color:#666}.skin-yellow .sidebar-form input[type=text]:focus,.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-yellow .sidebar-form .btn{border-bottom-left-radius:0;border-bottom-right-radius:2px;border-top-left-radius:0;border-top-right-radius:2px;color:#999}.skin-yellow.layout-top-nav .main-header>.logo .logo-variant{background-color:none;color:#413f42}.btn .btn-primary:link,.btn.btn-primary,.btn:hover .btn-primary:link,.btn:hover.btn-primary{background-color:#f7be05;border-color:#c59704;color:var(--nav-link)}.btn:hovera.btn-primary:hover,.btna.btn-primary:hover{background-color:#c59704;border-color:#c59704;color:var(--nav-link)}.btn.btn-white:link,.btn:hover.btn-white:link{background-color:#f7be05;color:var(--nav-link)}.btn.btn-white:hover,.btn:hover.btn-white:hover{background-color:#937103;color:var(--nav-link)}a.btn-danger:link,a.btn-danger:visited,a.btn-info:link,a.btn-info:visited,a.btn-warning:link,a.btn-warning:visited{color:#fff}a{color:var(--link)}a:hover{color:var(--hover-link)}a:visited{color:var(--visited-link)}.text-primary{color:#c59704}:root{--button-default:#deab04;--button-primary:#ac8403;--button-hover:#937103;--header:#fbcc34;--text-main:#bbb;--text-sub:#9b9b9b;--link:#5b585c;--visited-link:#747176;--hover-link:#b4b1b5;--nav-link:#222;--light-link:#fff}.fixed-table-container tbody .selected td{background-color:#fff8af}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#fbcc34}.search-highlight,.search-highlight:hover{background-color:#e9d15b}.navbar-nav>li>a:link,.navbar-nav>li>a:visited,.thead,:hover{color:var(--nav-link)}.skin-yellow .main-header .navbar .nav>li>a{color:#413f42}
|
||||
|
||||
+24
-24
@@ -1,23 +1,23 @@
|
||||
{
|
||||
"/js/build/app.js": "/js/build/app.js?id=1218df365997eb1079ea",
|
||||
"/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=9f6ae16efc6ddadf0ad4",
|
||||
"/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=51d7091a9d7a8a2bc841",
|
||||
"/css/build/overrides.css": "/css/build/overrides.css?id=21281fb933786f40e97c",
|
||||
"/css/build/app.css": "/css/build/app.css?id=a05de1e55dcc50ddba9a",
|
||||
"/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=40a6f3c46ef38d996f49",
|
||||
"/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=1da067e3b29fa4025fab",
|
||||
"/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=b39ee82b48cc27c648ca",
|
||||
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=55ce0f4b9f43b17c8ca7",
|
||||
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=76a13b403f77351926dc",
|
||||
"/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=b455da82eb04b8629f2d",
|
||||
"/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=ebdacfffd0e8def6214a",
|
||||
"/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=92330c5da2593fedb6b5",
|
||||
"/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=7f4d9d84e507abe268f7",
|
||||
"/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=43b0bd45828351b50a0c",
|
||||
"/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=e6ff44e5e81cb3e2ce53",
|
||||
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=5a3f072e6420c90f3c99",
|
||||
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=fcae5fb1c668901a0a25",
|
||||
"/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=8012e592625228bfa0cc",
|
||||
"/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=84c95e533d8e705a1f4d",
|
||||
"/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=b4c6cff5297b36a6978f",
|
||||
"/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=6f3aaf8d88e6e3f886dc",
|
||||
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=72a21ceded782ed22531",
|
||||
"/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=537a7214eb6eb2ddb6cb",
|
||||
"/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=f46ff1c860ae9e87d484",
|
||||
"/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=d14248e210b998d85641",
|
||||
"/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=c525c355fbac35235ff8",
|
||||
"/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=07bd8920490cc3c0364e",
|
||||
"/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=3654491c6565f7dc9bb4",
|
||||
"/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=1c8d372f8457ed3d26c2",
|
||||
"/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=9d753f6f06a2941d9b97",
|
||||
"/css/dist/all.css": "/css/dist/all.css?id=b657d018489da88020dd",
|
||||
"/css/blue.png": "/css/blue.png?id=e83a6c29e04fe851f212",
|
||||
"/css/blue@2x.png": "/css/blue@2x.png?id=51135dd4d24f88f5de0b",
|
||||
@@ -27,19 +27,19 @@
|
||||
"/js/build/vendor.js": "/js/build/vendor.js?id=47ecbb4bb3b0e02315f3",
|
||||
"/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=8b909f5a1792dcc78a4b",
|
||||
"/js/dist/all.js": "/js/dist/all.js?id=e25ec49ad10591b90f1a",
|
||||
"/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=d14248e210b998d85641",
|
||||
"/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=f46ff1c860ae9e87d484",
|
||||
"/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=07bd8920490cc3c0364e",
|
||||
"/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=c525c355fbac35235ff8",
|
||||
"/css/dist/skins/skin-black.min.css": "/css/dist/skins/skin-black.min.css?id=537a7214eb6eb2ddb6cb",
|
||||
"/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=72a21ceded782ed22531",
|
||||
"/css/dist/skins/skin-blue.min.css": "/css/dist/skins/skin-blue.min.css?id=9f6ae16efc6ddadf0ad4",
|
||||
"/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=55ce0f4b9f43b17c8ca7",
|
||||
"/css/dist/skins/skin-yellow.min.css": "/css/dist/skins/skin-yellow.min.css?id=b455da82eb04b8629f2d",
|
||||
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=76a13b403f77351926dc",
|
||||
"/css/dist/skins/skin-red.min.css": "/css/dist/skins/skin-red.min.css?id=1c8d372f8457ed3d26c2",
|
||||
"/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=7f4d9d84e507abe268f7",
|
||||
"/css/dist/skins/skin-purple.min.css": "/css/dist/skins/skin-purple.min.css?id=92330c5da2593fedb6b5",
|
||||
"/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=ebdacfffd0e8def6214a",
|
||||
"/css/dist/skins/skin-orange.min.css": "/css/dist/skins/skin-orange.min.css?id=1da067e3b29fa4025fab",
|
||||
"/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=b39ee82b48cc27c648ca",
|
||||
"/css/dist/skins/skin-blue.min.css": "/css/dist/skins/skin-blue.min.css?id=51d7091a9d7a8a2bc841",
|
||||
"/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=5a3f072e6420c90f3c99",
|
||||
"/css/dist/skins/skin-yellow.min.css": "/css/dist/skins/skin-yellow.min.css?id=8012e592625228bfa0cc",
|
||||
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=fcae5fb1c668901a0a25",
|
||||
"/css/dist/skins/skin-red.min.css": "/css/dist/skins/skin-red.min.css?id=9d753f6f06a2941d9b97",
|
||||
"/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=6f3aaf8d88e6e3f886dc",
|
||||
"/css/dist/skins/skin-purple.min.css": "/css/dist/skins/skin-purple.min.css?id=b4c6cff5297b36a6978f",
|
||||
"/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=84c95e533d8e705a1f4d",
|
||||
"/css/dist/skins/skin-orange.min.css": "/css/dist/skins/skin-orange.min.css?id=43b0bd45828351b50a0c",
|
||||
"/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=e6ff44e5e81cb3e2ce53",
|
||||
"/css/dist/skins/skin-contrast.min.css": "/css/dist/skins/skin-contrast.min.css?id=3654491c6565f7dc9bb4"
|
||||
}
|
||||
|
||||
@@ -61,12 +61,12 @@
|
||||
|
||||
|
||||
.btn, .btn:hover {
|
||||
color: #fff;
|
||||
color: #fff !important;
|
||||
|
||||
&.btn-primary, .btn-primary:link {
|
||||
background-color: darken(@blue, 10%);
|
||||
border-color: darken(@blue, 20%);
|
||||
color: #fff;
|
||||
border-color: #FFF;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
|
||||
@@ -90,10 +90,10 @@
|
||||
|
||||
a {
|
||||
&:hover {
|
||||
color: #fff;
|
||||
color: var(--hover-link);
|
||||
}
|
||||
&:visited {
|
||||
color: #fff;
|
||||
color: var(--visited-link);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ a {
|
||||
:root {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #3d4144;
|
||||
--back-sub: #272727;
|
||||
--back-sub-alt: rgba(0, 0, 0, 0.36);
|
||||
--button-default: darken(@blue, 15%);
|
||||
--button-primary: darken(@blue, 25%);
|
||||
@@ -115,9 +115,9 @@ a {
|
||||
--header: @blue; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: #1978D4; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: #3c8dbc ; /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: #4B77BE; /* Use same as Header picker, lighten by 70% */
|
||||
--link: #00BFFF; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(#00BFFF,15%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(#00BFFF,30%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
@@ -146,14 +146,6 @@ a:link {
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--hover-link);
|
||||
}
|
||||
|
||||
.btn-primary.hover {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
@@ -203,7 +195,7 @@ body {
|
||||
color: var(--link);
|
||||
}
|
||||
.btn-primary, .btn-primary.hover, .btn-primary:active, .text-blue {
|
||||
color: var(--text-main)!important;
|
||||
color: var(--text-main);
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background-color: var(--button-primary);
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
&.btn-primary, .btn-primary:link {
|
||||
background-color: darken(@light-blue, 10%);
|
||||
border-color: darken(@light-blue, 20%);
|
||||
color: #fff;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
|
||||
@@ -99,16 +99,6 @@
|
||||
}
|
||||
|
||||
|
||||
|
||||
a {
|
||||
color: @light-blue;
|
||||
&:hover {
|
||||
color: darken(@light-blue, 20%);
|
||||
}
|
||||
&:visited {
|
||||
color: @light-blue;
|
||||
}
|
||||
}
|
||||
:root {
|
||||
--button-default: darken(@blue, 15%);
|
||||
--button-primary: darken(@blue, 25%);
|
||||
@@ -116,12 +106,18 @@ a {
|
||||
--header: @blue; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: #1978D4; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: #3c8dbc ; /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: #4B77BE; /* Use same as Header picker, lighten by 70% */
|
||||
--link: @blue; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@blue,10%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@blue,20%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
a.btn-info:link, a.btn-warning:link, a.btn-danger:link{
|
||||
color: #FFF;
|
||||
}
|
||||
&a.btn-info:visited, a.btn-warning:visited, a.btn-danger:visited{
|
||||
color: #FFF;
|
||||
}
|
||||
a:link {
|
||||
color: var(--link);
|
||||
}
|
||||
@@ -130,6 +126,10 @@ a:visited {
|
||||
color: var(--visited-link);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--hover-link);
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
color: darken(@light-blue, 20%);
|
||||
}
|
||||
|
||||
@@ -61,39 +61,39 @@
|
||||
|
||||
|
||||
.btn, .btn:hover {
|
||||
color: #fff;
|
||||
color: #FFF !important;
|
||||
|
||||
&.btn-primary, .btn-primary:link {
|
||||
background-color: darken(@green, 10%);
|
||||
border-color: darken(@green, 20%);
|
||||
color: #fff;
|
||||
border-color: #FFF;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
|
||||
&a.btn-primary:hover {
|
||||
background-color: darken(@green, 20%);
|
||||
border-color: darken(@green, 20%);
|
||||
color: #fff;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
&.btn-white:link {
|
||||
background-color: darken(@green, 10%);
|
||||
color: #fff;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
&.btn-white:hover {
|
||||
background-color: darken(@green, 30%);
|
||||
color: #fff;
|
||||
color: #FFF;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
a {
|
||||
&:hover {
|
||||
color: #fff;
|
||||
color: var(--hover-link);
|
||||
}
|
||||
&:visited {
|
||||
color: #fff;
|
||||
color: var(--visited-link);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,17 +107,17 @@ a {
|
||||
:root {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #3d4144;
|
||||
--back-sub: #312F2F;
|
||||
--back-sub-alt: rgba(0, 0, 0, 0.36);
|
||||
--button-default: darken(@green, 15%);
|
||||
--button-primary: darken(@green, 25%);
|
||||
--button-hover: darken(@green, 30%);
|
||||
--header: @green; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--button-default: #006400;
|
||||
--button-primary: darken(#006400, 10%);
|
||||
--button-hover: darken(#006400, 30%);
|
||||
--header: #006400; /* Use same as Header picker */
|
||||
--text-main: #FFF;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: #28A228; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: #5D995D; /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: #00AA00; /* Use same as Header picker, lighten by 70% */
|
||||
--link: #9ACD32; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(#9ACD32, 15%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(#9ACD32, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
@@ -146,14 +146,6 @@ a:link {
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--hover-link);
|
||||
}
|
||||
|
||||
.btn-primary.hover {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
@@ -203,7 +195,7 @@ body {
|
||||
color: var(--link);
|
||||
}
|
||||
.btn-primary, .btn-primary.hover, .btn-primary:active, .text-green {
|
||||
color: var(--text-main)!important;
|
||||
color: var(--text-main);
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background-color: var(--button-primary);
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
:root{
|
||||
--visited-link: #5D995D; /* Use same as Header picker, lighten by 70% */
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #3d4144;
|
||||
@@ -18,7 +17,9 @@
|
||||
--header: @green; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: #28A228; /* Use same as Header picker, lighten by 70% */
|
||||
--link: @green; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@green, 15%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@green, 20%);
|
||||
}
|
||||
.skin-green {
|
||||
//Navbar
|
||||
@@ -97,7 +98,12 @@
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
a.btn-info:link, a.btn-warning:link, a.btn-danger:link{
|
||||
color: #FFF;
|
||||
}
|
||||
&a.btn-info:visited, a.btn-warning:visited, a.btn-danger:visited{
|
||||
color: #FFF;
|
||||
}
|
||||
a:link {
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
@@ -61,11 +61,11 @@
|
||||
|
||||
|
||||
.btn, .btn:hover {
|
||||
color: #fff;
|
||||
color: #fff !important;
|
||||
|
||||
&.btn-primary, .btn-primary:link {
|
||||
background-color: darken(@orange, 10%);
|
||||
border-color: darken(@orange, 20%);
|
||||
border-color: #fff;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
@@ -87,27 +87,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
a {
|
||||
&:hover {
|
||||
color: #fff;
|
||||
}
|
||||
&:visited {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
:root {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #3d4144;
|
||||
--back-sub: #2E2C2C;
|
||||
--back-sub-alt: rgba(0, 0, 0, 0.36);
|
||||
--button-default: darken(@orange, 15%);
|
||||
--button-primary: darken(@orange, 25%);
|
||||
@@ -115,9 +102,9 @@ a {
|
||||
--header: @orange; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: #D43900; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: #D46A43; /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: #FF4500; /* Use same as Header picker, lighten by 70% */
|
||||
--link: #FFA500; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(#FFA500, 15%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(#FFA500, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
@@ -147,7 +134,7 @@ a:link {
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: var(--nav-link);
|
||||
color: var(--visited-link);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
@@ -206,6 +193,7 @@ a:link.btn-default{
|
||||
}
|
||||
.btn-primary, .btn-primary.hover, .btn-primary:active, .text-orange {
|
||||
color: var(--nav-link)!important;
|
||||
border-color: var(--button-primary);
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background-color: var(--button-primary);
|
||||
@@ -348,20 +336,6 @@ input[type=text], input[type=search] {
|
||||
border-bottom: #000;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--link);
|
||||
|
||||
&:link {
|
||||
color: var(--link) }
|
||||
&:hover {
|
||||
color: var(--hover-link);
|
||||
text-decoration: underline;
|
||||
}
|
||||
&:visited {
|
||||
color: var(--visited-link)
|
||||
}
|
||||
}
|
||||
|
||||
.row-striped {
|
||||
vertical-align: top;
|
||||
line-height: 2.6;
|
||||
|
||||
@@ -87,12 +87,12 @@
|
||||
|
||||
|
||||
a {
|
||||
color: @orange;
|
||||
color: var(--link);
|
||||
&:hover {
|
||||
color: darken(@orange, 20%);
|
||||
color: var(--hover-link);
|
||||
}
|
||||
&:visited {
|
||||
color: @orange;
|
||||
color: var(--visited-link);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,18 +106,18 @@ a {
|
||||
--header: @orange; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: #D43900; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: #D46A43; /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: #FF4500; /* Use same as Header picker, lighten by 70% */
|
||||
--link: @orange; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@orange, 10%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@orange, 15%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
a:link {
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: var(--visited-link);
|
||||
a.btn-info:link, a.btn-warning:link, a.btn-danger:link{
|
||||
color: #FFF;
|
||||
}
|
||||
&a.btn-info:visited, a.btn-warning:visited, a.btn-danger:visited{
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
.fixed-table-container tbody .selected td {
|
||||
|
||||
@@ -61,11 +61,11 @@
|
||||
|
||||
|
||||
.btn, .btn:hover {
|
||||
color: #fff;
|
||||
color: #fff !important;
|
||||
|
||||
&.btn-primary, .btn-primary:link {
|
||||
background-color: darken(@purple, 10%);
|
||||
border-color: darken(@purple, 20%);
|
||||
border-color: #FFF;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
@@ -90,10 +90,10 @@
|
||||
|
||||
a {
|
||||
&:hover {
|
||||
color: #fff;
|
||||
color: var(--hover-link);
|
||||
}
|
||||
&:visited {
|
||||
color: #fff;
|
||||
color: var(--visited-link);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ a {
|
||||
:root {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #3d4144;
|
||||
--back-sub: #080808;
|
||||
--back-sub-alt: rgba(0, 0, 0, 0.36);
|
||||
--button-default: darken(@purple, 15%);
|
||||
--button-primary: darken(@purple, 25%);
|
||||
@@ -115,9 +115,9 @@ a {
|
||||
--header: @purple; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: #9370DB; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: #B93CF6; /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: #BF55EC; /* Use same as Header picker, lighten by 70% */
|
||||
--link: #AC83FF; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(#AC83FF, 15%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(#AC83FF, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
@@ -136,6 +136,10 @@ a {
|
||||
.thead, .navbar-nav>li>a:link {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.label-default{
|
||||
background-color:var(--back-sub);
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: var(--back-main);
|
||||
@@ -146,14 +150,6 @@ a:link {
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--hover-link);
|
||||
}
|
||||
|
||||
.btn-primary.hover {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
@@ -87,12 +87,12 @@
|
||||
|
||||
|
||||
a {
|
||||
color: @purple;
|
||||
color: var(--link);
|
||||
&:hover {
|
||||
color: darken(@purple, 20%);
|
||||
color: var(--hover-link);
|
||||
}
|
||||
&:visited {
|
||||
color: @purple;
|
||||
color: var(--visited-link);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,18 +107,18 @@ a {
|
||||
--header: @purple; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: #9370DB; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: #B93CF6; /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: #BF55EC; /* Use same as Header picker, lighten by 70% */
|
||||
--link: @purple; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@purple, 15%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@purple, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
a:link {
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: var(--visited-link);
|
||||
a.btn-info:link, a.btn-warning:link, a.btn-danger:link{
|
||||
color: #FFF;
|
||||
}
|
||||
&a.btn-info:visited, a.btn-warning:visited, a.btn-danger:visited{
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
.fixed-table-container tbody .selected td {
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
&.btn-primary, .btn-primary:link {
|
||||
background-color: darken(@red, 10%);
|
||||
border-color: darken(@red, 20%);
|
||||
border-color: #FFF;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@ body {
|
||||
color: var(--link);
|
||||
}
|
||||
.btn-primary, .btn-primary.hover, .btn-primary:active, .text-red {
|
||||
color: var(--text-main)!important;
|
||||
color: var(--button-primary);
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background-color: var(--button-primary);
|
||||
|
||||
@@ -108,9 +108,9 @@ a {
|
||||
--text-main: #BBB;
|
||||
--text-alt: #222;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: #e00000; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: #D24D57; /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: #D24D57; /* Use same as Header picker, lighten by 70% */
|
||||
--link: @red; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@red, 15%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@red, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
@@ -121,6 +121,12 @@ a:link {
|
||||
a:visited {
|
||||
color: var(--visited-link);
|
||||
}
|
||||
a.btn-info:link, a.btn-warning:link, a.btn-danger:link{
|
||||
color: #FFF;
|
||||
}
|
||||
&a.btn-info:visited, a.btn-warning:visited, a.btn-danger:visited{
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
.fixed-table-container tbody .selected td {
|
||||
background-color: #fff8af;
|
||||
|
||||
@@ -11,11 +11,10 @@
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@yellow; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
color: #000 !important;
|
||||
&:hover {
|
||||
background-color: darken(@yellow, 5%);
|
||||
background-color: var(--link);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
@@ -52,48 +51,43 @@
|
||||
.skin-dark-sidebar(@yellow);
|
||||
}
|
||||
|
||||
.skin-yellow-dark.layout-top-nav .main-header > .logo {
|
||||
.logo-variant {
|
||||
background-color: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.btn, .btn:hover {
|
||||
color: #fff;
|
||||
color: #000;
|
||||
|
||||
&.btn-primary, .btn-primary:link {
|
||||
background-color: darken(@yellow, 10%);
|
||||
border-color: darken(@yellow, 20%);
|
||||
color: #fff;
|
||||
background-color: var(--button-default);
|
||||
border-color: var(--button-default);
|
||||
color: #545454;
|
||||
}
|
||||
|
||||
|
||||
&a.btn-primary:hover {
|
||||
background-color: darken(@yellow, 20%);
|
||||
border-color: darken(@yellow, 20%);
|
||||
color: #fff;
|
||||
background-color: var(--button-hover);
|
||||
border-color: var(--button-hover);
|
||||
color: #545454;
|
||||
}
|
||||
|
||||
&.btn-white:link {
|
||||
background-color: darken(@yellow, 10%);
|
||||
color: #fff;
|
||||
background-color: var(--button-default);
|
||||
color: #545454;
|
||||
}
|
||||
|
||||
&.btn-white:hover {
|
||||
background-color: darken(@yellow, 30%);
|
||||
color: #fff;
|
||||
background-color: var(--hover-link);
|
||||
color: #545454;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
a {
|
||||
&:link {
|
||||
color: var(--link);
|
||||
}
|
||||
&:hover {
|
||||
color: #fff;
|
||||
color: var(--hover-link);
|
||||
}
|
||||
&:visited {
|
||||
color: #fff;
|
||||
color: var(--visited-link);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,17 +103,17 @@ a {
|
||||
--back-main: #333;
|
||||
--back-sub: #3d4144;
|
||||
--back-sub-alt: rgba(0, 0, 0, 0.36);
|
||||
--button-default: darken(@yellow, 15%);
|
||||
--button-primary: darken(@yellow, 25%);
|
||||
--button-hover: darken(@yellow, 30%);
|
||||
--header: @yellow; /* Use same as Header picker */
|
||||
--button-default: #FFFF00;
|
||||
--button-primary: darken(#FFFF00, 25%);
|
||||
--button-hover: darken(#FFFF00, 30%);
|
||||
--header: #FFFF00; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: lighten(@yellow, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@yellow, 40%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@yellow, 45%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
--link: #F0E68C; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(#F0E68C, 15%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(#F0E68C, 45%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #222; /* Use same as Header picker */
|
||||
--light-link: #545454; /* Use same as Header picker */
|
||||
}
|
||||
|
||||
.main-header .navbar, .main-header .logo {
|
||||
@@ -128,7 +122,12 @@ a {
|
||||
background: linear-gradient(to bottom, var(--header) 0%,var(--header) 100%);
|
||||
border-color: var(--header);
|
||||
}
|
||||
|
||||
.label-default{
|
||||
background-color:var(--back-sub);
|
||||
}
|
||||
a.btn.btn-default{
|
||||
color:var(--nav-link);
|
||||
}
|
||||
.bootstrap-table .fixed-table-container .table thead th .sortable {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
@@ -136,23 +135,15 @@ a {
|
||||
.thead, .navbar-nav>li>a:link {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.navbar-nav>li>a:visited {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: var(--back-main);
|
||||
color: var(--text-main);
|
||||
}
|
||||
|
||||
a:link {
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--hover-link);
|
||||
}
|
||||
a:link.btn-default{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
@@ -161,14 +152,13 @@ a:link.btn-default{
|
||||
}
|
||||
|
||||
.small-box h3, .small-box p {
|
||||
color: var(--nav-link) !important;
|
||||
color: #fff !important;
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
color: var(--nav-link) !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#accessoriesTable>tbody>tr>td>nobr>a>i.fa {
|
||||
color: var(--text-main);
|
||||
}
|
||||
@@ -192,7 +182,7 @@ body {
|
||||
}
|
||||
.btn-default{
|
||||
background-color: var(--button-default);
|
||||
color: var(--link);
|
||||
|
||||
}
|
||||
|
||||
.btn-default dropdown-toggle {
|
||||
@@ -324,7 +314,10 @@ input[type=text], input[type=search] {
|
||||
.skin-yellow-dark .main-header .navbar .dropdown-menu li a {
|
||||
color: var(--header);
|
||||
}
|
||||
.fixed-table-body thead th .th-inner, .skin-yellow-dark .sidebar-menu>li.active>a, .skin-yellow .sidebar-menu>li:hover>a, .sidebar-toggle:hover {
|
||||
div.th-inner{
|
||||
color:var(--text-main);
|
||||
}
|
||||
.fixed-table-body thead th .th-inner, .skin-yellow-dark, .skin-yellow {
|
||||
background-color: var(--header)!important;
|
||||
}
|
||||
.tab-content, .tab-pane {
|
||||
@@ -336,7 +329,9 @@ input[type=text], input[type=search] {
|
||||
}
|
||||
.table-striped>tbody>tr:nth-of-type(even){
|
||||
background-color: var(--back-sub-alt);
|
||||
|
||||
}
|
||||
.th-inner{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
#webui>div>div>div>div>div>table>tbody>tr>td>a>i.fa, .box-body, .box-footer, .box-header {
|
||||
color: var(--text-main);
|
||||
@@ -346,20 +341,6 @@ input[type=text], input[type=search] {
|
||||
border-bottom: #000;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--link);
|
||||
|
||||
&:link {
|
||||
color: var(--link) }
|
||||
&:hover {
|
||||
color: var(--hover-link);
|
||||
text-decoration: underline;
|
||||
}
|
||||
&:visited {
|
||||
color: var(--visited-link)
|
||||
}
|
||||
}
|
||||
|
||||
.row-striped {
|
||||
vertical-align: top;
|
||||
line-height: 2.6;
|
||||
@@ -369,7 +350,6 @@ a {
|
||||
//border-left: 1px solid #dddddd;
|
||||
//border-right: 1px solid #dddddd;
|
||||
display: table;
|
||||
|
||||
}
|
||||
|
||||
.row-striped .row:nth-of-type(odd) div {
|
||||
@@ -377,7 +357,6 @@ a {
|
||||
color: var(--text-main);
|
||||
border-top: 1px solid #dddddd;
|
||||
display: table-cell;
|
||||
|
||||
}
|
||||
|
||||
.row-striped .row:nth-of-type(even) div {
|
||||
@@ -398,4 +377,4 @@ a {
|
||||
|
||||
.search-highlight, .search-highlight:hover {
|
||||
background-color: #e9d15b;
|
||||
}
|
||||
}
|
||||
@@ -11,11 +11,11 @@
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@yellow; #fff);
|
||||
.navbar-variant(#FBCC34);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
color: #000;
|
||||
&:hover {
|
||||
background-color: darken(@yellow, 5%);
|
||||
background-color: darken(#FBCC34, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
@@ -27,7 +27,7 @@
|
||||
a {
|
||||
color: #333;
|
||||
&:hover {
|
||||
background: darken(@yellow, 5%);
|
||||
background: darken(#FBCC34, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -37,7 +37,7 @@
|
||||
//Logo
|
||||
|
||||
li.user-header {
|
||||
background-color: @yellow;
|
||||
background-color: #FBCC34;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,11 +47,12 @@
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@yellow);
|
||||
.skin-dark-sidebar(#FBCC34);
|
||||
}
|
||||
|
||||
.skin-yellow.layout-top-nav .main-header > .logo {
|
||||
.logo-variant {
|
||||
color: #413F42;
|
||||
background-color: none;
|
||||
}
|
||||
}
|
||||
@@ -62,72 +63,82 @@
|
||||
|
||||
|
||||
&.btn-primary, .btn-primary:link {
|
||||
background-color: darken(@yellow, 10%);
|
||||
border-color: darken(@yellow, 20%);
|
||||
color: #fff;
|
||||
background-color: darken(#FBCC34, 10%);
|
||||
border-color: darken(#FBCC34, 20%);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
|
||||
&a.btn-primary:hover {
|
||||
background-color: darken(@yellow, 20%);
|
||||
border-color: darken(@yellow, 20%);
|
||||
color: #fff;
|
||||
background-color: darken(#FBCC34, 20%);
|
||||
border-color: darken(#FBCC34, 20%);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
&.btn-white:link {
|
||||
background-color: darken(@yellow, 10%);
|
||||
color: #fff;
|
||||
background-color: darken(#FBCC34, 10%);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
&.btn-white:hover {
|
||||
background-color: darken(@yellow, 30%);
|
||||
color: #fff;
|
||||
background-color: darken(#FBCC34, 30%);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
}
|
||||
|
||||
a.btn-info:link, a.btn-warning:link, a.btn-danger:link{
|
||||
color: #FFF;
|
||||
}
|
||||
&a.btn-info:visited, a.btn-warning:visited, a.btn-danger:visited{
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
a {
|
||||
color: @yellow;
|
||||
color: var(--link);
|
||||
&:hover {
|
||||
color: darken(@yellow, 20%);
|
||||
color: var(--hover-link);
|
||||
}
|
||||
&:visited {
|
||||
color: @yellow;
|
||||
color: var(--visited-link);
|
||||
}
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
color: darken(@yellow, 20%);
|
||||
color: darken(#FBCC34, 20%);
|
||||
}
|
||||
|
||||
:root {
|
||||
--button-default: darken(@yellow, 15%);
|
||||
--button-primary: darken(@yellow, 25%);
|
||||
--button-hover: darken(@yellow, 30%);
|
||||
--header: @yellow; /* Use same as Header picker */
|
||||
--button-default: darken(#FBCC34, 15%);
|
||||
--button-primary: darken(#FBCC34, 25%);
|
||||
--button-hover: darken(#FBCC34, 30%);
|
||||
--header: #FBCC34; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: lighten(@yellow, 10%); /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@yellow, 20%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@yellow, 45%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--link: lighten( #413F42, 10%); /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(#413F42, 20%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(#413F42, 45%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #222; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
a:link {
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: var(--visited-link);
|
||||
}
|
||||
|
||||
.fixed-table-container tbody .selected td {
|
||||
background-color: #fff8af;
|
||||
}
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: @yellow;
|
||||
background-color: #FBCC34;
|
||||
}
|
||||
|
||||
.search-highlight, .search-highlight:hover {
|
||||
background-color: #e9d15b;
|
||||
}
|
||||
.thead, .navbar-nav>li>a:link {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.navbar-nav>li>a:visited {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
&:hover{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.skin-yellow .main-header .navbar .nav > li > a {
|
||||
color: #413F42;
|
||||
}
|
||||
@@ -6,4 +6,5 @@ return array(
|
||||
'assigned_to' => 'Assigned To:',
|
||||
'manager' => 'Manager',
|
||||
'date' => 'Current Date:',
|
||||
|
||||
);
|
||||
|
||||
@@ -33,7 +33,7 @@ return [
|
||||
'remove_group_memberships' => 'Remove Group Memberships',
|
||||
'warning_deletion' => 'WARNING:',
|
||||
'warning_deletion_information' => 'You are about to delete the :count user(s) listed below. Super admin names are highlighted in red.',
|
||||
'update_user_asssets_status' => 'Update all assets for these users to this status',
|
||||
'update_user_assets_status' => 'Update all assets for these users to this status',
|
||||
'checkin_user_properties' => 'Check in all properties associated with these users',
|
||||
'remote_label' => 'This is a remote user',
|
||||
'remote' => 'Remote',
|
||||
|
||||
@@ -100,6 +100,7 @@ return [
|
||||
'employee_number' => 'Employee Number',
|
||||
'email_domain_help' => 'This is used to generate email addresses when importing',
|
||||
'error' => 'Error',
|
||||
'example' => 'Example: ',
|
||||
'filastname_format' => 'First Initial Last Name (jsmith@example.com)',
|
||||
'firstname_lastname_format' => 'First Name Last Name (jane.smith@example.com)',
|
||||
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
||||
@@ -256,6 +257,7 @@ return [
|
||||
'undeployable' => 'Un-deployable',
|
||||
'unknown_admin' => 'Unknown Admin',
|
||||
'username_format' => 'Username Format',
|
||||
'username' => 'Username',
|
||||
'update' => 'Update',
|
||||
'upload_filetypes_help' => 'Allowed filetypes are png, gif, jpg, jpeg, doc, docx, pdf, xls, xlsx, txt, lic, xml, zip, rtf and rar. Max upload size allowed is :size.',
|
||||
'uploaded' => 'Uploaded',
|
||||
|
||||
@@ -91,6 +91,11 @@ return [
|
||||
'url' => 'The :attribute format is invalid.',
|
||||
'unique_undeleted' => 'The :attribute must be unique.',
|
||||
'non_circular' => 'The :attribute must not create a circular reference.',
|
||||
'disallow_same_pwd_as_user_fields' => 'Password cannot be the same as the username.',
|
||||
'letters' => 'Password must contain at least one letter.',
|
||||
'numbers' => 'Password must contain at least one number.',
|
||||
'case_diff' => 'Password must use mixed case.',
|
||||
'symbols' => 'Password must contain symbols.',
|
||||
'gte' => [
|
||||
'numeric' => 'Value cannot be negative'
|
||||
],
|
||||
|
||||
@@ -47,15 +47,34 @@
|
||||
{{-- Page content --}}
|
||||
@section('content')
|
||||
|
||||
<!-- Custom Tabs -->
|
||||
<div class="nav-tabs-custom">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
<ul class="nav nav-tabs hidden-print">
|
||||
|
||||
<div class="box box-default">
|
||||
<div class="box-body">
|
||||
<div class="table table-responsive">
|
||||
<li class="active">
|
||||
<a href="#details" data-toggle="tab">
|
||||
<span class="hidden-lg hidden-md">
|
||||
<i class="fas fa-info-circle fa-2x"x></i>
|
||||
</span>
|
||||
<span class="hidden-xs hidden-sm">{{ trans('admin/users/general.info') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#history" data-toggle="tab">
|
||||
<span class="hidden-lg hidden-md">
|
||||
<i class="fas fa-history fa-2x" aria-hidden="true"></i></span>
|
||||
<span class="hidden-xs hidden-sm">{{ trans('general.history') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<table
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade in active" id="details">
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
<table
|
||||
data-cookie-id-table="usersTable"
|
||||
data-pagination="true"
|
||||
data-id-table="usersTable"
|
||||
@@ -73,93 +92,144 @@
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'>
|
||||
<thead>
|
||||
<tr>
|
||||
<tr>
|
||||
<th data-searchable="false" data-formatter="usersLinkFormatter" data-sortable="false" data-field="name">{{ trans('general.user') }}</th>
|
||||
<th data-searchable="false" data-sortable="false" data-field="checkout_notes">{{ trans('general.notes') }}</th>
|
||||
<th data-searchable="false" data-formatter="dateDisplayFormatter" data-sortable="false" data-field="last_checkout">{{ trans('admin/hardware/table.checkout_date') }}</th>
|
||||
<th data-searchable="false" data-sortable="false" data-field="actions" data-formatter="accessoriesInOutFormatter">{{ trans('table.actions') }}</th>
|
||||
</tr>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</table>
|
||||
</div><!--col-md-9-->
|
||||
|
||||
|
||||
<!-- side address column -->
|
||||
|
||||
<div class="col-md-3">
|
||||
|
||||
<!-- side address column -->
|
||||
|
||||
<div class="col-md-3">
|
||||
|
||||
@if ($accessory->image!='')
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-center" style="padding-bottom: 15px;">
|
||||
<a href="{{ Storage::disk('public')->url('accessories/'.e($accessory->image)) }}" data-toggle="lightbox"><img src="{{ Storage::disk('public')->url('accessories/'.e($accessory->image)) }}" class="img-responsive img-thumbnail" alt="{{ $accessory->name }}"></a>
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-center" style="padding-bottom: 15px;">
|
||||
<a href="{{ Storage::disk('public')->url('accessories/'.e($accessory->image)) }}" data-toggle="lightbox"><img src="{{ Storage::disk('public')->url('accessories/'.e($accessory->image)) }}" class="img-responsive img-thumbnail" alt="{{ $accessory->name }}"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($accessory->company)
|
||||
<div class="row">
|
||||
<div class="col-md-4" style="padding-bottom: 15px;">
|
||||
{{ trans('general.company')}}
|
||||
<div class="row">
|
||||
<div class="col-md-4" style="padding-bottom: 15px;">
|
||||
{{ trans('general.company')}}
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<a href="{{ route('companies.show', $accessory->company->id) }}">{{ $accessory->company->name }} </a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<a href="{{ route('companies.show', $accessory->company->id) }}">{{ $accessory->company->name }} </a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@endif
|
||||
|
||||
@if ($accessory->category)
|
||||
<div class="row">
|
||||
<div class="col-md-4" style="padding-bottom: 15px;">
|
||||
{{ trans('general.category')}}
|
||||
|
||||
@if ($accessory->category)
|
||||
<div class="row">
|
||||
<div class="col-md-4" style="padding-bottom: 15px;">
|
||||
{{ trans('general.category')}}
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<a href="{{ route('categories.show', $accessory->category->id) }}">{{ $accessory->category->name }} </a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<a href="{{ route('categories.show', $accessory->category->id) }}">{{ $accessory->category->name }} </a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
|
||||
@if ($accessory->notes)
|
||||
|
||||
<div class="col-md-12">
|
||||
<strong>
|
||||
{{ trans('general.notes') }}
|
||||
</strong>
|
||||
<div class="col-md-12">
|
||||
<strong>
|
||||
{{ trans('general.notes') }}
|
||||
</strong>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
{!! nl2br(e($accessory->notes)) !!}
|
||||
<div class="col-md-12">
|
||||
{!! nl2br(e($accessory->notes)) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
<div class="row">
|
||||
@endif
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4" style="padding-bottom: 15px;">
|
||||
Number remaining
|
||||
Number remaining
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
{{ $accessory->numRemaining() }}
|
||||
{{ $accessory->numRemaining() }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@can('checkout', \App\Models\Accessory::class)
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-center">
|
||||
<a href="{{ route('checkout/accessory', $accessory->id) }}" style="margin-right:5px;" class="btn btn-primary btn-sm" {{ (($accessory->numRemaining() > 0 ) ? '' : ' disabled') }}>{{ trans('general.checkout') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@can('checkout', \App\Models\Accessory::class)
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-center">
|
||||
<a href="{{ route('checkout/accessory', $accessory->id) }}" style="margin-right:5px;" class="btn btn-primary btn-sm" {{ (($accessory->numRemaining() > 0 ) ? '' : ' disabled') }}>{{ trans('general.checkout') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</div><!--col-md-3-->
|
||||
</div><!--row-->
|
||||
</div><!--tab-pane details-->
|
||||
|
||||
<div class="tab-pane fade" id="history">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<table
|
||||
class="table table-striped snipe-table"
|
||||
data-cookie-id-table="AccessoryHistoryTable"
|
||||
data-id-table="AccessoryHistoryTable"
|
||||
id="AccessoryHistoryTable"
|
||||
data-pagination="true"
|
||||
data-show-columns="true"
|
||||
data-side-pagination="server"
|
||||
data-show-refresh="true"
|
||||
data-show-export="true"
|
||||
data-sort-order="desc"
|
||||
data-export-options='{
|
||||
"fileName": "export-{{ str_slug($accessory->name) }}-history-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'
|
||||
data-url="{{ route('api.activity.index', ['item_id' => $accessory->id, 'item_type' => 'accessory']) }}">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-sm-2" data-visible="false" data-sortable="true" data-field="created_at" data-formatter="dateDisplayFormatter">{{ trans('general.record_created') }}</th>
|
||||
<th class="col-sm-2"data-visible="true" data-sortable="true" data-field="admin" data-formatter="usersLinkObjFormatter">{{ trans('general.admin') }}</th>
|
||||
<th class="col-sm-2" data-sortable="true" data-visible="true" data-field="action_type">{{ trans('general.action') }}</th>
|
||||
<th class="col-sm-2" data-sortable="true" data-visible="true" data-field="item" data-formatter="polymorphicItemFormatter">{{ trans('general.item') }}</th>
|
||||
<th class="col-sm-2" data-visible="true" data-field="target" data-formatter="polymorphicItemFormatter">{{ trans('general.target') }}</th>
|
||||
<th class="col-sm-2" data-sortable="true" data-visible="true" data-field="note">{{ trans('general.notes') }}</th>
|
||||
<th class="col-sm-2" data-visible="true" data-field="action_date" data-formatter="dateDisplayFormatter">{{ trans('general.date') }}</th>
|
||||
@if ($snipeSettings->require_accept_signature=='1')
|
||||
<th class="col-md-3" data-field="signature_file" data-visible="false" data-formatter="imageFormatter">{{ trans('general.signature') }}</th>
|
||||
@endif
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div> <!-- /.col-md-12-->
|
||||
</div> <!-- /.row-->
|
||||
</div><!--tab history-->
|
||||
</div><!--tab-content-->
|
||||
</div><!--/.nav-tabs-custom-->
|
||||
@stop
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@section('moar_scripts')
|
||||
@include ('partials.bootstrap-table')
|
||||
@stop
|
||||
|
||||
@@ -47,7 +47,9 @@
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
data-sort-name="name"
|
||||
data-toolbar="#toolbar"
|
||||
data-toolbar="#assetsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkAssetEditButton"
|
||||
data-bulk-form-id="#assetsBulkForm"
|
||||
id="assetsListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.assets.requestable', ['requestable' => true]) }}">
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
@stop
|
||||
|
||||
@section('header_right')
|
||||
|
||||
<a href="{{ URL::previous() }}" class="btn btn-primary" style="margin-right: 10px;">
|
||||
{{ trans('general.back') }}</a>
|
||||
|
||||
<div class="btn-group pull-right">
|
||||
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">{{ trans('button.actions') }}
|
||||
<span class="caret"></span>
|
||||
@@ -18,89 +22,164 @@
|
||||
<li><a href="{{ route('categories.edit', ['category' => $category->id]) }}">{{ trans('admin/categories/general.edit') }}</a></li>
|
||||
<li><a href="{{ route('categories.create') }}">{{ trans('general.create') }}</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
@stop
|
||||
|
||||
{{-- Page content --}}
|
||||
@section('content')
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="box box-default">
|
||||
<div class="box-body">
|
||||
@if ($category->category_type=='asset')
|
||||
@include('partials.asset-bulk-actions')
|
||||
@endif
|
||||
|
||||
<table
|
||||
|
||||
@if ($category->category_type=='asset')
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
data-columns="{{ \App\Presenters\AssetPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="categoryAssetsTable"
|
||||
id="categoryAssetsTable"
|
||||
data-id-table="categoryAssetsTable"
|
||||
data-export-options='{
|
||||
<div class="nav-tabs-custom">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a href="#items" data-toggle="tab" title="{{ trans('general.items') }}"> {{ ucwords($category_type_route) }}
|
||||
@if ($category->category_type=='asset')
|
||||
<badge class="badge badge-secondary"> {{ $category->assets->count() }}</badge>
|
||||
@endif
|
||||
</a>
|
||||
</li>
|
||||
@if ($category->category_type=='asset')
|
||||
<li>
|
||||
<a href="#models" data-toggle="tab" title="{{ trans('general.asset_models') }}">{{ trans('general.asset_models') }}
|
||||
<badge class="badge badge-secondary"> {{ $category->models->count()}}</badge>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade in active" id="items">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="table-responsive">
|
||||
@if ($category->category_type=='asset')
|
||||
@include('partials.asset-bulk-actions')
|
||||
@endif
|
||||
|
||||
<table
|
||||
|
||||
@if ($category->category_type=='asset')
|
||||
|
||||
data-columns="{{ \App\Presenters\AssetPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="categoryAssetsTable"
|
||||
id="categoryAssetsTable"
|
||||
data-id-table="categoryAssetsTable"
|
||||
data-toolbar="#assetsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkAssetEditButton"
|
||||
data-bulk-form-id="#assetsBulkForm"
|
||||
data-export-options='{
|
||||
"fileName": "export-{{ str_slug($category->name) }}-assets-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'
|
||||
@elseif ($category->category_type=='accessory')
|
||||
data-columns="{{ \App\Presenters\AccessoryPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="categoryAccessoryTable"
|
||||
id="categoryAccessoryTable"
|
||||
data-id-table="categoryAccessoryTable"
|
||||
data-export-options='{
|
||||
@elseif ($category->category_type=='accessory')
|
||||
data-columns="{{ \App\Presenters\AccessoryPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="categoryAccessoryTable"
|
||||
id="categoryAccessoryTable"
|
||||
data-id-table="categoryAccessoryTable"
|
||||
data-export-options='{
|
||||
"fileName": "export-{{ str_slug($category->name) }}-accessories-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'
|
||||
@elseif ($category->category_type=='consumable')
|
||||
data-columns="{{ \App\Presenters\ConsumablePresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="categoryConsumableTable"
|
||||
id="categoryConsumableTable"
|
||||
data-id-table="categoryConsumableTable"
|
||||
data-export-options='{
|
||||
@elseif ($category->category_type=='consumable')
|
||||
data-columns="{{ \App\Presenters\ConsumablePresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="categoryConsumableTable"
|
||||
id="categoryConsumableTable"
|
||||
data-id-table="categoryConsumableTable"
|
||||
data-export-options='{
|
||||
"fileName": "export-{{ str_slug($category->name) }}-consumables-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'
|
||||
@elseif ($category->category_type=='component')
|
||||
data-columns="{{ \App\Presenters\ComponentPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="categoryCompomnentTable"
|
||||
id="categoryCompomnentTable"
|
||||
data-id-table="categoryCompomnentTable"
|
||||
data-export-options='{
|
||||
@elseif ($category->category_type=='component')
|
||||
data-columns="{{ \App\Presenters\ComponentPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="categoryCompomnentTable"
|
||||
id="categoryCompomnentTable"
|
||||
data-id-table="categoryCompomnentTable"
|
||||
data-export-options='{
|
||||
"fileName": "export-{{ str_slug($category->name) }}-components-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'
|
||||
@elseif ($category->category_type=='license')
|
||||
data-columns="{{ \App\Presenters\LicensePresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="categoryLicenseTable"
|
||||
id="categoryLicenseTable"
|
||||
data-id-table="categoryLicenseTable"
|
||||
data-export-options='{
|
||||
@elseif ($category->category_type=='license')
|
||||
data-columns="{{ \App\Presenters\LicensePresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="categoryLicenseTable"
|
||||
id="categoryLicenseTable"
|
||||
data-id-table="categoryLicenseTable"
|
||||
data-export-options='{
|
||||
"fileName": "export-{{ str_slug($category->name) }}-licenses-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'
|
||||
@endif
|
||||
@endif
|
||||
|
||||
data-pagination="true"
|
||||
data-search="true"
|
||||
data-show-footer="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.'.$category_type_route.'.index',['category_id'=> $category->id]) }}">
|
||||
|
||||
</table>
|
||||
data-pagination="true"
|
||||
data-search="true"
|
||||
data-show-footer="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.'.$category_type_route.'.index',['category_id'=> $category->id]) }}">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade" id="models">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
@can('update', \App\Models\AssetModel::class)
|
||||
@if ($category->models->count() > 0)
|
||||
@if ($category->category_type=='asset')
|
||||
@include('partials.models-bulk-actions')
|
||||
@endif
|
||||
@endif
|
||||
@endcan
|
||||
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\AssetModelPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="asssetModelsTable"
|
||||
data-pagination="true"
|
||||
data-id-table="asssetModelsTable"
|
||||
data-search="true"
|
||||
data-show-footer="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-toolbar="#modelsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkModelsEditButton"
|
||||
data-bulk-form-id="#modelsBulkForm"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
id="asssetModelsTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.models.index', ['status' => request('status'), 'category_id' => $category->id]) }}"
|
||||
data-export-options='{
|
||||
"fileName": "export-models-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- .tab-content-->
|
||||
</div> <!-- .nav-tabs-custom -->
|
||||
</div> <!-- .col-md-12> -->
|
||||
</div> <!-- .row -->
|
||||
@stop
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@section('moar_scripts')
|
||||
@include ('partials.bootstrap-table')
|
||||
@stop
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\ComponentPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="componentsTable"
|
||||
data-toolbar="#toolbar"
|
||||
data-pagination="true"
|
||||
data-id-table="componentsTable"
|
||||
data-search="true"
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
<input class="form-control" type="text" name="months" id="months" value="{{ Request::old('months', $item->months) }}" style="width: 80px;"{!! (\App\Helpers\Helper::checkIfRequired($item, 'months')) ? ' data-validation="required" required' : '' !!} />
|
||||
{!! $errors->first('months', '<span class="alert-msg" aria-hidden="true"><i class="fa fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Depreciation Minimum -->
|
||||
|
||||
@@ -43,7 +43,9 @@
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
data-sort-name="name"
|
||||
data-toolbar="#toolbar"
|
||||
data-toolbar="#assetsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkAssetEditButton"
|
||||
data-bulk-form-id="#assetsBulkForm"
|
||||
id="assetsAuditListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.asset.to-audit', ['audit' => 'due']) }}"
|
||||
|
||||
@@ -23,11 +23,7 @@
|
||||
<div class="col-md-12">
|
||||
<div class="box">
|
||||
<div class="box-body">
|
||||
{{ Form::open([
|
||||
'method' => 'POST',
|
||||
'route' => ['hardware/bulkedit'],
|
||||
'class' => 'form-inline',
|
||||
'id' => 'bulkForm']) }}
|
||||
@include('partials.asset-bulk-actions')
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
@@ -45,7 +41,9 @@
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
data-sort-name="name"
|
||||
data-toolbar="#toolbar"
|
||||
data-toolbar="#assetsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkAssetEditButton"
|
||||
data-bulk-form-id="#assetsBulkForm"
|
||||
id="assetsAuditListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.asset.to-audit', ['audit' => 'overdue']) }}"
|
||||
|
||||
@@ -84,7 +84,9 @@
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
data-sort-name="name"
|
||||
data-toolbar="#toolbar"
|
||||
data-toolbar="#assetsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkAssetEditButton"
|
||||
data-bulk-form-id="#assetsBulkForm"
|
||||
id="assetsListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.assets.index',
|
||||
|
||||
@@ -626,7 +626,7 @@
|
||||
</strong>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
{{ $asset->present()->eol_date() }}
|
||||
{{ Helper::getFormattedDateObject($asset->present()->eol_date(), 'date', false) }}
|
||||
|
||||
|
||||
@if ($asset->present()->months_until_eol())
|
||||
|
||||
@@ -156,34 +156,23 @@
|
||||
<table>
|
||||
<tr>
|
||||
<td>{{ trans('admin/locations/table.signed_by_asset_auditor') }}</td>
|
||||
<td>___________________________</td>
|
||||
<td></td>
|
||||
<td><br>------------------------------------------------------ <br></td>
|
||||
<td>{{ trans('admin/locations/table.date') }}</td>
|
||||
<td>____________________</td>
|
||||
<td><br>------------------------------ <br></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<table>
|
||||
|
||||
<tr>
|
||||
<td>{{ trans('admin/locations/table.signed_by_finance_auditor') }}</td>
|
||||
<td>____________________</td>
|
||||
<td></td>
|
||||
<td><br>------------------------------------------------------ <br></td>
|
||||
<td>{{ trans('admin/locations/table.date') }}</td>
|
||||
<td>____________________</td>
|
||||
<td><br>------------------------------ <br></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<table>
|
||||
|
||||
<tr>
|
||||
<td>{{ trans('admin/locations/table.signed_by_location_manager') }}</td>
|
||||
<td>_______________________</td>
|
||||
<td></td>
|
||||
<td><br>------------------------------------------------------ <br></td>
|
||||
<td>{{ trans('admin/locations/table.date') }}</td>
|
||||
<td>____________________</td>
|
||||
<td><br>------------------------------ <br></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -15,185 +15,236 @@
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
|
||||
<div class="nav-tabs-custom">
|
||||
<ul class="nav nav-tabs hidden-print">
|
||||
|
||||
<div class="box box-default">
|
||||
<div class="box-header with-border">
|
||||
<div class="box-heading">
|
||||
<h2 class="box-title">{{ trans('general.users') }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<li class="active">
|
||||
<a href="#users" data-toggle="tab">
|
||||
<span class="hidden-lg hidden-md">
|
||||
<i class="fas fa-info-circle fa-2x"></i>
|
||||
</span>
|
||||
<span class="hidden-xs hidden-sm">
|
||||
{{ trans('general.users') }}
|
||||
{!! (($location->users) && ($location->users->count() > 0 )) ? '<badge class="badge badge-secondary">'.$location->users->count().'</badge>' : '' !!}
|
||||
|
||||
<div class="table table-responsive">
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\UserPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="usersTable"
|
||||
data-pagination="true"
|
||||
data-id-table="usersTable"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
id="usersTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{route('api.users.index', ['location_id' => $location->id])}}"
|
||||
data-export-options='{
|
||||
<li>
|
||||
<a href="#assets" data-toggle="tab">
|
||||
<span class="hidden-lg hidden-md">
|
||||
<i class="fas fa-barcode fa-2x" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span class="hidden-xs hidden-sm">
|
||||
{{ trans('general.assets') }}
|
||||
{!! (($location->assets) && ($location->assets->count() > 0 )) ? '<badge class="badge badge-secondary">'.$location->assets->count().'</badge>' : '' !!}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#accessories" data-toggle="tab">
|
||||
<span class="hidden-lg hidden-md">
|
||||
<i class="fas fa-barcode fa-2x" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span class="hidden-xs hidden-sm">
|
||||
{{ trans('general.accessories') }}
|
||||
{!! (($location->accessories) && ($location->accessories->count() > 0 )) ? '<badge class="badge badge-secondary">'.$location->accessories->count().'</badge>' : '' !!}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#consumables" data-toggle="tab">
|
||||
<span class="hidden-lg hidden-md">
|
||||
<i class="fas fa-barcode fa-2x" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span class="hidden-xs hidden-sm">
|
||||
{{ trans('general.consumables') }}
|
||||
{!! (($location->consumables) && ($location->consumables->count() > 0 )) ? '<badge class="badge badge-secondary">'.$location->consumables->count().'</badge>' : '' !!}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#components" data-toggle="tab">
|
||||
<span class="hidden-lg hidden-md">
|
||||
<i class="fas fa-barcode fa-2x" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span class="hidden-xs hidden-sm">
|
||||
{{ trans('general.components') }}
|
||||
{!! (($location->components) && ($location->components->count() > 0 )) ? '<badge class="badge badge-secondary">'.$location->components->count().'</badge>' : '' !!}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="users">
|
||||
<h2 class="box-title">{{ trans('general.users') }}</h2>
|
||||
<div class="table table-responsive">
|
||||
@include('partials.users-bulk-actions')
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\UserPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="usersTable"
|
||||
data-pagination="true"
|
||||
data-id-table="#usersTable"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
data-toolbar="#userBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkUserEditButton"
|
||||
data-bulk-form-id="#usersBulkForm"
|
||||
id="usersTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{route('api.users.index', ['location_id' => $location->id])}}"
|
||||
data-export-options='{
|
||||
"fileName": "export-locations-{{ str_slug($location->name) }}-users-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'>
|
||||
|
||||
</table>
|
||||
</div><!-- /.table-responsive -->
|
||||
</div><!-- /.box-body -->
|
||||
</div> <!--/.box-->
|
||||
</table>
|
||||
</div><!-- /.table-responsive -->
|
||||
</div><!-- /.tab-pane -->
|
||||
|
||||
<div class="box box-default">
|
||||
<div class="box-header with-border">
|
||||
<div class="box-heading">
|
||||
<h2 class="box-title">{{ trans('general.assets') }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="tab-pane" id="assets">
|
||||
<h2 class="box-title">{{ trans('general.assets') }}</h2>
|
||||
|
||||
|
||||
@include('partials.asset-bulk-actions')
|
||||
|
||||
<div class="table table-responsive">
|
||||
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\AssetPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="assetsListingTable"
|
||||
data-pagination="true"
|
||||
data-id-table="assetsListingTable"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
id="assetsListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{route('api.assets.index', ['location_id' => $location->id]) }}"
|
||||
data-export-options='{
|
||||
<div class="table table-responsive">
|
||||
@include('partials.asset-bulk-actions')
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\AssetPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="assetsListingTable"
|
||||
data-pagination="true"
|
||||
data-id-table="assetsListingTable"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
data-toolbar="#assetsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkAssetEditButton"
|
||||
data-bulk-form-id="#assetsBulkForm"
|
||||
id="assetsListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{route('api.assets.index', ['location_id' => $location->id]) }}"
|
||||
data-export-options='{
|
||||
"fileName": "export-locations-{{ str_slug($location->name) }}-assets-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
</div><!-- /.table-responsive -->
|
||||
</div><!-- /.box-body -->
|
||||
</div> <!--/.box-->
|
||||
</div><!-- /.table-responsive -->
|
||||
</div><!-- /.tab-pane -->
|
||||
|
||||
<div class="box box-default">
|
||||
<div class="box-header with-border">
|
||||
<div class="box-heading">
|
||||
<h2 class="box-title">{{ trans('general.accessories') }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="table table-responsive">
|
||||
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\AccessoryPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="accessoriesListingTable"
|
||||
data-pagination="true"
|
||||
data-id-table="accessoriesListingTable"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
id="accessoriesListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{route('api.accessories.index', ['location_id' => $location->id]) }}"
|
||||
data-export-options='{
|
||||
|
||||
<div class="tab-pane" id="accessories">
|
||||
<h2 class="box-title">{{ trans('general.accessories') }}</h2>
|
||||
<div class="table table-responsive">
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\AccessoryPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="accessoriesListingTable"
|
||||
data-pagination="true"
|
||||
data-id-table="accessoriesListingTable"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
id="accessoriesListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{route('api.accessories.index', ['location_id' => $location->id]) }}"
|
||||
data-export-options='{
|
||||
"fileName": "export-locations-{{ str_slug($location->name) }}-accessories-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'>
|
||||
</table>
|
||||
</table>
|
||||
</div><!-- /.table-responsive -->
|
||||
</div><!-- /.tab-pane -->
|
||||
|
||||
</div><!-- /.table-responsive -->
|
||||
</div><!-- /.box-body -->
|
||||
</div> <!--/.box-->
|
||||
|
||||
<div class="box box-default">
|
||||
<div class="box-header with-border">
|
||||
<div class="box-heading">
|
||||
<h2 class="box-title">{{ trans('general.consumables') }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="table table-responsive">
|
||||
<div class="tab-pane" id="consumables">
|
||||
<h2 class="box-title">{{ trans('general.consumables') }}</h2>
|
||||
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\ConsumablePresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="consumablesListingTable"
|
||||
data-pagination="true"
|
||||
data-id-table="consumablesListingTable"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
id="consumablesListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{route('api.consumables.index', ['location_id' => $location->id]) }}"
|
||||
data-export-options='{
|
||||
<div class="table table-responsive">
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\ConsumablePresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="consumablesListingTable"
|
||||
data-pagination="true"
|
||||
data-id-table="consumablesListingTable"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
id="consumablesListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{route('api.consumables.index', ['location_id' => $location->id]) }}"
|
||||
data-export-options='{
|
||||
"fileName": "export-locations-{{ str_slug($location->name) }}-consumables-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
</div><!-- /.table-responsive -->
|
||||
</div><!-- /.box-body -->
|
||||
</div> <!--/.box-->
|
||||
</div><!-- /.table-responsive -->
|
||||
</div><!-- /.tab-pane -->
|
||||
|
||||
<div class="box box-default">
|
||||
<div class="box-header with-border">
|
||||
<div class="box-heading">
|
||||
<div class="tab-pane" id="components">
|
||||
<h2 class="box-title">{{ trans('general.components') }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="table table-responsive">
|
||||
<div class="table table-responsive">
|
||||
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\ComponentPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="componentsTable"
|
||||
data-pagination="true"
|
||||
data-id-table="componentsTable"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
id="componentsTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{route('api.components.index', ['location_id' => $location->id])}}"
|
||||
data-export-options='{
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\ComponentPresenter::dataTableLayout() }}"
|
||||
data-cookie-id-table="componentsTable"
|
||||
data-pagination="true"
|
||||
data-id-table="componentsTable"
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
id="componentsTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{route('api.components.index', ['location_id' => $location->id])}}"
|
||||
data-export-options='{
|
||||
"fileName": "export-locations-{{ str_slug($location->name) }}-components-{{ date('Y-m-d') }}",
|
||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||
}'>
|
||||
|
||||
</table>
|
||||
</div><!-- /.table-responsive -->
|
||||
</div><!-- /.box-body -->
|
||||
</div> <!--/.box-->
|
||||
|
||||
</table>
|
||||
</div><!-- /.table-responsive -->
|
||||
</div><!-- /.tab-pane -->
|
||||
|
||||
</div><!--/.col-md-9-->
|
||||
</div><!--/.col-md-9-->
|
||||
</div><!--/.col-md-9-->
|
||||
|
||||
<div class="col-md-3">
|
||||
|
||||
<div class="col-md-12">
|
||||
<a href="{{ route('locations.edit', ['location' => $location->id]) }}" style="width: 100%;" class="btn btn-sm btn-primary pull-left">{{ trans('admin/locations/table.update') }} </a>
|
||||
</div>
|
||||
<div class="col-md-12" style="padding-top: 5px;">
|
||||
<a href="{{ route('locations.print_assigned', ['locationId' => $location->id]) }}" style="width: 100%;" class="btn btn-sm btn-default pull-left">{{ trans('admin/locations/table.print_assigned') }} </a>
|
||||
</div>
|
||||
<div class="col-md-12" style="padding-top: 5px; padding-bottom: 20px;">
|
||||
<a href="{{ route('locations.print_all_assigned', ['locationId' => $location->id]) }}" style="width: 100%;" class="btn btn-sm btn-default pull-left">{{ trans('admin/locations/table.print_all_assigned') }} </a>
|
||||
</div>
|
||||
|
||||
|
||||
@if ($location->image!='')
|
||||
<div class="col-md-12 text-center" style="padding-bottom: 20px;">
|
||||
<img src="{{ Storage::disk('public')->url('locations/'.e($location->image)) }}" class="img-responsive img-thumbnail" alt="{{ $location->name }}">
|
||||
<img src="{{ Storage::disk('public')->url('locations/'.e($location->image)) }}" class="img-responsive img-thumbnail" style="width:100%" alt="{{ $location->name }}">
|
||||
</div>
|
||||
@endif
|
||||
<div class="col-md-12">
|
||||
@@ -220,21 +271,13 @@
|
||||
|
||||
@if (($location->state!='') && ($location->country!='') && (config('services.google.maps_api_key')))
|
||||
<div class="col-md-12 text-center">
|
||||
<img src="https://maps.googleapis.com/maps/api/staticmap?markers={{ urlencode($location->address.','.$location->city.' '.$location->state.' '.$location->country.' '.$location->zip) }}&size=500x300&maptype=roadmap&key={{ config('services.google.maps_api_key') }}" class="img-responsive img-thumbnail" alt="Map">
|
||||
<img src="https://maps.googleapis.com/maps/api/staticmap?markers={{ urlencode($location->address.','.$location->city.' '.$location->state.' '.$location->country.' '.$location->zip) }}&size=700x500&maptype=roadmap&key={{ config('services.google.maps_api_key') }}" class="img-thumbnail" style="width:100%" alt="Map">
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-12">
|
||||
<a href="{{ route('locations.edit', ['location' => $location->id]) }}" style="width: 50%;" class="btn btn-sm btn-primary pull-left">{{ trans('admin/locations/table.update') }} </a>
|
||||
</div>
|
||||
<div class="col-md-12" style="padding-top: 5px;">
|
||||
<a href="{{ route('locations.print_assigned', ['locationId' => $location->id]) }}" style="width: 50%;" class="btn btn-sm btn-default pull-left">{{ trans('admin/locations/table.print_assigned') }} </a>
|
||||
</div>
|
||||
<div class="col-md-12" style="padding-top: 5px;">
|
||||
<a href="{{ route('locations.print_all_assigned', ['locationId' => $location->id]) }}" style="width: 50%;" class="btn btn-sm btn-default pull-left">{{ trans('admin/locations/table.print_all_assigned') }} </a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -52,6 +52,9 @@
|
||||
data-cookie-id-table="assetsListingTable"
|
||||
data-pagination="true"
|
||||
data-id-table="assetsListingTable"
|
||||
data-toolbar="#assetsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkAssetEditButton"
|
||||
data-bulk-form-id="#assetsBulkForm"
|
||||
data-search="true"
|
||||
data-show-footer="true"
|
||||
data-side-pagination="server"
|
||||
|
||||
@@ -35,24 +35,8 @@
|
||||
<div class="col-md-12">
|
||||
<div class="box box-default">
|
||||
<div class="box-body">
|
||||
{{ Form::open([
|
||||
'method' => 'POST',
|
||||
'route' => ['models.bulkedit.index'],
|
||||
'class' => 'form-inline',
|
||||
'id' => 'bulkForm']) }}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
@if (Request::get('status')!='deleted')
|
||||
<div id="toolbar">
|
||||
<label for="bulk_actions" class="sr-only">{{ trans('general.bulk_actions') }}</label>
|
||||
<select id="bulk_actions" name="bulk_actions" class="form-control select2" aria-label="bulk_actions" style="width: 300px;">
|
||||
<option value="edit">{{ trans('general.bulk_edit') }}</option>
|
||||
<option value="delete">{{ trans('general.bulk_delete') }}</option>
|
||||
</select>
|
||||
<button class="btn btn-primary" id="bulkEdit" disabled>Go</button>
|
||||
</div>
|
||||
@endif
|
||||
@include('partials.models-bulk-actions')
|
||||
<div class="table-responsive">
|
||||
<table
|
||||
data-columns="{{ \App\Presenters\AssetModelPresenter::dataTableLayout() }}"
|
||||
@@ -63,7 +47,9 @@
|
||||
data-show-footer="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-toolbar="#toolbar"
|
||||
data-toolbar="#modelsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkModelsEditButton"
|
||||
data-bulk-form-id="#modelsBulkForm"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
@stop
|
||||
|
||||
@section('header_right')
|
||||
@can('superuser')
|
||||
@can('update', \App\Models\AssetModel::class)
|
||||
<div class="btn-group pull-right">
|
||||
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">{{ trans('button.actions') }}
|
||||
<span class="caret"></span>
|
||||
@@ -56,7 +56,9 @@
|
||||
data-search="true"
|
||||
data-side-pagination="server"
|
||||
data-show-columns="true"
|
||||
data-toolbar="#toolbar"
|
||||
data-toolbar="#assetsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkAssetEditButton"
|
||||
data-bulk-form-id="#assetsBulkForm"
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
@php
|
||||
$next_audit_date = Helper::getFormattedDateObject($asset->next_audit_date, 'date', false);
|
||||
$last_audit_date = Helper::getFormattedDateObject($asset->last_audit_date, 'date', false);
|
||||
$diff = Carbon::parse(Carbon::now())->diffInDays($next_audit_date, false);
|
||||
$diff = Carbon::parse(Carbon::now())->diffInDays($asset->next_audit_date, false);
|
||||
$icon = ($diff <= 7) ? '🚨' : (($diff <= 14) ? '⚠️' : ' ');
|
||||
@endphp
|
||||
|{{ $icon }}| [{{ $asset->present()->name }}]({{ route('hardware.show', $asset->id) }}) | {{ $last_audit_date }}| {{ $next_audit_date }} | {{ $diff }} | {{ ($asset->supplier ? e($asset->supplier->name) : '') }}|{{ ($asset->assignedTo ? $asset->assignedTo->present()->name() : '') }}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<div id="toolbar">
|
||||
<div id="assetsBulkEditToolbar" style="min-width:400px">
|
||||
{{ Form::open([
|
||||
'method' => 'POST',
|
||||
'route' => ['hardware/bulkedit'],
|
||||
'class' => 'form-inline',
|
||||
'id' => 'bulkForm']) }}
|
||||
'id' => 'assetsBulkForm']) }}
|
||||
|
||||
|
||||
<label for="bulk_actions">
|
||||
@@ -12,11 +12,15 @@
|
||||
</span>
|
||||
</label>
|
||||
<select name="bulk_actions" class="form-control select2" aria-label="bulk_actions">
|
||||
<option value="edit">{{ trans('button.edit') }}</option>
|
||||
<option value="delete">{{ trans('button.delete') }}</option>
|
||||
@can('update', \App\Models\Asset::class)
|
||||
<option value="edit">{{ trans('button.edit') }}</option>
|
||||
@endcan
|
||||
@can('delete', \App\Models\Asset::class)
|
||||
<option value="delete">{{ trans('button.delete') }}</option>
|
||||
@endcan
|
||||
<option value="labels">{{ trans_choice('button.generate_labels', 2) }}</option>
|
||||
</select>
|
||||
|
||||
<button class="btn btn-primary" id="bulkEdit" disabled>{{ trans('button.go') }}</button>
|
||||
<button class="btn btn-primary" id="bulkAssetEditButton" disabled>{{ trans('button.go') }}</button>
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -114,42 +114,57 @@
|
||||
|
||||
// These methods dynamically add/remove hidden input values in the bulk actions form
|
||||
$('.snipe-table').on('check.bs.table .btSelectItem', function (row, $element) {
|
||||
$('#bulkEdit').removeAttr('disabled');
|
||||
$('#bulkEdit').prepend('<input id="checkbox_' + $element.id + '" type="hidden" name="ids[]" value="' + $element.id + '">');
|
||||
var buttonName = $(this).data('bulk-button-id');
|
||||
var formName = $(this).data('bulk-form-id');
|
||||
var tableId = $(this).data('id-table');
|
||||
|
||||
$(buttonName).removeAttr('disabled');
|
||||
$(formName).prepend('<input id="' + tableId + '_checkbox_' + $element.id + '" type="hidden" name="ids[]" value="' + $element.id + '">');
|
||||
});
|
||||
|
||||
$('.snipe-table').on('uncheck.bs.table .btSelectItem', function (row, $element) {
|
||||
$( "#checkbox_" + $element.id).remove();
|
||||
var tableId = $(this).data('id-table');
|
||||
$( "#" + tableId + "checkbox_" + $element.id).remove();
|
||||
console.log("#" + tableId + "checkbox_" + $element.id);
|
||||
});
|
||||
|
||||
|
||||
$('.snipe-table').on('check-all.bs.table', function (event, rowsAfter, rowsBefore) {
|
||||
|
||||
var buttonName = $(this).data('bulk-button-id');
|
||||
$(buttonName).removeAttr('disabled');
|
||||
var formName = $(this).data('bulk-form-id');
|
||||
var tableId = $(this).data('id-table');
|
||||
|
||||
for (var i in rowsAfter) {
|
||||
$(formName).prepend('<input id="' + tableId + '_checkbox_' + rowsAfter[i].id + '" type="hidden" name="ids[]" value="' + rowsAfter[i].id + '">');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Handle whether or not the edit button should be disabled
|
||||
$('.snipe-table').on('uncheck.bs.table', function () {
|
||||
if ($('.snipe-table').bootstrapTable('getSelections').length == 0) {
|
||||
$('#bulkEdit').attr('disabled', 'disabled');
|
||||
|
||||
var buttonName = $(this).data('bulk-button-id');
|
||||
|
||||
if ($(this).bootstrapTable('getSelections').length == 0) {
|
||||
$(buttonName).attr('disabled', 'disabled');
|
||||
}
|
||||
});
|
||||
|
||||
$('.snipe-table').on('uncheck-all.bs.table', function (event, rowsAfter, rowsBefore) {
|
||||
$('#bulkEdit').attr('disabled', 'disabled');
|
||||
//console.dir(rowsBefore);
|
||||
|
||||
var buttonName = $(this).data('bulk-button-id');
|
||||
$(buttonName).attr('disabled', 'disabled');
|
||||
var tableId = $(this).data('id-table');
|
||||
|
||||
for (var i in rowsBefore) {
|
||||
$( "#checkbox_" + rowsBefore[i].id).remove();
|
||||
$('#' + tableId + "_checkbox_" + rowsBefore[i].id).remove();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$('.snipe-table').on('check-all.bs.table', function (event, rowsAfter, rowsBefore) {
|
||||
|
||||
$('#bulkEdit').removeAttr('disabled');
|
||||
//console.dir(rowsAfter);
|
||||
|
||||
for (var i in rowsAfter) {
|
||||
// console.log(rowsAfter[i].id);
|
||||
$('#bulkEdit').prepend('<input id="checkbox_' + rowsAfter[i].id + '" type="hidden" name="ids[]" value="' + rowsAfter[i].id + '">');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -305,7 +320,7 @@
|
||||
item_icon = 'fas fa-user';
|
||||
} else if (value.type == 'location') {
|
||||
item_destination = 'locations'
|
||||
item_icon = 'far fa-map-marker-alt';
|
||||
item_icon = 'fas fa-map-marker-alt';
|
||||
}
|
||||
|
||||
return '<nobr><a href="{{ url('/') }}/' + item_destination +'/' + value.id + '" data-tooltip="true" title="' + value.type + '"><i class="' + item_icon + ' text-{{ $snipeSettings->skin!='' ? $snipeSettings->skin : 'blue' }} "></i> ' + value.name + '</a></nobr>';
|
||||
@@ -452,7 +467,7 @@
|
||||
if ((row.custom_fields[field_column_plain].field_format) && (row.custom_fields[field_column_plain].value)) {
|
||||
if (row.custom_fields[field_column_plain].field_format=='URL') {
|
||||
return '<a href="' + row.custom_fields[field_column_plain].value + '" target="_blank" rel="noopener">' + row.custom_fields[field_column_plain].value + '</a>';
|
||||
}else if (row.custom_fields[field_column_plain].field_format=='BOOLEAN') {
|
||||
} else if (row.custom_fields[field_column_plain].field_format=='BOOLEAN') {
|
||||
return (row.custom_fields[field_column_plain].value == 1) ? "<span class='fas fa-check-circle' style='color:green' />" : "<span class='fas fa-times-circle' style='color:red' />";
|
||||
} else if (row.custom_fields[field_column_plain].field_format=='EMAIL') {
|
||||
return '<a href="mailto:' + row.custom_fields[field_column_plain].value + '">' + row.custom_fields[field_column_plain].value + '</a>';
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<div id="modelsBulkEditToolbar">
|
||||
{{ Form::open([
|
||||
'method' => 'POST',
|
||||
'route' => ['models.bulkedit.index'],
|
||||
'class' => 'form-inline',
|
||||
'id' => 'modelsBulkForm']) }}
|
||||
|
||||
@if (request('status')!='deleted')
|
||||
@can('delete', \App\Models\User::class)
|
||||
<div id="models-toolbar">
|
||||
<label for="bulk_actions" class="sr-only">{{ trans('general.bulk_actions') }}</label>
|
||||
<select name="bulk_actions" class="form-control select2" style="width: 200px;" aria-label="bulk_actions">
|
||||
<option value="edit">{{ trans('general.bulk_edit') }}</option>
|
||||
<option value="delete">{{ trans('general.bulk_delete') }}</option>
|
||||
</select>
|
||||
<button class="btn btn-primary" id="bulkModelsEditButton" disabled>{{ trans('button.go') }}</button>
|
||||
</div>
|
||||
@endcan
|
||||
@endif
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<div id="userBulkEditToolbar">
|
||||
{{ Form::open([
|
||||
'method' => 'POST',
|
||||
'route' => ['users/bulkedit'],
|
||||
'class' => 'form-inline',
|
||||
'id' => 'usersBulkForm']) }}
|
||||
|
||||
@if (request('status')!='deleted')
|
||||
@can('delete', \App\Models\User::class)
|
||||
<div id="users-toolbar">
|
||||
<label for="bulk_actions" class="sr-only">{{ trans('general.bulk_actions') }}</label>
|
||||
<select name="bulk_actions" class="form-control select2" style="width: 200px;" aria-label="bulk_actions">
|
||||
<option value="edit">{{ trans('general.bulk_edit') }}</option>
|
||||
<option value="delete">{!! trans('general.bulk_checkin_delete') !!}</option>
|
||||
<option value="bulkpasswordreset">{{ trans('button.send_password_link') }}</option>
|
||||
</select>
|
||||
<button class="btn btn-primary" id="bulkUserEditButton" disabled>{{ trans('button.go') }}</button>
|
||||
</div>
|
||||
@endcan
|
||||
@endif
|
||||
{{ Form::close() }}
|
||||
</div>
|
||||
@@ -47,6 +47,7 @@
|
||||
<th class="col-sm-3" data-searchable="false" data-sortable="true" data-field="action_date" data-formatter="dateDisplayFormatter">{{ trans('general.date') }}</th>
|
||||
<th class="col-sm-2" data-searchable="true" data-sortable="true" data-field="admin" data-formatter="usersLinkObjFormatter">{{ trans('general.admin') }}</th>
|
||||
<th class="col-sm-2" data-field="action_type">{{ trans('general.action') }}</th>
|
||||
<th class="col-sm-2" data-field="file" data-visible="false" data-formatter="fileUploadNameFormatter">{{ trans('general.file_name') }}</th>
|
||||
<th class="col-sm-1" data-field="type" data-formatter="itemTypeFormatter">{{ trans('general.type') }}</th>
|
||||
<th class="col-sm-3" data-field="item" data-formatter="polymorphicItemFormatter">{{ trans('general.item') }}</th>
|
||||
<th class="col-sm-2" data-field="target" data-formatter="polymorphicItemFormatter">{{ trans('general.to') }}</th>
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
|
||||
<table
|
||||
name="assetsReport"
|
||||
data-toolbar="#toolbar"
|
||||
class="table table-striped snipe-table"
|
||||
id="table"
|
||||
data-url="{{route('api.assets.index', array(''=>e(Request::get('status')),'order_number'=>e(Request::get('order_number')), 'status_id'=>e(Request::get('status_id')), 'report'=>'true'))}}"
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
{{ Form::label('ad_domain', trans('admin/settings/general.ad_domain')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ad_domain', Request::old('ad_domain', $setting->ad_domain), ['class' => 'form-control','placeholder' => 'example.com', $setting->demoMode]) }}
|
||||
{{ Form::text('ad_domain', Request::old('ad_domain', $setting->ad_domain), ['class' => 'form-control','placeholder' => trans('general.example') .'example.com', $setting->demoMode]) }}
|
||||
<p class="help-block">{{ trans('admin/settings/general.ad_domain_help') }}</p>
|
||||
{!! $errors->first('ad_domain', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
@@ -144,7 +144,7 @@
|
||||
{{ Form::label('ldap_client_tls_key', trans('admin/settings/general.ldap_client_tls_key')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::textarea('ldap_client_tls_key', Request::old('ldap_client_tls_key', $setting->ldap_client_tls_key), ['class' => 'form-control','placeholder' => '-----BEGIN RSA PRIVATE KEY-----'."\r\n1234567890\r\n-----END RSA PRIVATE KEY-----
|
||||
{{ Form::textarea('ldap_client_tls_key', Request::old('ldap_client_tls_key', $setting->ldap_client_tls_key), ['class' => 'form-control','placeholder' => trans('general.example') .'-----BEGIN RSA PRIVATE KEY-----'."\r\n1234567890\r\n-----END RSA PRIVATE KEY-----
|
||||
", $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_client_tls_key', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
@@ -159,7 +159,7 @@
|
||||
{{ Form::label('ldap_client_tls_cert', trans('admin/settings/general.ldap_client_tls_cert')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::textarea('ldap_client_tls_cert', Request::old('ldap_client_tls_cert', $setting->ldap_client_tls_cert), ['class' => 'form-control','placeholder' => '-----BEGIN CERTIFICATE-----'."\r\n1234567890\r\n-----END CERTIFICATE-----", $setting->demoMode]) }}
|
||||
{{ Form::textarea('ldap_client_tls_cert', Request::old('ldap_client_tls_cert', $setting->ldap_client_tls_cert), ['class' => 'form-control','placeholder' => trans('general.example') .'-----BEGIN CERTIFICATE-----'."\r\n1234567890\r\n-----END CERTIFICATE-----", $setting->demoMode]) }}
|
||||
<p class="help-block">{{ trans('admin/settings/general.ldap_client_tls_cert_help') }}</p>
|
||||
{!! $errors->first('ldap_client_tls_cert', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
@@ -174,7 +174,7 @@
|
||||
{{ Form::label('ldap_server', trans('admin/settings/general.ldap_server')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_server', Request::old('ldap_server', $setting->ldap_server), ['class' => 'form-control','placeholder' => 'ldap://ldap.example.com', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_server', Request::old('ldap_server', $setting->ldap_server), ['class' => 'form-control','placeholder' => trans('general.example') .'ldap://ldap.example.com', $setting->demoMode]) }}
|
||||
<p class="help-block">{{ trans('admin/settings/general.ldap_server_help') }}</p>
|
||||
{!! $errors->first('ldap_server', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
@@ -220,7 +220,7 @@
|
||||
{{ Form::label('ldap_uname', trans('admin/settings/general.ldap_uname')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_uname', Request::old('ldap_uname', $setting->ldap_uname), ['class' => 'form-control','placeholder' => 'binduser@example.com', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_uname', Request::old('ldap_uname', $setting->ldap_uname), ['class' => 'form-control','placeholder' => trans('general.example') .'binduser@example.com', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_uname', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -234,7 +234,7 @@
|
||||
{{ Form::label('ldap_pword', trans('admin/settings/general.ldap_pword')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::password('ldap_pword', ['class' => 'form-control','placeholder' => 'binduserpassword', $setting->demoMode]) }}
|
||||
{{ Form::password('ldap_pword', ['class' => 'form-control','placeholder' => trans('general.example') .' binduserpassword', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_pword', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -248,7 +248,7 @@
|
||||
{{ Form::label('ldap_basedn', trans('admin/settings/general.ldap_basedn')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_basedn', Request::old('ldap_basedn', $setting->ldap_basedn), ['class' => 'form-control', 'placeholder' => 'cn=users/authorized,dc=example,dc=com', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_basedn', Request::old('ldap_basedn', $setting->ldap_basedn), ['class' => 'form-control', 'placeholder' => trans('general.example') .'cn=users/authorized,dc=example,dc=com', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_basedn', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -262,7 +262,7 @@
|
||||
{{ Form::label('ldap_filter', trans('admin/settings/general.ldap_filter')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_filter', Request::old('ldap_filter', $setting->ldap_filter), ['class' => 'form-control','placeholder' => '&(cn=*)', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_filter', Request::old('ldap_filter', $setting->ldap_filter), ['class' => 'form-control','placeholder' => trans('general.example') .'&(cn=*)', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_filter', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -276,7 +276,7 @@
|
||||
{{ Form::label('ldap_username_field', trans('admin/settings/general.ldap_username_field')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_username_field', Request::old('ldap_username_field', $setting->ldap_username_field), ['class' => 'form-control','placeholder' => 'samaccountname', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_username_field', Request::old('ldap_username_field', $setting->ldap_username_field), ['class' => 'form-control','placeholder' => trans('general.example') .'samaccountname', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_username_field', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -290,7 +290,7 @@
|
||||
{{ Form::label('ldap_lname_field', trans('admin/settings/general.ldap_lname_field')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_lname_field', Request::old('ldap_lname_field', $setting->ldap_lname_field), ['class' => 'form-control','placeholder' => 'sn', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_lname_field', Request::old('ldap_lname_field', $setting->ldap_lname_field), ['class' => 'form-control','placeholder' => trans('general.example') .'sn', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_lname_field', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -304,7 +304,7 @@
|
||||
{{ Form::label('ldap_fname_field', trans('admin/settings/general.ldap_fname_field')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_fname_field', Request::old('ldap_fname_field', $setting->ldap_fname_field), ['class' => 'form-control', 'placeholder' => 'givenname', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_fname_field', Request::old('ldap_fname_field', $setting->ldap_fname_field), ['class' => 'form-control', 'placeholder' => trans('general.example') .'givenname', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_fname_field', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -318,7 +318,7 @@
|
||||
{{ Form::label('ldap_auth_filter_query', trans('admin/settings/general.ldap_auth_filter_query')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_auth_filter_query', Request::old('ldap_auth_filter_query', $setting->ldap_auth_filter_query), ['class' => 'form-control','placeholder' => '"uid="', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_auth_filter_query', Request::old('ldap_auth_filter_query', $setting->ldap_auth_filter_query), ['class' => 'form-control','placeholder' => trans('general.example') .'uid=', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_auth_filter_query', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -346,7 +346,7 @@
|
||||
{{ Form::label('ldap_active_flag', trans('admin/settings/general.ldap_active_flag')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_active_flag', Request::old('ldap_active_flag', $setting->ldap_active_flag), ['class' => 'form-control','placeholder' => '', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_active_flag', Request::old('ldap_active_flag', $setting->ldap_active_flag), ['class' => 'form-control', $setting->demoMode]) }}
|
||||
|
||||
<p class="help-block">{{ trans('admin/settings/general.ldap_activated_flag_help') }}</p>
|
||||
|
||||
@@ -363,7 +363,7 @@
|
||||
{{ Form::label('ldap_emp_num', trans('admin/settings/general.ldap_emp_num')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_emp_num', Request::old('ldap_emp_num', $setting->ldap_emp_num), ['class' => 'form-control','placeholder' => 'employeenumber/employeeid', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_emp_num', Request::old('ldap_emp_num', $setting->ldap_emp_num), ['class' => 'form-control','placeholder' => trans('general.example') .'employeenumber/employeeid', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_emp_num', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -376,7 +376,7 @@
|
||||
{{ Form::label('ldap_dept', trans('admin/settings/general.ldap_dept')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_dept', Request::old('ldap_dept', $setting->ldap_dept), ['class' => 'form-control','placeholder' => 'department', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_dept', Request::old('ldap_dept', $setting->ldap_dept), ['class' => 'form-control','placeholder' => trans('general.example') .'department', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_dept', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -389,7 +389,7 @@
|
||||
{{ Form::label('ldap_dept', trans('admin/settings/general.ldap_manager')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_manager', Request::old('ldap_manager', $setting->ldap_manager), ['class' => 'form-control','placeholder' => 'manager', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_manager', Request::old('ldap_manager', $setting->ldap_manager), ['class' => 'form-control','placeholder' => trans('general.example') .'manager', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_manager', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -403,7 +403,7 @@
|
||||
{{ Form::label('ldap_email', trans('admin/settings/general.ldap_email')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_email', Request::old('ldap_email', $setting->ldap_email), ['class' => 'form-control','placeholder' => 'mail', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_email', Request::old('ldap_email', $setting->ldap_email), ['class' => 'form-control','placeholder' => trans('general.example') .'mail', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_email', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -417,7 +417,7 @@
|
||||
{{ Form::label('ldap_phone', trans('admin/settings/general.ldap_phone')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_phone', Request::old('ldap_phone', $setting->ldap_phone_field), ['class' => 'form-control','placeholder' => 'telephonenumber', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_phone', Request::old('ldap_phone', $setting->ldap_phone_field), ['class' => 'form-control','placeholder' => trans('general.example') .'telephonenumber', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_phone', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -431,7 +431,7 @@
|
||||
{{ Form::label('ldap_jobtitle', trans('admin/settings/general.ldap_jobtitle')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_jobtitle', Request::old('ldap_jobtitle', $setting->ldap_jobtitle), ['class' => 'form-control','placeholder' => 'title', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_jobtitle', Request::old('ldap_jobtitle', $setting->ldap_jobtitle), ['class' => 'form-control','placeholder' => trans('general.example') .'title', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_jobtitle', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -445,7 +445,7 @@
|
||||
{{ Form::label('ldap_country', trans('admin/settings/general.ldap_country')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('ldap_country', Request::old('ldap_country', $setting->ldap_country), ['class' => 'form-control','placeholder' => 'c', $setting->demoMode]) }}
|
||||
{{ Form::text('ldap_country', Request::old('ldap_country', $setting->ldap_country), ['class' => 'form-control','placeholder' => trans('general.example') .'c', $setting->demoMode]) }}
|
||||
{!! $errors->first('ldap_country', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
<p class="text-warning"><i class="fas fa-lock" aria-hidden="true"></i> {{ trans('general.feature_disabled') }}</p>
|
||||
@@ -515,7 +515,7 @@
|
||||
{{ Form::label('custom_forgot_pass_url', trans('admin/settings/general.custom_forgot_pass_url')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('custom_forgot_pass_url', Request::old('custom_forgot_pass_url', $setting->custom_forgot_pass_url), ['class' => 'form-control','placeholder' => 'https://my.ldapserver-forgotpass.com', $setting->demoMode]) }}
|
||||
{{ Form::text('custom_forgot_pass_url', Request::old('custom_forgot_pass_url', $setting->custom_forgot_pass_url), ['class' => 'form-control','placeholder' => trans('general.example') .'https://my.ldapserver-forgotpass.com', $setting->demoMode]) }}
|
||||
<p class="help-block">{{ trans('admin/settings/general.custom_forgot_pass_url_help') }}</p>
|
||||
{!! $errors->first('custom_forgot_pass_url', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
@if (config('app.lock_passwords')===true)
|
||||
|
||||
@@ -38,26 +38,8 @@
|
||||
<div class="col-md-12">
|
||||
<div class="box box-default">
|
||||
<div class="box-body">
|
||||
{{ Form::open([
|
||||
'method' => 'POST',
|
||||
'route' => ['users/bulkedit'],
|
||||
'class' => 'form-inline',
|
||||
'id' => 'bulkForm']) }}
|
||||
|
||||
@if (request('status')!='deleted')
|
||||
@can('delete', \App\Models\User::class)
|
||||
<div id="toolbar">
|
||||
<label for="bulk_actions" class="sr-only">{{ trans('general.bulk_actions') }}</label>
|
||||
<select name="bulk_actions" class="form-control select2" style="width: 200px;" aria-label="bulk_actions">
|
||||
<option value="delete">{!! trans('general.bulk_checkin_delete') !!}</option>
|
||||
<option value="edit">{{ trans('general.bulk_edit') }}</option>
|
||||
<option value="bulkpasswordreset">{{ trans('button.send_password_link') }}</option>
|
||||
</select>
|
||||
<button class="btn btn-default" id="bulkEdit" disabled>{{ trans('button.go') }}</button>
|
||||
</div>
|
||||
@endcan
|
||||
@endif
|
||||
|
||||
@include('partials.users-bulk-actions')
|
||||
|
||||
<table
|
||||
data-click-to-select="true"
|
||||
@@ -71,7 +53,9 @@
|
||||
data-show-export="true"
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
data-toolbar="#toolbar"
|
||||
data-toolbar="#userBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkUserEditButton"
|
||||
data-bulk-form-id="#usersBulkForm"
|
||||
id="usersTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.users.index',
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
<table class="table table-bordered">
|
||||
<tr>
|
||||
<th>{{ trans('general.username') }}</th><th>{{ trans('general.employee_number') }}</th>
|
||||
<th>{{ trans('general.firstname') }}</th><th>{{ trans('general.lastname') }}</th>
|
||||
<th>{{ trans('general.first_name') }}</th><th>{{ trans('general.last_name') }}</th>
|
||||
<th>{{ trans('general.email') }}</th><th>{{ trans('general.notes') }}</th>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -591,7 +591,9 @@
|
||||
data-show-refresh="true"
|
||||
data-sort-order="asc"
|
||||
data-sort-name="name"
|
||||
data-toolbar="#toolbar"
|
||||
data-toolbar="#assetsBulkEditToolbar"
|
||||
data-bulk-button-id="#bulkAssetEditButton"
|
||||
data-bulk-form-id="#assetsBulkForm"
|
||||
id="userAssetsListingTable"
|
||||
class="table table-striped snipe-table"
|
||||
data-url="{{ route('api.assets.index',['assigned_to' => e($user->id), 'assigned_type' => 'App\Models\User']) }}"
|
||||
|
||||
+33
-20
@@ -2,34 +2,47 @@
|
||||
{{-- Header --}}
|
||||
@slot('header')
|
||||
@component('mail::header', ['url' => config('app.url')])
|
||||
@if (isset($snipeSettings) && ($snipeSettings->show_images_in_email=='1' ) && ($snipeSettings::setupCompleted()))
|
||||
|
||||
@if ($snipeSettings->brand == '3')
|
||||
{{-- Check that the $snipeSettings variable is set, images are set to be shown, and setup is complete --}}
|
||||
|
||||
@if ($snipeSettings->email_logo!='')
|
||||
<img style="max-height: 100px; vertical-align:middle;" src="{{ \Storage::disk('public')->url(e($snipeSettings->email_logo)) }}">
|
||||
@elseif ($snipeSettings->logo!='')
|
||||
<img style="max-height: 100px; vertical-align:middle;" src="{{ \Storage::disk('public')->url(e($snipeSettings->logo)) }}">
|
||||
@endif
|
||||
<br><br>
|
||||
{{ $snipeSettings->site_name }}
|
||||
<br><br>
|
||||
|
||||
@elseif ($snipeSettings->brand == '2')
|
||||
@if ($snipeSettings->email_logo!='')
|
||||
@if (isset($snipeSettings) && ($snipeSettings::setupCompleted()))
|
||||
|
||||
<img style="max-width: 100px; vertical-align:middle;" src="{{ \Storage::disk('public')->url(e($snipeSettings->email_logo)) }}">
|
||||
@elseif ($snipeSettings->logo!='')
|
||||
<img style="max-width: 100px; vertical-align:middle;" src="{{ \Storage::disk('public')->url(e($snipeSettings->logo)) }}">
|
||||
@endif
|
||||
{{-- Show images in email! --}}
|
||||
@if (($snipeSettings->show_images_in_email=='1' ) && (($snipeSettings->brand == '3') || ($snipeSettings->brand == '2')))
|
||||
|
||||
{{-- $snipeSettings->brand = 1 = Text --}}
|
||||
{{-- $snipeSettings->brand = 2 = Logo --}}
|
||||
{{-- $snipeSettings->brand = 3 = Logo + Text --}}
|
||||
@if ($snipeSettings->brand == '3')
|
||||
|
||||
@if ($snipeSettings->email_logo!='')
|
||||
<img style="max-height: 100px; vertical-align:middle;" src="{{ \Storage::disk('public')->url(e($snipeSettings->email_logo)) }}">
|
||||
@elseif ($snipeSettings->logo!='')
|
||||
<img style="max-height: 100px; vertical-align:middle;" src="{{ \Storage::disk('public')->url(e($snipeSettings->logo)) }}">
|
||||
@endif
|
||||
|
||||
<br><br>
|
||||
{{ $snipeSettings->site_name }}
|
||||
<br><br>
|
||||
{{-- else if branding type is just logo --}}
|
||||
@elseif ($snipeSettings->brand == '2')
|
||||
@if ($snipeSettings->email_logo!='')
|
||||
|
||||
<img style="max-width: 100px; vertical-align:middle;" src="{{ \Storage::disk('public')->url(e($snipeSettings->email_logo)) }}">
|
||||
@elseif ($snipeSettings->logo!='')
|
||||
<img style="max-width: 100px; vertical-align:middle;" src="{{ \Storage::disk('public')->url(e($snipeSettings->logo)) }}">
|
||||
@endif
|
||||
@endif
|
||||
@else
|
||||
{{ $snipeSettings->site_name }}
|
||||
@endif
|
||||
|
||||
{{-- Either the $snipeSettings variable isn't set or setup is not complete --}}
|
||||
@else
|
||||
{{ $snipeSettings->site_name }}
|
||||
{{ config('app.name') }}
|
||||
@endif
|
||||
|
||||
@else
|
||||
Snipe-IT
|
||||
@endif
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
|
||||
+12
-1
@@ -483,7 +483,18 @@ Route::group(['prefix' => 'v1', 'middleware' => ['api', 'throttle:'.config('app.
|
||||
'checkout'
|
||||
]
|
||||
)->name('api.asset.checkout');
|
||||
});
|
||||
|
||||
Route::post('{asset_id}/restore',
|
||||
[
|
||||
Api\AssetsController::class,
|
||||
'restore'
|
||||
]
|
||||
)->name('api.assets.restore');
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Route::resource('hardware',
|
||||
|
||||
+1
-1
@@ -237,7 +237,7 @@ install_snipeit () {
|
||||
log "php $APP_PATH/artisan migrate --force"
|
||||
|
||||
echo "* Creating scheduler cron."
|
||||
(crontab -l ; echo "* * * * * /usr/bin/php $APP_PATH/artisan schedule:run >> /dev/null 2>&1") | crontab -
|
||||
(run_as_app_user crontab -l ; echo "* * * * * /usr/bin/php $APP_PATH/artisan schedule:run >> /dev/null 2>&1") | run_as_app_user crontab -
|
||||
}
|
||||
|
||||
set_firewall () {
|
||||
|
||||
+213
-19
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
(PHP_SAPI !== 'cli' || isset($_SERVER['HTTP_USER_AGENT'])) && die('Access denied.');
|
||||
|
||||
$required_version = '7.4.0';
|
||||
$required_php_min = '7.4.0';
|
||||
|
||||
if ((strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') || (!function_exists('posix_getpwuid'))) {
|
||||
echo "Skipping user check as it is not supported on Windows or Posix is not installed on this server. \n";
|
||||
@@ -15,6 +15,8 @@ if ((strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') || (!function_exists('posix_get
|
||||
}
|
||||
|
||||
|
||||
$app_environment = 'develop';
|
||||
|
||||
// Check if a branch or tag was passed in the command line,
|
||||
// otherwise just use master
|
||||
(array_key_exists('1', $argv)) ? $branch = $argv[1] : $branch = 'master';
|
||||
@@ -23,25 +25,132 @@ echo "--------------------------------------------------------\n";
|
||||
echo "WELCOME TO THE SNIPE-IT UPGRADER! \n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
echo "This script will attempt to: \n\n";
|
||||
echo "- validate some very basic .env file settings \n";
|
||||
echo "- check your PHP version and extension requirements \n";
|
||||
echo "- check directory permissions \n";
|
||||
echo "- do a git pull to bring you to the latest version \n";
|
||||
echo "- run composer install to get your vendors up to date \n";
|
||||
echo "- run migrations to get your schema up to date \n";
|
||||
echo "- clear out old cache settings\n\n";
|
||||
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "STEP 1: Checking PHP requirements: \n";
|
||||
echo "STEP 1: Checking .env file: \n";
|
||||
echo "- Your .env is located at ".getcwd()."/.env \n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
if (version_compare(PHP_VERSION, $required_version, '<')) {
|
||||
|
||||
// Check the .env looks ok
|
||||
$env = file('.env');
|
||||
$env_error_count = 0;
|
||||
$env_good = '';
|
||||
$env_bad = '';
|
||||
|
||||
// Loop through each line of the .env
|
||||
foreach ($env as $line_num => $line) {
|
||||
|
||||
if ((strlen($line) > 1) && (strpos($line, "#") !== 0)) {
|
||||
|
||||
list ($env_key, $env_value) = $env_line = explode('=', $line);
|
||||
|
||||
// The array starts at 0
|
||||
$show_line_num = $line_num+1;
|
||||
|
||||
$env_value = trim($env_value);
|
||||
|
||||
// Strip out the quote marks if there are any
|
||||
$env_value = str_replace('"', '',$env_value);
|
||||
$env_value = str_replace("'", '',$env_value);
|
||||
|
||||
|
||||
/**
|
||||
* We set this $app_environment here to determine which version of composer to use, --no-dev or with dev dependencies.
|
||||
* This doesn't actually *change* anything in the .env file, but if the user is running this with
|
||||
* APP_ENV set to anything OTHER than production, they'll get an error when they try to dump-autoload
|
||||
* because the Dusk service provider only tries to load if the app is not in production mode.
|
||||
*
|
||||
* It's 100% okay if they're not in production mode, but this will avoid any confusion as they get
|
||||
* erroneous errors using this upgrader if they are not in production mode when they run this script.
|
||||
*
|
||||
* We use this further down in the composer section of this upgrader.
|
||||
*/
|
||||
|
||||
if ($env_key == "APP_ENV") {
|
||||
if ($env_value == 'production') {
|
||||
$app_environment = 'production';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($env_key == 'APP_KEY') {
|
||||
if (($env_value=='') || (strlen($env_value) < 20)) {
|
||||
$env_bad .= "✘ APP_KEY ERROR in your .env on line #'.$show_line_num.': Your APP_KEY should not be blank. Run `php artisan key:generate` to generate one.\n";
|
||||
} else {
|
||||
$env_good .= "√ Your APP_KEY is not blank. \n";
|
||||
}
|
||||
}
|
||||
|
||||
if ($env_key == 'APP_URL') {
|
||||
|
||||
$app_url_length = strlen($env_value);
|
||||
|
||||
if (($env_value!="null") && ($env_value!="")) {
|
||||
$env_good .= '√ Your APP_URL is not null or blank. It is set to '.$env_value."\n";
|
||||
|
||||
if (!str_begins(trim($env_value), 'http://') && (!str_begins($env_value, 'https://'))) {
|
||||
$env_bad .= '✘ APP_URL ERROR in your .env on line #'.$show_line_num.': Your APP_URL should start with https:// or http://!! It is currently set to: '.$env_value;
|
||||
} else {
|
||||
$env_good .= '√ Your APP_URL is set to '.$env_value.' and starts with the protocol (https:// or http://)'."\n";
|
||||
}
|
||||
|
||||
if (str_ends(trim($env_value), "/")) {
|
||||
$env_bad .= '✘ APP_URL ERROR in your .env on line #'.$show_line_num.': Your APP_URL should NOT end with a trailing slash. It is currently set to: '.$env_value;
|
||||
} else {
|
||||
$env_good .= '√ Your APP_URL ('.$env_value.') does not have a trailing slash.'."\n";
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
$env_bad .= "✘ APP_URL ERROR in your .env on line #".$show_line_num.": Your APP_URL CANNOT be set to null or left blank.\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
echo $env_good;
|
||||
|
||||
if ($env_bad !='') {
|
||||
|
||||
echo "\n--------------------- !! ERROR !! ----------------------\n";
|
||||
echo "Your .env file is misconfigured. Upgrade cannot continue.\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
echo $env_bad;
|
||||
echo "\n\n--------------------------------------------------------\n";
|
||||
echo "ABORTING THE INSTALLER \n";
|
||||
echo "Please correct the issues above in ".getcwd()."/.env and try again.\n";
|
||||
echo "--------------------------------------------------------\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
echo "\n--------------------------------------------------------\n";
|
||||
echo "STEP 2: Checking PHP requirements: \n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
if (version_compare(PHP_VERSION, $required_php_min, '<')) {
|
||||
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ERROR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
|
||||
echo "This version of PHP (".PHP_VERSION.") is not compatible with Snipe-IT.\n";
|
||||
echo "Snipe-IT requires PHP version ".$required_version." or greater. Please upgrade \n";
|
||||
echo "Snipe-IT requires PHP version ".$required_php_min." or greater. Please upgrade \n";
|
||||
echo "your version of PHP (web/php-fcgi and cli) and try running this script again.\n\n\n";
|
||||
exit;
|
||||
|
||||
} else {
|
||||
echo "Current PHP version: (" . PHP_VERSION . ") is at least ".$required_version." - continuing... \n";
|
||||
echo "Current PHP version: (" . PHP_VERSION . ") is at least ".$required_php_min." - continuing... \n";
|
||||
echo sprintf("FYI: The php.ini used by this PHP is: %s\n\n", get_cfg_var('cfg_file_path'));
|
||||
}
|
||||
|
||||
@@ -121,10 +230,10 @@ if ($ext_missing!='') {
|
||||
|
||||
echo "--------------------- !! ERROR !! ----------------------\n";
|
||||
echo $ext_missing;
|
||||
echo "------------------------- :( ---------------------------\n";
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "ABORTING THE INSTALLER \n";
|
||||
echo "Please install the extensions above and re-run this script.\n";
|
||||
echo "------------------------- :( ---------------------------\n";
|
||||
echo "--------------------------------------------------------\n";
|
||||
exit;
|
||||
} else {
|
||||
echo $ext_installed."\n";
|
||||
@@ -132,21 +241,73 @@ if ($ext_missing!='') {
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "STEP 2: Backing up database: \n";
|
||||
echo "STEP 3: Checking directory permissions: \n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
|
||||
$writable_dirs_array =
|
||||
[
|
||||
'bootstrap/cache',
|
||||
'storage',
|
||||
'storage/logs',
|
||||
'storage/logs/laravel.log',
|
||||
'storage/framework',
|
||||
'storage/framework/cache',
|
||||
'storage/framework/sessions',
|
||||
'storage/framework/views',
|
||||
'storage/app',
|
||||
'storage/app/backups',
|
||||
'storage/app/backup-temp',
|
||||
'storage/private_uploads',
|
||||
'public/uploads',
|
||||
];
|
||||
|
||||
$dirs_writable = '';
|
||||
$dirs_not_writable = '';
|
||||
|
||||
// Loop through the directories that need to be writable
|
||||
foreach ($writable_dirs_array as $writable_dir) {
|
||||
if (is_writable($writable_dir)) {
|
||||
$dirs_writable .= '√ '.getcwd().'/'.$writable_dir." is writable \n";
|
||||
} else {
|
||||
$dirs_not_writable .= '✘ PERMISSIONS ERROR: '.getcwd().'/'.$writable_dir." is NOT writable\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo $dirs_writable."\n";
|
||||
|
||||
// Print out a useful error message
|
||||
if ($dirs_not_writable!='') {
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "The following directories/files do not seem writable: \n";
|
||||
echo "--------------------------------------------------------\n";
|
||||
|
||||
echo $dirs_not_writable;
|
||||
|
||||
echo "--------------------- !! ERROR !! ----------------------\n";
|
||||
echo "Please check the permissions on the directories above and re-run this script.\n";
|
||||
echo "------------------------- :( ---------------------------\n\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "STEP 4: Backing up database: \n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
$backup = shell_exec('php artisan snipeit:backup');
|
||||
echo '-- '.$backup."\n\n";
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "STEP 3: Putting application into maintenance mode: \n";
|
||||
echo "STEP 5: Putting application into maintenance mode: \n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
$down = shell_exec('php artisan down');
|
||||
echo '-- '.$down."\n";
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "STEP 4: Pulling latest from Git (".$branch." branch): \n";
|
||||
echo "STEP 6: Pulling latest from Git (".$branch." branch): \n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
$git_version = shell_exec('git --version');
|
||||
|
||||
@@ -172,7 +333,7 @@ if ((strpos('git version', $git_version)) === false) {
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 5: Cleaning up old cached files:\n";
|
||||
echo "STEP 7: Cleaning up old cached files:\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
// Build an array of the files we generally want to delete because they
|
||||
@@ -205,10 +366,10 @@ echo '-- '.$view_clear;
|
||||
echo "\n";
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 6: Updating composer dependencies:\n";
|
||||
echo "STEP 8: Updating composer dependencies:\n";
|
||||
echo "(This may take a moment.)\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
echo "-- Running the app in ".$app_environment." mode.\n";
|
||||
|
||||
// Composer install
|
||||
if (file_exists('composer.phar')) {
|
||||
@@ -217,13 +378,36 @@ if (file_exists('composer.phar')) {
|
||||
$composer_update = shell_exec('php composer.phar self-update');
|
||||
echo $composer_update."\n\n";
|
||||
|
||||
|
||||
|
||||
// Use --no-dev only if we are in production mode.
|
||||
// This will cause errors otherwise, if the user is in develop or local for their APP_ENV
|
||||
if ($app_environment == 'production') {
|
||||
$composer = shell_exec('php composer.phar install --no-dev --prefer-source');
|
||||
} else {
|
||||
$composer = shell_exec('php composer.phar install --prefer-source');
|
||||
}
|
||||
$composer_dump = shell_exec('php composer.phar dump');
|
||||
$composer = shell_exec('php composer.phar install --no-dev --prefer-source');
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
echo "-- We couldn't find a local composer.phar. No worries, trying globally.\n\n";
|
||||
|
||||
echo "-- We couldn't find a local composer.phar. No worries, trying globally.\n";
|
||||
echo "Since you are running composer globally, we won't try to update it for you.\n";
|
||||
echo "If you run into issues with this step, try running `composer self-update` \n";
|
||||
echo "before running this updater again\n\n";
|
||||
|
||||
if ($app_environment == 'production') {
|
||||
$composer = shell_exec('composer install --no-dev --prefer-source');
|
||||
} else {
|
||||
$composer = shell_exec('composer install --prefer-source');
|
||||
}
|
||||
|
||||
$composer_dump = shell_exec('composer dump');
|
||||
$composer = shell_exec('composer install --no-dev --prefer-source');
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
echo $composer_dump."\n";
|
||||
@@ -231,7 +415,7 @@ echo $composer;
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 7: Migrating database:\n";
|
||||
echo "STEP 9: Migrating database:\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
$migrations = shell_exec('php artisan migrate --force');
|
||||
@@ -239,7 +423,7 @@ echo $migrations."\n";
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 8: Checking for OAuth keys:\n";
|
||||
echo "STEP 10: Checking for OAuth keys:\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
|
||||
@@ -253,7 +437,7 @@ if ((!file_exists('storage/oauth-public.key')) || (!file_exists('storage/oauth-p
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 9: Taking application out of maintenance mode:\n";
|
||||
echo "STEP 11: Taking application out of maintenance mode:\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
$up = shell_exec('php artisan up');
|
||||
@@ -267,3 +451,13 @@ echo "your upgraded Snipe-IT!\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
|
||||
function str_begins($haystack, $needle) {
|
||||
return 0 === substr_compare($haystack, $needle, 0, strlen($needle));
|
||||
}
|
||||
|
||||
function str_ends($haystack, $needle) {
|
||||
return 0 === substr_compare($haystack, $needle, -strlen($needle));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user