Compare commits
54 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 105f57e059 | |||
| 390403ddb7 | |||
| 7da32443ff | |||
| d61d189328 | |||
| b5f7cb534e | |||
| 618e4439e2 | |||
| cb1a95a530 | |||
| 8b6b95a05b | |||
| 7557879d4a | |||
| 0b41f9182a | |||
| 0114373468 | |||
| 86fef3f40a | |||
| c90604b5ae | |||
| 069e9e52fe | |||
| ca8b152549 | |||
| b2a3a80f96 | |||
| c8e172ec6b | |||
| afb7fcfa3e | |||
| 9f3a8a43cc | |||
| 8fd8e716ac | |||
| 72f7baf5ee | |||
| 1b890ffcc5 | |||
| ca882e2b3d | |||
| 97fa9663b1 | |||
| ab092fd209 | |||
| c7626f8387 | |||
| 3fc24b4e61 | |||
| f164f0ea60 | |||
| 0dd38c4a9b | |||
| 6e8aaddb40 | |||
| 104912cdf3 | |||
| b103f724b5 | |||
| 0fa07a4bca | |||
| c3871c98df | |||
| cf4e97f103 | |||
| f05a8d782c | |||
| 89ab4bb86f | |||
| 707a68fc54 | |||
| 4bd9706693 | |||
| 0d91ebfed8 | |||
| 2d6dcb6b3b | |||
| e9ee9ea2e9 | |||
| 3873f14971 | |||
| 7e56fc5e0d | |||
| 3f01b02fd9 | |||
| 77ec64aded | |||
| 9ed226a0af | |||
| d64b35c348 | |||
| 5aa960603a | |||
| c979779249 | |||
| 52bf050c4f | |||
| ab7dd90602 | |||
| 2e298893b6 | |||
| b0078ff64d |
@@ -2128,6 +2128,24 @@
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "joelpittet",
|
||||
"name": "Joel Pittet",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/70129?v=4",
|
||||
"profile": "https://pittet.ca",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "elyscape",
|
||||
"name": "Eli Young",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/792695?v=4",
|
||||
"profile": "https://elyscape.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+5
-1
@@ -1,6 +1,10 @@
|
||||
FROM ubuntu:bionic
|
||||
LABEL maintainer Brady Wetherington <uberbrady@gmail.com>
|
||||
|
||||
# No need to add `apt-get clean` here, reference:
|
||||
# - https://github.com/snipe/snipe-it/pull/9201
|
||||
# - https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#apt-get
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive; \
|
||||
export DEBCONF_NONINTERACTIVE_SEEN=true; \
|
||||
echo 'tzdata tzdata/Areas select Etc' | debconf-set-selections; \
|
||||
@@ -37,7 +41,6 @@ libmcrypt-dev \
|
||||
php7.2-dev \
|
||||
ca-certificates \
|
||||
unzip \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
|
||||
@@ -94,6 +97,7 @@ RUN \
|
||||
&& mkdir -p "/var/lib/snipeit/keys" && ln -fs "/var/lib/snipeit/keys/oauth-private.key" "/var/www/html/storage/oauth-private.key" \
|
||||
&& ln -fs "/var/lib/snipeit/keys/oauth-public.key" "/var/www/html/storage/oauth-public.key" \
|
||||
&& chown docker "/var/lib/snipeit/keys/" \
|
||||
&& chown -h docker "/var/www/html/storage/" \
|
||||
&& chmod +x /var/www/html/artisan \
|
||||
&& echo "Finished setting up application in /var/www/html"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
 [](https://crowdin.com/project/snipe-it) [](https://gitter.im/snipe/snipe-it?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](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)
|
||||
[](#contributors)
|
||||
|
||||
## Snipe-IT - Open Source Asset Management System
|
||||
|
||||
@@ -122,7 +122,7 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken
|
||||
| [<img src="https://avatars0.githubusercontent.com/u/1255375?v=4" width="110px;"/><br /><sub>Peter Upfold</sub>](https://peter.upfold.org.uk/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PeterUpfold "Code") | [<img src="https://avatars2.githubusercontent.com/u/961717?v=4" width="110px;"/><br /><sub>Jared Biel</sub>](https://github.com/jbiel)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jbiel "Code") | [<img src="https://avatars1.githubusercontent.com/u/1733625?v=4" width="110px;"/><br /><sub>Dampfklon</sub>](https://github.com/dampfklon)<br />[💻](https://github.com/snipe/snipe-it/commits?author=dampfklon "Code") | [<img src="https://avatars2.githubusercontent.com/u/52973156?v=4" width="110px;"/><br /><sub>Charles Hamilton</sub>](https://communityclosing.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=chamilton-ccn "Code") | [<img src="https://avatars.githubusercontent.com/u/551789?v=4" width="110px;"/><br /><sub>Giuseppe Iannello</sub>](https://github.com/giannello)<br />[💻](https://github.com/snipe/snipe-it/commits?author=giannello "Code") | [<img src="https://avatars.githubusercontent.com/u/3691490?v=4" width="110px;"/><br /><sub>Peter Dave Hello</sub>](https://www.peterdavehello.org/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PeterDaveHello "Code") | [<img src="https://avatars.githubusercontent.com/u/6106332?v=4" width="110px;"/><br /><sub>sigmoidal</sub>](https://github.com/sigmoidal)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sigmoidal "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/2082554?v=4" width="110px;"/><br /><sub>Vincent Lainé</sub>](https://github.com/phenixdotnet)<br />[💻](https://github.com/snipe/snipe-it/commits?author=phenixdotnet "Code") | [<img src="https://avatars.githubusercontent.com/u/1943040?v=4" width="110px;"/><br /><sub>Lucas Pleß</sub>](http://www.lucas-pless.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=derlucas "Code") | [<img src="https://avatars.githubusercontent.com/u/472804?v=4" width="110px;"/><br /><sub>Ian Littman</sub>](http://twitter.com/iansltx)<br />[💻](https://github.com/snipe/snipe-it/commits?author=iansltx "Code") | [<img src="https://avatars.githubusercontent.com/u/3519029?v=4" width="110px;"/><br /><sub>João Paulo</sub>](https://github.com/PauloLuna)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PauloLuna "Code") | [<img src="https://avatars.githubusercontent.com/u/70443365?v=4" width="110px;"/><br /><sub>ThoBur</sub>](https://github.com/ThoBur)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ThoBur "Code") | [<img src="https://avatars.githubusercontent.com/u/1972329?v=4" width="110px;"/><br /><sub>Alexander Chibrikin</sub>](http://phpprofi.ru/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=alek13 "Code") | [<img src="https://avatars.githubusercontent.com/u/438332?v=4" width="110px;"/><br /><sub>Anthony Winstanley</sub>](https://github.com/winstan)<br />[💻](https://github.com/snipe/snipe-it/commits?author=winstan "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/3075214?v=4" width="110px;"/><br /><sub>Folke</sub>](https://github.com/fashberg)<br />[💻](https://github.com/snipe/snipe-it/commits?author=fashberg "Code") | [<img src="https://avatars.githubusercontent.com/u/1351571?v=4" width="110px;"/><br /><sub>Bennett Blodinger</sub>](https://github.com/benwa)<br />[💻](https://github.com/snipe/snipe-it/commits?author=benwa "Code") | [<img src="https://avatars.githubusercontent.com/u/2974631?v=4" width="110px;"/><br /><sub>NMC</sub>](https://nmc.dev)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ncareau "Code") | [<img src="https://avatars.githubusercontent.com/u/52182449?v=4" width="110px;"/><br /><sub>andres-baller</sub>](https://github.com/andres-baller)<br />[💻](https://github.com/snipe/snipe-it/commits?author=andres-baller "Code") | [<img src="https://avatars.githubusercontent.com/u/67109348?v=4" width="110px;"/><br /><sub>sean-borg</sub>](https://github.com/sean-borg)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sean-borg "Code") | [<img src="https://avatars.githubusercontent.com/u/32170051?v=4" width="110px;"/><br /><sub>EDVLeer</sub>](https://github.com/EDVLeer)<br />[💻](https://github.com/snipe/snipe-it/commits?author=EDVLeer "Code") | [<img src="https://avatars.githubusercontent.com/u/23075196?v=4" width="110px;"/><br /><sub>Kurokat</sub>](https://github.com/Kurokat)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Kurokat "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/915514?v=4" width="110px;"/><br /><sub>Kevin Köllmann</sub>](https://www.kevinkoellmann.de)<br />[💻](https://github.com/snipe/snipe-it/commits?author=koelle25 "Code") | [<img src="https://avatars.githubusercontent.com/u/49025941?v=4" width="110px;"/><br /><sub>sw-mreyes</sub>](https://github.com/sw-mreyes)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sw-mreyes "Code") |
|
||||
| [<img src="https://avatars.githubusercontent.com/u/915514?v=4" width="110px;"/><br /><sub>Kevin Köllmann</sub>](https://www.kevinkoellmann.de)<br />[💻](https://github.com/snipe/snipe-it/commits?author=koelle25 "Code") | [<img src="https://avatars.githubusercontent.com/u/49025941?v=4" width="110px;"/><br /><sub>sw-mreyes</sub>](https://github.com/sw-mreyes)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sw-mreyes "Code") | [<img src="https://avatars.githubusercontent.com/u/70129?v=4" width="110px;"/><br /><sub>Joel Pittet</sub>](https://pittet.ca)<br />[💻](https://github.com/snipe/snipe-it/commits?author=joelpittet "Code") | [<img src="https://avatars.githubusercontent.com/u/792695?v=4" width="110px;"/><br /><sub>Eli Young</sub>](https://elyscape.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=elyscape "Code") |
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
|
||||
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
|
||||
|
||||
@@ -5,8 +5,8 @@ use Illuminate\Console\Command;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
|
||||
ini_set('max_execution_time', 600); //600 seconds = 10 minutes
|
||||
ini_set('memory_limit', '500M');
|
||||
ini_set('max_execution_time', env('IMPORT_TIME_LIM', 600)); //600 seconds = 10 minutes
|
||||
ini_set('memory_limit', env('IMPORT_MEM_LIM', '500M'));
|
||||
|
||||
/**
|
||||
* Class ObjectImportCommand
|
||||
|
||||
@@ -39,7 +39,7 @@ class Handler extends ExceptionHandler
|
||||
public function report(Exception $exception)
|
||||
{
|
||||
if ($this->shouldReport($exception)) {
|
||||
Log::error($exception);
|
||||
\Log::error($exception);
|
||||
return parent::report($exception);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -774,10 +774,9 @@ class Helper
|
||||
|
||||
|
||||
/**
|
||||
* Gracefully handle decrypting the legacy data (encrypted via mcrypt) and use the new
|
||||
* decryption method instead.
|
||||
* Gracefully handle decrypting encrypted fields (custom fields, etc).
|
||||
*
|
||||
* This is not currently used, but will be.
|
||||
* @todo allow this to handle more than just strings (arrays, etc)
|
||||
*
|
||||
* @author A. Gianotto
|
||||
* @since 3.6
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class StorageHelper
|
||||
{
|
||||
static function downloader($filename, $disk = 'default') {
|
||||
if($disk == 'default') {
|
||||
$disk = config('filesystems.default');
|
||||
}
|
||||
switch(config("filesystems.disks.$disk.driver")) {
|
||||
case 'local':
|
||||
return response()->download(Storage::disk($disk)->path($filename)); //works for PRIVATE or public?!
|
||||
|
||||
case 's3':
|
||||
return redirect()->away(Storage::disk($disk)->temporaryUrl($filename, now()->addMinutes(5))); //works for private or public, I guess?
|
||||
|
||||
default:
|
||||
return Storage::disk($disk)->download($filename);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -54,7 +54,7 @@ class LocationsController extends Controller
|
||||
|
||||
|
||||
|
||||
$offset = (($locations) && (request('offset') > $locations->count())) ? 0 : request('offset', 0);
|
||||
$offset = (($locations) && (request('offset') > $locations->count())) ? $locations->count() : request('offset', 0);
|
||||
|
||||
// Check to make sure the limit is not higher than the max allowed
|
||||
((config('app.max_results') >= $request->input('limit')) && ($request->filled('limit'))) ? $limit = $request->input('limit') : $limit = config('app.max_results');
|
||||
|
||||
@@ -36,13 +36,17 @@ class SettingsController extends Controller
|
||||
public function ldapAdSettingsTest(LdapAd $ldap): JsonResponse
|
||||
{
|
||||
if(!$ldap->init()) {
|
||||
Log::info('LDAP is not enabled cannot test.');
|
||||
Log::info('LDAP is not enabled so we cannot test.');
|
||||
return response()->json(['message' => 'LDAP is not enabled, cannot test.'], 400);
|
||||
}
|
||||
|
||||
// The connect, bind and resulting users message
|
||||
$message = [];
|
||||
|
||||
|
||||
// This is all kinda fucked right now. The connection test doesn't actually do what you think,
|
||||
// // and the way we parse the errors
|
||||
// on the JS side is horrible.
|
||||
Log::info('Preparing to test LDAP user login');
|
||||
// Test user can connect to the LDAP server
|
||||
try {
|
||||
@@ -51,13 +55,11 @@ class SettingsController extends Controller
|
||||
'message' => 'Successfully connected to LDAP server.'
|
||||
];
|
||||
} catch (\Exception $ex) {
|
||||
\Log::debug('LDAP connected but Bind failed. Please check your LDAP settings and try again.');
|
||||
return response()->json([
|
||||
'message' => 'Error logging into LDAP server, error: ' . $ex->getMessage() . ' - Verify your that your username and password are correct']);
|
||||
\Log::debug('Connection to LDAP server '.Setting::getSettings()->ldap_server.' failed. Please check your LDAP settings and try again. Server Responded with error: ' . $ex->getMessage());
|
||||
return response()->json(
|
||||
['message' => 'Connection to LDAP server '.Setting::getSettings()->ldap_server." failed. Verify that the LDAP hostname is entered correctly and that it can be reached from this web server. \n\nServer Responded with error: " . $ex->getMessage()
|
||||
|
||||
} catch (\Exception $e) {
|
||||
\Log::info('LDAP connection failed but we cannot debug it any further on our end.');
|
||||
return response()->json(['message' => 'The LDAP connection failed but we cannot debug it any further on our end. The error from the server is: '.$e->getMessage()], 500);
|
||||
], 400);
|
||||
}
|
||||
|
||||
Log::info('Preparing to test LDAP bind connection');
|
||||
@@ -66,12 +68,11 @@ class SettingsController extends Controller
|
||||
Log::info('Testing Bind');
|
||||
$ldap->testLdapAdBindConnection();
|
||||
$message['bind'] = [
|
||||
'message' => 'Successfully binded to LDAP server.'
|
||||
'message' => 'Successfully bound to LDAP server.'
|
||||
];
|
||||
} catch (\Exception $ex) {
|
||||
Log::info('LDAP Bind failed');
|
||||
return response()->json([
|
||||
'message' => 'Error binding to LDAP server, error: ' . $ex->getMessage()
|
||||
return response()->json(['message' => 'Connection to LDAP successful, but we were unable to Bind the LDAP user '.Setting::getSettings()->ldap_uname.". Verify your that your LDAP Bind username and password are correct. \n\nServer Responded with error: " . $ex->getMessage()
|
||||
], 400);
|
||||
}
|
||||
|
||||
@@ -94,9 +95,17 @@ class SettingsController extends Controller
|
||||
'email' => $item[$settings['ldap_email']][0] ?? null,
|
||||
];
|
||||
});
|
||||
$message['user_sync'] = [
|
||||
'users' => $users
|
||||
];
|
||||
if ($users->count() > 0) {
|
||||
$message['user_sync'] = [
|
||||
'users' => $users
|
||||
];
|
||||
} else {
|
||||
$message['user_sync'] = [
|
||||
'message' => 'Connection to LDAP was successful, however there were no users returned from your query. You should confirm the Base Bind DN above.'
|
||||
];
|
||||
return response()->json($message, 400);
|
||||
}
|
||||
|
||||
} catch (\Exception $ex) {
|
||||
Log::info('LDAP sync failed');
|
||||
$message['user_sync'] = [
|
||||
|
||||
@@ -175,6 +175,7 @@ class StatuslabelsController extends Controller
|
||||
$labels=[];
|
||||
$points=[];
|
||||
$default_color_count = 0;
|
||||
$colors_array = array();
|
||||
|
||||
foreach ($statuslabels as $statuslabel) {
|
||||
if ($statuslabel->assets_count > 0) {
|
||||
|
||||
@@ -9,6 +9,7 @@ use App\Models\Actionlog;
|
||||
use App\Models\Asset;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Helpers\StorageHelper;
|
||||
|
||||
class AssetFilesController extends Controller
|
||||
{
|
||||
@@ -86,7 +87,7 @@ class AssetFilesController extends Controller
|
||||
}
|
||||
return JsonResponse::create(["error" => "Failed validation: "], 500);
|
||||
}
|
||||
return Storage::download($file);
|
||||
return StorageHelper::downloader($file);
|
||||
}
|
||||
// Prepare the error message
|
||||
$error = trans('admin/hardware/message.does_not_exist', ['id' => $fileId]);
|
||||
|
||||
@@ -14,6 +14,7 @@ use App\Models\Setting;
|
||||
use App\Models\User;
|
||||
use Auth;
|
||||
use Carbon\Carbon;
|
||||
use Intervention\Image\Facades\Image;
|
||||
use DB;
|
||||
use Gate;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -486,10 +487,16 @@ class AssetsController extends Controller
|
||||
$barcode_width = ($settings->labels_width - $settings->labels_display_sgutter) * 96.000000000001;
|
||||
|
||||
$barcode = new \Com\Tecnick\Barcode\Barcode();
|
||||
$barcode_obj = $barcode->getBarcodeObj($settings->alt_barcode,$asset->asset_tag,($barcode_width < 300 ? $barcode_width : 300),50);
|
||||
try {
|
||||
$barcode_obj = $barcode->getBarcodeObj($settings->alt_barcode,$asset->asset_tag,($barcode_width < 300 ? $barcode_width : 300),50);
|
||||
file_put_contents($barcode_file, $barcode_obj->getPngData());
|
||||
return response($barcode_obj->getPngData())->header('Content-type', 'image/png');
|
||||
} catch(\Exception $e) {
|
||||
\Log::debug('The barcode format is invalid.');
|
||||
return response(file_get_contents(public_path('uploads/barcodes/invalid_barcode.gif')))->header('Content-type', 'image/gif');
|
||||
}
|
||||
|
||||
|
||||
file_put_contents($barcode_file, $barcode_obj->getPngData());
|
||||
return response($barcode_obj->getPngData())->header('Content-type', 'image/png');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ class LoginController extends Controller
|
||||
Auth::login($user, true);
|
||||
} else {
|
||||
$username = $saml->getUsername();
|
||||
Log::error("SAML user '$username' could not be found in database.");
|
||||
\Log::warning("SAML user '$username' could not be found in database.");
|
||||
$request->session()->flash('error', trans('auth/message.signin.error'));
|
||||
$saml->clearData();
|
||||
}
|
||||
@@ -121,7 +121,7 @@ class LoginController extends Controller
|
||||
$user->save();
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
Log::error("There was an error authenticating the SAML user: " . $e->getMessage());
|
||||
\Log::warning("There was an error authenticating the SAML user: " . $e->getMessage());
|
||||
throw new \Exception($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use App\Helpers\StorageHelper;
|
||||
|
||||
class LicenseFilesController extends Controller
|
||||
{
|
||||
@@ -143,18 +144,18 @@ class LicenseFilesController extends Controller
|
||||
|
||||
// We have to override the URL stuff here, since local defaults in Laravel's Flysystem
|
||||
// won't work, as they're not accessible via the web
|
||||
if (config('filesystems.default') == 'local') {
|
||||
return Storage::download($file);
|
||||
if (config('filesystems.default') == 'local') { // TODO - is there any way to fix this at the StorageHelper layer?
|
||||
return StorageHelper::downloader($file);
|
||||
} else {
|
||||
if ($download != 'true') {
|
||||
\Log::debug('display the file');
|
||||
if ($contents = file_get_contents(Storage::url($file))) {
|
||||
if ($contents = file_get_contents(Storage::url($file))) { // TODO - this will fail on private S3 files or large public ones
|
||||
return Response::make(Storage::url($file)->header('Content-Type', mime_content_type($file)));
|
||||
}
|
||||
return JsonResponse::create(["error" => "Failed validation: "], 500);
|
||||
}
|
||||
|
||||
return Storage::download($file);
|
||||
return StorageHelper::downloader($file);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -403,7 +403,9 @@ class ReportsController extends Controller
|
||||
*/
|
||||
public function postCustom(Request $request)
|
||||
{
|
||||
ini_set('max_execution_time', 12000);
|
||||
|
||||
|
||||
ini_set('max_execution_time', env('REPORT_TIME_LIM', 12000)); //12000 seconds = 200 minutes
|
||||
$this->authorize('reports.view');
|
||||
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ use Image;
|
||||
use Input;
|
||||
use Redirect;
|
||||
use Response;
|
||||
use App\Helpers\StorageHelper;
|
||||
|
||||
/**
|
||||
* This controller handles all actions related to Settings for
|
||||
@@ -1091,7 +1092,7 @@ class SettingsController extends Controller
|
||||
|
||||
if (! config('app.lock_passwords')) {
|
||||
if (Storage::exists($path . '/' . $filename)) {
|
||||
return Storage::download($path . '/' . $filename);
|
||||
return StorageHelper::downloader($path . '/' . $filename);
|
||||
} else {
|
||||
// Redirect to the backup page
|
||||
return redirect()->route('settings.backups.index')->with('error', trans('admin/settings/message.backup.file_not_found'));
|
||||
|
||||
@@ -174,7 +174,7 @@ class BulkUsersController extends Controller
|
||||
}
|
||||
|
||||
$users = User::whereIn('id', $user_raw_array)->get();
|
||||
$assets = Asset::whereIn('assigned_to', $user_raw_array)->get();
|
||||
$assets = Asset::whereIn('assigned_to', $user_raw_array)->where('assigned_type', 'App\Models\User')->get();
|
||||
$accessories = DB::table('accessories_users')->whereIn('assigned_to', $user_raw_array)->get();
|
||||
$licenses = DB::table('license_seats')->whereIn('assigned_to', $user_raw_array)->get();
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ class UserFilesController extends Controller
|
||||
|
||||
$log = Actionlog::find($fileId);
|
||||
$file = $log->get_src('users');
|
||||
return Response::download($file);
|
||||
return Response::download($file); //FIXME this doesn't use the new StorageHelper yet, but it's complicated...
|
||||
}
|
||||
// Prepare the error message
|
||||
$error = trans('admin/users/message.user_not_found', ['id' => $userId]);
|
||||
|
||||
@@ -32,8 +32,8 @@ class ItemImportRequest extends FormRequest
|
||||
|
||||
public function import(Import $import)
|
||||
{
|
||||
ini_set('max_execution_time', 600); //600 seconds = 10 minutes
|
||||
ini_set('memory_limit', '500M');
|
||||
ini_set('max_execution_time', env('IMPORT_TIME_LIM', 600)); //600 seconds = 10 minutes
|
||||
ini_set('memory_limit', env('IMPORT_MEM_LIM', '500M'));
|
||||
$filename = config('app.private_uploads') . '/imports/' . $import->file_path;
|
||||
$import->import_type = $this->input('import-type');
|
||||
$class = title_case($import->import_type);
|
||||
|
||||
@@ -78,7 +78,7 @@ final class Company extends SnipeModel
|
||||
$company_id = null;
|
||||
}
|
||||
|
||||
$table = ($table_name) ? DB::getTablePrefix().$table_name."." : '';
|
||||
$table = ($table_name) ? $table_name."." : '';
|
||||
|
||||
if(\Schema::hasColumn($query->getModel()->getTable(), $column)){
|
||||
return $query->where($table.$column, '=', $company_id);
|
||||
|
||||
@@ -359,7 +359,7 @@ class CustomField extends Model
|
||||
"name" => "required|unique:custom_fields",
|
||||
"element" => [
|
||||
"required",
|
||||
Rule::in(['text', 'listbox'])
|
||||
Rule::in(['text', 'listbox', 'textara', 'checkbox', 'radio'])
|
||||
],
|
||||
'format' => [
|
||||
Rule::in(array_merge(array_keys(CustomField::PREDEFINED_FORMATS), CustomField::PREDEFINED_FORMATS))
|
||||
|
||||
@@ -124,7 +124,7 @@ class AssetModelPresenter extends Presenter
|
||||
"sortable" => false,
|
||||
"switchable" => false,
|
||||
"title" => trans('table.actions'),
|
||||
"formatter" => "licensesActionsFormatter",
|
||||
"formatter" => "modelsActionsFormatter",
|
||||
];
|
||||
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ class AppServiceProvider extends ServiceProvider
|
||||
public function register()
|
||||
{
|
||||
|
||||
if (($this->app->environment('production')) && (config('services.rollbar.access_token'))){
|
||||
if (($this->app->environment('production')) && (config('logging.channels.rollbar.access_token'))) {
|
||||
$this->app->register(\Rollbar\Laravel\RollbarServiceProvider::class);
|
||||
}
|
||||
|
||||
|
||||
@@ -504,9 +504,9 @@ class LdapAd extends LdapAdConfiguration
|
||||
{
|
||||
try {
|
||||
$this->ldap->connect();
|
||||
} catch (\Adldap\Auth\BindException $e) {
|
||||
Log::error($e);
|
||||
throw new Exception('Unable to connect to LDAP directory!');
|
||||
} catch (\Exception $e) {
|
||||
Log::debug('LDAP ERROR: '.$e->getMessage());
|
||||
throw new Exception($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-5
@@ -45,6 +45,7 @@
|
||||
"league/flysystem-cached-adapter": "^1.0",
|
||||
"neitanod/forceutf8": "^2.0",
|
||||
"nesbot/carbon": "^2.32",
|
||||
"nunomaduro/collision": "^3.2",
|
||||
"onelogin/php-saml": "^3.4",
|
||||
"paragonie/constant_time_encoding": "^2.3",
|
||||
"patchwork/utf8": "^1.3",
|
||||
@@ -108,9 +109,7 @@
|
||||
"preferred-install": "dist",
|
||||
"sort-packages": true,
|
||||
"optimize-autoloader": true,
|
||||
"process-timeout": 3000,
|
||||
"platform": {
|
||||
"php": "7.2.5"
|
||||
}
|
||||
"discard-changes": true,
|
||||
"process-timeout": 3000
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+255
-2
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "174cd6c3ab64796350987629a2d7d5df",
|
||||
"content-hash": "de58687444791ed74502fe3fa2b4ce61",
|
||||
"packages": [
|
||||
{
|
||||
"name": "adldap2/adldap2",
|
||||
@@ -1914,6 +1914,77 @@
|
||||
},
|
||||
"time": "2020-10-22T13:48:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "filp/whoops",
|
||||
"version": "2.10.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/filp/whoops.git",
|
||||
"reference": "6ecda5217bf048088b891f7403b262906be5a957"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/filp/whoops/zipball/6ecda5217bf048088b891f7403b262906be5a957",
|
||||
"reference": "6ecda5217bf048088b891f7403b262906be5a957",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.5.9 || ^7.0 || ^8.0",
|
||||
"psr/log": "^1.0.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^0.9 || ^1.0",
|
||||
"phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
|
||||
"symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/var-dumper": "Pretty print complex values better with var-dumper available",
|
||||
"whoops/soap": "Formats errors as SOAP responses"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.7-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Whoops\\": "src/Whoops/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Filipe Dobreira",
|
||||
"homepage": "https://github.com/filp",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "php error handling for cool kids",
|
||||
"homepage": "https://filp.github.io/whoops/",
|
||||
"keywords": [
|
||||
"error",
|
||||
"exception",
|
||||
"handling",
|
||||
"library",
|
||||
"throwable",
|
||||
"whoops"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/filp/whoops/issues",
|
||||
"source": "https://github.com/filp/whoops/tree/2.10.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/denis-sokolov",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2021-03-16T12:00:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "firebase/php-jwt",
|
||||
"version": "v5.2.0",
|
||||
@@ -4060,6 +4131,86 @@
|
||||
},
|
||||
"time": "2020-12-20T10:01:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nunomaduro/collision",
|
||||
"version": "v3.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nunomaduro/collision.git",
|
||||
"reference": "f7c45764dfe4ba5f2618d265a6f1f9c72732e01d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nunomaduro/collision/zipball/f7c45764dfe4ba5f2618d265a6f1f9c72732e01d",
|
||||
"reference": "f7c45764dfe4ba5f2618d265a6f1f9c72732e01d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"filp/whoops": "^2.1.4",
|
||||
"php": "^7.2.5 || ^8.0",
|
||||
"php-parallel-lint/php-console-highlighter": "0.5.*",
|
||||
"symfony/console": "~2.8|~3.3|~4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"laravel/framework": "^6.0",
|
||||
"phpunit/phpunit": "^8.0 || ^9.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"NunoMaduro\\Collision\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nuno Maduro",
|
||||
"email": "enunomaduro@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Cli error handling for console/command-line PHP applications.",
|
||||
"keywords": [
|
||||
"artisan",
|
||||
"cli",
|
||||
"command-line",
|
||||
"console",
|
||||
"error",
|
||||
"handling",
|
||||
"laravel",
|
||||
"laravel-zero",
|
||||
"php",
|
||||
"symfony"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/nunomaduro/collision/issues",
|
||||
"source": "https://github.com/nunomaduro/collision"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nunomaduro",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://www.patreon.com/nunomaduro",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-11T09:01:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nyholm/psr7",
|
||||
"version": "1.3.2",
|
||||
@@ -4505,6 +4656,108 @@
|
||||
},
|
||||
"time": "2015-12-19T14:08:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-parallel-lint/php-console-color",
|
||||
"version": "v0.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-parallel-lint/PHP-Console-Color.git",
|
||||
"reference": "b6af326b2088f1ad3b264696c9fd590ec395b49e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-parallel-lint/PHP-Console-Color/zipball/b6af326b2088f1ad3b264696c9fd590ec395b49e",
|
||||
"reference": "b6af326b2088f1ad3b264696c9fd590ec395b49e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"replace": {
|
||||
"jakub-onderka/php-console-color": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"php-parallel-lint/php-code-style": "1.0",
|
||||
"php-parallel-lint/php-parallel-lint": "1.0",
|
||||
"php-parallel-lint/php-var-dump-check": "0.*",
|
||||
"phpunit/phpunit": "~4.3",
|
||||
"squizlabs/php_codesniffer": "1.*"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"JakubOnderka\\PhpConsoleColor\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-2-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jakub Onderka",
|
||||
"email": "jakub.onderka@gmail.com"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-parallel-lint/PHP-Console-Color/issues",
|
||||
"source": "https://github.com/php-parallel-lint/PHP-Console-Color/tree/master"
|
||||
},
|
||||
"time": "2020-05-14T05:47:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-parallel-lint/php-console-highlighter",
|
||||
"version": "v0.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-parallel-lint/PHP-Console-Highlighter.git",
|
||||
"reference": "21bf002f077b177f056d8cb455c5ed573adfdbb8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-parallel-lint/PHP-Console-Highlighter/zipball/21bf002f077b177f056d8cb455c5ed573adfdbb8",
|
||||
"reference": "21bf002f077b177f056d8cb455c5ed573adfdbb8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-tokenizer": "*",
|
||||
"php": ">=5.4.0",
|
||||
"php-parallel-lint/php-console-color": "~0.2"
|
||||
},
|
||||
"replace": {
|
||||
"jakub-onderka/php-console-highlighter": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"php-parallel-lint/php-code-style": "~1.0",
|
||||
"php-parallel-lint/php-parallel-lint": "~1.0",
|
||||
"php-parallel-lint/php-var-dump-check": "~0.1",
|
||||
"phpunit/phpunit": "~4.0",
|
||||
"squizlabs/php_codesniffer": "~1.5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"JakubOnderka\\PhpConsoleHighlighter\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jakub Onderka",
|
||||
"email": "acci@acci.cz",
|
||||
"homepage": "http://www.acci.cz/"
|
||||
}
|
||||
],
|
||||
"description": "Highlight PHP code in terminal",
|
||||
"support": {
|
||||
"issues": "https://github.com/php-parallel-lint/PHP-Console-Highlighter/issues",
|
||||
"source": "https://github.com/php-parallel-lint/PHP-Console-Highlighter/tree/master"
|
||||
},
|
||||
"time": "2020-05-13T07:37:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-common",
|
||||
"version": "2.2.0",
|
||||
@@ -11360,7 +11613,7 @@
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": "^7.2",
|
||||
"php": "^7.2.5",
|
||||
"ext-curl": "*",
|
||||
"ext-fileinfo": "*",
|
||||
"ext-json": "*",
|
||||
|
||||
@@ -333,7 +333,6 @@ return [
|
||||
Laravel\Passport\PassportServiceProvider::class,
|
||||
Laravel\Tinker\TinkerServiceProvider::class,
|
||||
Unicodeveloper\DumbPassword\DumbPasswordServiceProvider::class,
|
||||
//Schuppo\PasswordStrength\PasswordStrengthServiceProvider::class,
|
||||
Tightenco\Ziggy\ZiggyServiceProvider::class, // Laravel routes in vue
|
||||
Eduardokum\LaravelMailAutoEmbed\ServiceProvider::class,
|
||||
|
||||
@@ -403,11 +402,9 @@ return [
|
||||
'URL' => Illuminate\Support\Facades\URL::class,
|
||||
'Validator' => Illuminate\Support\Facades\Validator::class,
|
||||
'View' => Illuminate\Support\Facades\View::class,
|
||||
//'Input' => Illuminate\Support\Facades\Input::class,
|
||||
'Form' => Collective\Html\FormFacade::class,
|
||||
'Html' => Collective\Html\HtmlFacade::class,
|
||||
'Google2FA' => PragmaRX\Google2FALaravel\Facade::class,
|
||||
// 'Debugbar' => Barryvdh\Debugbar\Facade::class, //autodiscover should handle this
|
||||
'Image' => Intervention\Image\ImageServiceProvider::class,
|
||||
'Carbon' => Carbon\Carbon::class,
|
||||
|
||||
|
||||
@@ -100,6 +100,9 @@ return [
|
||||
* The directory where the temporary files will be stored.
|
||||
*/
|
||||
'temporary_directory' => storage_path('app/backup-temp'),
|
||||
|
||||
//'encryption' => \ZipArchive::EM_AES_256,
|
||||
'encryption' => null,
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
+18
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
use Monolog\Handler\StreamHandler;
|
||||
|
||||
return [
|
||||
$config = [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -15,7 +15,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('LOG_CHANNEL', 'stack'),
|
||||
'default' => 'stack',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -44,6 +44,7 @@ return [
|
||||
'level' => env('APP_LOG_LEVEL', 'error'),
|
||||
],
|
||||
|
||||
|
||||
'daily' => [
|
||||
'driver' => 'daily',
|
||||
'path' => storage_path('logs/laravel.log'),
|
||||
@@ -51,6 +52,14 @@ return [
|
||||
'days' => env('APP_LOG_MAX_FILES', 5),
|
||||
],
|
||||
|
||||
'rollbar' => [
|
||||
'driver' => 'monolog',
|
||||
'handler' => \Rollbar\Laravel\MonologHandler::class,
|
||||
'access_token' => env('ROLLBAR_TOKEN'),
|
||||
'level' => env('APP_LOG_LEVEL', 'debug'),
|
||||
],
|
||||
|
||||
|
||||
'slack' => [
|
||||
'driver' => 'slack',
|
||||
'url' => env('LOG_SLACK_WEBHOOK_URL'),
|
||||
@@ -85,3 +94,10 @@ return [
|
||||
],
|
||||
|
||||
];
|
||||
|
||||
if ((env('APP_ENV')=='production') && env('ROLLBAR_TOKEN')) {
|
||||
array_push($config['channels']['stack']['channels'], 'rollbar');
|
||||
}
|
||||
|
||||
|
||||
return $config;
|
||||
|
||||
+1
-6
@@ -49,12 +49,7 @@ return [
|
||||
'app_key' => env('STUNNING_APP_KEY'),
|
||||
'stripe_id' => env('STUNNING_STRIPE_ID'),
|
||||
],
|
||||
|
||||
'rollbar' => [
|
||||
'access_token' => env('ROLLBAR_TOKEN'),
|
||||
'level' => env('ROLLBAR_LEVEL', 'error'),
|
||||
],
|
||||
|
||||
|
||||
'google' => [
|
||||
'maps_api_key' => env('GOOGLE_MAPS_API')
|
||||
],
|
||||
|
||||
+5
-5
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
return array (
|
||||
'app_version' => 'v5.1.2',
|
||||
'full_app_version' => 'v5.1.2 - build 5847-g00a7c1e9e',
|
||||
'build_version' => '5847',
|
||||
'app_version' => 'v5.1.4',
|
||||
'full_app_version' => 'v5.1.4 - build 5886-g9f3a8a43c',
|
||||
'build_version' => '5886',
|
||||
'prerelease_version' => '',
|
||||
'hash_version' => 'g00a7c1e9e',
|
||||
'full_hash' => 'v5.1.2-33-g00a7c1e9e',
|
||||
'hash_version' => 'g9f3a8a43c',
|
||||
'full_hash' => 'v5.1.3-23-g9f3a8a43c',
|
||||
'branch' => 'master',
|
||||
);
|
||||
@@ -39,5 +39,11 @@ class SettingsSeeder extends Seeder
|
||||
$user->locale = 'en';
|
||||
$user->save();
|
||||
}
|
||||
|
||||
|
||||
// Copy the logos from the img/demo directory
|
||||
Storage::disk('public')->put(public_path('uploads/snipe-logo.png'), file_get_contents(public_path('img/demo/snipe-logo.png')));
|
||||
Storage::disk('public')->put(public_path('uploads/snipe-logo-lg.png'), file_get_contents(public_path('img/demo/snipe-logo-lg.png')));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit backupGlobals="false"
|
||||
printerClass="NunoMaduro\Collision\Adapters\Phpunit\Printer"
|
||||
backupStaticAttributes="false"
|
||||
bootstrap="bootstrap/autoload.php"
|
||||
colors="true"
|
||||
|
||||
+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
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
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
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
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
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
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+14
-14
@@ -7,27 +7,27 @@
|
||||
"/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=817384969ed226028416",
|
||||
"/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=d7996d850e8bcdc4e167",
|
||||
"/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=eee1d10b6d7db576428e",
|
||||
"/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=3b3c544f99a912a4a27b",
|
||||
"/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=0d9935d834b39386a82e",
|
||||
"/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=39250963ef83dac17f77",
|
||||
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=1a1ebcc437f2de698c27",
|
||||
"/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=9b0d44d6e3a9cf46fa02",
|
||||
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=97ec6f217441ac2f79ed",
|
||||
"/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=bb408a66967c2c81f420",
|
||||
"/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=b8be296ada5cbc4563fa",
|
||||
"/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=3acc03e5a20757aa08ca",
|
||||
"/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=39058e01caf0aeb39624",
|
||||
"/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=67a30cff63473dade0e3",
|
||||
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=46311efe6c78ad08a7ce",
|
||||
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=1473bf8494b4c962eb44",
|
||||
"/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=b41e38b304805136e81f",
|
||||
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=23a14ac3cfe978b19c89",
|
||||
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=8f7aed152883df9c6f5e",
|
||||
"/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=b3d2ebfcb2541fa8e9ec",
|
||||
"/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=39eb843599c275696aed",
|
||||
"/css/dist/all.css": "/css/dist/all.css?id=199fdf677ce0dce6cef8",
|
||||
"/css/blue.png": "/css/blue.png?id=4c85d6a97173123bd14a",
|
||||
"/css/blue@2x.png": "/css/blue@2x.png?id=62c67c6a822439e8a4ac",
|
||||
"/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=3b3c544f99a912a4a27b",
|
||||
"/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=1a1ebcc437f2de698c27",
|
||||
"/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=1473bf8494b4c962eb44",
|
||||
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=46311efe6c78ad08a7ce",
|
||||
"/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=9b0d44d6e3a9cf46fa02",
|
||||
"/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=3acc03e5a20757aa08ca",
|
||||
"/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=b41e38b304805136e81f",
|
||||
"/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=0d9935d834b39386a82e",
|
||||
"/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=97ec6f217441ac2f79ed",
|
||||
"/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=8f7aed152883df9c6f5e",
|
||||
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=23a14ac3cfe978b19c89",
|
||||
"/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=bb408a66967c2c81f420",
|
||||
"/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=39058e01caf0aeb39624",
|
||||
"/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=b3d2ebfcb2541fa8e9ec",
|
||||
"/css/dist/skins/skin-contrast.min.css": "/css/dist/skins/skin-contrast.min.css?id=d7996d850e8bcdc4e167",
|
||||
"/css/dist/signature-pad.css": "/css/dist/signature-pad.css?id=6a89d3cd901305e66ced",
|
||||
"/css/build/signature-pad.min.css": "/css/build/signature-pad.min.css?id=d41d8cd98f00b204e980",
|
||||
|
||||
@@ -108,13 +108,14 @@ a {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #444;
|
||||
--back-sub-alt: #dfd9d8;
|
||||
--button-default: darken(@black, 15%);
|
||||
--button-primary: darken(@black, 25%);
|
||||
--button-hover: darken(@black, 30%);
|
||||
--header: @black; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: lighten(@black, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--link: #AAA; /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@black, 40%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@black, 45%); /* Use same as Header picker, lighten by 70% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
@@ -164,7 +165,20 @@ a:hover {
|
||||
color: var(--nav-link) !important;
|
||||
}
|
||||
}
|
||||
a:link.btn-default{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
/* Trying to figure out a way of having links different shades based on what row they are on (even/odd).
|
||||
a unique challenge for this dark mode skin.
|
||||
Probably writing the specificity for this incorrectly. --Godfrey Martinez 02/04/21
|
||||
|
||||
.table-striped>tbody>tr:nth-of-type(even)>a:link{
|
||||
color:#000d07;
|
||||
}
|
||||
.table-striped>tbody>tr:nth-of-type(odd)>a:link{
|
||||
color:#bfbfbf;
|
||||
|
||||
}*/
|
||||
|
||||
#accessoriesTable>tbody>tr>td>nobr>a>i.fa {
|
||||
color: var(--text-main);
|
||||
@@ -189,20 +203,20 @@ body {
|
||||
}
|
||||
.btn-default{
|
||||
background-color: var(--button-default);
|
||||
color: var(--link);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
.btn-default dropdown-toggle {
|
||||
background-color: var(--button-default);
|
||||
color: var(--link);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
.btn-default:active, .btn-default:focus, .btn-default:hover, .btn-default.active {
|
||||
background-color: var(--button-hover);
|
||||
color: var(--link);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.btn-primary, .btn-primary.hover, .btn-primary:active, .text-black {
|
||||
color: var(--text-main)!important;
|
||||
color: var(--nav-link)!important;
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background-color: var(--button-primary);
|
||||
@@ -334,6 +348,11 @@ input[type=text], input[type=search] {
|
||||
}
|
||||
.table-striped>tbody>tr:nth-of-type(odd) {
|
||||
background-color: var(--back-sub);
|
||||
color: var(--text-main);
|
||||
}
|
||||
.table-striped>tbody>tr:nth-of-type(even){
|
||||
background-color: var(--back-sub-alt);
|
||||
color: var(--header);
|
||||
}
|
||||
#webui>div>div>div>div>div>table>tbody>tr>td>a>i.fa, .box-body, .box-footer, .box-header {
|
||||
color: var(--text-main);
|
||||
|
||||
@@ -108,15 +108,16 @@ a {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #444;
|
||||
--back-sub-alt: #dfd9d8;
|
||||
--button-default: darken(@blue, 15%);
|
||||
--button-primary: darken(@blue, 25%);
|
||||
--button-hover: darken(@blue, 30%);
|
||||
--header: @blue; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: lighten(@blue, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@blue, 40%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@blue, 45%); /* Use same as Header picker, lighten by 70% */
|
||||
--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% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
@@ -239,6 +240,9 @@ body {
|
||||
background-color: var(--back-main);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.fixed-table-body thead th .th-inner{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.form-control {
|
||||
background-color: var(--back-main);
|
||||
color: var(--text-main);
|
||||
@@ -335,6 +339,10 @@ input[type=text], input[type=search] {
|
||||
.table-striped>tbody>tr:nth-of-type(odd) {
|
||||
background-color: var(--back-sub);
|
||||
}
|
||||
.table-striped>tbody>tr:nth-of-type(even){
|
||||
background-color: var(--back-sub-alt);
|
||||
color: var(--header);
|
||||
}
|
||||
#webui>div>div>div>div>div>table>tbody>tr>td>a>i.fa, .box-body, .box-footer, .box-header {
|
||||
color: var(--text-main);
|
||||
}
|
||||
|
||||
@@ -108,15 +108,16 @@ a {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #444;
|
||||
--back-sub-alt: #dfd9d8;
|
||||
--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;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: lighten(@green, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@green, 40%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@green, 45%); /* Use same as Header picker, lighten by 70% */
|
||||
--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% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
@@ -239,6 +240,9 @@ body {
|
||||
background-color: var(--back-main);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.fixed-table-body thead th .th-inner{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.form-control {
|
||||
background-color: var(--back-main);
|
||||
color: var(--text-main);
|
||||
@@ -335,6 +339,10 @@ input[type=text], input[type=search] {
|
||||
.table-striped>tbody>tr:nth-of-type(odd) {
|
||||
background-color: var(--back-sub);
|
||||
}
|
||||
.table-striped>tbody>tr:nth-of-type(even){
|
||||
background-color: var(--back-sub-alt);
|
||||
color: var(--header);
|
||||
}
|
||||
#webui>div>div>div>div>div>table>tbody>tr>td>a>i.fa, .box-body, .box-footer, .box-header {
|
||||
color: var(--text-main);
|
||||
}
|
||||
|
||||
@@ -108,15 +108,16 @@ a {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #444;
|
||||
--back-sub-alt: #dfd9d8;
|
||||
--button-default: darken(@orange, 15%);
|
||||
--button-primary: darken(@orange, 25%);
|
||||
--button-hover: darken(@orange, 30%);
|
||||
--header: @orange; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: lighten(@orange, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@orange, 40%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@orange, 45%); /* Use same as Header picker, lighten by 70% */
|
||||
--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% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
@@ -189,20 +190,22 @@ body {
|
||||
}
|
||||
.btn-default{
|
||||
background-color: var(--button-default);
|
||||
color: var(--link);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
a:link.btn-default{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
.btn-default dropdown-toggle {
|
||||
background-color: var(--button-default);
|
||||
color: var(--link);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
.btn-default:active, .btn-default:focus, .btn-default:hover, .btn-default.active {
|
||||
background-color: var(--button-hover);
|
||||
color: var(--link);
|
||||
color: var(--background);
|
||||
}
|
||||
.btn-primary, .btn-primary.hover, .btn-primary:active, .text-orange {
|
||||
color: var(--text-main)!important;
|
||||
color: var(--nav-link)!important;
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background-color: var(--button-primary);
|
||||
@@ -239,6 +242,9 @@ body {
|
||||
background-color: var(--back-main);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.fixed-table-body thead th .th-inner{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.form-control {
|
||||
background-color: var(--back-main);
|
||||
color: var(--text-main);
|
||||
@@ -335,6 +341,10 @@ input[type=text], input[type=search] {
|
||||
.table-striped>tbody>tr:nth-of-type(odd) {
|
||||
background-color: var(--back-sub);
|
||||
}
|
||||
.table-striped>tbody>tr:nth-of-type(even){
|
||||
background-color: var(--back-sub-alt);
|
||||
color: var(--header);
|
||||
}
|
||||
#webui>div>div>div>div>div>table>tbody>tr>td>a>i.fa, .box-body, .box-footer, .box-header {
|
||||
color: var(--text-main);
|
||||
}
|
||||
|
||||
@@ -108,15 +108,16 @@ a {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #444;
|
||||
--back-sub-alt: #dfd9d8;
|
||||
--button-default: darken(@purple, 15%);
|
||||
--button-primary: darken(@purple, 25%);
|
||||
--button-hover: darken(@purple, 30%);
|
||||
--header: @purple; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: lighten(@purple, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@purple, 40%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@purple, 45%); /* Use same as Header picker, lighten by 70% */
|
||||
--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% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
@@ -165,7 +166,9 @@ a:hover {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
a:link.btn-default{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
#accessoriesTable>tbody>tr>td>nobr>a>i.fa {
|
||||
color: var(--text-main);
|
||||
}
|
||||
@@ -189,20 +192,20 @@ body {
|
||||
}
|
||||
.btn-default{
|
||||
background-color: var(--button-default);
|
||||
color: var(--link);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
.btn-default dropdown-toggle {
|
||||
background-color: var(--button-default);
|
||||
color: var(--link);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
.btn-default:active, .btn-default:focus, .btn-default:hover, .btn-default.active {
|
||||
background-color: var(--button-hover);
|
||||
color: var(--link);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.btn-primary, .btn-primary.hover, .btn-primary:active, .text-purple {
|
||||
color: var(--text-main)!important;
|
||||
color: var(--nav-link)!important;
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background-color: var(--button-primary);
|
||||
@@ -239,6 +242,9 @@ body {
|
||||
background-color: var(--back-main);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.fixed-table-body thead th .th-inner{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.form-control {
|
||||
background-color: var(--back-main);
|
||||
color: var(--text-main);
|
||||
@@ -335,6 +341,10 @@ input[type=text], input[type=search] {
|
||||
.table-striped>tbody>tr:nth-of-type(odd) {
|
||||
background-color: var(--back-sub);
|
||||
}
|
||||
.table-striped>tbody>tr:nth-of-type(even){
|
||||
background-color: var(--back-sub-alt);
|
||||
color: var(--header);
|
||||
}
|
||||
#webui>div>div>div>div>div>table>tbody>tr>td>a>i.fa, .box-body, .box-footer, .box-header {
|
||||
color: var(--text-main);
|
||||
}
|
||||
|
||||
@@ -108,15 +108,17 @@ a {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #444;
|
||||
--back-sub-alt: #dfd9d8;
|
||||
--button-default: darken(@red, 15%);
|
||||
--button-primary: darken(@red, 25%);
|
||||
--button-hover: darken(@red, 30%);
|
||||
--header: @red; /* Use same as Header picker */
|
||||
--text-main: #BBB;
|
||||
--text-alt: #222;
|
||||
--text-sub: #9b9b9b;
|
||||
--link: lighten(@red, 30%); /* Use same as Header picker, lighten by 70% */
|
||||
--visited-link: lighten(@red, 40%); /* Use same as Header picker, lighten by 70% */
|
||||
--hover-link: lighten(@red, 45%); /* Use same as Header picker, lighten by 70% */
|
||||
--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% */
|
||||
--nav-link: #FFF; /* Use same as Header picker */
|
||||
--light-link: #fff; /* Use same as Header picker */
|
||||
}
|
||||
@@ -188,7 +190,7 @@ body {
|
||||
color: var(--header);
|
||||
}
|
||||
.btn-default{
|
||||
background-color: var(--button-default);
|
||||
background-color: var(--back-sub);
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
@@ -239,6 +241,9 @@ body {
|
||||
background-color: var(--back-main);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.fixed-table-body thead th .th-inner{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.form-control {
|
||||
background-color: var(--back-main);
|
||||
color: var(--text-main);
|
||||
@@ -335,6 +340,10 @@ input[type=text], input[type=search] {
|
||||
.table-striped>tbody>tr:nth-of-type(odd) {
|
||||
background-color: var(--back-sub);
|
||||
}
|
||||
.table-striped>tbody>tr:nth-of-type(even){
|
||||
background-color: var(--back-sub-alt);
|
||||
color: var(--text-alt);
|
||||
}
|
||||
#webui>div>div>div>div>div>table>tbody>tr>td>a>i.fa, .box-body, .box-footer, .box-header {
|
||||
color: var(--text-main);
|
||||
}
|
||||
|
||||
@@ -108,6 +108,7 @@ a {
|
||||
--background: #222;
|
||||
--back-main: #333;
|
||||
--back-sub: #444;
|
||||
--back-sub-alt: #dfd9d8;
|
||||
--button-default: darken(@yellow, 15%);
|
||||
--button-primary: darken(@yellow, 25%);
|
||||
--button-hover: darken(@yellow, 30%);
|
||||
@@ -152,7 +153,9 @@ a:visited {
|
||||
a:hover {
|
||||
color: var(--hover-link);
|
||||
}
|
||||
|
||||
a:link.btn-default{
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.btn-primary.hover {
|
||||
color: var(--nav-link);
|
||||
}
|
||||
@@ -194,19 +197,19 @@ body {
|
||||
|
||||
.btn-default dropdown-toggle {
|
||||
background-color: var(--button-default);
|
||||
color: var(--link);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
|
||||
.btn-default:active, .btn-default:focus, .btn-default:hover, .btn-default.active {
|
||||
background-color: var(--button-hover);
|
||||
color: var(--link);
|
||||
color: var(--nav-link);
|
||||
}
|
||||
.btn-primary, .btn-primary.hover, .btn-primary:active, .text-yellow {
|
||||
color: var(--text-main)!important;
|
||||
color: var(--nav-link)!important;
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background-color: var(--button-primary);
|
||||
color: var(--link)!important;
|
||||
color: var(--nav-link)!important;
|
||||
}
|
||||
#componentsTable>tbody>tr>td>nobr>a>i.fa {
|
||||
color: var(--text-main);
|
||||
@@ -335,6 +338,10 @@ input[type=text], input[type=search] {
|
||||
.table-striped>tbody>tr:nth-of-type(odd) {
|
||||
background-color: var(--back-sub);
|
||||
}
|
||||
.table-striped>tbody>tr:nth-of-type(even){
|
||||
background-color: var(--back-sub-alt);
|
||||
color: var(--header);
|
||||
}
|
||||
#webui>div>div>div>div>div>table>tbody>tr>td>a>i.fa, .box-body, .box-footer, .box-header {
|
||||
color: var(--text-main);
|
||||
}
|
||||
|
||||
@@ -441,6 +441,11 @@ Form::macro('alt_barcode_types', function ($name = "alt_barcode", $selected = nu
|
||||
'C39',
|
||||
'PDF417',
|
||||
'EAN5',
|
||||
'EAN13',
|
||||
'UPCA',
|
||||
'UPCE',
|
||||
|
||||
|
||||
|
||||
);
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
{{-- Page content --}}
|
||||
@section('content')
|
||||
|
||||
|
||||
<link rel="stylesheet" href="{{ mix('css/build/signature-pad.min.css') }}">
|
||||
|
||||
<link rel="stylesheet" href="{{ url(mix('css/build/signature-pad.min.css')) }}">
|
||||
|
||||
<style>
|
||||
.form-horizontal .control-label, .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline {
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
</div>
|
||||
|
||||
<!-- Element values -->
|
||||
<div class="form-group {{ $errors->has('element') ? ' has-error' : '' }}" id="field_values_text" style="display:none;">
|
||||
<div class="form-group {{ $errors->has('field_values') ? ' has-error' : '' }}" id="field_values_text" style="display:none;">
|
||||
<label for="field_values" class="col-md-4 control-label">
|
||||
{{ trans('admin/custom_fields/general.field_values') }}
|
||||
</label>
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
@if ($field->element!='text')
|
||||
<!-- Listbox -->
|
||||
@if ($field->element=='listbox')
|
||||
{{ Form::select($field->db_column_name(), $field->formatFieldValuesAsArray(),
|
||||
Request::old($field->db_column_name(),(isset($item) ? $item->{$field->db_column_name()} : $field->defaultValue($model->id))), ['class'=>'format select2 form-control']) }}
|
||||
{{ Form::select($field->db_column_name(), $field->formatFieldValuesAsArray(),
|
||||
Request::old($field->db_column_name(),(isset($item) ? \App\Helpers\Helper::gracefulDecrypt($field, $item->{$field->db_column_name()}) : $field->defaultValue($model->id))), ['class'=>'format select2 form-control']) }}
|
||||
|
||||
@elseif ($field->element=='textarea')
|
||||
<textarea class="col-md-6 form-control" id="{{ $field->db_column_name() }}" name="{{ $field->db_column_name() }}">{{ Request::old($field->db_column_name(),(isset($item) ? $item->{$field->db_column_name()} : $field->defaultValue($model->id))) }}</textarea>
|
||||
|
||||
@@ -160,11 +160,12 @@
|
||||
|
||||
// Add some overrides for any funny urls we have
|
||||
var dest = destination;
|
||||
var dpolymorphicItemFormatterest = '';
|
||||
if (destination=='fieldsets') {
|
||||
var dpolymorphicItemFormatterest = 'fields/fieldsets';
|
||||
var dpolymorphicItemFormatterest = 'fields/';
|
||||
}
|
||||
|
||||
return '<nobr><a href="{{ url('/') }}/' + dest + '/' + value.id + '"> ' + value.name + '</a></span>';
|
||||
return '<nobr><a href="{{ url('/') }}/' + dpolymorphicItemFormatterest + dest + '/' + value.id + '"> ' + value.name + '</a></span>';
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<label class="btn btn-default" aria-hidden="true">
|
||||
{{ trans('button.select_file') }}
|
||||
<input type="file" name="{{ (isset($fieldname) ? $fieldname : 'image') }}" class="js-uploadFile" id="uploadFile" data-maxsize="{{ \App\Helpers\Helper::file_upload_max_size() }}" accept="image/gif,image/jpeg,image/webp,image/png,image/svg" style="display:none; max-width: 90%" aria-label="image" aria-hidden="true">
|
||||
<input type="file" name="{{ (isset($fieldname) ? $fieldname : 'image') }}" class="js-uploadFile" id="uploadFile" data-maxsize="{{ \App\Helpers\Helper::file_upload_max_size() }}" accept="image/gif,image/jpeg,image/webp,image/png,image/svg,image/svg+xml" style="display:none; max-width: 90%" aria-label="image" aria-hidden="true">
|
||||
</label>
|
||||
<span class='label label-default' id="uploadFile-info"></span>
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
{{ trans('button.select_file') }}
|
||||
<input type="file" name="{{ $logoVariable }}" class="js-uploadFile" id="{{ $logoId }}"
|
||||
data-maxsize="{{ $maxSize ?? \App\Helpers\Helper::file_upload_max_size() }}"
|
||||
accept="{{ $allowedTypes ?? 'image/gif,image/jpeg,image/png,image/svg'}}" style="display:none; max-width: 90%">
|
||||
accept="{{ $allowedTypes ?? 'image/gif,image/jpeg,image/png,image/svg,image/svg+xml'}}" style="display:none; max-width: 90%">
|
||||
</label>
|
||||
<span class='label label-default' id="{{ $logoId }}-info"></span>
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
"logoLabel" => trans('admin/settings/general.favicon'),
|
||||
"logoClearVariable" => "clear_favicon",
|
||||
"helpBlock" => trans('admin/settings/general.favicon_size') .' '. trans('admin/settings/general.favicon_format'),
|
||||
"allowedTypes" => "image/x-icon,image/gif,image/jpeg,image/png,image/svg,image/vnd.microsoft.icon",
|
||||
"allowedTypes" => "image/x-icon,image/gif,image/jpeg,image/png,image/svg,image/svg+xml,image/vnd.microsoft.icon",
|
||||
"maxSize" => 20000
|
||||
])
|
||||
|
||||
|
||||
+2
-2
@@ -6,9 +6,9 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>{{ config('app.name') }} - Authorization</title>
|
||||
|
||||
|
||||
{{-- stylesheets --}}
|
||||
<link rel="stylesheet" href="{{ mix('css/all.css') }}">
|
||||
<link rel="stylesheet" href="{{ url(mix('css/all.css')) }}">
|
||||
<style>
|
||||
.passport-authorize .container {
|
||||
margin-top: 30px;
|
||||
|
||||
Reference in New Issue
Block a user