Erweitere VoTiAn NG um Fachfunktionen und verbessere die Listenoberfläche
Ergänze Auftragsbearbeitung, Disposition, Stammdaten, Kunden- und Transporteurportale, Lagerverwaltung, Abrechnung, Exporte und Statistik. Füge Kontoeinstellungen, Mitteilungen, Automatikdienste und Betriebsstatus sowie die zugehörigen Tests und PHP-Abgleichsdokumentation hinzu. Vergrößere die persönlichen Auftragslisten auf einheitliche Höhen und richte Statusanzeigen sowie die Ranking-Vorschau-Steuerelemente bündig aus. Validierung: 44 Frontendtests und Produktionsbuild erfolgreich. Backend funktional unverändert gegenüber dem vollständigen Lauf mit 1.624 erfolgreichen und drei übersprungenen Tests. Layout im Browser und lokale Bereitstellung geprüft.
This commit is contained in:
1 parent
363bc27c26
commit
781a2b82dc
1165 files changed
+74986
-1028
No files matched your search
@@ -0,0 +1,24 @@
|
||||
package de.stadtbote.votian;
|
||||
|
||||
import java.time.*;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Map;
|
||||
import static de.stadtbote.votian.LegacyMapping.*;
|
||||
import static de.stadtbote.votian.OrderEntryCatalog.invalid;
|
||||
|
||||
/** jobs2 stores the selected acceptance clock time on the current Berlin date. */
|
||||
final class CustomerEntryAcceptance {
|
||||
static LocalDateTime resolve(String time, boolean enabled, Clock clock) {
|
||||
if(time==null || time.isBlank())return null;
|
||||
if(!enabled)throw invalid("Die Annahmezeit ist für diese Niederlassung nicht freigegeben.");
|
||||
if(!time.matches("(?:[01][0-9]|2[0-3]):[0-5][0-9]"))throw invalid("Bitte die Annahmezeit im Format HH:mm angeben.");
|
||||
return LocalDate.now(clock.withZone(ZoneId.of("Europe/Berlin"))).atTime(LocalTime.parse(time));
|
||||
}
|
||||
static OrderEntryModels.Quote quote(OrderEntryModels.Request request,OrderEntryModels.Quote quote) {
|
||||
return request.acceptUntil()==null?quote:quote.withMediationDeadline(quote.mediationDeadline(),LegacyOrderPricing.hash(quote.fingerprint()+"|customer-acceptance|"+request.acceptUntil()));
|
||||
}
|
||||
static String load(Map<String,Object> job,boolean enabled) {
|
||||
var at=dateTime(job,"jb_waittime");
|
||||
return enabled&&at!=null?at.format(DateTimeFormatter.ofPattern("HH:mm")):null;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user