+
{{'turnover.price.total' | i18n:(overview[1] | number: '1.2-2')}} {{'turnover.timeInvestment.total' | i18n:(overview[2] | number: '1.1-1')}}
diff --git a/buntspecht-frontend/src/app/ui/turnovers/turnovers.ui.scss b/buntspecht-frontend/src/app/ui/turnovers/turnovers.ui.scss
index 2293133..1d2adae 100644
--- a/buntspecht-frontend/src/app/ui/turnovers/turnovers.ui.scss
+++ b/buntspecht-frontend/src/app/ui/turnovers/turnovers.ui.scss
@@ -13,4 +13,8 @@ tr.turnover {
@media screen and (min-width: 992px) {
min-width: 160px;
}
+}
+
+.overview {
+ margin: 5px;
}
\ No newline at end of file
diff --git a/buntspecht-frontend/src/app/ui/turnovers/turnovers.ui.ts b/buntspecht-frontend/src/app/ui/turnovers/turnovers.ui.ts
index 1029b87..48321b4 100644
--- a/buntspecht-frontend/src/app/ui/turnovers/turnovers.ui.ts
+++ b/buntspecht-frontend/src/app/ui/turnovers/turnovers.ui.ts
@@ -2,6 +2,8 @@ import { Component, EventEmitter, HostListener, Input, OnInit, Output } from '@a
import { PageEvent } from '@angular/material/paginator';
import { Sort } from '@angular/material/sort';
import { Router } from '@angular/router';
+import moment from 'moment';
+import { I18nService } from 'src/app/services/i18n.service';
@Component({
selector: 'ui-turnovers',
@@ -23,7 +25,10 @@ export class UiTurnovers implements OnInit {
columns: string[] = [];
- constructor(private router: Router) { }
+ constructor(
+ private router: Router,
+ private i18n: I18nService
+ ) { }
ngOnInit(): void {
this.applyResize(window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth);
@@ -36,19 +41,56 @@ export class UiTurnovers implements OnInit {
applyResize(width: number) {
if (width < 992) {
- this.columns = ['customer', 'price'];
+ this.columns = ['customer', 'price', 'motif'];
} else {
- this.columns = ['customer', 'motif', 'price', 'timeInvestment', 'remark', 'materialConsumption', 'updated'];
+ this.columns = ['customer', 'motif', 'price', 'timeInvestment', 'remark', 'materialConsumption', 'created', 'updated'];
}
if (this.username) {
this.columns.unshift('username');
- } else {
- this.columns.push('motif');
}
- this.columns.unshift('created');
+ this.columns.unshift('dueDate');
}
select(row: any) {
this.router.navigateByUrl('/t/' + row.id);
}
+
+ getCsvRows(): any[] {
+ if (this.turnovers.total) {
+ let rows = [[
+ this.i18n.get('turnover.dueDate'),
+ this.i18n.get('turnover.customer'),
+ this.i18n.get('turnover.motif'),
+ this.i18n.get('turnover.price'),
+ this.i18n.get('turnover.timeInvestment'),
+ this.i18n.get('turnover.remark'),
+ this.i18n.get('turnover.materialConsumption'),
+ this.i18n.get('turnover.created'),
+ this.i18n.get('turnover.updated')]];
+
+ if (this.username) {
+ rows[0].unshift(
+ this.i18n.get('turnover.username'));
+ }
+
+ this.turnovers.results.forEach(turnover => {
+ rows[rows.length] = [
+ moment(turnover.dueDate).format('L'),
+ turnover.customer,
+ turnover.motif,
+ turnover.price.toFixed(2),
+ turnover.timeInvestment.toFixed(1),
+ turnover.remark,
+ turnover.materialConsumption,
+ moment(turnover.created).format(this.i18n.get('turnovers.export.dateformat')),
+ moment(turnover.updated).format(this.i18n.get('turnovers.export.dateformat'))
+ ]
+ if (this.username) {
+ rows[rows.length - 1].unshift(turnover.username);
+ }
+ });
+ return rows;
+ }
+ return [];
+ }
}
diff --git a/buntspecht-frontend/src/assets/i18n/de-informal.json b/buntspecht-frontend/src/assets/i18n/de-informal.json
index b111d8e..dc25941 100644
--- a/buntspecht-frontend/src/assets/i18n/de-informal.json
+++ b/buntspecht-frontend/src/assets/i18n/de-informal.json
@@ -34,6 +34,11 @@
".": "Verwaltung",
"filter": {
"created": {
+ ".": "Erstellt",
+ "from": "von",
+ "to": "bis"
+ },
+ "dueDate": {
".": "Zeitraum",
"from": "von",
"to": "bis"
@@ -104,6 +109,12 @@
".": "Kunde",
"error": "Angabe von Kunde erforderlich"
},
+ "dueDate": {
+ ".": "Fälligkeitsdatum",
+ "label": {
+ ".": "Fällig am {0}"
+ }
+ },
"delete": "Löschen",
"edit": "Buchung bearbeiten",
"info": "Neue Buchung erstellen",
@@ -134,14 +145,24 @@
},
"turnovers": {
".": "Buchungen",
+ "export": {
+ ".": "Als CSV exportieren",
+ "dateformat": "DD.MM.YYYY-HH:mm"
+ },
"filter": {
+ ".": "Filter",
"created": {
+ ".": "Erstellt",
+ "from": "von",
+ "to": "bis"
+ },
+ "dueDate": {
".": "Zeitraum",
"from": "von",
"to": "bis"
},
"customer": "Kunde durchsuchen",
- "motif": "Motif durchsuchen",
+ "motif": "Motiv durchsuchen",
"username": "User auswählen"
},
"mine": "Eigene Buchungen"
diff --git a/buntspecht-frontend/src/assets/icons/favicon.png b/buntspecht-frontend/src/assets/icons/favicon.png
index 969e18b..bc41067 100644
Binary files a/buntspecht-frontend/src/assets/icons/favicon.png and b/buntspecht-frontend/src/assets/icons/favicon.png differ
diff --git a/buntspecht-frontend/src/assets/icons/icon-128x128.png b/buntspecht-frontend/src/assets/icons/icon-128x128.png
index a4dd4ef..917864c 100644
Binary files a/buntspecht-frontend/src/assets/icons/icon-128x128.png and b/buntspecht-frontend/src/assets/icons/icon-128x128.png differ
diff --git a/buntspecht-frontend/src/assets/icons/icon-144x144.png b/buntspecht-frontend/src/assets/icons/icon-144x144.png
index 3cfd368..dfe4fed 100644
Binary files a/buntspecht-frontend/src/assets/icons/icon-144x144.png and b/buntspecht-frontend/src/assets/icons/icon-144x144.png differ
diff --git a/buntspecht-frontend/src/assets/icons/icon-152x152.png b/buntspecht-frontend/src/assets/icons/icon-152x152.png
index 6849709..06e16c2 100644
Binary files a/buntspecht-frontend/src/assets/icons/icon-152x152.png and b/buntspecht-frontend/src/assets/icons/icon-152x152.png differ
diff --git a/buntspecht-frontend/src/assets/icons/icon-192x192.png b/buntspecht-frontend/src/assets/icons/icon-192x192.png
index 283cc7b..972dc6f 100644
Binary files a/buntspecht-frontend/src/assets/icons/icon-192x192.png and b/buntspecht-frontend/src/assets/icons/icon-192x192.png differ
diff --git a/buntspecht-frontend/src/assets/icons/icon-384x384.png b/buntspecht-frontend/src/assets/icons/icon-384x384.png
index 6797e8e..438cb8f 100644
Binary files a/buntspecht-frontend/src/assets/icons/icon-384x384.png and b/buntspecht-frontend/src/assets/icons/icon-384x384.png differ
diff --git a/buntspecht-frontend/src/assets/icons/icon-512x512.png b/buntspecht-frontend/src/assets/icons/icon-512x512.png
index f8a8db2..6e84a71 100644
Binary files a/buntspecht-frontend/src/assets/icons/icon-512x512.png and b/buntspecht-frontend/src/assets/icons/icon-512x512.png differ
diff --git a/buntspecht-frontend/src/assets/icons/icon-72x72.png b/buntspecht-frontend/src/assets/icons/icon-72x72.png
index 86598a1..9b2c4cb 100644
Binary files a/buntspecht-frontend/src/assets/icons/icon-72x72.png and b/buntspecht-frontend/src/assets/icons/icon-72x72.png differ
diff --git a/buntspecht-frontend/src/assets/icons/icon-96x96.png b/buntspecht-frontend/src/assets/icons/icon-96x96.png
index 013ee58..51ee659 100644
Binary files a/buntspecht-frontend/src/assets/icons/icon-96x96.png and b/buntspecht-frontend/src/assets/icons/icon-96x96.png differ
diff --git a/buntspecht-frontend/src/assets/icons/logo.svg b/buntspecht-frontend/src/assets/icons/logo.svg
deleted file mode 100644
index eefc7d4..0000000
--- a/buntspecht-frontend/src/assets/icons/logo.svg
+++ /dev/null
@@ -1,183 +0,0 @@
-
-
-
-
diff --git a/buntspecht-frontend/src/styles.scss b/buntspecht-frontend/src/styles.scss
index abc76ab..fbe1c77 100644
--- a/buntspecht-frontend/src/styles.scss
+++ b/buntspecht-frontend/src/styles.scss
@@ -360,6 +360,10 @@ a[href*="//"]::after {
app-root {
background-color: #303030;
}
+
+ a {
+ color: $accent;
+ }
table.default-table {
diff --git a/buntspecht-frontend/src/variables.scss b/buntspecht-frontend/src/variables.scss
index 82bcf3d..826d837 100644
--- a/buntspecht-frontend/src/variables.scss
+++ b/buntspecht-frontend/src/variables.scss
@@ -18,8 +18,8 @@ $light-theme: mat.m2-define-light-theme((color: (primary: $light-primary,
// Define an alternate dark theme.
$dark-theme: mat.m2-define-dark-theme((color: (primary: $dark-primary,
- accent: $light-accent,
- warn: $light-warn,
+ accent: $dark-accent,
+ warn: $dark-warn,
)));
$primary: mat.get-theme-color($light-theme, primary, default);