chore: remove obsolete Android app configuration files
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s
- Deleted build.gradle.kts, gradle.properties, and gradlew files as part of the cleanup process. - Removed local.properties and various generated files from the .gradle directory to streamline the project structure. - Cleared out unnecessary build artifacts and intermediate files to improve project maintainability.
This commit is contained in:
@@ -125,6 +125,10 @@
|
||||
<span class="nav-icon">🧩</span>
|
||||
{{ $t('navigation.teamManagement') }}
|
||||
</router-link>
|
||||
<router-link v-if="hasPermission('members', 'read')" to="/billing" class="nav-link" :title="$t('navigation.billing')">
|
||||
<span class="nav-icon">🧾</span>
|
||||
{{ $t('navigation.billing') }}
|
||||
</router-link>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
"navigation": {
|
||||
"home": "Startseite",
|
||||
"members": "Mitglieder",
|
||||
"billing": "Abrechnung",
|
||||
"orders": "Bestellungen",
|
||||
"diary": "Tagebuch",
|
||||
"approvals": "Freigaben",
|
||||
@@ -467,6 +468,75 @@
|
||||
"club": "Verein",
|
||||
"member": "Mitglied"
|
||||
},
|
||||
"billing": {
|
||||
"title": "Abrechnung",
|
||||
"subtitle": "Erstelle deine eigene monatliche Übungsstunden-Abrechnung.",
|
||||
"step1": "Schritt 1: Vorlage hinterlegen",
|
||||
"step2": "Schritt 2: Abrechnungslauf anlegen",
|
||||
"step3": "Schritt 3: PDF erzeugen und herunterladen",
|
||||
"templateSection": "Vorlage hochladen",
|
||||
"templateName": "Vorlagenname",
|
||||
"templateDescription": "Beschreibung",
|
||||
"templatePdf": "PDF-Vorlage",
|
||||
"uploadTemplate": "Vorlage speichern",
|
||||
"deleteTemplate": "Vorlage löschen",
|
||||
"deleteTemplateConfirm": "Diese Vorlage wirklich löschen?",
|
||||
"deleteTemplateSuccess": "Vorlage wurde gelöscht.",
|
||||
"deleteTemplateError": "Vorlage konnte nicht gelöscht werden.",
|
||||
"noTemplates": "Noch keine Vorlagen vorhanden.",
|
||||
"mappingTitle": "Positions-Mapping",
|
||||
"mappingHint": "Koordinaten je Feld einmalig anpassen und speichern. Diese Positionen werden bei „PDF erzeugen“ verwendet.",
|
||||
"openMappingEditor": "Mapping per Klick",
|
||||
"mappingEditorTitle": "Felder im PDF per Klick zuweisen",
|
||||
"mappingEditorHint": "Feld auswählen, dann in die PDF klicken. Die Position wird direkt übernommen.",
|
||||
"mappingField": "Feld",
|
||||
"autoSuggestMapping": "Auto-Vorschläge",
|
||||
"resetIbanBoxes": "IBAN-Boxen reset",
|
||||
"ibanBoxesReset": "IBAN-Boxen wurden zurückgesetzt.",
|
||||
"ibanLearnStart": "IBAN einlernen",
|
||||
"ibanLearnCancel": "IBAN-Lernen abbrechen",
|
||||
"ibanLearnStep1": "IBAN-Lernen: bitte auf die erste zu nutzende IBAN-Box klicken.",
|
||||
"ibanLearnStep2": "IBAN-Lernen: bitte auf die letzte zu nutzende IBAN-Box klicken.",
|
||||
"ibanLearnDone": "IBAN-Boxen wurden aus dem gewählten Bereich zugewiesen.",
|
||||
"mappingSuggested": "Auto-Vorschläge wurden eingetragen. Bitte prüfen und feinjustieren.",
|
||||
"mappingSuggestError": "Auto-Vorschläge konnten nicht ermittelt werden.",
|
||||
"mappingPreviewError": "PDF-Vorschau für Mapping konnte nicht geladen werden.",
|
||||
"saveMapping": "Mapping speichern",
|
||||
"mappingSaved": "Mapping wurde gespeichert.",
|
||||
"mappingSaveError": "Mapping konnte nicht gespeichert werden.",
|
||||
"runSection": "Abrechnungslauf",
|
||||
"template": "Vorlage",
|
||||
"monthFrom": "Monat von",
|
||||
"monthTo": "Monat bis",
|
||||
"selfRecipientName": "Eigener Name",
|
||||
"iban": "IBAN",
|
||||
"ibanWithoutCountry": "ohne Länderkennung",
|
||||
"hourlyRate": "Stunden-Gehalt",
|
||||
"hoursTotal": "Anzahl Stunden",
|
||||
"hoursAutoHint": "Anzahl Stunden wird automatisch aus den Trainingstagen berechnet: {hours} h ({count} Einheiten).",
|
||||
"sessionTime": "Zeit",
|
||||
"sessionLabel": "Bezeichner",
|
||||
"sessionHours": "Stunden",
|
||||
"sameAccountCheckbox": "Gleiches Konto wie letzte Abrechnung",
|
||||
"omitField": "nicht angeben",
|
||||
"noSessionsInRange": "Keine Trainingseinheiten im gewählten Zeitraum gefunden.",
|
||||
"locationText": "Ort",
|
||||
"documentDate": "Datum",
|
||||
"generateOwnBilling": "Eigene Abrechnung erzeugen",
|
||||
"generatePdf": "PDF erzeugen",
|
||||
"generateAndDownloadPdf": "PDF erzeugen + herunterladen",
|
||||
"generatingPdf": "Erzeuge PDF...",
|
||||
"generateSuccess": "PDF wurde erzeugt.",
|
||||
"generateError": "PDF konnte nicht erzeugt werden.",
|
||||
"downloadPdf": "PDF herunterladen",
|
||||
"downloadError": "PDF konnte nicht heruntergeladen werden.",
|
||||
"deleteBilling": "Löschen",
|
||||
"deleteConfirm": "Diese erzeugte Abrechnung wirklich löschen?",
|
||||
"deleteSuccess": "Abrechnung wurde gelöscht.",
|
||||
"deleteError": "Abrechnung konnte nicht gelöscht werden.",
|
||||
"runsTitle": "Bisherige Abrechnungen",
|
||||
"noRuns": "Noch keine Abrechnungen vorhanden."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Trainingstagebuch",
|
||||
"date": "Datum",
|
||||
|
||||
@@ -32,6 +32,7 @@ const ClickTtView = () => import('./views/ClickTtView.vue');
|
||||
const MemberTransferSettingsView = () => import('./views/MemberTransferSettingsView.vue');
|
||||
const PersonalSettings = () => import('./views/PersonalSettings.vue');
|
||||
const OrdersView = () => import('./views/OrdersView.vue');
|
||||
const BillingView = () => import('./views/BillingView.vue');
|
||||
const Impressum = () => import('./views/Impressum.vue');
|
||||
const Datenschutz = () => import('./views/Datenschutz.vue');
|
||||
|
||||
@@ -66,6 +67,7 @@ const routes = [
|
||||
{ path: '/member-transfer-settings', name: 'member-transfer-settings', component: MemberTransferSettingsView },
|
||||
{ path: '/personal-settings', name: 'personal-settings', component: PersonalSettings },
|
||||
{ path: '/orders', name: 'orders', component: OrdersView },
|
||||
{ path: '/billing', name: 'billing', component: BillingView },
|
||||
{ path: '/impressum', name: 'impressum', component: Impressum, meta: { public: true } },
|
||||
{ path: '/datenschutz', name: 'datenschutz', component: Datenschutz, meta: { public: true } },
|
||||
];
|
||||
|
||||
1375
frontend/src/views/BillingView.vue
Normal file
1375
frontend/src/views/BillingView.vue
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user