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 b24c5cc6..9be326cd 100644
--- a/app/Http/Controllers/Admin/ProductController.php
+++ b/app/Http/Controllers/Admin/ProductController.php
@@ -73,7 +73,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'));
@@ -140,7 +140,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 2c23e9c9..af8fd27a 100644
--- a/app/Models/Product.php
+++ b/app/Models/Product.php
@@ -45,6 +45,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/resources/lang/de.json b/resources/lang/de.json
index 1beefcc0..d0b5408a 100644
--- a/resources/lang/de.json
+++ b/resources/lang/de.json
@@ -448,6 +448,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/resources/lang/en.json b/resources/lang/en.json
index 035f66ac..0157b0f9 100644
--- a/resources/lang/en.json
+++ b/resources/lang/en.json
@@ -450,6 +450,7 @@
"yearly": "Yearly",
"daily": "Daily",
"weekly": "Weekly",
+ "quarterly": "Quarterly",
"half-annually": "Half-annually",
"annually": "Annually",
"Suspended": "Suspended",
diff --git a/resources/views/admin/products/create.blade.php b/resources/views/admin/products/create.blade.php
index f44f64f4..81ccf32d 100644
--- a/resources/views/admin/products/create.blade.php
+++ b/resources/views/admin/products/create.blade.php
@@ -183,6 +183,9 @@
+
diff --git a/resources/views/admin/products/edit.blade.php b/resources/views/admin/products/edit.blade.php
index 9d3aec52..851142af 100644
--- a/resources/views/admin/products/edit.blade.php
+++ b/resources/views/admin/products/edit.blade.php
@@ -190,6 +190,10 @@
@endif>
{{__('Monthly')}}
+