Abo: Kreditkarte aktualisieren (CRM, Portal, Berater-Link) + Admin-Abo-Löschung
- Karten-Update ohne Abbuchung via PAYONE creditcardcheck/pseudocardpan (AboPaymentMethodService, CardUpdateResult/CreditCardCheckData-DTOs) - Eingabe nur durch Abo-Inhaber: CRM- und Portal-Formular + zeitlich begrenzter Berater→Kunde-Link (AboCardUpdateLink + Mail) - Änderungshistorie in user_abo_card_changes, Anzeige im Admin-Abo-Detail - Admin: Abo löschen (destroy) inkl. Test - Portal-Fix: myOrderCreate wirft 404 statt TypeError bei ungültiger ID - VIP-Sichtbarkeitstests für Einmalartikel-Fenster ergänzt - Enthält bereits die Freeze-Guards für den Stripe-Notbetrieb (Folge-Commit) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
63c36555a5
commit
671022a28d
36 changed files with 2366 additions and 26 deletions
85
resources/views/portal/layouts/public.blade.php
Normal file
85
resources/views/portal/layouts/public.blade.php
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="{{ strtolower(\App::getLocale()) }}" class="default-style">
|
||||
|
||||
<head>
|
||||
<title>{{ config('app.name') }}</title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge,chrome=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<link rel="stylesheet" href="{{ asset('/fonts/roboto-pacifico.css?v=1') }}">
|
||||
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/fontawesome.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/ionicons.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/fonts/linearicons.css') }}">
|
||||
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/css/bootstrap.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/css/appwork.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/css/theme-corporate.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/css/colors.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/css/uikit.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/css/mycolors.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/libs/growl/growl.css') }}">
|
||||
|
||||
<script src="{{ asset('/vendor/js/layout-helpers.js') }}"></script>
|
||||
<script src="{{ asset('/js/jquery.min.js') }}"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="page-loader">
|
||||
<div class="bg-primary"></div>
|
||||
</div>
|
||||
|
||||
@if (Session::has('alert-error'))
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$.growl.error({ title: "{{ __('error') }}", message: '{{ Session::get('alert-error') }}', location: 'tr' });
|
||||
});
|
||||
</script>
|
||||
@endif
|
||||
|
||||
<!-- Header: Logo + Sprachwechsel (login-frei) -->
|
||||
<nav class="layout-navbar navbar navbar-expand-lg align-items-lg-center bg-navbar-theme container-p-x" id="layout-navbar">
|
||||
<a href="https://www.mivita.care">
|
||||
<img src="{{ asset('/images/logo_mivita.png') }}" alt="mivita.care" style="width: 170px;">
|
||||
</a>
|
||||
|
||||
<div class="navbar-nav align-items-center ml-auto" style="flex-direction: row;">
|
||||
<div class="nav-item dropdown mr-1">
|
||||
<a class="nav-link dropdown-toggle hide-arrow text-right" href="#" data-toggle="dropdown">
|
||||
<i class="ion ion-ios-globe navbar-icon align-middle"></i>
|
||||
<span class="badge badge-default">{{ __('website.language') }} :
|
||||
<img style="height: 16px" width="16" src="{{ asset('images/flags/'.strtolower(\App::getLocale()).'.svg') }}" alt="lang">
|
||||
</span>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
@foreach (\App\Services\UserService::getTransChange() as $code => $name)
|
||||
<a href="{{ route('translation', [$code]) }}" class="dropdown-item @if (\App::getLocale() === $code) active @endif">
|
||||
<img style="height: 16px" width="16" src="{{ asset('images/flags/'.strtolower($code).'.svg') }}" alt="lang"> {{ $name }}
|
||||
</a>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container py-4">
|
||||
@yield('content')
|
||||
</div>
|
||||
|
||||
@include('portal.layouts.includes.layout-footer')
|
||||
|
||||
<script src="{{ asset('/vendor/libs/popper/popper.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/js/bootstrap.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/growl/growl.js') }}"></script>
|
||||
<script src="{{ asset('/js/custom.js') }}"></script>
|
||||
|
||||
@yield('scripts')
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue