Merge pull request #10129 from snipe/features/improved_mobile_ux

Features/improved mobile ux
This commit is contained in:
snipe 2021-09-24 12:30:56 -07:00 committed by GitHub
commit 03e3c21d7e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
93 changed files with 5435 additions and 2627 deletions

View file

@ -900,33 +900,33 @@ class Helper
$allowedExtensionMap = [
// Images
'jpg' => 'fa fa-file-image-o',
'jpeg' => 'fa fa-file-image-o',
'gif' => 'fa fa-file-image-o',
'png' => 'fa fa-file-image-o',
'jpg' => 'far fa-image',
'jpeg' => 'far fa-image',
'gif' => 'far fa-image',
'png' => 'far fa-image',
// word
'doc' => 'fa fa-file-word-o',
'docx' => 'fa fa-file-word-o',
'doc' => 'far fa-file-word',
'docx' => 'far fa-file-word',
// Excel
'xls' => 'fa fa-file-excel-o',
'xlsx' => 'fa fa-file-excel-o',
'xls' => 'far fa-file-excel',
'xlsx' => 'far fa-file-excel',
// archive
'zip' => 'fa fa-file-archive-o',
'rar' => 'fa fa-file-archive-o',
'zip' => 'fas fa-file-archive',
'rar' => 'fas fa-file-archive',
//Text
'txt' => 'fa fa-file-text-o',
'rtf' => 'fa fa-file-text-o',
'xml' => 'fa fa-file-text-o',
'txt' => 'far fa-file-alt',
'rtf' => 'far fa-file-alt',
'xml' => 'far fa-file-alt',
// Misc
'pdf' => 'fa fa-file-pdf-o',
'lic' => 'fa fa-file-floppy-o',
'pdf' => 'far fa-file-pdf',
'lic' => 'far fa-save',
];
if ($extension && array_key_exists($extension, $allowedExtensionMap)) {
return $allowedExtensionMap[$extension];
}
return 'fa fa-file-o';
return 'far fa-file';
}
public static function show_file_inline($filename)

View file

@ -41,18 +41,17 @@ class ActionlogPresenter extends Presenter
$itemicon = 'fa fa-paperclip';
if ($this->itemType() == 'asset') {
$itemicon = 'fa fa-barcode';
return 'fa fa-barcode';
} elseif ($this->itemType() == 'accessory') {
$itemicon = 'fa fa-keyboard-o';
return 'far fa-keyboard';
} elseif ($this->itemType() == 'consumable') {
$itemicon = 'fa fa-tint';
return 'fa fa-tint';
} elseif ($this->itemType() == 'license') {
$itemicon = 'fa fa-floppy-o';
return 'far fa-save';
} elseif ($this->itemType() == 'component') {
$itemicon = 'fa fa-hdd-o';
return 'far fa-hdd';
}
return $itemicon;
}
public function actionType()

View file

