🎉 Feature: Vollständige granulare Benutzerverwaltung implementiert
• ✅ CRUD-Operationen für Benutzer (Erstellen, Bearbeiten, Löschen, Status-Toggle) • ✅ Granulare Berechtigungsstufen (4 Ebenen: Restricted, Standard, Advanced, Admin) • ✅ Detaillierte Berechtigungseinstellungen pro Benutzer • ✅ Vollständige API-Endpunkte für Benutzerverwaltung und Berechtigungen • ✅ Responsive Frontend-Modals mit Mercedes-Benz Corporate Design • ✅ Schutzmaßnahmen (Admin kann sich nicht selbst degradieren/löschen) • 🔧 Database Path Configuration korrigiert (backend/database/myp.db) • 🔧 Template-Fixes (user.name statt user.first_name/last_name) • 🔧 User-Loading-Errors behoben durch korrigierte Pfad-Konfiguration Das Admin Panel verfügt jetzt über eine vollständig funktionale und granulare Benutzerverwaltung mit detaillierten Berechtigungskontrollen für das MYP 3D-Druck-Management-System. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -1,495 +1,297 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}Impressum - Mercedes-Benz MYP System{% endblock %}
|
||||
{% block title %}Impressum - Mercedes-Benz MYP{% endblock %}
|
||||
|
||||
{% block extra_css %}
|
||||
<style>
|
||||
/* Modernes Impressum Design */
|
||||
.hero-gradient {
|
||||
background: linear-gradient(135deg,
|
||||
var(--mb-black) 0%,
|
||||
#1a1a1a 50%,
|
||||
var(--mb-primary) 100%);
|
||||
body {
|
||||
background: var(--bg-primary);
|
||||
}
|
||||
|
||||
.glass-card {
|
||||
.clean-card {
|
||||
background: var(--bg-card);
|
||||
backdrop-filter: blur(20px);
|
||||
border: 1px solid var(--border-primary);
|
||||
border-radius: 24px;
|
||||
box-shadow: var(--shadow-card);
|
||||
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
border-radius: 12px;
|
||||
padding: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.glass-card:hover {
|
||||
transform: translateY(-8px);
|
||||
box-shadow: var(--shadow-card-hover);
|
||||
border-color: var(--border-hover);
|
||||
.hero-section {
|
||||
background: linear-gradient(135deg, var(--mb-black) 0%, var(--mb-primary) 100%);
|
||||
color: white;
|
||||
padding: 4rem 0;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
.mercedes-logo {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
background: linear-gradient(135deg, var(--mb-primary) 0%, var(--mb-primary-dark) 100%);
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background: white;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-shadow: 0 10px 30px rgba(0, 115, 206, 0.3);
|
||||
animation: glow 3s ease-in-out infinite alternate;
|
||||
margin: 0 auto 1.5rem;
|
||||
}
|
||||
|
||||
@keyframes glow {
|
||||
from { box-shadow: 0 10px 30px rgba(0, 115, 206, 0.3); }
|
||||
to { box-shadow: 0 15px 40px rgba(0, 115, 206, 0.5); }
|
||||
.info-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.info-grid {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
gap: 1rem;
|
||||
align-items: center;
|
||||
padding: 1rem 0;
|
||||
.info-table td {
|
||||
padding: 0.75rem 0;
|
||||
border-bottom: 1px solid var(--border-primary);
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.info-grid:last-child {
|
||||
.info-table td:first-child {
|
||||
font-weight: 600;
|
||||
color: var(--text-secondary);
|
||||
width: 140px;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
.info-table td:last-child {
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.info-table tr:last-child td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.info-label {
|
||||
font-weight: 600;
|
||||
color: var(--text-secondary);
|
||||
font-size: 0.9rem;
|
||||
min-width: 120px;
|
||||
.section-title {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 700;
|
||||
color: var(--text-primary);
|
||||
margin-bottom: 1.5rem;
|
||||
border-bottom: 2px solid var(--mb-primary);
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.info-value {
|
||||
color: var(--text-primary);
|
||||
.link-style {
|
||||
color: var(--mb-primary);
|
||||
text-decoration: none;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.contact-link {
|
||||
color: var(--text-accent);
|
||||
text-decoration: none;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
padding: 0.5rem 1rem;
|
||||
border-radius: 12px;
|
||||
transition: all 0.3s ease;
|
||||
border: 1px solid transparent;
|
||||
.link-style:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.contact-link:hover {
|
||||
background: var(--hover-bg);
|
||||
color: var(--text-link-hover);
|
||||
border-color: var(--border-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.section-icon {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
background: linear-gradient(135deg, var(--mb-primary) 0%, var(--mb-primary-dark) 100%);
|
||||
border-radius: 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.status-badge {
|
||||
background: rgba(16, 185, 129, 0.1);
|
||||
color: var(--text-success);
|
||||
border: 1px solid rgba(16, 185, 129, 0.3);
|
||||
padding: 0.5rem 1rem;
|
||||
border-radius: 50px;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 600;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.dark .status-badge {
|
||||
background: rgba(16, 185, 129, 0.2);
|
||||
border-color: rgba(16, 185, 129, 0.4);
|
||||
}
|
||||
|
||||
.project-highlight {
|
||||
.project-box {
|
||||
background: linear-gradient(135deg, rgba(0, 115, 206, 0.05) 0%, rgba(0, 115, 206, 0.1) 100%);
|
||||
border: 1px solid rgba(0, 115, 206, 0.2);
|
||||
border-radius: 20px;
|
||||
padding: 2rem;
|
||||
border-left: 4px solid var(--mb-primary);
|
||||
padding: 1.5rem;
|
||||
border-radius: 0 8px 8px 0;
|
||||
margin: 2rem 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.project-highlight::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 4px;
|
||||
background: linear-gradient(90deg, var(--mb-primary) 0%, var(--mb-primary-dark) 100%);
|
||||
}
|
||||
|
||||
.dark .project-highlight {
|
||||
background: linear-gradient(135deg, rgba(0, 115, 206, 0.1) 0%, rgba(0, 115, 206, 0.15) 100%);
|
||||
border-color: rgba(0, 115, 206, 0.3);
|
||||
}
|
||||
|
||||
.nav-buttons {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 1rem;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
.floating-elements {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
pointer-events: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.floating-circle {
|
||||
position: absolute;
|
||||
border-radius: 50%;
|
||||
background: linear-gradient(45deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
|
||||
animation: float 6s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.floating-circle:nth-child(1) {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
top: 10%;
|
||||
left: 10%;
|
||||
animation-delay: 0s;
|
||||
}
|
||||
|
||||
.floating-circle:nth-child(2) {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
top: 20%;
|
||||
right: 15%;
|
||||
animation-delay: 2s;
|
||||
}
|
||||
|
||||
.floating-circle:nth-child(3) {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
bottom: 20%;
|
||||
left: 20%;
|
||||
animation-delay: 4s;
|
||||
}
|
||||
|
||||
@keyframes float {
|
||||
0%, 100% { transform: translateY(0px) rotate(0deg); }
|
||||
50% { transform: translateY(-20px) rotate(10deg); }
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.glass-card {
|
||||
margin: 1rem;
|
||||
border-radius: 16px;
|
||||
.hero-section {
|
||||
padding: 2rem 0;
|
||||
}
|
||||
|
||||
.hero-gradient {
|
||||
padding: 3rem 1rem;
|
||||
.clean-card {
|
||||
padding: 1.5rem;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.mercedes-logo {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
.info-table td:first-child {
|
||||
width: 120px;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.info-grid {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.info-label {
|
||||
min-width: auto;
|
||||
font-size: 0.8rem;
|
||||
.nav-buttons {
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Hero Section mit Floating Elements -->
|
||||
<div class="hero-gradient text-white py-20 relative overflow-hidden">
|
||||
<div class="floating-elements">
|
||||
<div class="floating-circle"></div>
|
||||
<div class="floating-circle"></div>
|
||||
<div class="floating-circle"></div>
|
||||
</div>
|
||||
|
||||
<div class="max-w-4xl mx-auto px-6 text-center relative z-10">
|
||||
<div class="mercedes-logo mx-auto mb-8">
|
||||
<svg class="w-12 h-12 text-white" fill="currentColor" viewBox="0 0 80 80">
|
||||
<!-- Simple Hero -->
|
||||
<div class="hero-section">
|
||||
<div class="container mx-auto px-6 text-center">
|
||||
<div class="mercedes-logo">
|
||||
<svg class="w-8 h-8 text-black" fill="currentColor" viewBox="0 0 80 80">
|
||||
<path d="M58.6,4.5C53,1.6,46.7,0,40,0c-6.7,0-13,1.6-18.6,4.5v0C8.7,11.2,0,24.6,0,40c0,15.4,8.7,28.8,21.5,35.5C27,78.3,33.3,80,40,80c6.7,0,12.9-1.7,18.5-4.6C71.3,68.8,80,55.4,80,40C80,24.6,71.3,11.2,58.6,4.5z M4,40c0-13.1,7-24.5,17.5-30.9v0C26.6,6,32.5,4.2,39,4l-4.5,32.7L21.5,46.8v0L8.3,57.1C5.6,52,4,46.2,4,40z M58.6,70.8C53.1,74.1,46.8,76,40,76c-6.8,0-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9v0L40,46.6l18.6,7.5v0l12,4.9C67.6,63.9,63.4,67.9,58.6,70.8z M58.6,46.8L58.6,46.8l-12.9-10L41.1,4c6.3,0.2,12.3,2,17.4,5.1v0C69,15.4,76,26.9,76,40c0,6.2-1.5,12-4.3,17.1L58.6,46.8z"/>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<h1 class="text-6xl font-bold mb-6 tracking-tight">Impressum</h1>
|
||||
<p class="text-2xl opacity-90 mb-8 leading-relaxed">Rechtliche Angaben gemäß § 5 TMG</p>
|
||||
|
||||
<div class="inline-flex items-center bg-white/10 backdrop-blur-lg rounded-full px-6 py-3 border border-white/20">
|
||||
<svg class="w-6 h-6 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/>
|
||||
</svg>
|
||||
<span class="text-lg font-semibold">MYP Platform v3.0.0</span>
|
||||
</div>
|
||||
<h1 class="text-4xl font-bold mb-4">Impressum</h1>
|
||||
<p class="text-xl opacity-90">Rechtliche Angaben gemäß § 5 TMG</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="max-w-6xl mx-auto px-6 -mt-16 relative z-20 space-y-8 pb-20">
|
||||
<div class="container mx-auto px-6 max-w-4xl pb-12">
|
||||
|
||||
<!-- Unternehmensangaben -->
|
||||
<div class="glass-card p-8">
|
||||
<div class="section-icon">
|
||||
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"/>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<h2 class="text-3xl font-bold mb-6" style="color: var(--text-primary);">Anbieter</h2>
|
||||
<!-- Anbieter -->
|
||||
<div class="clean-card">
|
||||
<h2 class="section-title">Anbieter</h2>
|
||||
|
||||
<div class="grid md:grid-cols-2 gap-8">
|
||||
<div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Unternehmen</div>
|
||||
<div class="info-value">Mercedes-Benz AG</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Abteilung</div>
|
||||
<div class="info-value">Technische Berufsausbildung (TBA)</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Standort</div>
|
||||
<div class="info-value">Marienfelde, Berlin</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Bereich</div>
|
||||
<div class="info-value">Digitale Fertigung & 3D-Druck</div>
|
||||
</div>
|
||||
<table class="info-table">
|
||||
<tr>
|
||||
<td>Unternehmen</td>
|
||||
<td>Mercedes-Benz AG</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Abteilung</td>
|
||||
<td>Technische Berufsausbildung (TBA)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Standort</td>
|
||||
<td>Marienfelde, Berlin</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Bereich</td>
|
||||
<td>Digitale Fertigung & 3D-Druck</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Adresse</div>
|
||||
<div class="info-value">
|
||||
Daimlerstraße 1<br>
|
||||
12277 Berlin<br>
|
||||
Deutschland
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Website</div>
|
||||
<div class="info-value">
|
||||
<a href="https://www.mercedes-benz.com" target="_blank" class="contact-link">
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"/>
|
||||
</svg>
|
||||
mercedes-benz.com
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Telefon</div>
|
||||
<div class="info-value">
|
||||
<a href="tel:+493075668000" class="contact-link">
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"/>
|
||||
</svg>
|
||||
+49 (0) 30 7566-8000
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<table class="info-table">
|
||||
<tr>
|
||||
<td>Adresse</td>
|
||||
<td>
|
||||
Daimlerstraße 1<br>
|
||||
12277 Berlin<br>
|
||||
Deutschland
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Website</td>
|
||||
<td><a href="https://www.mercedes-benz.com" target="_blank" class="link-style">mercedes-benz.com</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Telefon</td>
|
||||
<td><a href="tel:+493075668000" class="link-style">+49 (0) 30 7566-8000</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Projektverantwortlicher -->
|
||||
<div class="glass-card p-8">
|
||||
<div class="section-icon">
|
||||
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"/>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<h2 class="text-3xl font-bold mb-6" style="color: var(--text-primary);">Projektverantwortlicher</h2>
|
||||
<div class="clean-card">
|
||||
<h2 class="section-title">Projektverantwortlicher</h2>
|
||||
|
||||
<div class="grid md:grid-cols-2 gap-8">
|
||||
<div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Name</div>
|
||||
<div class="info-value">Till Tomczak</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Position</div>
|
||||
<div class="info-value">Fachinformatiker für digitale Vernetzung</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Projekt</div>
|
||||
<div class="info-value">IHK-Projektarbeit: MYP System</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Status</div>
|
||||
<div class="info-value">
|
||||
<div class="status-badge">
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/>
|
||||
</svg>
|
||||
Auszubildender
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="info-table">
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>Till Tomczak</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Position</td>
|
||||
<td>Fachinformatiker für digitale Vernetzung</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Projekt</td>
|
||||
<td>IHK-Projektarbeit: MYP System</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Status</td>
|
||||
<td>Auszubildender</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">E-Mail</div>
|
||||
<div class="info-value">
|
||||
<a href="mailto:till.tomczak@mercedes-benz.com" class="contact-link">
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 12a4 4 0 10-8 0 4 4 0 008 0zm0 0v1.5a2.5 2.5 0 005 0V12a9 9 0 10-9 9m4.5-1.206a8.959 8.959 0 01-4.5 1.207"/>
|
||||
</svg>
|
||||
till.tomczak@mercedes-benz.com
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Ausbildung</div>
|
||||
<div class="info-value">Mercedes-Benz AG - TBA Marienfelde</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Zweck</div>
|
||||
<div class="info-value">Interne Systemschulung & 3D-Druck Management</div>
|
||||
</div>
|
||||
<table class="info-table">
|
||||
<tr>
|
||||
<td>E-Mail</td>
|
||||
<td><a href="mailto:till.tomczak@mercedes-benz.com" class="link-style">till.tomczak@mercedes-benz.com</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Ausbildung</td>
|
||||
<td>Mercedes-Benz AG - TBA Marienfelde</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Zweck</td>
|
||||
<td>Interne Systemschulung & 3D-Druck Management</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Projekt Highlight -->
|
||||
<div class="project-highlight">
|
||||
<h3 class="text-2xl font-bold mb-4" style="color: var(--text-primary);">🚀 MYP Platform - Das Projekt</h3>
|
||||
<p class="text-lg leading-relaxed" style="color: var(--text-secondary);">
|
||||
<!-- Projekt Info -->
|
||||
<div class="project-box">
|
||||
<h3 class="text-xl font-bold mb-3" style="color: var(--text-primary);">MYP Platform - Das Projekt</h3>
|
||||
<p style="color: var(--text-secondary);">
|
||||
Das <strong>MYP System (Manage Your Printers)</strong> wurde als IHK-Projektarbeit für die Ausbildung zum
|
||||
Fachinformatiker für digitale Vernetzung entwickelt. Es revolutioniert die Verwaltung von 3D-Druckern
|
||||
in der Mercedes-Benz TBA Marienfelde mit intelligenter Smart-Plug-Steuerung, automatisiertem
|
||||
Benutzer-Management und fortschrittlichem Energiemonitoring.
|
||||
Fachinformatiker für digitale Vernetzung entwickelt. Es dient der zentralen Verwaltung von 3D-Druckern
|
||||
in der Mercedes-Benz TBA Marienfelde mit Smart-Plug-Integration und Energiemonitoring.
|
||||
</p>
|
||||
|
||||
<div class="grid grid-cols-2 md:grid-cols-4 gap-4 mt-6">
|
||||
<div class="text-center">
|
||||
<div class="text-2xl font-bold" style="color: var(--mb-primary);">v3.0.0</div>
|
||||
<div class="text-sm" style="color: var(--text-muted);">Version</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div class="text-2xl font-bold" style="color: var(--mb-primary);">2025</div>
|
||||
<div class="text-sm" style="color: var(--text-muted);">Entwickelt</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div class="text-2xl font-bold" style="color: var(--mb-primary);">Flask</div>
|
||||
<div class="text-sm" style="color: var(--text-muted);">Framework</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div class="text-2xl font-bold" style="color: var(--mb-primary);">PWA</div>
|
||||
<div class="text-sm" style="color: var(--text-muted);">Ready</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Rechtliche Angaben -->
|
||||
<div class="glass-card p-8">
|
||||
<div class="section-icon">
|
||||
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<h2 class="text-3xl font-bold mb-6" style="color: var(--text-primary);">Rechtliche Angaben</h2>
|
||||
<div class="clean-card">
|
||||
<h2 class="section-title">Rechtliche Angaben</h2>
|
||||
|
||||
<div class="grid md:grid-cols-2 gap-8">
|
||||
<div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Registergericht</div>
|
||||
<div class="info-value">Amtsgericht Stuttgart</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Handelsregister</div>
|
||||
<div class="info-value">HRB 19360</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">USt-IdNr.</div>
|
||||
<div class="info-value">DE811944017</div>
|
||||
</div>
|
||||
<div class="info-grid">
|
||||
<div class="info-label">Steuernummer</div>
|
||||
<div class="info-value">99073/00159</div>
|
||||
</div>
|
||||
<table class="info-table">
|
||||
<tr>
|
||||
<td>Registergericht</td>
|
||||
<td>Amtsgericht Stuttgart</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Handelsregister</td>
|
||||
<td>HRB 19360</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>USt-IdNr.</td>
|
||||
<td>DE811944017</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Steuernummer</td>
|
||||
<td>99073/00159</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4 class="text-lg font-semibold mb-4" style="color: var(--text-primary);">Vorstand Mercedes-Benz AG</h4>
|
||||
<div class="space-y-2" style="color: var(--text-secondary);">
|
||||
<div class="flex justify-between">
|
||||
<span>Ola Källenius</span>
|
||||
<span class="text-sm" style="color: var(--text-muted);">(Vorsitzender)</span>
|
||||
</div>
|
||||
<div>Jörg Burzer</div>
|
||||
<div>Renata Jungo Brüngger</div>
|
||||
<div>Sabine Kohleisen</div>
|
||||
<div>Harald Wilhelm</div>
|
||||
<h4 class="font-semibold mb-3" style="color: var(--text-primary);">Vorstand Mercedes-Benz AG</h4>
|
||||
<div style="color: var(--text-secondary);">
|
||||
<p>Ola Källenius <span style="color: var(--text-muted);">(Vorsitzender)</span></p>
|
||||
<p>Jörg Burzer</p>
|
||||
<p>Renata Jungo Brüngger</p>
|
||||
<p>Sabine Kohleisen</p>
|
||||
<p>Harald Wilhelm</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Navigation -->
|
||||
<div class="glass-card p-8">
|
||||
<div class="clean-card">
|
||||
<div class="nav-buttons">
|
||||
<a href="{{ url_for('index') }}" class="btn-primary flex items-center gap-3">
|
||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"/>
|
||||
</svg>
|
||||
Zur Startseite
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('legal.privacy') }}" class="btn-success flex items-center gap-3">
|
||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/>
|
||||
</svg>
|
||||
Datenschutz
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('legal.legal') }}" class="btn-secondary flex items-center gap-3">
|
||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>
|
||||
</svg>
|
||||
Rechtliche Hinweise
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('index') }}" class="btn-primary">Zur Startseite</a>
|
||||
<a href="{{ url_for('legal.privacy') }}" class="btn-success">Datenschutz</a>
|
||||
<a href="{{ url_for('legal.legal') }}" class="btn-secondary">Rechtliche Hinweise</a>
|
||||
{% if current_user.is_authenticated %}
|
||||
<a href="{{ url_for('dashboard') }}" class="btn-secondary flex items-center gap-3">
|
||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"/>
|
||||
</svg>
|
||||
Dashboard
|
||||
</a>
|
||||
<a href="{{ url_for('dashboard') }}" class="btn-secondary">Dashboard</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="text-center py-8" style="color: var(--text-muted);">
|
||||
<div class="text-center py-6" style="color: var(--text-muted);">
|
||||
<p class="text-sm">
|
||||
Letzte Aktualisierung: 19.06.2025 | Mercedes-Benz AG TBA Marienfelde | MYP Platform v3.0.0
|
||||
</p>
|
||||
|
Reference in New Issue
Block a user