mivita/app/Http/Controllers/SyS/SysController.php
Kevin 30fb031d12 Mitgliedschaft: Erinnerungen und eigenes Verlaengerungs-Produkt
Die Erinnerungsmails vor Ablauf der Mitgliedschaft beschrieben noch den
abgeschafften SEPA-Einzug und verlinkten auf die Hauptdomain, wo
/user/membership nicht existiert. Das Produkt fuer die Verlaengerung war
zudem dasselbe wie bei der Registrierung und sprach deshalb vom
Neuabschluss.

- Erinnerungen: nur noch Stufen 31/33/34/35, SEPA-Stufen 32/36/37 samt
  :price und :pay_date entfallen; Button verlinkt auf my.mivita.care;
  fehlt ein Text zum Status, wird die Mail geloggt statt roh versendet.
- Alle Erinnerungstexte (de/en/es/fr) erklaeren jetzt, dass ohne Zahlung
  der Account pausiert und offene Provisionen ausgezahlt werden.
- Eigenes Produkt fuer die Verlaengerung (identifier show_renewal) als
  Kopie des Mitgliedschafts-Produkts inkl. Preisen, Kategorien und
  Uebersetzungen fuer en/es/fr; die Mitgliedschaftsseite faellt ohne
  dieses Produkt auf das bisherige zurueck.
- Mitgliedschaftsseite auf ein Paket reduziert: Upgrade-, Wechsel- und
  Abo-Optionen entfernt, Texte auf die manuelle Verlaengerung umgestellt.
- Alte Cron-Weboberflaeche entfernt, der Versand laeuft ueber den
  Scheduler (payments:check-accounts).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 08:24:32 +00:00

137 lines
4.3 KiB
PHP

<?php
namespace App\Http\Controllers\SyS;
use App\Http\Controllers\Controller;
use App\Services\SyS\AboOrdersOverview;
use App\Services\SyS\BusinessStructur;
use App\Services\SyS\BuyingsProducts;
use App\Services\SyS\ChangeUserBusinesses;
use App\Services\SyS\CleanHTMLProductDescription;
use App\Services\SyS\Correction;
use App\Services\SyS\Customers;
use App\Services\SyS\Import;
use App\Services\SyS\ImportDbipCountry;
use App\Services\SyS\PayoneCallbackTestbench;
use App\Services\SyS\RepairSalesVolumeInvoice;
use App\Services\SyS\Sales;
use App\Services\SyS\ShoppingOrders;
use App\Services\SyS\UserCreditItemsAddFrom;
use App\Services\SyS\UserCreditItemsChangeMessage;
class SysController extends Controller
{
protected $userRepo;
public function __construct()
{
$this->middleware('sysadmin');
}
public function index()
{
return view('sys.index');
}
public function tool($serve)
{
switch ($serve) {
case 'user_credit_items_add_from':
return UserCreditItemsAddFrom::show();
break;
case 'buyings_products':
return BuyingsProducts::show();
break;
case 'business_structur':
return BusinessStructur::show();
break;
case 'sales_members':
return Sales::show();
break;
case 'customers':
return Customers::show();
break;
case 'shopping_orders':
return ShoppingOrders::show();
break;
case 'import':
return Import::show();
break;
case 'corrections':
return Correction::show();
break;
case 'change_user_businesses':
return ChangeUserBusinesses::show();
break;
case 'repair_sales_volume_invoice':
return RepairSalesVolumeInvoice::show();
break;
case 'user_credit_items_change_message':
return UserCreditItemsChangeMessage::show();
break;
case 'clean_html_product_description':
return CleanHTMLProductDescription::show();
break;
case 'import_dbip_country_lite':
return ImportDbipCountry::show();
break;
case 'abo_orders_overview':
return AboOrdersOverview::show();
break;
case 'payone_callback_testbench':
return PayoneCallbackTestbench::show();
break;
}
abort(403, 'not found tool');
}
public function store($serve)
{
switch ($serve) {
case 'user_credit_items_add_from':
return UserCreditItemsAddFrom::show();
break;
case 'buyings_products':
return BuyingsProducts::store();
break;
case 'business_structur':
return BusinessStructur::show();
break;
case 'sales_members':
return Sales::show();
break;
case 'customers':
return Customers::store();
break;
case 'shopping_orders':
return ShoppingOrders::store();
break;
case 'import':
return Import::store();
break;
case 'corrections':
return Correction::store();
break;
case 'change_user_businesses':
return ChangeUserBusinesses::store();
break;
case 'repair_sales_volume_invoice':
return RepairSalesVolumeInvoice::store();
break;
case 'user_credit_items_change_message':
return UserCreditItemsChangeMessage::store();
break;
case 'clean_html_product_description':
return CleanHTMLProductDescription::store();
break;
case 'import_dbip_country_lite':
return ImportDbipCountry::store();
break;
case 'payone_callback_testbench':
return PayoneCallbackTestbench::store();
break;
}
abort(403, 'not found tool');
}
}