diff --git a/app/Console/Commands/ChargeServers.php b/app/Console/Commands/ChargeServers.php
index dac01f0f..72b5bab4 100644
--- a/app/Console/Commands/ChargeServers.php
+++ b/app/Console/Commands/ChargeServers.php
@@ -67,6 +67,9 @@ class ChargeServers extends Command
case 'half-annually':
$newBillingDate = Carbon::parse($server->last_billed)->addMonths(6);
break;
+ case 'quarterly':
+ $newBillingDate = Carbon::parse($server->last_billed)->addMonths(3);
+ 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 78ad6c99..ca997ee8 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,half-annually,annually",
+ "billing_period" => "required|in:hourly,daily,weekly,monthly,quarterly,half-annually,annually",
]);
$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,half-annually,annually",
+ "billing_period" => "required|in:hourly,daily,weekly,monthly,quarterly,half-annually,annually",
]);
$disabled = ! is_null($request->input('disabled'));
diff --git a/app/Models/Product.php b/app/Models/Product.php
index c55d3be8..fbd16803 100644
--- a/app/Models/Product.php
+++ b/app/Models/Product.php
@@ -51,6 +51,8 @@ class Product extends Model
return $this->price / 24 / 7;
case 'monthly':
return $this->price / 24 / 30;
+ case 'quarterly':
+ return $this->price / 24 / 30 / 3;
case 'half-annually':
return $this->price / 24 / 30 / 6;
case 'annually':
diff --git a/lang/de.json b/lang/de.json
index 45f1cc82..b01d61b7 100644
--- a/lang/de.json
+++ b/lang/de.json
@@ -464,6 +464,7 @@
"yearly": "Jährlich",
"daily": "Täglich",
"weekly": "Wöchentlich",
+ "quarterly": "Vierteljährlich",
"half-annually": "Halbjährlich",
"annually": "Jährlich",
"Suspended": "Gesperrt",
diff --git a/lang/sh.json b/lang/sh.json
index 14c206ff..cd3b0e50 100644
--- a/lang/sh.json
+++ b/lang/sh.json
@@ -447,6 +447,7 @@
"yearly": "Yearly",
"daily": "Daily",
"weekly": "Weekly",
+ "quarterly": "Quarterly",
"half-annually": "Half-annually",
"annually": "Annually",
"Suspended": "Suspended",
diff --git a/resources/views/servers/index.blade.php b/resources/views/servers/index.blade.php
index 53490a29..a9c57994 100644
--- a/resources/views/servers/index.blade.php
+++ b/resources/views/servers/index.blade.php
@@ -145,6 +145,9 @@
@case('hourly')
{{ \Carbon\Carbon::parse($server->last_billed)->addHour()->toDayDateTimeString(); }}
@break
+ @case('quarterly')
+ {{ \Carbon\Carbon::parse($server->last_billed)->addMonths(3)->toDayDateTimeString(); }}
+ @break
@case('half-annually')
{{ \Carbon\Carbon::parse($server->last_billed)->addMonths(6)->toDayDateTimeString(); }}
@break
@@ -172,6 +175,8 @@
{{ __('per Month') }}
@elseif($server->product->billing_period == 'half-annually')
{{ __('per 6 Months') }}
+ @elseif($server->product->billing_period == 'quarterly')
+ {{ __('per 3 Months') }}
@elseif($server->product->billing_period == 'annually')
{{ __('per Year') }}
@elseif($server->product->billing_period == 'weekly')
diff --git a/themes/default/views/admin/products/create.blade.php b/themes/default/views/admin/products/create.blade.php
index ed490c2e..45216c25 100644
--- a/themes/default/views/admin/products/create.blade.php
+++ b/themes/default/views/admin/products/create.blade.php
@@ -183,6 +183,9 @@
+
diff --git a/themes/default/views/admin/products/edit.blade.php b/themes/default/views/admin/products/edit.blade.php
index 9d3aec52..851142af 100644
--- a/themes/default/views/admin/products/edit.blade.php
+++ b/themes/default/views/admin/products/edit.blade.php
@@ -190,6 +190,10 @@
@endif>
{{__('Monthly')}}
+