From 759ba599881463b530dcbc33b6f1bcb3d9335265 Mon Sep 17 00:00:00 2001 From: IceToast Date: Fri, 22 Jul 2022 04:00:23 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=20Added=20yearly=20and=20half?= =?UTF-8?q?-yearly=20billing=20periods?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Console/Commands/ChargeServers.php | 6 ++++++ app/Http/Controllers/Admin/ProductController.php | 4 ++-- resources/views/servers/index.blade.php | 4 ++++ themes/default/views/admin/products/create.blade.php | 6 ++++++ themes/default/views/admin/products/edit.blade.php | 8 ++++++++ 5 files changed, 26 insertions(+), 2 deletions(-) diff --git a/app/Console/Commands/ChargeServers.php b/app/Console/Commands/ChargeServers.php index 2a5d8a5a..45f18c2b 100644 --- a/app/Console/Commands/ChargeServers.php +++ b/app/Console/Commands/ChargeServers.php @@ -61,6 +61,12 @@ class ChargeServers extends Command // check if server is due to be charged by comparing its last_billed date with the current date and the billing period $newBillingDate = null; switch($billing_period) { + case 'yearly': + $newBillingDate = Carbon::parse($server->last_billed)->addYear(); + break; + case 'half-yearly': + $newBillingDate = Carbon::parse($server->last_billed)->addMonths(6); + break; case 'monthly': $newBillingDate = Carbon::parse($server->last_billed)->addMonth(); break; diff --git a/app/Http/Controllers/Admin/ProductController.php b/app/Http/Controllers/Admin/ProductController.php index 2893a262..9e6c6dc2 100644 --- a/app/Http/Controllers/Admin/ProductController.php +++ b/app/Http/Controllers/Admin/ProductController.php @@ -72,7 +72,7 @@ class ProductController extends Controller "nodes.*" => "required|exists:nodes,id", "eggs.*" => "required|exists:eggs,id", "disabled" => "nullable", - "billing_period" => "required|in:hourly,daily,weekly,monthly", + "billing_period" => "required|in:hourly,daily,weekly,monthly,half-yearly,yearly", ]); $disabled = ! is_null($request->input('disabled')); @@ -139,7 +139,7 @@ class ProductController extends Controller "nodes.*" => "required|exists:nodes,id", "eggs.*" => "required|exists:eggs,id", "disabled" => "nullable", - "billing_period" => "required|in:hourly,daily,weekly,monthly", + "billing_period" => "required|in:hourly,daily,weekly,monthly,half-yearly,yearly", ]); $disabled = ! is_null($request->input('disabled')); diff --git a/resources/views/servers/index.blade.php b/resources/views/servers/index.blade.php index e96b46b1..1d0edd65 100644 --- a/resources/views/servers/index.blade.php +++ b/resources/views/servers/index.blade.php @@ -162,6 +162,10 @@
@if($server->product->billing_period == 'monthly') {{ __('per Month') }} + @elseif($server->product->billing_period == 'half-yearly') + {{ __('per 6 Months') }} + @elseif($server->product->billing_period == 'yearly') + {{ __('per Year') }} @elseif($server->product->billing_period == 'weekly') {{ __('per Week') }} @elseif($server->product->billing_period == 'daily') diff --git a/themes/default/views/admin/products/create.blade.php b/themes/default/views/admin/products/create.blade.php index fa8884d2..324c03c5 100644 --- a/themes/default/views/admin/products/create.blade.php +++ b/themes/default/views/admin/products/create.blade.php @@ -183,6 +183,12 @@ + + @error('billing_period')
diff --git a/themes/default/views/admin/products/edit.blade.php b/themes/default/views/admin/products/edit.blade.php index cedbc72c..3401577b 100644 --- a/themes/default/views/admin/products/edit.blade.php +++ b/themes/default/views/admin/products/edit.blade.php @@ -190,6 +190,14 @@ @endif> {{__('Monthly')}} + + @error('billing_period')