Updated datatables, using @pa instead of @js/@css, using conditionalPaging in datatables
This commit is contained in:
parent
1c4cb6f38c
commit
5f10175b35
@ -5,11 +5,9 @@ namespace App\Providers;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Intuit\Traits\IntuitSocialite;
|
||||
use Leenooks\Traits\SingleOrFail;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
{
|
||||
use SingleOrFail;
|
||||
use IntuitSocialite;
|
||||
|
||||
/**
|
||||
@ -17,7 +15,6 @@ class AppServiceProvider extends ServiceProvider
|
||||
*/
|
||||
public function register(): void
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -25,8 +22,6 @@ class AppServiceProvider extends ServiceProvider
|
||||
*/
|
||||
public function boot(): void
|
||||
{
|
||||
self::bootSingleOrfail();
|
||||
|
||||
Gate::define('wholesaler', function ($user) {
|
||||
return $user->isWholesaler();
|
||||
});
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
App\Providers\AppServiceProvider::class,
|
||||
App\Providers\AppServiceProvider::class,
|
||||
];
|
148
composer.lock
generated
148
composer.lock
generated
@ -1534,16 +1534,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v11.17.0",
|
||||
"version": "v11.18.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "42f505a0c8afc0743f73e70bec08e641e2870bd6"
|
||||
"reference": "b19ba518c56852567e99fbae9321bc436c2cc5a8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/42f505a0c8afc0743f73e70bec08e641e2870bd6",
|
||||
"reference": "42f505a0c8afc0743f73e70bec08e641e2870bd6",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/b19ba518c56852567e99fbae9321bc436c2cc5a8",
|
||||
"reference": "b19ba518c56852567e99fbae9321bc436c2cc5a8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1736,7 +1736,7 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2024-07-23T16:33:27+00:00"
|
||||
"time": "2024-07-26T10:39:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/intuit",
|
||||
@ -3056,11 +3056,11 @@
|
||||
},
|
||||
{
|
||||
"name": "leenooks/laravel",
|
||||
"version": "11.1.6",
|
||||
"version": "11.1.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://gitea.dege.au/laravel/leenooks.git",
|
||||
"reference": "628fbac8f9ce60c5124ee83b288733ae24e48b63"
|
||||
"reference": "eaece2b69d028fba0db5a5bb55b1386acf017cbc"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@ -3093,7 +3093,7 @@
|
||||
"laravel",
|
||||
"leenooks"
|
||||
],
|
||||
"time": "2024-07-26T02:26:31+00:00"
|
||||
"time": "2024-07-28T04:52:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "leenooks/passkey",
|
||||
@ -5081,16 +5081,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v7.1.2",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "0aa29ca177f432ab68533432db0de059f39c92ae"
|
||||
"reference": "cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/0aa29ca177f432ab68533432db0de059f39c92ae",
|
||||
"reference": "0aa29ca177f432ab68533432db0de059f39c92ae",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9",
|
||||
"reference": "cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5154,7 +5154,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v7.1.2"
|
||||
"source": "https://github.com/symfony/console/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5170,7 +5170,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T10:03:55+00:00"
|
||||
"time": "2024-07-26T12:41:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/css-selector",
|
||||
@ -5306,16 +5306,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/error-handler",
|
||||
"version": "v7.1.2",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/error-handler.git",
|
||||
"reference": "2412d3dddb5c9ea51a39cfbff1c565fc9844ca32"
|
||||
"reference": "432bb369952795c61ca1def65e078c4a80dad13c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/2412d3dddb5c9ea51a39cfbff1c565fc9844ca32",
|
||||
"reference": "2412d3dddb5c9ea51a39cfbff1c565fc9844ca32",
|
||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/432bb369952795c61ca1def65e078c4a80dad13c",
|
||||
"reference": "432bb369952795c61ca1def65e078c4a80dad13c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5361,7 +5361,7 @@
|
||||
"description": "Provides tools to manage errors and ease debugging PHP code",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/error-handler/tree/v7.1.2"
|
||||
"source": "https://github.com/symfony/error-handler/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5377,7 +5377,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-25T19:55:06+00:00"
|
||||
"time": "2024-07-26T13:02:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
@ -5537,16 +5537,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v7.1.1",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "fbb0ba67688b780efbc886c1a0a0948dcf7205d6"
|
||||
"reference": "717c6329886f32dc65e27461f80f2a465412fdca"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/fbb0ba67688b780efbc886c1a0a0948dcf7205d6",
|
||||
"reference": "fbb0ba67688b780efbc886c1a0a0948dcf7205d6",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/717c6329886f32dc65e27461f80f2a465412fdca",
|
||||
"reference": "717c6329886f32dc65e27461f80f2a465412fdca",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5581,7 +5581,7 @@
|
||||
"description": "Finds files and directories via an intuitive fluent interface",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/finder/tree/v7.1.1"
|
||||
"source": "https://github.com/symfony/finder/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5597,20 +5597,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
"time": "2024-07-24T07:08:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v7.1.1",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "74d171d5b6a1d9e4bfee09a41937c17a7536acfa"
|
||||
"reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/74d171d5b6a1d9e4bfee09a41937c17a7536acfa",
|
||||
"reference": "74d171d5b6a1d9e4bfee09a41937c17a7536acfa",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/f602d5c17d1fa02f8019ace2687d9d136b7f4a1a",
|
||||
"reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5658,7 +5658,7 @@
|
||||
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v7.1.1"
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5674,20 +5674,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
"time": "2024-07-26T12:41:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v7.1.2",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-kernel.git",
|
||||
"reference": "ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6"
|
||||
"reference": "db9702f3a04cc471ec8c70e881825db26ac5f186"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6",
|
||||
"reference": "ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/db9702f3a04cc471ec8c70e881825db26ac5f186",
|
||||
"reference": "db9702f3a04cc471ec8c70e881825db26ac5f186",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5772,7 +5772,7 @@
|
||||
"description": "Provides a structured process for converting a Request into a Response",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v7.1.2"
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5788,7 +5788,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T13:13:31+00:00"
|
||||
"time": "2024-07-26T14:58:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/mailer",
|
||||
@ -6666,16 +6666,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v7.1.1",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "febf90124323a093c7ee06fdb30e765ca3c20028"
|
||||
"reference": "7f2f542c668ad6c313dc4a5e9c3321f733197eca"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/febf90124323a093c7ee06fdb30e765ca3c20028",
|
||||
"reference": "febf90124323a093c7ee06fdb30e765ca3c20028",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/7f2f542c668ad6c313dc4a5e9c3321f733197eca",
|
||||
"reference": "7f2f542c668ad6c313dc4a5e9c3321f733197eca",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6707,7 +6707,7 @@
|
||||
"description": "Executes commands in sub-processes",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/process/tree/v7.1.1"
|
||||
"source": "https://github.com/symfony/process/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6723,20 +6723,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
"time": "2024-07-26T12:44:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/psr-http-message-bridge",
|
||||
"version": "v7.1.1",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/psr-http-message-bridge.git",
|
||||
"reference": "9a5dbb606da711f5d40a7596ad577856f9402140"
|
||||
"reference": "1365d10f5476f74a27cf9c2d1eee70c069019db0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/9a5dbb606da711f5d40a7596ad577856f9402140",
|
||||
"reference": "9a5dbb606da711f5d40a7596ad577856f9402140",
|
||||
"url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/1365d10f5476f74a27cf9c2d1eee70c069019db0",
|
||||
"reference": "1365d10f5476f74a27cf9c2d1eee70c069019db0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6790,7 +6790,7 @@
|
||||
"psr-7"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.1"
|
||||
"source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6806,20 +6806,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
"time": "2024-07-17T06:10:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
"version": "v7.1.1",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/routing.git",
|
||||
"reference": "60c31bab5c45af7f13091b87deb708830f3c96c0"
|
||||
"reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/60c31bab5c45af7f13091b87deb708830f3c96c0",
|
||||
"reference": "60c31bab5c45af7f13091b87deb708830f3c96c0",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/8a908a3f22d5a1b5d297578c2ceb41b02fa916d0",
|
||||
"reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6871,7 +6871,7 @@
|
||||
"url"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/routing/tree/v7.1.1"
|
||||
"source": "https://github.com/symfony/routing/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6887,7 +6887,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
"time": "2024-07-17T06:10:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
@ -6974,16 +6974,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v7.1.2",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8"
|
||||
"reference": "ea272a882be7f20cad58d5d78c215001617b7f07"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/14221089ac66cf82e3cf3d1c1da65de305587ff8",
|
||||
"reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/ea272a882be7f20cad58d5d78c215001617b7f07",
|
||||
"reference": "ea272a882be7f20cad58d5d78c215001617b7f07",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -7041,7 +7041,7 @@
|
||||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v7.1.2"
|
||||
"source": "https://github.com/symfony/string/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -7057,20 +7057,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T09:27:18+00:00"
|
||||
"time": "2024-07-22T10:25:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
"version": "v7.1.1",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation.git",
|
||||
"reference": "cf5ae136e124fc7681b34ce9fac9d5b9ae8ceee3"
|
||||
"reference": "8d5e50c813ba2859a6dfc99a0765c550507934a1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/cf5ae136e124fc7681b34ce9fac9d5b9ae8ceee3",
|
||||
"reference": "cf5ae136e124fc7681b34ce9fac9d5b9ae8ceee3",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/8d5e50c813ba2859a6dfc99a0765c550507934a1",
|
||||
"reference": "8d5e50c813ba2859a6dfc99a0765c550507934a1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -7135,7 +7135,7 @@
|
||||
"description": "Provides tools to internationalize your application",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/translation/tree/v7.1.1"
|
||||
"source": "https://github.com/symfony/translation/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -7151,7 +7151,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
"time": "2024-07-26T12:41:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation-contracts",
|
||||
@ -7307,16 +7307,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v7.1.2",
|
||||
"version": "v7.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "5857c57c6b4b86524c08cf4f4bc95327270a816d"
|
||||
"reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/5857c57c6b4b86524c08cf4f4bc95327270a816d",
|
||||
"reference": "5857c57c6b4b86524c08cf4f4bc95327270a816d",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/86af4617cca75a6e28598f49ae0690f3b9d4591f",
|
||||
"reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -7370,7 +7370,7 @@
|
||||
"dump"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v7.1.2"
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v7.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -7386,7 +7386,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T08:00:31+00:00"
|
||||
"time": "2024-07-26T12:41:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tijsverkoyen/css-to-inline-styles",
|
||||
|
50
public/css/fixes.css
vendored
50
public/css/fixes.css
vendored
@ -2,44 +2,11 @@ body {
|
||||
font-size: 0.75em;
|
||||
}
|
||||
|
||||
/* Fixes for data tables */
|
||||
/* Fix pagination buttons */
|
||||
.dataTables_wrapper .dataTables_paginate .paginate_button {
|
||||
padding: 0 0;
|
||||
margin-left: 0;
|
||||
border: 0 solid;
|
||||
}
|
||||
|
||||
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
|
||||
border: 0 solid;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
|
||||
box-shadow: 0 0 0 #fff;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Fix select width */
|
||||
.dataTables_wrapper .dataTables_length select {
|
||||
width: 5em !important;
|
||||
}
|
||||
|
||||
.dataTables_scrollHeadInner {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
/* Remove multiple sorting images on tables */
|
||||
table.dataTable thead .sorting_asc {
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
table.dataTable thead .sorting_desc {
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
table.dataTable thead .sorting {
|
||||
background-image: none !important;
|
||||
/* Data Tables */
|
||||
/* Row Group columun padding 2 */
|
||||
table.dataTable tbody tr.dtrg-group th {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
/* Fix textcolor on navbar focus */
|
||||
@ -55,13 +22,6 @@ table.dataTable thead .sorting {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
/* Optional: Customize .focus-visible */
|
||||
/*
|
||||
.focus-visible {
|
||||
outline-color: lightgreen;
|
||||
}
|
||||
*/
|
||||
|
||||
*:disabled {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
4
public/css/social.css
vendored
4
public/css/social.css
vendored
@ -1,4 +0,0 @@
|
||||
.btn-meetup {
|
||||
background-color: #ed1c40;
|
||||
color: white;
|
||||
}
|
206
public/plugin/dataTables/dataTables.bootstrap4.css
vendored
206
public/plugin/dataTables/dataTables.bootstrap4.css
vendored
@ -1,206 +0,0 @@
|
||||
table.dataTable {
|
||||
clear: both;
|
||||
margin-top: 6px !important;
|
||||
margin-bottom: 6px !important;
|
||||
max-width: none !important;
|
||||
border-collapse: separate !important;
|
||||
border-spacing: 0;
|
||||
}
|
||||
table.dataTable td,
|
||||
table.dataTable th {
|
||||
-webkit-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
table.dataTable td.dataTables_empty,
|
||||
table.dataTable th.dataTables_empty {
|
||||
text-align: center;
|
||||
}
|
||||
table.dataTable.nowrap th,
|
||||
table.dataTable.nowrap td {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_length label {
|
||||
font-weight: normal;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_length select {
|
||||
width: auto;
|
||||
display: inline-block;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_filter {
|
||||
text-align: right;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_filter label {
|
||||
font-weight: normal;
|
||||
white-space: nowrap;
|
||||
text-align: left;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_filter input {
|
||||
margin-left: 0.5em;
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_info {
|
||||
padding-top: 0.85em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_paginate {
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
text-align: right;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
|
||||
margin: 2px 0;
|
||||
white-space: nowrap;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_processing {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 200px;
|
||||
margin-left: -100px;
|
||||
margin-top: -26px;
|
||||
text-align: center;
|
||||
padding: 1em 0;
|
||||
}
|
||||
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting,
|
||||
table.dataTable thead > tr > td.sorting_asc,
|
||||
table.dataTable thead > tr > td.sorting_desc,
|
||||
table.dataTable thead > tr > td.sorting {
|
||||
padding-right: 30px;
|
||||
}
|
||||
table.dataTable thead > tr > th:active,
|
||||
table.dataTable thead > tr > td:active {
|
||||
outline: none;
|
||||
}
|
||||
table.dataTable thead .sorting,
|
||||
table.dataTable thead .sorting_asc,
|
||||
table.dataTable thead .sorting_desc,
|
||||
table.dataTable thead .sorting_asc_disabled,
|
||||
table.dataTable thead .sorting_desc_disabled {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after,
|
||||
table.dataTable thead .sorting_asc:before,
|
||||
table.dataTable thead .sorting_asc:after,
|
||||
table.dataTable thead .sorting_desc:before,
|
||||
table.dataTable thead .sorting_desc:after,
|
||||
table.dataTable thead .sorting_asc_disabled:before,
|
||||
table.dataTable thead .sorting_asc_disabled:after,
|
||||
table.dataTable thead .sorting_desc_disabled:before,
|
||||
table.dataTable thead .sorting_desc_disabled:after {
|
||||
position: absolute;
|
||||
bottom: 0.9em;
|
||||
display: block;
|
||||
opacity: 0.3;
|
||||
}
|
||||
table.dataTable thead .sorting:before,
|
||||
table.dataTable thead .sorting_asc:before,
|
||||
table.dataTable thead .sorting_desc:before,
|
||||
table.dataTable thead .sorting_asc_disabled:before,
|
||||
table.dataTable thead .sorting_desc_disabled:before {
|
||||
right: 1em;
|
||||
content: "\2191";
|
||||
}
|
||||
table.dataTable thead .sorting:after,
|
||||
table.dataTable thead .sorting_asc:after,
|
||||
table.dataTable thead .sorting_desc:after,
|
||||
table.dataTable thead .sorting_asc_disabled:after,
|
||||
table.dataTable thead .sorting_desc_disabled:after {
|
||||
right: 0.5em;
|
||||
content: "\2193";
|
||||
}
|
||||
table.dataTable thead .sorting_asc:before,
|
||||
table.dataTable thead .sorting_desc:after {
|
||||
opacity: 1;
|
||||
}
|
||||
table.dataTable thead .sorting_asc_disabled:before,
|
||||
table.dataTable thead .sorting_desc_disabled:after {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
div.dataTables_scrollHead table.dataTable {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody table {
|
||||
border-top: none;
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
div.dataTables_scrollBody table thead .sorting:before,
|
||||
div.dataTables_scrollBody table thead .sorting_asc:before,
|
||||
div.dataTables_scrollBody table thead .sorting_desc:before,
|
||||
div.dataTables_scrollBody table thead .sorting:after,
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after,
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after {
|
||||
display: none;
|
||||
}
|
||||
div.dataTables_scrollBody table tbody tr:first-child th,
|
||||
div.dataTables_scrollBody table tbody tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner {
|
||||
box-sizing: content-box;
|
||||
}
|
||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table {
|
||||
margin-top: 0 !important;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dataTables_wrapper div.dataTables_length,
|
||||
div.dataTables_wrapper div.dataTables_filter,
|
||||
div.dataTables_wrapper div.dataTables_info,
|
||||
div.dataTables_wrapper div.dataTables_paginate {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
table.dataTable.table-sm > thead > tr > th {
|
||||
padding-right: 20px;
|
||||
}
|
||||
table.dataTable.table-sm .sorting:before,
|
||||
table.dataTable.table-sm .sorting_asc:before,
|
||||
table.dataTable.table-sm .sorting_desc:before {
|
||||
top: 5px;
|
||||
right: 0.85em;
|
||||
}
|
||||
table.dataTable.table-sm .sorting:after,
|
||||
table.dataTable.table-sm .sorting_asc:after,
|
||||
table.dataTable.table-sm .sorting_desc:after {
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
table.table-bordered.dataTable th,
|
||||
table.table-bordered.dataTable td {
|
||||
border-left-width: 0;
|
||||
}
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child,
|
||||
table.table-bordered.dataTable td:last-child,
|
||||
table.table-bordered.dataTable td:last-child {
|
||||
border-right-width: 0;
|
||||
}
|
||||
table.table-bordered.dataTable tbody th,
|
||||
table.table-bordered.dataTable tbody td {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
div.dataTables_scrollHead table.table-bordered {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
div.table-responsive > div.dataTables_wrapper > div.row {
|
||||
margin: 0;
|
||||
}
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child {
|
||||
padding-right: 0;
|
||||
}
|
184
public/plugin/dataTables/dataTables.bootstrap4.js
vendored
184
public/plugin/dataTables/dataTables.bootstrap4.js
vendored
@ -1,184 +0,0 @@
|
||||
/*! DataTables Bootstrap 4 integration
|
||||
* ©2011-2017 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataTables integration for Bootstrap 4. This requires Bootstrap 4 and
|
||||
* DataTables 1.10 or newer.
|
||||
*
|
||||
* This file sets the defaults and adds options to DataTables to style its
|
||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||
* for further information.
|
||||
*/
|
||||
(function( factory ){
|
||||
if ( typeof define === 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
||||
return factory( $, window, document );
|
||||
} );
|
||||
}
|
||||
else if ( typeof exports === 'object' ) {
|
||||
// CommonJS
|
||||
module.exports = function (root, $) {
|
||||
if ( ! root ) {
|
||||
root = window;
|
||||
}
|
||||
|
||||
if ( ! $ || ! $.fn.dataTable ) {
|
||||
// Require DataTables, which attaches to jQuery, including
|
||||
// jQuery if needed and have a $ property so we can access the
|
||||
// jQuery object that is used
|
||||
$ = require('datatables.net')(root, $).$;
|
||||
}
|
||||
|
||||
return factory( $, root, root.document );
|
||||
};
|
||||
}
|
||||
else {
|
||||
// Browser
|
||||
factory( jQuery, window, document );
|
||||
}
|
||||
}(function( $, window, document, undefined ) {
|
||||
'use strict';
|
||||
var DataTable = $.fn.dataTable;
|
||||
|
||||
|
||||
/* Set the defaults for DataTables initialisation */
|
||||
$.extend( true, DataTable.defaults, {
|
||||
dom:
|
||||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" +
|
||||
"<'row'<'col-sm-12'tr>>" +
|
||||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
|
||||
renderer: 'bootstrap'
|
||||
} );
|
||||
|
||||
|
||||
/* Default class modification */
|
||||
$.extend( DataTable.ext.classes, {
|
||||
sWrapper: "dataTables_wrapper dt-bootstrap4",
|
||||
sFilterInput: "form-control form-control-sm",
|
||||
sLengthSelect: "custom-select custom-select-sm form-control form-control-sm",
|
||||
sProcessing: "dataTables_processing card",
|
||||
sPageButton: "paginate_button page-item"
|
||||
} );
|
||||
|
||||
|
||||
/* Bootstrap paging button renderer */
|
||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
|
||||
var api = new DataTable.Api( settings );
|
||||
var classes = settings.oClasses;
|
||||
var lang = settings.oLanguage.oPaginate;
|
||||
var aria = settings.oLanguage.oAria.paginate || {};
|
||||
var btnDisplay, btnClass, counter=0;
|
||||
|
||||
var attach = function( container, buttons ) {
|
||||
var i, ien, node, button;
|
||||
var clickHandler = function ( e ) {
|
||||
e.preventDefault();
|
||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
||||
api.page( e.data.action ).draw( 'page' );
|
||||
}
|
||||
};
|
||||
|
||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
||||
button = buttons[i];
|
||||
|
||||
if ( $.isArray( button ) ) {
|
||||
attach( container, button );
|
||||
}
|
||||
else {
|
||||
btnDisplay = '';
|
||||
btnClass = '';
|
||||
|
||||
switch ( button ) {
|
||||
case 'ellipsis':
|
||||
btnDisplay = '…';
|
||||
btnClass = 'disabled';
|
||||
break;
|
||||
|
||||
case 'first':
|
||||
btnDisplay = lang.sFirst;
|
||||
btnClass = button + (page > 0 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
case 'previous':
|
||||
btnDisplay = lang.sPrevious;
|
||||
btnClass = button + (page > 0 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
case 'next':
|
||||
btnDisplay = lang.sNext;
|
||||
btnClass = button + (page < pages-1 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
case 'last':
|
||||
btnDisplay = lang.sLast;
|
||||
btnClass = button + (page < pages-1 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
default:
|
||||
btnDisplay = button + 1;
|
||||
btnClass = page === button ?
|
||||
'active' : '';
|
||||
break;
|
||||
}
|
||||
|
||||
if ( btnDisplay ) {
|
||||
node = $('<li>', {
|
||||
'class': classes.sPageButton+' '+btnClass,
|
||||
'id': idx === 0 && typeof button === 'string' ?
|
||||
settings.sTableId +'_'+ button :
|
||||
null
|
||||
} )
|
||||
.append( $('<a>', {
|
||||
'href': '#',
|
||||
'aria-controls': settings.sTableId,
|
||||
'aria-label': aria[ button ],
|
||||
'data-dt-idx': counter,
|
||||
'tabindex': settings.iTabIndex,
|
||||
'class': 'page-link'
|
||||
} )
|
||||
.html( btnDisplay )
|
||||
)
|
||||
.appendTo( container );
|
||||
|
||||
settings.oApi._fnBindAction(
|
||||
node, {action: button}, clickHandler
|
||||
);
|
||||
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||
// inside an iframe or frame.
|
||||
var activeEl;
|
||||
|
||||
try {
|
||||
// Because this approach is destroying and recreating the paging
|
||||
// elements, focus is lost on the select button which is bad for
|
||||
// accessibility. So we want to restore focus once the draw has
|
||||
// completed
|
||||
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
||||
}
|
||||
catch (e) {}
|
||||
|
||||
attach(
|
||||
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
||||
buttons
|
||||
);
|
||||
|
||||
if ( activeEl !== undefined ) {
|
||||
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
return DataTable;
|
||||
}));
|
@ -1,16 +1,16 @@
|
||||
<div class="card card-dark">
|
||||
<div class="card-header">
|
||||
<div class="card-header p-2">
|
||||
<h4 class="card-title">Accounts</h4>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="card-body p-2">
|
||||
@if($x=$o->accounts_all->count())
|
||||
<table class="table table-striped table-hover" id="accounts">
|
||||
<table class="table table-sm table-striped table-hover" id="accounts">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Profile</th>
|
||||
<th style="width: 10%;">Profile</th>
|
||||
<th>Name</th>
|
||||
<th class="text-right">Services</th>
|
||||
<th class="text-right" style="width: 10%;">Services</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -40,15 +40,13 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section('page-styles')
|
||||
@css(datatables,bootstrap4)
|
||||
@append
|
||||
@section('page-scripts')
|
||||
@js(datatables,bootstrap4)
|
||||
@pa(datatables,rowgroup|conditionalpaging)
|
||||
|
||||
@section('page-scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#accounts').DataTable({
|
||||
conditionalPaging: true,
|
||||
language: {
|
||||
emptyTable: "No Active Clients"
|
||||
},
|
||||
|
@ -1,16 +1,16 @@
|
||||
<!-- $o=Account::class -->
|
||||
<!-- Show outstanding invoices -->
|
||||
<div class="card card-warning">
|
||||
<div class="card-header">
|
||||
<div class="card-header p-2">
|
||||
<h3 class="card-title">Invoices Due</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="card-body p-2">
|
||||
@if(($list=$o->invoiceSummaryDue()->get())->count())
|
||||
@include('theme.backend.adminlte.invoice.widget.due',['type'=>'account'])
|
||||
@include('theme.backend.adminlte.invoice.widget.due',['type'=>'account','list'=>$list])
|
||||
|
||||
@else
|
||||
<p>No invoice due</p>
|
||||
<p>No invoices to list</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
@ -1,13 +1,13 @@
|
||||
<!-- $o=Account::class -->
|
||||
<!-- Show past 12 months invoices -->
|
||||
<div class="card card-success">
|
||||
<div class="card-header">
|
||||
<div class="card-header p-2">
|
||||
<h3 class="card-title">Past Invoices</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="card-body p-2">
|
||||
@if(($list=$o->invoiceSummaryPast()->where('invoices.created_at','>=',\Carbon\Carbon::now()->subYears(2)->startOfYear())->get())->count())
|
||||
<table class="table table-bordered w-100" id="invoices_past_{{ $o->id }}">
|
||||
<table class="table table-sm table-striped" id="invoices_past_{{ $o->id }}">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Account</th>
|
||||
@ -37,16 +37,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section('page-styles')
|
||||
@css(datatables,bootstrap4|rowgroup)
|
||||
@append
|
||||
@section('page-scripts')
|
||||
@js(datatables,bootstrap4|rowgroup)
|
||||
@pa(datatables,rowgroup|conditionalpaging)
|
||||
|
||||
@section('page-scripts')
|
||||
<script type="text/javascript">
|
||||
@if($list->count())
|
||||
$(document).ready(function() {
|
||||
$('#invoices_past_{{ $o->id }}').DataTable({
|
||||
conditionalPaging: true,
|
||||
order: [[2,'desc'],[0,'asc']],
|
||||
rowGroup: {
|
||||
dataSrc: 0,
|
||||
|
@ -1,17 +1,15 @@
|
||||
<!-- $o=Account::class -->
|
||||
@php
|
||||
$o->load(['services_active.invoiced_service_items_active_recent']);
|
||||
@endphp
|
||||
@php($o->load(['services_active.invoiced_service_items_active_recent']))
|
||||
|
||||
<!-- Show active services -->
|
||||
<div class="card card-light">
|
||||
<div class="card-header">
|
||||
<div class="card-header p-2">
|
||||
<h3 class="card-title">Active Services</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="card-body p-2">
|
||||
@if(($x=$o->services_active)->count())
|
||||
<table class="table table-striped table-hover w-100" id="services_active_{{ $ao->id }}">
|
||||
<table class="table table-sm table-striped table-hover" id="services_active_{{ $ao->id }}">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
@ -47,29 +45,29 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section('page-styles')
|
||||
@css(datatables,bootstrap4|rowgroup)
|
||||
@append
|
||||
@section('page-scripts')
|
||||
@js(datatables,bootstrap4|rowgroup)
|
||||
@pa(datatables,rowgroup|conditionalpaging)
|
||||
|
||||
@section('page-scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#services_active_{{ $ao->id }}').DataTable({
|
||||
order: [[1,'asc'],[2,'asc']],
|
||||
rowGroup: {
|
||||
dataSrc: 1,
|
||||
endRender: function ( rows, group ) {
|
||||
return rows.count()+' x ' + group;
|
||||
@if($x->count())
|
||||
$('#services_active_{{ $ao->id }}').DataTable({
|
||||
conditionalPaging: true,
|
||||
order: [[1,'asc'],[2,'asc']],
|
||||
rowGroup: {
|
||||
dataSrc: 1,
|
||||
endRender: function (rows,group) {
|
||||
return rows.count()+' x '+group;
|
||||
},
|
||||
},
|
||||
},
|
||||
columnDefs: [
|
||||
{
|
||||
targets: [1],
|
||||
visible: false,
|
||||
},
|
||||
],
|
||||
});
|
||||
columnDefs: [
|
||||
{
|
||||
targets: [1],
|
||||
visible: false,
|
||||
},
|
||||
],
|
||||
});
|
||||
@endif
|
||||
});
|
||||
</script>
|
||||
@append
|
@ -1,57 +1,59 @@
|
||||
<!-- Show outstanding invoices -->
|
||||
<table class="table table-bordered w-100" id="invoices_credit_{{$type}}">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Account</th>
|
||||
<th>#</th>
|
||||
<th>Due</th>
|
||||
<th class="text-right">Items</th>
|
||||
<th class="text-right">Discounts</th>
|
||||
<th class="text-right">Total</th>
|
||||
<th class="text-right">Payments</th>
|
||||
<th class="text-right">Balance</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($list as $oo)
|
||||
@if($list->count())
|
||||
<table class="table table-bordered table-striped" id="invoices_credit_{{$type}}">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ $oo->account->name }}</td>
|
||||
<td><a href="{{ url('u/invoice',$oo->id) }}">{{ $oo->lid }}</a></td>
|
||||
<td>{{ $oo->due_at->format('Y-m-d') }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_item+$oo->_tax,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_discount,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_total,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_payment,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_balance,2) }}</td>
|
||||
<th>Account</th>
|
||||
<th>#</th>
|
||||
<th>Due</th>
|
||||
<th class="text-right">Items</th>
|
||||
<th class="text-right">Discounts</th>
|
||||
<th class="text-right">Total</th>
|
||||
<th class="text-right">Payments</th>
|
||||
<th class="text-right">Balance</th>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($list as $oo)
|
||||
<tr>
|
||||
<td>{{ $oo->account->name }}</td>
|
||||
<td><a href="{{ url('u/invoice',$oo->id) }}">{{ $oo->lid }}</a></td>
|
||||
<td>{{ $oo->due_at->format('Y-m-d') }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_item+$oo->_tax,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_discount,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_total,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_payment,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_balance,2) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@else
|
||||
<p>No invoices to list</p>
|
||||
@endif
|
||||
|
||||
@pa(datatables,rowgroup|conditionalpaging)
|
||||
|
||||
@section('page-styles')
|
||||
@css(datatables,bootstrap4|rowgroup)
|
||||
@append
|
||||
@section('page-scripts')
|
||||
@js(datatables,bootstrap4|rowgroup)
|
||||
|
||||
<script type="text/javascript">
|
||||
@if($list->count())
|
||||
$(document).ready(function() {
|
||||
$('#invoices_credit_{{$type}}').DataTable({
|
||||
// If we have more than 1 account id, order by account
|
||||
order: [[0,'asc'],[2,'asc'],[1,'desc']],
|
||||
rowGroup: {
|
||||
dataSrc: 0,
|
||||
},
|
||||
columnDefs: [
|
||||
{
|
||||
targets: [0],
|
||||
visible: false,
|
||||
}
|
||||
],
|
||||
$(document).ready(function() {
|
||||
$('#invoices_credit_{{$type}}').DataTable({
|
||||
conditionalPaging: true,
|
||||
// If we have more than 1 account id, order by account
|
||||
order: [[0,'asc'],[2,'asc'],[1,'desc']],
|
||||
rowGroup: {
|
||||
dataSrc: 0,
|
||||
},
|
||||
columnDefs: [
|
||||
{
|
||||
targets: [0],
|
||||
visible: false,
|
||||
}
|
||||
],
|
||||
});
|
||||
});
|
||||
});
|
||||
@endif
|
||||
</script>
|
||||
@append
|
@ -1,15 +1,16 @@
|
||||
@use(App\Models\Account)
|
||||
<!-- Show outstanding invoices for all clients -->
|
||||
<div class="card card-warning">
|
||||
<div class="card-header">
|
||||
<div class="card-header p-2">
|
||||
<h3 class="card-title">Invoices Due</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
@if(($list=\App\Models\Account::InvoicesDue())->count())
|
||||
@include('theme.backend.adminlte.invoice.widget.due',['type'=>'all'])
|
||||
<div class="card-body p-2">
|
||||
@if(($list=Account::InvoicesDue())->count())
|
||||
@include('theme.backend.adminlte.invoice.widget.due',['type'=>'all','list'=>$list])
|
||||
|
||||
@else
|
||||
<p>No invoice due</p>
|
||||
<p>No invoices to list</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
@ -1,6 +1,6 @@
|
||||
<!-- $list=Collection[Invoice::class] -->
|
||||
<!-- Show outstanding invoices -->
|
||||
<table class="table table-bordered w-100" id="invoices_due_{{$type}}">
|
||||
<table class="table table-sm table-striped" id="invoices_due_{{$type}}">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Account</th>
|
||||
@ -24,29 +24,27 @@
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@section('page-styles')
|
||||
@css(datatables,bootstrap4|rowgroup)
|
||||
@append
|
||||
@section('page-scripts')
|
||||
@js(datatables,bootstrap4|rowgroup)
|
||||
@pa(datatables,rowgroup|conditionalpaging)
|
||||
|
||||
@section('page-scripts')
|
||||
<script type="text/javascript">
|
||||
@if($list->count())
|
||||
$(document).ready(function() {
|
||||
$('#invoices_due_{{$type}}').DataTable({
|
||||
// If we have more than 1 account id, order by account
|
||||
order: [[0,'asc'],[2,'asc'],[1,'desc']],
|
||||
rowGroup: {
|
||||
dataSrc: 0,
|
||||
},
|
||||
columnDefs: [
|
||||
{
|
||||
targets: [0],
|
||||
visible: false,
|
||||
}
|
||||
],
|
||||
$(document).ready(function() {
|
||||
$('#invoices_due_{{$type}}').DataTable({
|
||||
conditionalPaging: true,
|
||||
// If we have more than 1 account id, order by account
|
||||
order: [[0,'asc'],[2,'asc'],[1,'desc']],
|
||||
rowGroup: {
|
||||
dataSrc: 0,
|
||||
},
|
||||
columnDefs: [
|
||||
{
|
||||
targets: [0],
|
||||
visible: false,
|
||||
}
|
||||
],
|
||||
});
|
||||
});
|
||||
});
|
||||
@endif
|
||||
</script>
|
||||
@append
|
@ -62,7 +62,7 @@
|
||||
@endcan
|
||||
</div>
|
||||
|
||||
<div class="card-body pt-2 pl-2 pr-2 pb-0">
|
||||
<div class="card-body p-2">
|
||||
<div class="tab-content">
|
||||
@if($x=! ($o->suspend_billing || $o->external_billing))
|
||||
<div @class(['tab-pane','fade','show active'=>! (session()->has('service_update') || session()->has('charge_add'))]) id="pending_items">
|
||||
|
@ -1,13 +1,13 @@
|
||||
@use(App\Models\Service)
|
||||
<!-- Show client movements -->
|
||||
<div class="card card-dark">
|
||||
<div class="card-header">
|
||||
<div class="card-header p-2">
|
||||
<h3 class="card-title">Service Movements</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="card-body p-2">
|
||||
@if(($x=Service::movements($user))->count())
|
||||
<table class="table table-striped table-hover" id="service_movements">
|
||||
<table class="table table-sm table-striped table-hover" id="service_movements">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
@ -56,15 +56,13 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section('page-styles')
|
||||
@css(datatables,bootstrap4|rowgroup)
|
||||
@append
|
||||
@section('page-scripts')
|
||||
@js(datatables,bootstrap4|rowgroup)
|
||||
@pa(datatables,rowgroup|conditionalpaging)
|
||||
|
||||
@section('page-scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#service_movements').DataTable( {
|
||||
$('#service_movements').DataTable({
|
||||
conditionalPaging: true,
|
||||
order: [3, 'asc'],
|
||||
rowGroup: {
|
||||
dataSrc: 1,
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!-- $o=Service::class -->
|
||||
<table class="table table-sm" id="svc_bill_hist">
|
||||
<table class="table table-sm table-striped" id="svc_bill_hist">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Invoice</th>
|
||||
@ -25,15 +25,13 @@
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@section('page-styles')
|
||||
@css(datatables,bootstrap4)
|
||||
@append
|
||||
@section('page-scripts')
|
||||
@js(datatables,bootstrap4)
|
||||
@pa(datatables,conditionalpaging)
|
||||
|
||||
@section('page-scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#svc_bill_hist').DataTable({
|
||||
conditionalPaging: true,
|
||||
language: {
|
||||
emptyTable: "No Invoices"
|
||||
},
|
||||
|
@ -1,24 +1,32 @@
|
||||
@use(App\Models\Account)
|
||||
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<div class="col-12 col-md-4">
|
||||
@include('theme.backend.adminlte.account.widget.admin.list')
|
||||
</div>
|
||||
|
||||
<div class="col-8">
|
||||
<div class="col-12 col-md-8">
|
||||
@include('theme.backend.adminlte.service.widget.admin.movement')
|
||||
|
||||
@include('theme.backend.adminlte.invoice.widget.admin.due')
|
||||
|
||||
@can('wholesaler')
|
||||
<!-- Show outstanding invoices for all clients -->
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Invoices In Credit</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
@include('theme.backend.adminlte.invoice.widget.admin.credit',['list'=>\App\Models\Account::InvoicesCredit(),'type'=>'account'])
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 col-xl-6">
|
||||
@include('theme.backend.adminlte.invoice.widget.admin.due')
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
<div class="col-12 col-xl-6">
|
||||
@can('wholesaler')
|
||||
<!-- Show outstanding invoices for all clients -->
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header p-2">
|
||||
<h3 class="card-title">Invoices In Credit</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body p-2">
|
||||
@include('theme.backend.adminlte.invoice.widget.admin.credit',['list'=>Account::InvoicesCredit(),'type'=>'account'])
|
||||
</div>
|
||||
</div>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in New Issue
Block a user