20-02-2026

This commit is contained in:
Kevin Adametz 2026-02-20 17:55:06 +01:00
parent a8b395e20d
commit a00c42e770
252 changed files with 28785 additions and 8907 deletions

View file

@ -7,17 +7,16 @@
|
*/
/* ROUTING FOR CRM my.mivita / CMS*/
Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld_care'))->group(function () {
/* ROUTING FOR CRM my.mivita / CMS */
Route::domain(config('app.pre_url_crm').config('app.domain').config('app.tld_care'))->group(function () {
// Route::get('/cron/jobs/action/{action}/{key}', 'CronController@action')->name('cron_jobs_action');
// Route::get('/cron/jobs/run/{key}', 'CronController@runCron')->name('cron_jobs_run');
Auth::routes();
Route::get('/logout', function () {
Auth::logout();
return Redirect::to('login');
})->name('logout');
@ -34,7 +33,6 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/', 'HomeController@index')->name('home');
Route::get('/user/update_email_confirm/{token}', 'UserUpdateEmailController@activateMail')->name('user_update_email_confirm');
Route::post('/user/check/mail', 'HomeController@checkMail')->name('user_check_mail');
@ -49,7 +47,6 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/homeparty/{token?}/{gid?}', 'Web\HomepartyController@detail')->name('homeparty');
Route::post('/homeparty/{token?}/{gid?}', 'Web\HomepartyController@detailStore')->name('homeparty');
Route::group(['middleware' => ['auth']], function () {
Route::get('/user_blocked', 'HomeController@blocked')->name('user_blocked');
Route::get('/wizard-create', 'WizardController@create')->name('wizard_create');
@ -66,23 +63,23 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
// storage_file Route wurde nach common.php verschoben für domain-übergreifende Nutzung
});
Route::group(['middleware' => ['auth:user']], function () {
Route::get('storage/{type?}/{file?}', function ($type = null, $file = null) {
$path = "";
$filename = "";
$path = '';
$filename = '';
if ($type == 'xls') {
$path = storage_path("app/export/");
$filename = $file . '.xls';
$path = storage_path('app/export/');
$filename = $file.'.xls';
}
if (file_exists($path . $filename)) {
return Response::download($path . $filename, $filename);
if (file_exists($path.$filename)) {
return Response::download($path.$filename, $filename);
}
})->name('storage');
Route::get('/home', 'HomeController@show')->name('home');
Route::get('/news/archiv', 'HomeController@newsArchive')->name('news_archive');
Route::post('/modal/load', 'ModalController@load')->name('modal_load');
@ -90,7 +87,6 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::post('/user/edit', 'UserDataController@userEditStore')->name('user_edit');
Route::post('/user/data/store', 'UserDataController@userDataStore')->name('user_data_store');
Route::get('/user/update_password', 'UserUpdatePasswordController@updatePassword')->name('user_update_password');
Route::post('/user/update_password', 'UserUpdatePasswordController@updatePasswordStore')->name('user_update_password');
@ -108,7 +104,7 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/user/data/free', 'UserDataController@userDataFree')->name('user_data_free');
Route::post('/user/data/free/form', 'UserDataController@userDataFreeForm')->name('user_data_free_form');
//user shop
// user shop
Route::get('/user/shop', 'UserShopController@index')->name('user_shop');
Route::post('/user/shop/store', 'UserShopController@store')->name('user_shop_store');
Route::post('/user/shop/register/form', 'UserShopController@userShopRegisterForm')->name('user_shop_register_form');
@ -119,7 +115,7 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::post('/user/shop/upload/image', 'UserShopController@uploadImage')->name('user_shop_upload_image');
Route::get('/user/shop/delete/image', 'UserShopController@deleteImage')->name('user_shop_delete_image');
//user shop Sales
// user shop Sales
Route::get('/user/shop/orders', 'User\ShopSalesController@orders')->name('user_shop_orders');
Route::get('/user/shop/order/detail/{id}', 'User\ShopSalesController@orderDetail')->name('user_shop_order_detail');
Route::get('/user/shop/orders/datatable', 'User\ShopSalesController@ordersDatatable')->name('user_shop_orders_datatable');
@ -129,7 +125,7 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::post('/user/shop/api/orders/checkout', 'User\ShopApiController@checkout')->name('user_shop_api_orders_checkout');
Route::get('/user/shop/api/orders/datatable', 'User\ShopApiController@ordersDatatable')->name('user_shop_api_orders_datatable');
//user team
// user team
Route::get('/user/team/add/member', 'User\TeamController@addMember')->name('user_team_add_member');
Route::get('/user/team/structure/old', 'User\TeamController@structureOld')->name('user_team_structure_old');
@ -155,17 +151,15 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/user/team/level-reports', 'User\TeamController@levelReports')->name('user_team_level_reports');
Route::get('/user/team/level-reports/export', 'User\TeamController@levelReportsExport')->name('user_team_level_reports_export');
Route::get('/user/abos/{view}', 'User\AboController@index')->name('user_abos');
Route::get('/user/abos/detail/{view}/{id}', 'User\AboController@detail')->name('user_abos_detail');
Route::post('/user/abos/update/{view}/{id}', 'User\AboController@update')->name('user_abos_update');
Route::get('/user/abo/datatable/{id}', 'User\AboController@datatable')->name('user_abo_datatable');
// Route to show team subscriptions (Abos)
Route::get('/user/team/abos/show', 'User\TeamController@showAbos')->name('user_team_abos_show');
Route::get('/user/team/abos/detail/{id}', 'User\TeamController@detailAbo')->name('user_team_abos_detail');
Route::get('/user/abos/team/show', 'User\TeamController@showAbos')->name('user_abos_team_show');
Route::get('/user/abos/team/detail/{id}', 'User\TeamController@detailAbo')->name('user_abos_team_detail');
//user customers
// user customers
Route::get('/user/customers', 'User\CustomerController@index')->name('user_customers');
Route::get('/user/customer/detail/{id}', 'User\CustomerController@detail')->name('user_customer_detail');
Route::get('/user/customer/edit/{id}', 'User\CustomerController@edit')->name('user_customer_edit');
@ -173,8 +167,7 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::post('/user/customer/edit/{id}', 'User\CustomerController@store')->name('user_customer_edit');
Route::get('/user/customer/datatable', 'User\CustomerController@getCustomers')->name('user_customer_datatable');
//user order & do order
// user order & do order
Route::get('/user/orders', 'User\OrderController@index')->name('user_orders');
Route::get('/user/orders/datatable', 'User\OrderController@ordersDatatable')->name('user_orders_datatable');
@ -196,7 +189,7 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/user/orders/payment/datatable', 'User\OrderPaymentController@datatable')->name('user_order_payment_links_datatable');
Route::get('/user/order/payment/detail/{identifier}', 'User\OrderPaymentController@detail')->name('user_order_payment_links_detail');
Route::get('/user/order/payment/delete/{identifier}', 'User\OrderPaymentController@delete')->name('user_order_payment_links_delete');
//user homeparty
// user homeparty
Route::get('/user/homepartys', 'User\HomepartyController@index')->name('user_homepartys');
Route::get('/user/homeparty/detail/{id?}/{step?}', 'User\HomepartyController@detail')->name('user_homeparty_detail');
@ -209,7 +202,7 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/user/homeparty/delete/{do}/{id?}/{gid?}', 'User\HomepartyController@delete')->name('user_homeparty_delete');
Route::get('/user/homeparty/datatable/{id?}', 'User\HomepartyController@datatable')->name('user_homeparty_datatable');
//products images
// products images
Route::post('/user/shop_on_site/upload/image', 'UserShopController@uploadOnSiteImage')->name('user_shop_on_site_upload_image');
Route::get('/user/shop_on_site/{image_id}/{user_shop_id}', 'UserShopController@deleteOnSiteImage')->name('user_shop_on_site_delete_image');
@ -220,7 +213,6 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::post('/user/documents/store/{action}', 'User\DocumentsController@store')->name('user_documents_store');
Route::get('/user/documents/delete/{id}/{relation}', 'User\DocumentsController@delete')->name('user_documents_delete');
Route::get('/user/payment/credit', 'User\PaymentController@credit')->name('user_payment_credit');
Route::get('/user/payment/credit/datatable', 'User\PaymentController@credit_datatable')->name('user_payment_credit_datatable');
Route::get('/user/payment/credit/item/datatable', 'User\PaymentController@credit_item_datatable')->name('user_payment_credit_item_datatable');
@ -230,17 +222,17 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
});
Route::group(['middleware' => ['admin']], function () {
//translate
// translate
Route::get('/admin/translate/{model?}', 'TranslationController@index')->name('admin_translate');
Route::post('/admin/translate/update/{model?}/{lang?}', 'TranslationController@update')->name('admin_translate_update');
//Route::get('/admin/translate/update/{model?}/{lang?}', 'TranslationController@update')->name('admin_translate_update');
// Route::get('/admin/translate/update/{model?}/{lang?}', 'TranslationController@update')->name('admin_translate_update');
//translate FILE
// translate FILE
Route::get('/admin/translate/file', 'TranslationFileController@index')->name('admin_translate_file');
Route::get('/admin/translation/file/{file}/{language?}/{langsource?}/{show?}', 'TranslationFileController@edit')->name('admin_translate_file_edit');
Route::post('/admin/translation/file/{file}/{language?}/{langsource?}/{show?}', 'TranslationFileController@update')->name('admin_translate_file_update');
//site
// site
Route::get('/admin/sites/{site}', 'SitesController@show')->name('admin_sites');
Route::post('/admin/sites/store/{site}', 'SitesController@store')->name('admin_sites_store');
Route::post('/admin/sites/image/upload/{site}', 'SitesController@imageUpload')->name('admin_sites_image_upload');
@ -253,31 +245,30 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::post('/admin/dashboard-news/store/{id}', 'SitesController@dashboardNewsStore')->name('admin_dashboard_news_store');
Route::get('/admin/dashboard-news/delete/{id}', 'SitesController@dashboardNewsDelete')->name('admin_dashboard_news_delete');
//products
// products
Route::get('/admin/product/show', 'ProductController@index')->name('admin_product_show');
Route::post('/admin/product/store', 'ProductController@store')->name('admin_product_store');
Route::get('/admin/product/edit/{id}', 'ProductController@edit')->name('admin_product_edit');
Route::get('/admin/product/copy/{id}', 'ProductController@copy')->name('admin_product_copy');
Route::get('/admin/product/delete/{id}/{do?}/{did?}', 'ProductController@delete')->name('admin_product_delete');
//products images
// products images
Route::post('/admin/product/image/upload', 'ProductController@imageUpload')->name('admin_product_image_upload');
Route::get('/admin/product/image/delete/{image_id}/{product_id}', 'ProductController@imageDelete')->name('admin_product_image_delete');
Route::get('/admin/product/image/attribute/{image_id}/{attr}/{val}', 'ProductController@imageAttribute')->name('admin_product_image_attribute');
//products categories
// products categories
Route::get('/admin/product/categories', 'CategoryController@index')->name('admin_product_categories');
Route::get('/admin/product/category/edit/{id}', 'CategoryController@edit')->name('admin_product_category_edit');
Route::post('/admin/product/category/store', 'CategoryController@store')->name('admin_product_category_store');
Route::get('/admin/product/category/delete/{del}/{id}', 'CategoryController@delete')->name('admin_product_category_delete');
//products categories
// products categories
Route::get('/admin/product/ingredients', 'IngredientController@index')->name('admin_product_ingredients');
Route::get('/admin/product/ingredient/edit/{id}', 'IngredientController@edit')->name('admin_product_ingredient_edit');
Route::post('/admin/product/ingredient/store', 'IngredientController@store')->name('admin_product_ingredient_store');
Route::get('/admin/product/ingredient/delete/{id}', 'IngredientController@delete')->name('admin_product_ingredient_delete');
//products images
// products images
Route::post('/admin/product/category/image/upload', 'CategoryController@imageUpload')->name('admin_product_category_image_upload');
Route::get('/admin/product/category/image/delete{image_id}/{category_id}', 'CategoryController@imageDelete')->name('admin_product_category_image_delete');
@ -297,20 +288,19 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/public/track', 'DhlShipmentController@track')->name('public.tracking');
});
//products attributes
// products attributes
Route::get('/admin/product/attributes', 'AttributeController@index')->name('admin_product_attributes');
Route::post('/admin/product/attribute/store', 'AttributeController@store')->name('admin_product_attribute_store');
Route::get('/admin/product/attribute/delete/{id}', 'AttributeController@delete')->name('admin_product_attribute_delete');
// Route::get('/admin/products/import', 'ImportProductController@import')->name('admin_product_import');
//Route::get('/admin/products/import', 'ImportProductController@import')->name('admin_product_import');
//leads
// leads
Route::get('/admin/leads', 'LeadController@index')->name('admin_leads');
Route::get('/admin/lead/edit/{id}', 'LeadController@edit')->name('admin_lead_edit');
Route::post('/admin/lead/edit/{id}', 'LeadController@editPost')->name('admin_lead_edit');
//customers
// customers
Route::get('/admin/customers', 'CustomerController@index')->name('admin_customers');
Route::get('/admin/customer/detail/{id}', 'CustomerController@detail')->name('admin_customer_detail');
Route::get('/admin/customer/delete/{id}', 'CustomerController@delete')->name('admin_customer_delete');
@ -324,13 +314,12 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/admin/lead/released/{action}/{id}', 'LeadController@released')->name('admin_lead_released');
Route::post('/admin/lead/released/{action}/{id}', 'LeadController@released')->name('admin_lead_released');
Route::get('/admin/lead/delete/file/{user_id}/{file_id}/{relation}', 'LeadController@deleteFile')->name('admin_lead_delete_file');
Route::post('/admin/lead/store', 'LeadController@store')->name('admin_lead_store');
Route::get('/admin/leads/datatable', 'LeadController@getLeads')->name('admin_leads_datatable');
//sales
// sales
Route::get('/admin/sales/users', 'SalesController@users')->name('admin_sales_users');
Route::get('/admin/sales/users/detail/{id}', 'SalesController@usersDetail')->name('admin_sales_users_detail');
Route::post('/admin/sales/users/detail/{id}', 'SalesController@usersStore')->name('admin_sales_users_detail');
@ -343,43 +332,45 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::post('/admin/sales/store', 'SalesController@store')->name('admin_sales_store');
Route::post('/admin/sales/invoice', 'SalesController@invoice')->name('admin_sales_invoice');
Route::post('/admin/sales/invoice/cancellation', 'SalesController@invoiceCancellation')->name('admin_sales_invoice_cancellation');
Route::get('/admin/abos', 'Admin\AboController@index')->name('admin_abos');
Route::get('/admin/abos/detail/{id}', 'Admin\AboController@detail')->name('admin_abos_detail');
Route::post('/admin/abos/update/{id}', 'Admin\AboController@update')->name('admin_abos_update');
Route::post('/admin/abos/rollback/{id}', 'Admin\AboController@rollback')->name('admin_abos_rollback');
Route::get('/admin/abos/datatable', 'Admin\AboController@datatable')->name('admin_abos_datatable');
//payments invoice // Rechnungen
// payments invoice // Rechnungen
Route::get('/admin/payments/invoice', 'PaymentInvoiceController@index')->name('admin_payments_invoice');
Route::post('/admin/payments/invoice', 'PaymentInvoiceController@index')->name('admin_payments_invoice');
Route::get('/admin/payments/invoice/datatable', 'PaymentInvoiceController@datatable')->name('admin_payments_invoice_datatable');
//payments credit // Gutschriften
// payments credit // Gutschriften
Route::get('/admin/payments/credit', 'PaymentCreditController@index')->name('admin_payments_credit');
Route::post('/admin/payments/credit', 'PaymentCreditController@store')->name('admin_payments_credit');
Route::get('/admin/payments/credit/datatable', 'PaymentCreditController@datatable')->name('admin_payments_credit_datatable');
Route::post('/admin/payments/credit/create', 'PaymentCreditController@create')->name('admin_payments_credit_create');
Route::get('/admin/payments/credit/delete/{id}/{del?}', 'PaymentCreditController@delete')->name('admin_payments_credit_delete');
//products sales volume
// products sales volume
Route::get('/admin/payments/sales/volumes', 'Admin\PaymentSalesController@index')->name('admin_payments_sales_volumes');
Route::post('/admin/payments/sales/volumes/download', 'Admin\PaymentSalesController@download')->name('admin_payments_sales_volumes_download');
Route::get('/admin/payments/sales/volumes/datatable', 'Admin\PaymentSalesController@datatable')->name('admin_payments_sales_volumes_datatable');
// DATEV Steuerberater-Export
Route::get('/admin/payments/taxadvisor', 'PaymentTaxAdvisorController@index')->name('admin_payments_taxadvisor');
Route::post('/admin/payments/taxadvisor/download', 'PaymentTaxAdvisorController@download')->name('admin_payments_taxadvisor_download');
Route::post('/admin/payments/taxadvisor/preview', 'PaymentTaxAdvisorController@preview')->name('admin_payments_taxadvisor_preview');
Route::post('/admin/payments/taxadvisor/generate', 'PaymentTaxAdvisorController@generate')->name('admin_payments_taxadvisor_generate');
Route::get('/admin/payments/taxadvisor/download/{id}', 'PaymentTaxAdvisorController@download')->name('admin_payments_taxadvisor_download');
Route::get('/admin/payments/taxadvisor/datatable', 'PaymentTaxAdvisorController@datatable')->name('admin_payments_taxadvisor_datatable');
Route::post('/admin/payments/taxadvisor/lock/{id}', 'PaymentTaxAdvisorController@lock')->name('admin_payments_taxadvisor_lock');
Route::delete('/admin/payments/taxadvisor/destroy/{id}', 'PaymentTaxAdvisorController@destroy')->name('admin_payments_taxadvisor_destroy');
// Revenue Report Routes
Route::get('/admin/revenue', 'RevenueReportController@index')->name('admin_revenue');
Route::post('/admin/revenue/export', 'RevenueReportController@export')->name('admin_revenue_export');
//business
// business
Route::get('/admin/business/show', 'BusinessController@show')->name('admin_business_show');
Route::get('/admin/business/structure', 'BusinessController@structure')->name('admin_business_structure');
Route::post('/admin/business/structure', 'BusinessController@structure')->name('admin_business_structure');
@ -388,7 +379,7 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/admin/business/user/datatable', 'BusinessController@userDatatable')->name('admin_business_user_datatable');
//business optimized (for testing)
// business optimized (for testing)
Route::get('/admin/business-optimized/show', 'BusinessControllerOptimized@show')->name('admin_business_optimized');
Route::post('/admin/business-optimized/show', 'BusinessControllerOptimized@show')->name('admin_business_optimized');
Route::get('/admin/business-optimized/structure', 'BusinessControllerOptimized@structure')->name('admin_business_optimized_structure');
@ -397,7 +388,7 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::post('/admin/business-optimized/user/detail/{id}', 'BusinessControllerOptimized@userStore')->name('admin_business_optimized_user_detail');
Route::get('/admin/business-optimized/user/datatable', 'BusinessControllerOptimized@userDatatable')->name('admin_business_optimized_user_datatable');
//payments points // Gutschreiben
// payments points // Gutschreiben
Route::get('/admin/business/points', 'BusinessPointsController@index')->name('admin_business_points');
Route::post('/admin/business/points/store', 'BusinessPointsController@store')->name('admin_business_points_store');
Route::post('/admin/business/points/recalculate', 'BusinessPointsController@recalculate')->name('admin_business_points_recalculate');
@ -428,9 +419,9 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/admin/downloadcenter/datatable', 'Admin\DownloadController@datatable')->name('admin_downloadcenter_datatable');
});
//login pages for superadmin
// login pages for superadmin
Route::group(['middleware' => ['superadmin']], function () {
//leads
// leads
Route::get('/admin/users', 'AdminUserController@index')->name('admin_users');
Route::get('/admin/user/edit/{user_id}', 'AdminUserController@edit')->name('admin_user_edit');
Route::post('/admin/user/store', 'AdminUserController@store')->name('admin_user_store');
@ -438,6 +429,17 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/admin/user/login_as/{userId?}', 'AdminUserController@userLoginAs')->name('admin_user_login_as');
Route::get('/admin/users/datatable', 'AdminUserController@getUsers')->name('admin_user_datatable');
// User Cleanup & Restore
Route::get('/admin/user/cleanup', 'AdminUserCleanupController@index')->name('admin_user_cleanup');
Route::get('/admin/user/cleanup/logs', 'AdminUserCleanupController@logs')->name('admin_user_cleanup_logs');
Route::get('/admin/user/cleanup/shopping-logs', 'AdminUserCleanupController@shoppingLogs')->name('admin_user_cleanup_shopping_logs');
Route::get('/admin/user/cleanup/datatable', 'AdminUserCleanupController@getInactiveUsers')->name('admin_user_cleanup_datatable');
Route::get('/admin/user/cleanup/logs/datatable', 'AdminUserCleanupController@getCleanupLogs')->name('admin_user_cleanup_logs_datatable');
Route::get('/admin/user/cleanup/shopping-logs/datatable', 'AdminUserCleanupController@getShoppingLogs')->name('admin_user_cleanup_shopping_logs_datatable');
Route::get('/admin/user/cleanup/history/{userId}', 'AdminUserCleanupController@getUserHistory')->name('admin_user_cleanup_history');
Route::get('/admin/user/cleanup/search-sponsors', 'AdminUserCleanupController@searchSponsors')->name('admin_user_cleanup_search_sponsors');
Route::post('/admin/user/cleanup/reassign-sponsor', 'AdminUserCleanupController@reassignSponsor')->name('admin_user_cleanup_reassign_sponsor');
Route::post('/admin/user/cleanup/restore', 'AdminUserCleanupController@restore')->name('admin_user_cleanup_restore');
Route::get('/admin/shippings', 'ShippingController@index')->name('admin_shippings');
Route::get('/admin/shipping/edit/{shipping_id}', 'ShippingController@edit')->name('admin_shipping_edit');
@ -446,7 +448,7 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::get('/admin/shipping/price/delete/{price_id}', 'ShippingController@deletePrice')->name('admin_shipping_price_delete');
Route::get('/admin/shipping/country/delete/{price_id}', 'ShippingController@deleteCountry')->name('admin_shipping_country_delete');
//Route::get('data_table', 'DataTableController@datatable')->name('data_table');
// Route::get('data_table', 'DataTableController@datatable')->name('data_table');
// Route::get('datatables/leads', 'DataTableController@getLeads')->name('datatables-leads');
Route::get('/admin/payment_methods', 'PaymentMethodController@index')->name('admin_payment_methods');
@ -463,13 +465,12 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::post('/admin/setting/store', 'SettingController@store')->name('admin_setting_store');
});
//login pages for sysadmin
// login pages for sysadmin
Route::group(['middleware' => ['sysadmin']], function () {
Route::get('/sysadmin/tools', 'SyS\SysController@index')->name('sysadmin_tools');
Route::get('/sysadmin/tool/{tool}', 'SyS\SysController@tool')->name('sysadmin_tool');
Route::post('/sysadmin/tool/store/{tool}', 'SyS\SysController@store')->name('sysadmin_tool_store');
Route::get('/sysadmin/settings', 'SyS\SettingController@index')->name('sysadmin_settings');
Route::post('/sysadmin/setting/store', 'SyS\SettingController@store')->name('sysadmin_setting_store');
});

View file

@ -7,19 +7,15 @@
|
*/
use App\Http\Controllers\FileController;
use App\Http\Controllers\Portal\InController;
use App\Http\Controllers\Portal\AboController;
use App\Http\Controllers\Portal\OrderController;
use App\Http\Controllers\Portal\CustomerController;
use App\Http\Controllers\Portal\Auth\LoginController;
use App\Http\Controllers\Portal\CustomerController;
use App\Http\Controllers\Portal\InController;
use App\Http\Controllers\Portal\OrderController;
/* ROUTING FOR CRM my.mivita / CMS */
/* ROUTING FOR CRM my.mivita / CMS*/
Route::domain(config('app.pre_url_portal') . config('app.domain') . config('app.tld_care'))->group(function () {
Route::domain(config('app.pre_url_portal').config('app.domain').config('app.tld_care'))->group(function () {
Route::get('/', [InController::class, 'index'])->name('/portal.home');
Route::post('/loading/modal', [InController::class, 'loadingModal'])->name('portal.loading_modal');
@ -41,20 +37,29 @@ Route::domain(config('app.pre_url_portal') . config('app.domain') . config('app.
Route::middleware('auth:customers')->group(function () {
Route::get('portal/dashboard', [InController::class, 'dashboard'])->name('portal.dashboard');
//Route::get('portal/go-to-shop', [InController::class, 'goToShop'])->name('portal.go_to_shop');
// Route::get('portal/go-to-shop', [InController::class, 'goToShop'])->name('portal.go_to_shop');
Route::get('portal/my-data/edit', [CustomerController::class, 'myDataEdit'])->name('portal.my_data.edit');
Route::post('portal/my-data/store', [CustomerController::class, 'myDataStore'])->name('portal.my_data.store');
Route::get('portal/my-orders', [OrderController::class, 'myOrders'])->name('portal.my_orders');
Route::get('portal/my-orders/datatable', [OrderController::class, 'ordersDatatable'])->name('portal.my_orders.datatable');
Route::get('portal/my-orders/show/{id}', [OrderController::class, 'myOrderShow'])->name('portal.my_orders.show');
Route::get('portal/my-orders/{id}/payments/datatable', [OrderController::class, 'paymentsDatatable'])->name('portal.my_orders.payments_datatable');
Route::get('portal/my-orders/create/{id}', [OrderController::class, 'myOrderCreate'])->name('portal.my_orders.create');
Route::get('portal/my-subscriptions', [AboController::class, 'myAbo'])->name('portal.my_subscriptions');
Route::match(['get', 'post'], 'portal/my-subscriptions/create/{step}', [AboController::class, 'myAboCreate'])->name('portal.my_subscriptions.create');
Route::post('portal/my-subscriptions/update/{view}/{id}', [AboController::class, 'update'])->name('user_abos_update');
Route::get('portal/my-subscriptions/datatable/{id}', [AboController::class, 'datatable'])->name('user_abo_datatable');
Route::post('portal/modal/load', [AboController::class, 'modalLoad'])->name('modal_load');
// Routen-Aliase für shared Views (admin.abo._detail, admin.abo._executions)
Route::get('portal/my-data/edit/{id?}', function () {
return redirect()->route('portal.my_data.edit');
})->name('user_customer_edit');
Route::get('portal/my-orders/detail/{id}', [OrderController::class, 'myOrderShow'])->name('user_shop_order_detail');
Route::get('portal/settings', [InController::class, 'settings'])->name('portal.settings');
// Weitere Kunden-spezifische Routen
});
// Logout für Kunden
// Logout für Kunden
});

View file

@ -16,31 +16,31 @@ if (\App\Domain\EarlyDomainParser::getCurrentDomainType() === 'checkout') {
// Shop-Domain aus Config laden
$shopHost = config('domains.domains.shop.host');
$protocol = config('domains.protocol', 'https://');
$shopBaseUrl = $protocol . $shopHost;
$shopBaseUrl = $protocol.$shopHost;
// Für Checkout-Domain: Umleitung zur Shop-Domain
Route::get('/datenschutz', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/datenschutz');
return redirect()->away($shopBaseUrl.'/datenschutz');
})->name('legal.data-protected');
Route::get('/impressum', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/impressum');
return redirect()->away($shopBaseUrl.'/impressum');
})->name('legal.imprint');
Route::get('/agb', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/agb');
return redirect()->away($shopBaseUrl.'/agb');
})->name('legal.agb');
Route::get('/kontakt', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/kontakt');
return redirect()->away($shopBaseUrl.'/kontakt');
})->name('contact.create');
Route::get('/zahlungsarten', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/zahlungsarten');
return redirect()->away($shopBaseUrl.'/zahlungsarten');
})->name('zahlungsarten');
Route::get('/versandkosten', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/versandkosten');
return redirect()->away($shopBaseUrl.'/versandkosten');
})->name('versandkosten');
} else {
// Für alle anderen Domains: normale Controller-Routen
@ -55,7 +55,8 @@ if (\App\Domain\EarlyDomainParser::getCurrentDomainType() === 'checkout') {
// File storage route für alle Domains (Rechnungen, Downloads, etc.)
// Auth-Prüfung erfolgt im FileController selbst je nach Kontext
Route::get('/storage/file/{id}/{from}/{do?}', 'FileController@show')->name('storage_file');
// Optional: locale Parameter für mehrsprachige PDFs (z.B. /storage/file/123/invoice/download/es)
Route::get('/storage/file/{id}/{from}/{do?}/{locale?}', 'FileController@show')->name('storage_file');
// Sprachwechsler
Route::post('/change_website_lang', 'Web\SiteController@changeLang')->name('language.change');
@ -76,11 +77,10 @@ Route::get('translation/{locale}', function ($locale) {
return redirect()->back();
})->name('translation');
// Bild-Routen (aus alter utility.php wiederhergestellt)
Route::get('/product/image/{slug}', function ($slug = null) {
if ($image = \App\Models\ProductImage::where('slug', 'like', $slug)->first()) {
$path = storage_path('app/public') . '/images/product' . '/' . $image->product_id . '/' . $image->filename;
$path = storage_path('app/public').'/images/product'.'/'.$image->product_id.'/'.$image->filename;
if (file_exists($path)) {
return response()->file($path);
}
@ -91,7 +91,7 @@ Route::get('/product/image/{slug}', function ($slug = null) {
Route::get('storage/images/{from}/{slug}', function ($from = null, $slug = null) {
if ($from == 'shop') {
if ($image = \App\Models\UserShop::where('filename', $slug)->first()) {
$path = storage_path('app/public') . '/images/shop' . '/' . $image->filename;
$path = storage_path('app/public').'/images/shop'.'/'.$image->filename;
if (file_exists($path)) {
return Response::file($path);
}
@ -99,10 +99,9 @@ Route::get('storage/images/{from}/{slug}', function ($from = null, $slug = null)
}
})->name('storage_images');
Route::get('/iq/image/{slug}', function ($slug = null) {
if ($image = \App\Models\IqImage::where('slug', $slug)->first()) {
$path = storage_path('app/public') . '/images/iq_images/' . $image->filename;
$path = storage_path('app/public').'/images/iq_images/'.$image->filename;
if (file_exists($path)) {
return Response::file($path);
}
@ -111,7 +110,7 @@ Route::get('/iq/image/{slug}', function ($slug = null) {
Route::get('/user_shop/image/{slug}', function ($slug = null) {
if ($image = \App\Models\UserShopOnSite::where('slug', $slug)->first()) {
$path = storage_path('app/public') . '/images/user_shop' . '/' . $image->user_shop_id . '/' . $image->filename;
$path = storage_path('app/public').'/images/user_shop'.'/'.$image->user_shop_id.'/'.$image->filename;
if (file_exists($path)) {
return Response::file($path);
}
@ -120,7 +119,7 @@ Route::get('/user_shop/image/{slug}', function ($slug = null) {
Route::get('/shop/product/image/{slug}', function ($slug = null) {
if ($image = \App\Models\ProductImage::where('slug', $slug)->first()) {
$path = storage_path('app/public') . '/images/product' . '/' . $image->product_id . '/' . $image->filename;
$path = storage_path('app/public').'/images/product'.'/'.$image->product_id.'/'.$image->filename;
if (file_exists($path)) {
return Response::file($path);
}
@ -134,32 +133,34 @@ if (\App\Domain\EarlyDomainParser::getCurrentDomainType() !== 'checkout') {
// Checkout-Domain aus Config laden
$checkoutHost = config('domains.domains.checkout.host');
$protocol = config('domains.protocol', 'https://');
$checkoutBaseUrl = $protocol . $checkoutHost;
$checkoutBaseUrl = $protocol.$checkoutHost;
Route::get('/checkout/card/{identifier?}', function ($identifier = null) use ($checkoutBaseUrl) {
$path = '/checkout/card/' . ($identifier ?: '');
return redirect()->away($checkoutBaseUrl . $path);
$path = '/checkout/card/'.($identifier ?: '');
return redirect()->away($checkoutBaseUrl.$path);
})->name('checkout.checkout_card');
Route::post('/checkout/card/final', function () use ($checkoutBaseUrl) {
return redirect()->away($checkoutBaseUrl . '/checkout/card/final');
return redirect()->away($checkoutBaseUrl.'/checkout/card/final');
})->name('checkout.checkout_card_final');
// Weiterleitung für Transaktionsstatus
Route::get('/transaction/status/{status?}/{reference?}', function ($status = null, $reference = null) use ($checkoutBaseUrl) {
$path = "/transaction/status/" . ($status ?: '') . "/" . ($reference ?: '');
return redirect()->away($checkoutBaseUrl . $path);
$path = '/transaction/status/'.($status ?: '').'/'.($reference ?: '');
return redirect()->away($checkoutBaseUrl.$path);
})->name('checkout.transaction_status');
Route::post('/transaction/status/{status?}/{reference?}', function ($status = null, $reference = null) use ($checkoutBaseUrl) {
$path = "/transaction/status/" . ($status ?: '') . "/" . ($reference ?: '');
return redirect()->away($checkoutBaseUrl . $path);
$path = '/transaction/status/'.($status ?: '').'/'.($reference ?: '');
return redirect()->away($checkoutBaseUrl.$path);
})->name('checkout.transaction_status_post');
Route::get('/transaction/approved/{transactionId}/{reference}', function ($transactionId, $reference) use ($checkoutBaseUrl) {
return redirect()->away($checkoutBaseUrl . "/transaction/approved/{$transactionId}/{$reference}");
return redirect()->away($checkoutBaseUrl."/transaction/approved/{$transactionId}/{$reference}");
})->name('checkout.transaction_approved');
}
Route::get('/register/verify/{confirmationCode}', 'HomeController@verify')->name('register_verify');