@ -56,13 +56,13 @@ class CompanyPresenter extends Presenter
'searchable' => false,
'sortable' => true,
'visible' => true,
'title' => ' <span class="hidden-xs"><i class="fa fa-floppy-o"></i></span><span class="hidden-md hidden-lg">'.trans('general.licenses').'</span>',
'title' => ' <span class="hidden-xs"><i class="far fa-save"></i></span><span class="hidden-md hidden-lg">'.trans('general.licenses').'</span>',
], [
'field' => 'accessories_count',
'searchable' => false,
'sortable' => true,
'visible' => true,
'title' => ' <span class="hidden-xs"><i class="fa fa-keyboard-o"></i></span><span class="hidden-md hidden-lg">'.trans('general.accessories').'</span>',
'title' => ' <span class="hidden-xs"><i class="far fa-keyboard"></i></span><span class="hidden-md hidden-lg">'.trans('general.accessories').'</span>',
], [
'field' => 'consumables_count',
'searchable' => false,
@ -74,7 +74,7 @@ class CompanyPresenter extends Presenter
'searchable' => false,
'sortable' => true,
'visible' => true,
'title' => ' <span class="hidden-xs"><i class="fa fa-hdd-o"></i></span><span class="hidden-md hidden-lg">'.trans('general.components').'</span>',
'title' => ' <span class="hidden-xs"><i class="far fa-hdd"></i></span><span class="hidden-md hidden-lg">'.trans('general.components').'</span>',
], [
'field' => 'updated_at',
'searchable' => false,

View file

@ -94,7 +94,7 @@ class ManufacturerPresenter extends Presenter
'sortable' => true,
'switchable' => true,
'title' => ' <span class="hidden-md hidden-lg">Licenses</span>'
.'<span class="hidden-xs"><i class="fa fa-floppy-o fa-lg"></i></span>',
.'<span class="hidden-xs"><i class="far fa-save fa-lg"></i></span>',
'visible' => true,
],
[
@ -112,7 +112,7 @@ class ManufacturerPresenter extends Presenter
'sortable' => true,
'switchable' => true,
'title' => ' <span class="hidden-md hidden-lg">Accessories</span>'
.'<span class="hidden-xs"><i class="fa fa-keyboard-o fa-lg"></i></span>',
.'<span class="hidden-xs"><i class="far fa-keyboard fa-lg"></i></span>',
'visible' => true,
],
[

343
package-lock.json generated
View file

@ -1246,7 +1246,8 @@
"@fortawesome/fontawesome-free": {
"version": "5.15.4",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz",
"integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg=="
"integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==",
"dev": true
},
"@nodelib/fs.scandir": {
"version": "2.1.5",
@ -4022,6 +4023,7 @@
"icss-utils": "^4.1.1",
"loader-utils": "^1.2.3",
"normalize-path": "^3.0.0",
"postcss": "^7.0.32",
"postcss-modules-extract-imports": "^2.0.0",
"postcss-modules-local-by-default": "^3.0.2",
"postcss-modules-scope": "^2.2.0",
@ -4029,6 +4031,59 @@
"postcss-value-parser": "^4.1.0",
"schema-utils": "^2.7.0",
"semver": "^6.3.0"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"css-select": {
@ -4767,8 +4822,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"escodegen": {
"version": "1.14.3",
@ -14869,8 +14923,7 @@
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
"has-symbols": {
"version": "1.0.1",
@ -15252,7 +15305,63 @@
"icss-utils": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
"integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA=="
"integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
"requires": {
"postcss": "^7.0.14"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"ieee754": {
"version": "1.2.1",
@ -17812,7 +17921,63 @@
"postcss-modules-extract-imports": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
"integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ=="
"integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
"requires": {
"postcss": "^7.0.5"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss-modules-local-by-default": {
"version": "3.0.3",
@ -17820,8 +17985,62 @@
"integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==",
"requires": {
"icss-utils": "^4.1.1",
"postcss": "^7.0.32",
"postcss-selector-parser": "^6.0.2",
"postcss-value-parser": "^4.1.0"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss-modules-scope": {
@ -17829,7 +18048,61 @@
"resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
"integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
"requires": {
"postcss": "^7.0.6",
"postcss-selector-parser": "^6.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss-modules-values": {
@ -17837,7 +18110,61 @@
"resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
"integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
"requires": {
"icss-utils": "^4.0.0"
"icss-utils": "^4.0.0",
"postcss": "^7.0.6"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss-normalize-charset": {

View file

@ -13,6 +13,7 @@
"node": ">=0.12"
},
"devDependencies": {
"@fortawesome/fontawesome-free": "^5.15.4",
"axios": "^0.20.0",
"babel-preset-latest": "^6.24.1",
"jquery": "^3.6.0",
@ -24,7 +25,6 @@
"vue-template-compiler": "2.4.4"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^5.15.3",
"admin-lte": "^2.4.18",
"ajv": "^6.12.6",
"blueimp-file-upload": "^9.34.0",

Binary file not shown.

BIN
public/css/build/fontawesome.css vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
public/js/dist/all.js vendored

Binary file not shown.

View file

@ -1,24 +1,24 @@
{
"/js/build/app.js": "/js/build/app.js?id=ab5bbad26688026c4149",
"/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=83e39e254b7f9035eddc",
"/css/build/overrides.css": "/css/build/overrides.css?id=784b0536b7166f8b304e",
"/css/build/app.css": "/css/build/app.css?id=3726a38b74e7b1709992",
"/js/build/app.js": "/js/build/app.js?id=2041f181f1136a9a18d8",
"/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=cf32592ae76e1134312c",
"/css/build/overrides.css": "/css/build/overrides.css?id=e450097d74701643c241",
"/css/build/app.css": "/css/build/app.css?id=f97816f469b4cc535af4",
"/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=65ca7a34198fa16ba846",
"/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=83271cb3576583918804",
"/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=d81888449b72ecd8dd24",
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=04b51f791329b22290c3",
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=8b631c0444622bf0bfd3",
"/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=a663ec2c7842a3507df9",
"/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=32c66312057953f69651",
"/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=0a901949068bc7ce7f80",
"/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=523144d33c7706098ed2",
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=fafb61603f6db2f250df",
"/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=ec96c42439cdeb022133",
"/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=6e35fb4cb2f1063b3047",
"/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=efda2335fa5243175850",
"/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=6a9d0ac448c28b88e5d6",
"/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=c24716a423d375902723",
"/css/dist/all.css": "/css/dist/all.css?id=5e5a3383c652b59df42c",
"/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=b25c92dab95a46c8573a",
"/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=da8f1b5753826de00425",
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=c995032fb9d7ead1a81e",
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=52270c18eead3ff6befe",
"/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=32703c9c4c6c3f994513",
"/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=fc5b34b9cc0f355af17e",
"/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=7b070ab3e32bae0bb3bc",
"/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=15968907f30bdcbc5e01",
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=570265b44a7776fdb893",
"/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=f8391674b91dc1320f5a",
"/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=d8f647c1c43ee72e7000",
"/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=39defadc0705db43a793",
"/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=3f9f3427eccdf82db31e",
"/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=f9015c9b4554c6bfa4fe",
"/css/dist/all.css": "/css/dist/all.css?id=f848fecd03425889e9cb",
"/css/blue.png": "/css/blue.png?id=e83a6c29e04fe851f212",
"/css/blue@2x.png": "/css/blue@2x.png?id=51135dd4d24f88f5de0b",
"/css/dist/signature-pad.css": "/css/dist/signature-pad.css?id=6a89d3cd901305e66ced",
@ -26,20 +26,20 @@
"/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=93c24b4c89490bbfd73e",
"/js/build/vendor.js": "/js/build/vendor.js?id=651427cc4b45d8e68d0c",
"/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=867755a1544f6c0ea828",
"/js/dist/all.js": "/js/dist/all.js?id=f1152e68aaaf34dcaf88",
"/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=efda2335fa5243175850",
"/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=6e35fb4cb2f1063b3047",
"/css/dist/skins/skin-black.min.css": "/css/dist/skins/skin-black.min.css?id=ec96c42439cdeb022133",
"/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=fafb61603f6db2f250df",
"/css/dist/skins/skin-blue.min.css": "/css/dist/skins/skin-blue.min.css?id=83e39e254b7f9035eddc",
"/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=04b51f791329b22290c3",
"/css/dist/skins/skin-yellow.min.css": "/css/dist/skins/skin-yellow.min.css?id=a663ec2c7842a3507df9",
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=8b631c0444622bf0bfd3",
"/css/dist/skins/skin-red.min.css": "/css/dist/skins/skin-red.min.css?id=c24716a423d375902723",
"/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=523144d33c7706098ed2",
"/css/dist/skins/skin-purple.min.css": "/css/dist/skins/skin-purple.min.css?id=0a901949068bc7ce7f80",
"/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=32c66312057953f69651",
"/css/dist/skins/skin-orange.min.css": "/css/dist/skins/skin-orange.min.css?id=83271cb3576583918804",
"/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=d81888449b72ecd8dd24",
"/css/dist/skins/skin-contrast.min.css": "/css/dist/skins/skin-contrast.min.css?id=6a9d0ac448c28b88e5d6"
"/js/dist/all.js": "/js/dist/all.js?id=872df2da32a9dcbfd252",
"/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=39defadc0705db43a793",
"/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=d8f647c1c43ee72e7000",
"/css/dist/skins/skin-black.min.css": "/css/dist/skins/skin-black.min.css?id=f8391674b91dc1320f5a",
"/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=570265b44a7776fdb893",
"/css/dist/skins/skin-blue.min.css": "/css/dist/skins/skin-blue.min.css?id=cf32592ae76e1134312c",
"/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=c995032fb9d7ead1a81e",
"/css/dist/skins/skin-yellow.min.css": "/css/dist/skins/skin-yellow.min.css?id=32703c9c4c6c3f994513",
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=52270c18eead3ff6befe",
"/css/dist/skins/skin-red.min.css": "/css/dist/skins/skin-red.min.css?id=f9015c9b4554c6bfa4fe",
"/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=15968907f30bdcbc5e01",
"/css/dist/skins/skin-purple.min.css": "/css/dist/skins/skin-purple.min.css?id=7b070ab3e32bae0bb3bc",
"/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=fc5b34b9cc0f355af17e",
"/css/dist/skins/skin-orange.min.css": "/css/dist/skins/skin-orange.min.css?id=b25c92dab95a46c8573a",
"/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=da8f1b5753826de00425",
"/css/dist/skins/skin-contrast.min.css": "/css/dist/skins/skin-contrast.min.css?id=3f9f3427eccdf82db31e"
}

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,9 @@
import '@fortawesome/fontawesome-free/js/fontawesome'
import '@fortawesome/fontawesome-free/js/solid'
import '@fortawesome/fontawesome-free/js/regular'
import '@fortawesome/fontawesome-free/js/brands'
window._ = require('lodash');
/**

View file

@ -1,4 +1,5 @@
// var jQuery = require('jquery');
// window.jQuery = jQuery
// window.$ = jQuery
@ -540,6 +541,8 @@ $(document).ready(function () {
});
/**
* Toggle disabled
*/

View file

@ -472,32 +472,147 @@ h4 {
line-height: 2.6;
padding: 0px;
margin-left: 20px;
//display: table-cell;
display: table;
}
// -------
/* For small screen */
/**
* NEW STRIPING
* This section is for the new row striping for nicer
* display for non-table data as of v6
**/
.row-new-striped > .row:nth-of-type(even) {
background: #FFFFFF;
border-top: 1px solid #dddddd;
display: table-row;
}
.row-new-striped > .row:nth-of-type(odd) {
background-color: #f9f9f9;
border-top: 1px solid #dddddd;
display: table-row;
}
.row-new-striped div {
//display: table-cell;
display: table-cell;
}
.row-new-striped div {
//display: table-cell;
display: table-cell;
}
/**
* Ribbon stuff
* https://codepen.io/devinsays/pen/PwEbmR
**/
.product {
width: 100%;
min-width: 100%;
}
.product-image {
position: relative;
min-height: 250px;
min-width: 4;
}
.onsale-section {
position: absolute;
top: -6px;
right: 15px;
}
.onsale-section:after {
position: absolute;
content: '';
display: block;
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
//border-top: 6px solid #6ec5d5;
}
.onsale {
position: relative;
display: inline-block;
text-align: center;
color: #fff;
font-size: 12px;
line-height: 1;
padding: 12px 8px 6px;
border-top-right-radius: 8px;
width: 100px;
text-transform: uppercase
}
.onsale:before,
.onsale:after {
position: absolute;
content: '';
display: block;
}
.onsale:before {
height: 7px;
width: 6px;
left: -6px;
top: 0;
}
.onsale:after {
background: #96a0a2;
height: 7px;
width: 8px;
border-radius: 8px 8px 0 0;
left: -8px;
top: 0;
}
.product img {
display: block;
}
/**
* This just adds a little extra padding on mobile
**/
@media only screen and (max-width: 520px) {
h1.pagetitle {
padding-top: 15px;
padding-bottom: 15px;
}
.firstnav {
padding-top: 120px !important;
}
.product {
width: 400px;
}
.product img {
min-width: 400px;
}
}
.card-view-title {
min-width: 40% !important;
line-height: 3.0!important;
padding-right: 20px;
}
.card-view {
display: table-row;
flex-direction: column;
}
// ---------------
/**

View file

@ -128,3 +128,30 @@
// Transition global options
@transition-speed: .3s;
@transition-fn: ease-in-out;
// Color varaity
.onsale-section.danger, .onsale.danger {
background-color: @red;
}
.onsale.warning {
background-color: @yellow;
}
.onsale-section.info, .onsale.info {
border-left-color: @aqua;
border-top: 6px solid @aqua;
}
.onsale-section.success, .onsale.success {
border-left-color: @green;
border-top: 6px solid @green;
}
.onsale-section.primary, .onsale.primary {
border-left-color: @light-blue;
border-top: 6px solid @light-blue;
}
.onsale-section.danger:after, .onsale.danger {
background-color: @red;
//border-top: 6px solid @red;
}

View file

@ -23,7 +23,7 @@
@endif
</div>
<div class="col-md-4">
<div class="alert alert-warning"><i class="fa fa-warning faa-pulse animated"></i>
<div class="alert alert-warning"><i class="fas fa-exclamation-triangle faa-pulse animated"></i>
When generating an API token, be sure to copy it down immediately as they
will not be visible to you again. </div>

View file

@ -53,7 +53,7 @@
function maintenanceActions(value, row) {
var actions = '<nobr>';
if ((row) && (row.available_actions.update === true)) {
actions += '<a href="{{ url('/') }}/hardware/maintenances/' + row.id + '/edit" class="btn btn-sm btn-warning" data-tooltip="true" title="Update"><i class="fa fa-pencil"></i></a>&nbsp;';
actions += '<a href="{{ url('/') }}/hardware/maintenances/' + row.id + '/edit" class="btn btn-sm btn-warning" data-tooltip="true" title="Update"><i class="fas fa-pencil-alt"></i></a>&nbsp;';
}
actions += '</nobr>'
if ((row) && (row.available_actions.delete === true)) {

View file

@ -27,7 +27,7 @@
<li>
<a href="#licenses_tab" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-floppy-o"></i>
<i class="far fa-save"></i>
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.licenses') }}</span>
</a>
@ -36,7 +36,7 @@
<li>
<a href="#accessories_tab" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-keyboard-o"></i>
<i class="far fa-keyboard"></i>
</span> <span class="hidden-xs hidden-sm">{{ trans('general.accessories') }}</span>
</a>
</li>
@ -52,7 +52,7 @@
<li>
<a href="#components_tab" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-hdd-o"></i></span>
<i class="far fa-hdd"></i></span>
<span class="hidden-xs hidden-sm">{{ trans('general.components') }}</span>
</a>
</li>

View file

@ -129,7 +129,7 @@
<div class="col-md-6 col-md-offset-4" id="encrypt_warning" style="display:none;">
<div class="callout callout-danger">
<p><i class="fa fa-warning" aria-hidden="true"></i> {{ trans('admin/custom_fields/general.encrypt_field_help') }}</p>
<p><i class="fas fa-exclamation-triangle" aria-hidden="true"></i> {{ trans('admin/custom_fields/general.encrypt_field_help') }}</p>
</div>
</div>
</div>

View file

@ -145,7 +145,7 @@
<td>
<code>{{ $field->convertUnicodeDbSlug() }}</code>
@if ($field->convertUnicodeDbSlug()!=$field->db_column)
<br><i class="fa fa-warning text-danger"></i>WARNING. This field is in the custom fields table as <code>{{ $field->db_column }}</code> but should be <code>{{ $field->convertUnicodeDbSlug() }}</code>.
<br><i class="fas fa-exclamation-triangle text-danger"></i>WARNING. This field is in the custom fields table as <code>{{ $field->db_column }}</code> but should be <code>{{ $field->convertUnicodeDbSlug() }}</code>.
@endif
</td>
<td>{{ $field->format }}</td>
@ -159,7 +159,7 @@
<nobr>
@can('update', $field)
<a href="{{ route('fields.edit', $field->id) }}" class="btn btn-warning btn-sm">
<i class="fa fa-pencil" aria-hidden="true"></i>
<i class="fas fa-pencil-alt" aria-hidden="true"></i>
<span class="sr-only">Edit</span>
</a>
@endcan

View file

@ -56,7 +56,7 @@
<p>{{ strtolower(trans('general.licenses')) }}</p>
</div>
<div class="icon" aria-hidden="true">
<i class="fa fa-floppy-o"></i>
<i class="far fa-save"></i>
</div>
@can('view', \App\Models\License::class)
<a href="{{ route('licenses.index') }}" class="small-box-footer">{{ trans('general.view_all') }} <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a>
@ -75,7 +75,7 @@
<p>{{ strtolower(trans('general.accessories')) }}</p>
</div>
<div class="icon" aria-hidden="true">
<i class="fa fa-keyboard-o"></i>
<i class="far fa-keyboard"></i>
</div>
@can('index', \App\Models\Accessory::class)
<a href="{{ route('accessories.index') }}" class="small-box-footer">{{ trans('general.view_all') }} <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a>
@ -111,7 +111,7 @@
<p>{{ strtolower(trans('general.components')) }}</p>
</div>
<div class="icon" aria-hidden="true">
<i class="fa fa-hdd-o"></i>
<i class="far fa-hdd"></i>
</div>
@can('view', \App\Models\License::class)
<a href="{{ route('components.index') }}" class="small-box-footer">{{ trans('general.view_all') }} <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a>
@ -371,7 +371,7 @@
<span class="sr-only">Asset Count</span>
</th>
<th class="col-sm-1" data-visible="true" data-field="accessories_count" data-sortable="true">
<i class="fa fa-keyboard-o" aria-hidden="true"></i>
<i class="far fa-keyboard" aria-hidden="true"></i>
<span class="sr-only">Accessories Count</span>
</th>
<th class="col-sm-1" data-visible="true" data-field="consumables_count" data-sortable="true">
@ -379,11 +379,11 @@
<span class="sr-only">Consumables Count</span>
</th>
<th class="col-sm-1" data-visible="true" data-field="components_count" data-sortable="true">
<i class="fa fa-hdd-o" aria-hidden="true"></i>
<i class="far fa-hdd" aria-hidden="true"></i>
<span class="sr-only">Components Count</span>
</th>
<th class="col-sm-1" data-visible="true" data-field="licenses_count" data-sortable="true">
<i class="fa fa-floppy-o" aria-hidden="true"></i>
<i class="far fa-save" aria-hidden="true"></i>
<span class="sr-only">Licenses Count</span>
</th>
</tr>

View file

@ -18,7 +18,7 @@
<div style="padding-top: 200px">
<img src="{{ url('/') }}/img/sad-panda.png" style="width: 200px; height: 200px;" class="pull-left">
<div class="error-content">
<h2><i class="fa fa-warning text-yellow"></i> 403 Forbidden.</h2>
<h2><i class="fas fa-exclamation-triangle text-yellow"></i> 403 Forbidden.</h2>
<p>
Sad panda. You are not authorized to do the thing. Maybe <a href="{{ url('/') }}">return to the dashboard</a>, or contact your administrator.
</p>

View file

@ -18,7 +18,7 @@
<div style="padding-top: 200px">
<img src="{{ url('/') }}/img/sad-panda.png" style="width: 200px; height: 200px;" class="pull-left">
<div class="error-content">
<h2><i class="fa fa-warning text-yellow"></i> 404 Page not found.</h2>
<h2><i class="fas fa-exclamation-triangle text-yellow"></i> 404 Page not found.</h2>
<p>
Sad panda. We could not find the page you were looking for.
You should maybe <a href="{{ url('/') }}">return to the dashboard</a>.

View file

@ -27,7 +27,7 @@ System Unavailable
</div>
<div class="col-md-10">
<div class="callout callout-danger">
<h2><i class="icon fa fa-warning"></i> System Unavailable</h2>
<h2><i class="icon fas fa-exclamation-triangle"></i> System Unavailable</h2>
<p>{!! json_decode(file_get_contents(storage_path('framework/down')), true)['message'] !!}</p>
</div>
</div>

View file

@ -20,7 +20,7 @@
<p>{{ trans('admin/hardware/form.bulk_update_help') }}</p>
<div class="callout callout-warning">
<i class="fa fa-warning"></i> {{ trans('admin/hardware/form.bulk_update_warn', ['asset_count' => count($assets)]) }}
<i class="fas fa-exclamation-triangle"></i> {{ trans('admin/hardware/form.bulk_update_warn', ['asset_count' => count($assets)]) }}
</div>
<form class="form-horizontal" method="post" action="{{ route('hardware/bulksave') }}" autocomplete="off" role="form">

View file

@ -189,7 +189,7 @@
$("#selected_status_status").removeClass('text-danger');
$("#selected_status_status").removeClass('text-success');
$("#selected_status_status").addClass('text-warning');
$("#selected_status_status").html('<i class="fa fa-warning"></i> That asset status is not deployable. This asset cannot be checked out. ');
$("#selected_status_status").html('<i class="fas fa-exclamation-triangle"></i> That asset status is not deployable. This asset cannot be checked out. ');
}
}
});

View file

@ -46,12 +46,12 @@
<div class="col-md-12">
@if ($asset->model->deleted_at!='')
<div class="alert alert-warning alert-block">
<i class="fa fa-warning"></i>
<i class="fas fa-exclamation-triangle"></i>
{{ trans('admin/hardware/general.model_deleted', array('model_id' => $asset->model->id)) }}
</div>
@elseif ($asset->deleted_at!='')
<div class="alert alert-warning alert-block">
<i class="fa fa-warning"></i>
<i class="fas fa-exclamation-triangle"></i>
{{ trans('admin/hardware/general.deleted', array('asset_id' => $asset->id)) }}
</div>
@endif
@ -358,7 +358,7 @@
@endif
@if (isset($asset->assignedTo->email))
<li><br /><i class="fa fa-envelope-o"></i> <a href="mailto:{{ $asset->assignedTo->email }}">{{ $asset->assignedTo->email }}</a></li>
<li><br /><i class="far fa-envelope"></i> <a href="mailto:{{ $asset->assignedTo->email }}">{{ $asset->assignedTo->email }}</a></li>
@endif
@if ((isset($asset->assignedTo->phone)) && ($asset->assignedTo->phone!=''))

View file

@ -96,76 +96,82 @@
<!-- Custom Tabs -->
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active">
<a href="#details" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-info-circle" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">
{{ trans('general.details') }}
</span>
<span class="hidden-lg hidden-md">
<i class="fa 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="#software" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-floppy-o" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">
{{ trans('general.licenses') }}
</span>
<span class="hidden-lg hidden-md">
<i class="far fa-save fa-2x" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.licenses') }}
{!! ($asset->licenses->count() > 0 ) ? '<badge class="badge badge-secondary">'.$asset->licenses->count().'</badge>' : '' !!}
</span>
</a>
</li>
<li>
<a href="#components" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-hdd-o" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">
{{ trans('general.components') }}
</span>
<span class="hidden-lg hidden-md">
<i class="far fa-hdd" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.components') }}
{!! ($asset->components->count() > 0 ) ? '<badge class="badge badge-secondary">'.$asset->components->count().'</badge>' : '' !!}
</span>
</a>
</li>
<li>
<a href="#assets" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-barcode" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">
{{ trans('general.assets') }}
</span>
<span class="hidden-lg hidden-md">
<i class="fa fa-barcode fa-2x" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.assets') }}
{!! ($asset->assets->count() > 0 ) ? '<badge class="badge badge-secondary">'.$asset->assets->count().'</badge>' : '' !!}
</span>
</a>
</li>
<li>
<a href="#maintenances" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-wrench" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">
{{ trans('general.maintenances') }}
</span>
<span class="hidden-lg hidden-md">
<i class="fa fa-wrench fa-2x" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.maintenances') }}
{!! ($asset->maintenances->count() > 0 ) ? '<badge class="badge badge-secondary">'.$asset->maintenances->count().'</badge>' : '' !!}
</span>
</a>
</li>
<li>
<a href="#history" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-history" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">
{{ trans('general.history') }}
</span>
<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>
<li>
<a href="#files" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-files-o" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">
{{ trans('general.files') }}
</span>
<span class="hidden-lg hidden-md">
<i class="fa fa-paperclip fa-2x" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.maintenances') }}
{!! ($asset->uploads->count() > 0 ) ? '<badge class="badge badge-secondary">'.$asset->uploads->count().'</badge>' : '' !!}
</span>
</a>
</li>
@can('update', \App\Models\Asset::class)
<li class="pull-right">
<a href="#" data-toggle="modal" data-target="#uploadFileModal">
@ -174,7 +180,9 @@
</a>
</li>
@endcan
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="details">
<div class="row">

View file

@ -142,7 +142,7 @@
@can('view', \App\Models\License::class)
<li aria-hidden="true"{!! (Request::is('licenses*') ? ' class="active"' : '') !!} tabindex="-1">
<a href="{{ route('licenses.index') }}" tabindex="-1">
<i class="fa fa-floppy-o"></i>
<i class="far fa-save"></i>
<span class="sr-only">Licenses</span>
</a>
</li>
@ -150,7 +150,7 @@
@can('index', \App\Models\Accessory::class)
<li aria-hidden="true"{!! (Request::is('accessories*') ? ' class="active"' : '') !!} tabindex="-1">
<a href="{{ route('accessories.index') }}" tabindex="-1">
<i class="fa fa-keyboard-o"></i>
<i class="far fa-keyboard"></i>
<span class="sr-only">Accessories</span>
</a>
</li>
@ -166,7 +166,7 @@
@can('view', \App\Models\Component::class)
<li aria-hidden="true"{!! (Request::is('components*') ? ' class="active"' : '') !!}>
<a href="{{ route('components.index') }}" tabindex="-1">
<i class="fa fa-hdd-o"></i>
<i class="far fa-hdd"></i>
<span class="sr-only">Components</span>
</a>
</li>
@ -210,7 +210,7 @@
@can('create', \App\Models\License::class)
<li {!! (Request::is('licenses/create') ? 'class="active"' : '') !!}>
<a href="{{ route('licenses.create') }}" tabindex="-1">
<i class="fa fa-floppy-o fa-fw" aria-hidden="true"></i>
<i class="far fa-save fa-fw" aria-hidden="true"></i>
{{ trans('general.license') }}
</a>
</li>
@ -218,7 +218,7 @@
@can('create', \App\Models\Accessory::class)
<li {!! (Request::is('accessories/create') ? 'class="active"' : '') !!}>
<a href="{{ route('accessories.create') }}" tabindex="-1">
<i class="fa fa-keyboard-o fa-fw" aria-hidden="true"></i>
<i class="far fa-keyboard fa-fw" aria-hidden="true"></i>
{{ trans('general.accessory') }}</a>
</li>
@endcan
@ -233,7 +233,7 @@
@can('create', \App\Models\Component::class)
<li {!! (Request::is('components/create') ? 'class="active"' : '') !!}>
<a href="{{ route('components.create') }}" tabindex="-1">
<i class="fa fa-hdd-o fa-fw" aria-hidden="true"></i>
<i class="far fa-hdd fa-fw" aria-hidden="true"></i>
{{ trans('general.component') }}
</a>
</li>
@ -257,7 +257,7 @@
<li class="dropdown tasks-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-flag-o" aria-hidden="true"></i>
<i class="far fa-flag" aria-hidden="true"></i>
<span class="sr-only">Alerts</span>
@if (count($alert_items))
<span class="label label-danger">{{ count($alert_items) }}</span>
@ -305,7 +305,7 @@
@if (Auth::user()->present()->gravatar())
<img src="{{ Auth::user()->present()->gravatar() }}" class="user-image" alt="">
@else
<i class="fa fa-user fa-fws" aria-hidden="true"></i>
<i class="fas fa-users" aria-hidden="true"></i>
@endif
<span class="hidden-xs">{{ Auth::user()->first_name }} <strong class="caret"></strong></span>
@ -356,7 +356,7 @@
<li class="divider"></li>
<li>
<a href="{{ url('/logout') }}">
<i class="fa fa-sign-out fa-fw" aria-hidden="true"></i>
<i class="fas fa-sign-out-alt" aria-hidden="true"></i>
{{ trans('general.logout') }}
</a>
</li>
@ -390,9 +390,9 @@
<!-- sidebar menu: : style can be found in sidebar.less -->
<ul class="sidebar-menu" data-widget="tree">
@can('admin')
<li {!! (\Request::route()->getName()=='home' ? ' class="active"' : '') !!}>
<li {!! (\Request::route()->getName()=='home' ? ' class="active"' : '') !!} class="firstnav">
<a href="{{ route('home') }}">
<i class="fa fa-dashboard" aria-hidden="true"></i> <span>{{ trans('general.dashboard') }}</span>
<i class="fas fa-tachometer-alt" aria-hidden="true"></i> <span>{{ trans('general.dashboard') }}</span>
</a>
</li>
@endcan
@ -405,7 +405,7 @@
<ul class="treeview-menu">
<li>
<a href="{{ url('hardware') }}">
<i class="fa fa-circle-o text-grey" aria-hidden="true"></i>
<i class="far fa-circle text-grey" aria-hidden="true"></i>
{{ trans('general.list_all') }}
</a>
</li>
@ -413,14 +413,16 @@
<?php $status_navs = \App\Models\Statuslabel::where('show_in_nav', '=', 1)->withCount('assets as asset_count')->get(); ?>
@if (count($status_navs) > 0)
@foreach ($status_navs as $status_nav)
<li><a href="{{ route('statuslabels.show', ['statuslabel' => $status_nav->id]) }}"><i class="fa fa-circle text-grey" aria-hidden="true"></i> {{ $status_nav->name }} ({{ $status_nav->asset_count }})</a></li>
<li><a href="{{ route('statuslabels.show', ['statuslabel' => $status_nav->id]) }}">
<i class="fas fa-circle text-grey" aria-hidden="true"></i>
{{ $status_nav->name }} ({{ $status_nav->asset_count }})</a></li>
@endforeach
@endif
<li{!! (Request::query('status') == 'Deployed' ? ' class="active"' : '') !!}>
<a href="{{ url('hardware?status=Deployed') }}">
<i class="fa fa-circle-o text-blue"></i>
<i class="far fa-circle text-blue"></i>
{{ trans('general.all') }}
{{ trans('general.deployed') }}
({{ (isset($total_deployed_sidebar)) ? $total_deployed_sidebar : '' }})
@ -428,13 +430,13 @@
</li>
<li{!! (Request::query('status') == 'RTD' ? ' class="active"' : '') !!}>
<a href="{{ url('hardware?status=RTD') }}">
<i class="fa fa-circle-o text-green"></i>
<i class="far fa-circle text-green"></i>
{{ trans('general.all') }}
{{ trans('general.ready_to_deploy') }}
({{ (isset($total_rtd_sidebar)) ? $total_rtd_sidebar : '' }})
</a>
</li>
<li{!! (Request::query('status') == 'Pending' ? ' class="active"' : '') !!}><a href="{{ url('hardware?status=Pending') }}"><i class="fa fa-circle-o text-orange"></i>
<li{!! (Request::query('status') == 'Pending' ? ' class="active"' : '') !!}><a href="{{ url('hardware?status=Pending') }}"><i class="far fa-circle text-orange"></i>
{{ trans('general.all') }}
{{ trans('general.pending') }}
({{ (isset($total_pending_sidebar)) ? $total_pending_sidebar : '' }})
@ -460,12 +462,12 @@
@can('audit', \App\Models\Asset::class)
<li{!! (Request::is('hardware/audit/due') ? ' class="active"' : '') !!}>
<a href="{{ route('assets.audit.due') }}">
<i class="fa fa-clock-o text-yellow"></i> {{ trans('general.audit_due') }}
<i class="fas fa-history text-yellow"></i> {{ trans('general.audit_due') }}
</a>
</li>
<li{!! (Request::is('hardware/audit/overdue') ? ' class="active"' : '') !!}>
<a href="{{ route('assets.audit.overdue') }}">
<i class="fa fa-warning text-red"></i> {{ trans('general.audit_overdue') }}
<i class="fas fa-exclamation-triangle text-red"></i> {{ trans('general.audit_overdue') }}
</a>
</li>
@endcan
@ -515,7 +517,7 @@
@can('view', \App\Models\License::class)
<li{!! (Request::is('licenses*') ? ' class="active"' : '') !!}>
<a href="{{ route('licenses.index') }}">
<i class="fa fa-floppy-o"></i>
<i class="far fa-save"></i>
<span>{{ trans('general.licenses') }}</span>
</a>
</li>
@ -523,7 +525,7 @@
@can('index', \App\Models\Accessory::class)
<li{!! (Request::is('accessories*') ? ' class="active"' : '') !!}>
<a href="{{ route('accessories.index') }}">
<i class="fa fa-keyboard-o"></i>
<i class="far fa-keyboard"></i>
<span>{{ trans('general.accessories') }}</span>
</a>
</li>
@ -539,7 +541,7 @@
@can('view', \App\Models\Component::class)
<li{!! (Request::is('components*') ? ' class="active"' : '') !!}>
<a href="{{ route('components.index') }}">
<i class="fa fa-hdd-o"></i>
<i class="far fa-hdd"></i>
<span>{{ trans('general.components') }}</span>
</a>
</li>
@ -564,7 +566,7 @@
@can('import')
<li{!! (Request::is('import/*') ? ' class="active"' : '') !!}>
<a href="{{ route('imports.index') }}">
<i class="fa fa-cloud-download"></i>
<i class="fas fa-cloud-download-alt"></i>
<span>{{ trans('general.import') }}</span>
</a>
</li>
@ -573,7 +575,7 @@
@can('backend.interact')
<li class="treeview">
<a href="#">
<i class="fa fa-gear" aria-hidden="true"></i>
<i class="fas fa-cog" aria-hidden="true"></i>
<span>{{ trans('general.settings') }}</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
@ -668,7 +670,7 @@
@can('reports.view')
<li class="treeview{{ (Request::is('reports*') ? ' active' : '') }}">
<a href="#" class="dropdown-toggle">
<i class="fa fa-bar-chart"></i>
<i class="fas fa-chart-bar"></i>
<span>{{ trans('general.reports') }}</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
@ -739,7 +741,7 @@
@if ($debug_in_production)
<div class="row" style="margin-bottom: 0px; background-color: red; color: white; font-size: 15px;">
<div class="col-md-12" style="margin-bottom: 0px; background-color: #b50408 ; color: white; padding: 10px 20px 10px 30px; font-size: 16px;">
<i class="fa fa-warning fa-3x pull-left"></i> <strong>{{ strtoupper(trans('general.debug_warning')) }}:</strong>
<i class="fas fa-exclamation-triangle fa-3x pull-left"></i> <strong>{{ strtoupper(trans('general.debug_warning')) }}:</strong>
{!! trans('general.debug_warning_text') !!}
</div>
</div>
@ -747,11 +749,7 @@
<!-- Content Header (Page header) -->
<section class="content-header" style="padding-bottom: 30px;">
<h1 class="pull-left">
@yield('title')
</h1>
<h1 class="pull-left pagetitle">@yield('title') </h1>
@if (isset($helpText))
@include ('partials.more-info',

View file

@ -22,7 +22,7 @@
<div class="box box-default">
<div class="box-header with-border">
<div class="box-title"><i class="fa fa-warning"></i> You are about to edit the following: </div>
<div class="box-title"><i class="fas fa-exclamation-triangle"></i> You are about to edit the following: </div>
</div>
<div class="box-body">

View file

@ -116,7 +116,7 @@
<div class="col-md-12">
<div class="alert alert-warning fade in">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<i class="fa fa-warning faa-pulse animated"></i>
<i class="fas fa-exclamation-triangle faa-pulse animated"></i>
<strong>Warning: </strong>
{{ $message }}
</div>

View file

@ -71,7 +71,7 @@
paginationSwitchDown: 'fa-caret-square-o-down',
paginationSwitchUp: 'fa-caret-square-o-up',
columns: 'fa-columns',
refresh: 'fa-refresh',
refresh: 'fas fa-sync-alt',
export: 'fa-download',
clearSearch: 'fa-times'
},
@ -205,11 +205,11 @@
}
if ((row.available_actions) && (row.available_actions.clone === true)) {
actions += '<a href="{{ url('/') }}/' + dest + '/' + row.id + '/clone" class="btn btn-sm btn-info" data-tooltip="true" title="Clone Item"><i class="fa fa-copy" aria-hidden="true"></i><span class="sr-only">Clone</span></a>&nbsp;';
actions += '<a href="{{ url('/') }}/' + dest + '/' + row.id + '/clone" class="btn btn-sm btn-info" data-tooltip="true" title="Clone Item"><i class="far fa-clone" aria-hidden="true"></i><span class="sr-only">Clone</span></a>&nbsp;';
}
if ((row.available_actions) && (row.available_actions.update === true)) {
actions += '<a href="{{ url('/') }}/' + dest + '/' + row.id + '/edit" class="btn btn-sm btn-warning" data-tooltip="true" title="Update Item"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sr-only">Update</span></a>&nbsp;';
actions += '<a href="{{ url('/') }}/' + dest + '/' + row.id + '/edit" class="btn btn-sm btn-warning" data-tooltip="true" title="Update Item"><i class="fas fa-pencil-alt" aria-hidden="true"></i><span class="sr-only">Update</span></a>&nbsp;';
}
if ((row.available_actions) && (row.available_actions.delete === true)) {
@ -224,7 +224,7 @@
}
if ((row.available_actions) && (row.available_actions.restore === true)) {
actions += '<a href="{{ url('/') }}/' + dest + '/' + row.id + '/restore" class="btn btn-sm btn-warning" data-toggle="tooltip" title="Restore"><i class="fa fa-retweet"></i></a>&nbsp;';
actions += '<a href="{{ url('/') }}/' + dest + '/' + row.id + '/restore" class="btn btn-sm btn-warning" data-toggle="tooltip" title="Restore"><i class="far fa-clone"></i></a>&nbsp;';
}
actions +='</nobr>';
@ -244,28 +244,28 @@
if (value.type == 'asset') {
item_destination = 'hardware';
item_icon = 'fa-barcode';
item_icon = 'fa fa-barcode';
} else if (value.type == 'accessory') {
item_destination = 'accessories';
item_icon = 'fa-keyboard-o';
item_icon = 'far fa-keyboard';
} else if (value.type == 'component') {
item_destination = 'components';
item_icon = 'fa-hdd-o';
item_icon = 'far fa-hdd';
} else if (value.type == 'consumable') {
item_destination = 'consumables';
item_icon = 'fa-tint';
item_icon = 'fa fa-tint';
} else if (value.type == 'license') {
item_destination = 'licenses';
item_icon = 'fa-floppy-o';
item_icon = 'far fa-save';
} else if (value.type == 'user') {
item_destination = 'users';
item_icon = 'fa-user';
item_icon = 'fa fa-user';
} else if (value.type == 'location') {
item_destination = 'locations'
item_icon = 'fa-map-marker';
item_icon = 'far fa-hdd';
}
return '<nobr><a href="{{ url('/') }}/' + item_destination +'/' + value.id + '" data-tooltip="true" title="' + value.type + '"><i class="fa ' + item_icon + ' text-{{ $snipeSettings->skin!='' ? $snipeSettings->skin : 'blue' }} "></i> ' + value.name + '</a></nobr>';
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>';
} else {
return '';
@ -446,7 +446,7 @@
function changeLogFormatter(value) {
var result = '';
for (var index in value) {
result += index + ': <del>' + value[index].old + '</del> <i class="fa fa-long-arrow-right" aria-hidden="true"></i> ' + value[index].new + '<br>'
result += index + ': <del>' + value[index].old + '</del> <i class="fas fa-long-arrow-alt-right" aria-hidden="true"></i> ' + value[index].new + '<br>'
}
return result;

View file

@ -46,7 +46,7 @@
@else
<div class="col-md-12">
<div class="alert alert-warning fade in">
<i class="fa fa-warning faa-pulse animated"></i>
<i class="fas fa-exclamation-triangle faa-pulse animated"></i>
<strong>Warning: </strong>
You do not currently have any depreciations set up.
Please set up at least one depreciation to view the depreciation report.

View file

@ -101,7 +101,7 @@
<div class="box-body text-center">
<h5>
<a href="{{ route('groups.index') }}">
<i class="fa fa-group fa-4x" aria-hidden="true"></i>
<i class="fas fa-user-friends fa-4x" aria-hidden="true"></i>
<br><br>
<span class="name">Groups</span>
<span class="keywords" aria-hidden="true" style="display:none">permissions, permission groups, authorization</span>
@ -118,7 +118,7 @@
<div class="box-body text-center">
<h5>
<a href="{{ route('settings.localization.index') }}">
<i class="fa fa-globe fa-4x" aria-hidden="true"></i>
<i class="fas fa-globe-americas fa-4x" aria-hidden="true"></i>
<br><br>
<span class="name">Localization</span>
<span class="keywords" aria-hidden="true" style="display:none">localization, currency, local, locale, time zone, timezone, international, internatinalization, language, languages, translation</span>
@ -152,7 +152,7 @@
<div class="box-body text-center">
<h5>
<a href="{{ route('settings.slack.index') }}">
<i class="fa fa-slack fa-4x" aria-hidden="true"></i>
<i class="fab fa-slack fa-4x" aria-hidden="true"></i>
<br><br>
<span class="name">Slack</span>
</a>
@ -228,7 +228,7 @@
<div class="box-body text-center">
<h5>
<a href="{{ route('settings.saml.index') }}">
<i class="fa fa-sign-in fa-4x" aria-hidden="true"></i>
<i class="fas fa-sign-in-alt fa-4x" aria-hidden="true"></i>
<br><br>
<span class="name">SAML</span>
</a>
@ -243,7 +243,7 @@
<div class="box-body text-center">
<h5>
<a href="{{ route('settings.backups.index') }}">
<i class="fa fa-cloud-download fa-4x" aria-hidden="true"></i>
<i class="fas fa-file-archive fa-4x" aria-hidden="true"></i>
<br><br>
<span class="name">Backups</span>
</a>
@ -290,7 +290,7 @@
<div class="box-body text-center">
<h5>
<a href="{{ route('settings.phpinfo.index') }}">
<i class="fa fa-server fa-4x" aria-hidden="true"></i>
<i class="fab fa-php fa-4x" aria-hidden="true"></i>
<br><br>
<span class="name">PHP</span>
<span class="keywords" aria-hidden="true" style="display:none">phpinfo, system, info</span>

View file

@ -32,7 +32,7 @@
<div class="panel box box-default">
<div class="box-header with-border">
<h2 class="box-title">
<i class="fa fa-globe"></i> Localization
<i class="fas fa-globe-americas" aria-hidden="true"></i> Localization
</h2>
</div>
<div class="box-body">

View file

@ -18,7 +18,7 @@
<div class="col-md-8 col-md-offset-2">
<div class="box box-solid box-danger">
<div class="box-header with-border">
<h2 class="box-title"><i class="fa fa-warning"></i> {{ trans('admin/settings/general.purge') }}</h2>
<h2 class="box-title"><i class="fas fa-exclamation-triangle"></i> {{ trans('admin/settings/general.purge') }}</h2>
</div>
{{ Form::open(['method' => 'POST', 'files' => false, 'autocomplete' => 'off', 'class' => 'form-horizontal', 'role' => 'form' ]) }}
<!-- CSRF Token -->

View file

@ -32,7 +32,7 @@
<div class="panel box box-default">
<div class="box-header with-border">
<h2 class="box-title">
<i class="fa fa-slack"></i> Slack
<i class="fab fa-slack"></i> Slack
</h2>
</div>
<div class="box-body">

View file

@ -12,7 +12,7 @@ Create a User ::
@if (trim($output)=='Nothing to migrate.')
<div class="col-md-12">
<div class="alert alert-warning">
<i class="fa fa-warning"></i>
<i class="fas fa-exclamation-triangle"></i>
There was nothing to migrate. Your database tables were already set up!
</div>
</div>

View file

@ -193,7 +193,7 @@
<td>{{ $improvement->is_warranty ? trans('admin/asset_maintenances/message.warranty') : trans('admin/asset_maintenances/message.not_warranty') }}</td>
<td>{{ sprintf( $snipeSettings->default_currency. '%01.2f', $improvement->cost) }}</td>
<?php $totalCost += $improvement->cost; ?>
<td><a href="{{ route('maintenances.edit', $improvement->id) }}" class="btn btn-warning"><i class="fa fa-pencil icon-white" aria-hidden="true"></i></a>
<td><a href="{{ route('maintenances.edit', $improvement->id) }}" class="btn btn-warning"><i class="fas fa-pencil-alt icon-white" aria-hidden="true"></i></a>
</td>
</tr>
@endif
@ -242,7 +242,7 @@
@if ($supplier->email)
<li>
<i class="fa fa-envelope-o"></i>
<i class="far fa-envelope"></i>
<a href="mailto:{{ $supplier->email }}">
{{ $supplier->email }}
</a>

View file

@ -20,7 +20,7 @@
<p>{{ trans('admin/users/general.bulk_update_help') }}</p>
<div class="callout callout-warning">
<i class="fa fa-warning"></i> {{ trans('admin/users/general.bulk_update_warn', ['user_count' => count($users)]) }}
<i class="fas fa-exclamation-triangle"></i> {{ trans('admin/users/general.bulk_update_warn', ['user_count' => count($users)]) }}
</div>
<form class="form-horizontal" method="post" action="{{ route('users/bulkeditsave') }}" autocomplete="off" role="form">

View file

@ -40,7 +40,7 @@ LDAP User Sync
</div>
<div class="text-right col-md-6">
<button type="submit" class="btn btn-primary" id="sync">
<i id="sync-button-icon" class="fa fa-refresh icon-white" aria-hidden="true"></i> <span id="sync-button-text">Synchronize</span>
<i id="sync-button-icon" class="fas fa-sync-alt icon-white" aria-hidden="true"></i> <span id="sync-button-text">Synchronize</span>
</button>
</div>

View file

@ -9,6 +9,8 @@
{{-- Page content --}}
@section('content')
<div class="row">
<div class="col-md-12">
<div class="nav-tabs-custom">
@ -17,7 +19,7 @@
<li class="active">
<a href="#details" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-info-circle"></i>
<i class="fa fa-info-circle fa-2x"></i>
</span>
<span class="hidden-xs hidden-sm">{{ trans('admin/users/general.info') }}</span>
</a>
@ -26,49 +28,60 @@
<li>
<a href="#asset" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-barcode" aria-hidden="true"></i>
<i class="fa fa-barcode fa-2x" aria-hidden="true"></i>
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.assets') }}
{!! ($user->assets->count() > 0 ) ? '<badge class="badge badge-secondary">'.$user->assets->count().'</badge>' : '' !!}
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.assets') }}</span>
</a>
</li>
<li>
<a href="#licenses" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-floppy-o"></i>
<i class="far fa-save fa-2x"></i>
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.licenses') }}
{!! ($user->licenses->count() > 0 ) ? '<badge class="badge badge-secondary">'.$user->licenses->count().'</badge>' : '' !!}
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.licenses') }}</span>
</a>
</li>
<li>
<a href="#accessories" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-keyboard-o"></i>
</span> <span class="hidden-xs hidden-sm">{{ trans('general.accessories') }}</span>
<i class="far fa-keyboard fa-2x"></i>
</span>
<span class="hidden-xs hidden-sm">{{ trans('general.accessories') }}
{!! ($user->accessories->count() > 0 ) ? '<badge class="badge badge-secondary">'.$user->accessories->count().'</badge>' : '' !!}
</span>
</a>
</li>
<li>
<a href="#consumables" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-tint"></i></span>
<span class="hidden-xs hidden-sm">{{ trans('general.consumables') }}</span>
<i class="fa fa-tint fa-2x"></i></span>
<span class="hidden-xs hidden-sm">{{ trans('general.consumables') }}
{!! ($user->consumables->count() > 0 ) ? '<badge class="badge badge-secondary">'.$user->consumables->count().'</badge>' : '' !!}
</span>
</a>
</li>
<li>
<a href="#files" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-paperclip"></i></span>
<span class="hidden-xs hidden-sm">{{ trans('general.file_uploads') }}</span>
<i class="fa fa-paperclip fa-2x"></i></span>
<span class="hidden-xs hidden-sm">{{ trans('general.file_uploads') }}
{!! ($user->uploads->count() > 0 ) ? '<badge class="badge badge-secondary">'.$user->uploads->count().'</badge>' : '' !!}
</span>
</a>
</li>
<li>
<a href="#history" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-clock-o"></i></span>
<i class="fas fa-history fa-2x"></i></span>
<span class="hidden-xs hidden-sm">{{ trans('general.history') }}</span>
</a>
</li>
@ -77,8 +90,9 @@
<li>
<a href="#managed" data-toggle="tab">
<span class="hidden-lg hidden-md">
<i class="fa fa-clock-o"></i></span>
<span class="hidden-xs hidden-sm">{{ trans('admin/users/table.managed_locations') }}</span>
<i class="fa fa-map-marker fa-2x"></i></span>
<span class="hidden-xs hidden-sm">{{ trans('admin/users/table.managed_locations') }}
{!! ($user->managedLocations->count() > 0 ) ? '<badge class="badge badge-secondary">'.$user->managedLocations->count().'</badge>' : '' !!}
</a>
</li>
@endif
@ -86,7 +100,7 @@
@can('update', $user)
<li class="dropdown pull-right">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-gear"></i> {{ trans('button.actions') }}
<i class="fas fa-cog"></i> {{ trans('button.actions') }}
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
@ -109,19 +123,112 @@
<div class="tab-content">
<div class="tab-pane active" id="details">
<div class="row">
@if ($user->deleted_at!='')
<div class="col-md-12">
<div class="callout callout-warning">
<i class="icon fa fa-warning"></i>
<i class="icon fas fa-exclamation-triangle"></i>
{{ trans('admin/users/message.user_deleted_warning') }}
@can('update', $user)
<a href="{{ route('restore/user', $user->id) }}">{{ trans('admin/users/general.restore_user') }}</a>
<a href="{{ route('restore/user', $user->id) }}">
{{ trans('admin/users/general.restore_user') }}
</a>
@endcan
</div>
</div>
@endif
<!-- Start button column -->
<div class="col-md-3 col-xs-12 col-sm-push-9">
<div class="col-md-12 text-center">
<div class="product">
<div class="product-image">
<img src="{{ $user->present()->gravatar() }}" class="img-thumbnail hidden-print" style="margin-bottom: 20px;" alt="{{ $user->present()->fullName() }}">
<span class="onsale-section{{ ($user->isSuperUser()) ? ' danger' : ' warning'}}">
<span class="onsale{{ ($user->isSuperUser()) ? ' danger' : ' warning'}}">
<i class="fas fa-crown" title="superuser"></i>
@if ($user->isSuperUser())
superadmin
@elseif ($user->hasAccess('admin'))
admin
@endif
</span>
</span>
</div>
</div>
</div>
<div class="col-md-9">
@can('update', $user)
<div class="col-md-12">
<a href="{{ route('users.edit', $user->id) }}" style="width: 100%;" class="btn btn-sm btn-primary hidden-print">{{ trans('admin/users/general.edit') }}</a>
</div>
@endcan
@can('create', $user)
<div class="col-md-12" style="padding-top: 5px;">
<a href="{{ route('clone/user', $user->id) }}" style="width: 100%;" class="btn btn-sm btn-primary hidden-print">{{ trans('admin/users/general.clone') }}</a>
</div>
@endcan
@can('view', $user)
<div class="col-md-12" style="padding-top: 5px;">
<a href="{{ route('users.print', $user->id) }}" style="width: 100%;" class="btn btn-sm btn-primary hidden-print" target="_blank" rel="noopener">{{ trans('admin/users/general.print_assigned') }}</a>
</div>
@endcan
@can('update', $user)
@if (($user->activated == '1') && ($user->email != '') && ($user->ldap_import == '0'))
<div class="col-md-12" style="padding-top: 5px;">
<form action="{{ route('users.password',['userId'=> $user->id]) }}" method="POST">
{{ csrf_field() }}
<button style="width: 100%;" class="btn btn-sm btn-primary hidden-print">{{ trans('button.send_password_link') }}</button>
</form>
</div>
@endif
@endcan
@can('delete', $user)
@if ($user->deleted_at=='')
<div class="col-md-12" style="padding-top: 30px;">
<form action="{{route('users.destroy',$user->id)}}" method="POST">
{{csrf_field()}}
{{ method_field("DELETE")}}
<button style="width: 100%;" class="btn btn-sm btn-warning hidden-print">{{ trans('button.delete')}}</button>
</form>
</div>
<div class="col-md-12" style="padding-top: 5px;">
<form action="{{ route('users/bulkedit') }}" method="POST">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<input type="hidden" name="bulk_actions" value="delete" />
<input type="hidden" name="ids[{{ $user->id }}]" value="{{ $user->id }}" />
<button style="width: 100%;" class="btn btn-sm btn-danger hidden-print">{{ trans('button.checkin_and_delete') }}</button>
</form>
</div>
@else
<div class="col-md-12" style="padding-top: 5px;">
<a href="{{ route('restore/user', $user->id) }}" style="width: 100%;" class="btn btn-sm btn-warning hidden-print">{{ trans('button.restore') }}</a>
</div>
@endif
@endcan
<br><br>
</div>
<!-- End button column -->
<div class="col-md-9 col-xs-12 col-sm-pull-3">
<div class="row-new-striped">
@ -161,7 +268,14 @@
{{ trans('admin/users/table.username') }}
</div>
<div class="col-md-9">
{{ $user->username }}
@if ($user->isSuperUser())
<label class="label label-danger"><i class="fas fa-crown" title="superuser"></i></label> {{ $user->username }}
@elseif ($user->hasAccess('admin'))
<label class="label label-warning"><i class="fas fa-crown" title="superuser"></i></label> {{ $user->username }}
@endif
</div>
</div>
@ -443,77 +557,10 @@
</div> <!-- end col-md-9 -->
<!-- Start button column -->
<div class="col-md-3 col-xs-12">
@if ($user->avatar)
<div class="col-md-12">
<img src="/uploads/avatars/{{ $user->avatar }}" class="avatar img-thumbnail hidden-print" alt="{{ $user->present()->fullName() }}" style="margin-bottom: 20px;">
@else
<img src="{{ $user->present()->gravatar() }}" class="avatar img-circle hidden-print" alt="{{ $user->present()->fullName() }}" style="margin-bottom: 20px;">
</div>
@endif
@can('update', $user)
<div class="col-md-12">
<a href="{{ route('users.edit', $user->id) }}" style="width: 100%;" class="btn btn-sm btn-primary hidden-print">{{ trans('admin/users/general.edit') }}</a>
</div>
@endcan
@can('create', $user)
<div class="col-md-12" style="padding-top: 5px;">
<a href="{{ route('clone/user', $user->id) }}" style="width: 100%;" class="btn btn-sm btn-primary hidden-print">{{ trans('admin/users/general.clone') }}</a>
</div>
@endcan
@can('view', $user)
<div class="col-md-12" style="padding-top: 5px;">
<a href="{{ route('users.print', $user->id) }}" style="width: 100%;" class="btn btn-sm btn-primary hidden-print" target="_blank" rel="noopener">{{ trans('admin/users/general.print_assigned') }}</a>
</div>
@endcan
@can('update', $user)
@if (($user->activated == '1') && ($user->email != '') && ($user->ldap_import == '0'))
<div class="col-md-12" style="padding-top: 5px;">
<form action="{{ route('users.password',['userId'=> $user->id]) }}" method="POST">
{{ csrf_field() }}
<button style="width: 100%;" class="btn btn-sm btn-primary hidden-print">{{ trans('button.send_password_link') }}</button>
</form>
</div>
@endif
@endcan
@can('delete', $user)
@if ($user->deleted_at=='')
<div class="col-md-12" style="padding-top: 30px;">
<form action="{{route('users.destroy',$user->id)}}" method="POST">
{{csrf_field()}}
{{ method_field("DELETE")}}
<button style="width: 100%;" class="btn btn-sm btn-warning hidden-print">{{ trans('button.delete')}}</button>
</form>
</div>
<div class="col-md-12" style="padding-top: 5px;">
<form action="{{ route('users/bulkedit') }}" method="POST">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<input type="hidden" name="bulk_actions" value="delete" />
<input type="hidden" name="ids[{{ $user->id }}]" value="{{ $user->id }}" />
<button style="width: 100%;" class="btn btn-sm btn-danger hidden-print">{{ trans('button.checkin_and_delete') }}</button>
</form>
</div>
@else
<div class="col-md-12" style="padding-top: 5px;">
<a href="{{ route('restore/user', $user->id) }}" style="width: 100%;" class="btn btn-sm btn-warning hidden-print">{{ trans('button.restore') }}</a>
</div>
@endif
@endcan
</div>
<!-- End button column -->
</div> <!--/.row-->
</div><!-- /.tab-pane -->
</div> <!--/.row-->
<div class="tab-pane" id="asset">
<!-- checked out assets table -->

View file

@ -389,7 +389,7 @@ Route::group(['prefix' => 'v1', 'middleware' => 'api'], function () {
* Groups API routes
*/
Route::resource('groups',
Api\CustomFieldsetsController::class,
Api\GroupsCOntroller::class,
['names' =>
[
'index' => 'api.groups.index',

View file

@ -20,12 +20,12 @@ Route::group(['prefix' => 'accessories', 'middleware' => ['auth']], function ()
Route::get(
'{accessoryID}/checkin/{backto?}',
[Accessories\AccessoryCheckinController::class, 'create']
)->name('checkout/accessory');
)->name('checkin/accessory');
Route::post(
'{accessoryID}/checkin/{backto?}',
[Accessories\AccessoryCheckinController::class, 'store']
)->name('checkout/accessory');
)->name('checkin/accessory');
});

View file

@ -14,7 +14,6 @@ mix
.styles(
[
'./node_modules/bootstrap/dist/css/bootstrap.css',
'./node_modules/font-awesome/css/font-awesome.css',
'./public/css/build/AdminLTE.css',
'./node_modules/jquery-ui-bundle/jquery-ui.css',
'./node_modules/admin-lte/plugins/iCheck/minimal/blue.css',