Erweiterungen
This commit is contained in:
@@ -127,6 +127,9 @@ public class MongoConfig {
|
|||||||
if (source.containsKey("description")) {
|
if (source.containsKey("description")) {
|
||||||
task.setDescription(source.getString("description"));
|
task.setDescription(source.getString("description"));
|
||||||
}
|
}
|
||||||
|
if (source.containsKey("optional")) {
|
||||||
|
task.setOptional(source.getBoolean("optional", false));
|
||||||
|
}
|
||||||
if (source.containsKey("completed")) {
|
if (source.containsKey("completed")) {
|
||||||
task.setCompleted(source.getBoolean("completed", false));
|
task.setCompleted(source.getBoolean("completed", false));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import de.assecutor.votianlt.dto.JobWithRelatedDataDTO;
|
|||||||
import de.assecutor.votianlt.model.CargoItem;
|
import de.assecutor.votianlt.model.CargoItem;
|
||||||
import de.assecutor.votianlt.model.task.BaseTask;
|
import de.assecutor.votianlt.model.task.BaseTask;
|
||||||
import de.assecutor.votianlt.model.task.ConfirmationTask;
|
import de.assecutor.votianlt.model.task.ConfirmationTask;
|
||||||
|
import de.assecutor.votianlt.model.task.TodoListTask;
|
||||||
import de.assecutor.votianlt.service.TranslationService;
|
import de.assecutor.votianlt.service.TranslationService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -127,6 +128,13 @@ class MessagingPublisherImpl implements MessagingPublisher {
|
|||||||
if (task instanceof ConfirmationTask ct && isNonBlank(ct.getButtonText())) {
|
if (task instanceof ConfirmationTask ct && isNonBlank(ct.getButtonText())) {
|
||||||
texts.add(ct.getButtonText());
|
texts.add(ct.getButtonText());
|
||||||
}
|
}
|
||||||
|
if (task instanceof TodoListTask tlt && tlt.getTodoItems() != null) {
|
||||||
|
for (String item : tlt.getTodoItems()) {
|
||||||
|
if (isNonBlank(item)) {
|
||||||
|
texts.add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -191,6 +199,22 @@ class MessagingPublisherImpl implements MessagingPublisher {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (task instanceof TodoListTask tlt && tlt.getTodoItems() != null
|
||||||
|
&& taskNode.has("taskSpecificData")) {
|
||||||
|
ObjectNode tsd = (ObjectNode) taskNode.get("taskSpecificData");
|
||||||
|
if (tsd.has("todoItems")) {
|
||||||
|
ArrayNode translatedItems = objectMapper.createArrayNode();
|
||||||
|
for (String item : tlt.getTodoItems()) {
|
||||||
|
if (isNonBlank(item)) {
|
||||||
|
List<TranslationService.Translation> t = translations.get(item);
|
||||||
|
translatedItems.add(t != null ? createTranslationArray(t)
|
||||||
|
: objectMapper.createArrayNode().add(item));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tsd.set("todoItems", translatedItems);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,9 @@ public abstract class BaseTask {
|
|||||||
@Field("description")
|
@Field("description")
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
|
@Field("optional")
|
||||||
|
private boolean optional = false;
|
||||||
|
|
||||||
@Field("completed")
|
@Field("completed")
|
||||||
private boolean completed = false;
|
private boolean completed = false;
|
||||||
|
|
||||||
|
|||||||
@@ -2156,6 +2156,7 @@ public class AddJobView extends Main implements HasDynamicTitle {
|
|||||||
BaseTask oldTask = currentTask[0];
|
BaseTask oldTask = currentTask[0];
|
||||||
|
|
||||||
newTask.setDescription(oldTask.getDescription());
|
newTask.setDescription(oldTask.getDescription());
|
||||||
|
newTask.setOptional(oldTask.isOptional());
|
||||||
newTask.setCompleted(oldTask.isCompleted());
|
newTask.setCompleted(oldTask.isCompleted());
|
||||||
newTask.setCompletedAt(oldTask.getCompletedAt());
|
newTask.setCompletedAt(oldTask.getCompletedAt());
|
||||||
newTask.setCompletedBy(oldTask.getCompletedBy());
|
newTask.setCompletedBy(oldTask.getCompletedBy());
|
||||||
@@ -2489,6 +2490,13 @@ public class AddJobView extends Main implements HasDynamicTitle {
|
|||||||
default:
|
default:
|
||||||
throw new IllegalArgumentException("Unbekannter TaskType: " + taskType);
|
throw new IllegalArgumentException("Unbekannter TaskType: " + taskType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Optional checkbox – applies to all task types
|
||||||
|
com.vaadin.flow.component.checkbox.Checkbox optionalCheckbox = new com.vaadin.flow.component.checkbox.Checkbox(
|
||||||
|
getTranslation("addjob.tasks.optional"));
|
||||||
|
optionalCheckbox.setValue(task.isOptional());
|
||||||
|
optionalCheckbox.addValueChangeListener(ev -> task.setOptional(ev.getValue()));
|
||||||
|
configContainer.add(optionalCheckbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateTodoItems(VerticalLayout todoList, BaseTask task) {
|
private void updateTodoItems(VerticalLayout todoList, BaseTask task) {
|
||||||
@@ -2781,6 +2789,7 @@ public class AddJobView extends Main implements HasDynamicTitle {
|
|||||||
BaseTask oldTask = currentTask[0];
|
BaseTask oldTask = currentTask[0];
|
||||||
|
|
||||||
newTask.setDescription(oldTask.getDescription());
|
newTask.setDescription(oldTask.getDescription());
|
||||||
|
newTask.setOptional(oldTask.isOptional());
|
||||||
newTask.setCompleted(oldTask.isCompleted());
|
newTask.setCompleted(oldTask.isCompleted());
|
||||||
newTask.setCompletedAt(oldTask.getCompletedAt());
|
newTask.setCompletedAt(oldTask.getCompletedAt());
|
||||||
newTask.setCompletedBy(oldTask.getCompletedBy());
|
newTask.setCompletedBy(oldTask.getCompletedBy());
|
||||||
|
|||||||
@@ -509,6 +509,7 @@ addjob.tasks.todolist.add=To-Do hinzufügen
|
|||||||
addjob.tasks.comment.label=Kommentar
|
addjob.tasks.comment.label=Kommentar
|
||||||
addjob.tasks.comment.placeholder=Kommentar eingeben
|
addjob.tasks.comment.placeholder=Kommentar eingeben
|
||||||
addjob.tasks.comment.required=Kommentar erforderlich
|
addjob.tasks.comment.required=Kommentar erforderlich
|
||||||
|
addjob.tasks.optional=Aufgabe ist optional
|
||||||
addjob.services.title=Leistungen
|
addjob.services.title=Leistungen
|
||||||
addjob.services.add=Leistung hinzufügen
|
addjob.services.add=Leistung hinzufügen
|
||||||
addjob.services.calculation=Berechnung
|
addjob.services.calculation=Berechnung
|
||||||
|
|||||||
@@ -610,6 +610,7 @@ register.button.resend=Siųsti kodą dar kartą
|
|||||||
register.button.back=Grįžti į pradinį puslapį
|
register.button.back=Grįžti į pradinį puslapį
|
||||||
register.notification.success=Registracija sėkminga. Prašome prisijungti.
|
register.notification.success=Registracija sėkminga. Prašome prisijungti.
|
||||||
register.notification.failed=Registracijos klaida: {0}
|
register.notification.failed=Registracijos klaida: {0}
|
||||||
|
addjob.tasks.optional=Ülesanne on valikuline
|
||||||
|
|
||||||
# CTA Button
|
# CTA Button
|
||||||
cta.freetest=Išbandykite nemokamai
|
cta.freetest=Išbandykite nemokamai
|
||||||
@@ -509,6 +509,7 @@ addjob.tasks.todolist.add=Add To-Do
|
|||||||
addjob.tasks.comment.label=Comment
|
addjob.tasks.comment.label=Comment
|
||||||
addjob.tasks.comment.placeholder=Enter comment
|
addjob.tasks.comment.placeholder=Enter comment
|
||||||
addjob.tasks.comment.required=Comment required
|
addjob.tasks.comment.required=Comment required
|
||||||
|
addjob.tasks.optional=Task is optional
|
||||||
addjob.services.title=Services
|
addjob.services.title=Services
|
||||||
addjob.services.add=Add Service
|
addjob.services.add=Add Service
|
||||||
addjob.services.calculation=Calculation
|
addjob.services.calculation=Calculation
|
||||||
|
|||||||
@@ -509,6 +509,7 @@ addjob.tasks.todolist.add=Añadir Tarea
|
|||||||
addjob.tasks.comment.label=Comentario
|
addjob.tasks.comment.label=Comentario
|
||||||
addjob.tasks.comment.placeholder=Ingresar comentario
|
addjob.tasks.comment.placeholder=Ingresar comentario
|
||||||
addjob.tasks.comment.required=Comentario obligatorio
|
addjob.tasks.comment.required=Comentario obligatorio
|
||||||
|
addjob.tasks.optional=La tarea es opcional
|
||||||
addjob.services.title=Servicios
|
addjob.services.title=Servicios
|
||||||
addjob.services.add=Añadir Servicio
|
addjob.services.add=Añadir Servicio
|
||||||
addjob.services.calculation=Cálculo
|
addjob.services.calculation=Cálculo
|
||||||
|
|||||||
@@ -509,6 +509,7 @@ addjob.tasks.todolist.add=Ajouter une Tâche
|
|||||||
addjob.tasks.comment.label=Commentaire
|
addjob.tasks.comment.label=Commentaire
|
||||||
addjob.tasks.comment.placeholder=Entrer le commentaire
|
addjob.tasks.comment.placeholder=Entrer le commentaire
|
||||||
addjob.tasks.comment.required=Commentaire requis
|
addjob.tasks.comment.required=Commentaire requis
|
||||||
|
addjob.tasks.optional=La tâche est optionnelle
|
||||||
addjob.services.title=Services
|
addjob.services.title=Services
|
||||||
addjob.services.add=Ajouter un Service
|
addjob.services.add=Ajouter un Service
|
||||||
addjob.services.calculation=Calcul
|
addjob.services.calculation=Calcul
|
||||||
|
|||||||
@@ -222,4 +222,5 @@ myinvoices.column.amount=Suma
|
|||||||
myinvoices.empty.title=Sąskaitų nėra
|
myinvoices.empty.title=Sąskaitų nėra
|
||||||
myinvoices.empty.desc=Sąskaitų nerasta.
|
myinvoices.empty.desc=Sąskaitų nerasta.
|
||||||
myinvoices.button.prev=Ankstesnis
|
myinvoices.button.prev=Ankstesnis
|
||||||
|
addjob.tasks.optional=Užduotis yra neprivaloma
|
||||||
myinvoices.button.next=Kitas
|
myinvoices.button.next=Kitas
|
||||||
@@ -222,4 +222,5 @@ myinvoices.column.amount=Summa
|
|||||||
myinvoices.empty.title=Nav rēķinu
|
myinvoices.empty.title=Nav rēķinu
|
||||||
myinvoices.empty.desc=Rēķini nav atrasti.
|
myinvoices.empty.desc=Rēķini nav atrasti.
|
||||||
myinvoices.button.prev=Iepriekšējais
|
myinvoices.button.prev=Iepriekšējais
|
||||||
|
addjob.tasks.optional=Uzdevums ir neobligāts
|
||||||
myinvoices.button.next=Nākamais
|
myinvoices.button.next=Nākamais
|
||||||
@@ -225,4 +225,5 @@ myinvoices.column.amount=Kwota
|
|||||||
myinvoices.empty.title=Brak faktur
|
myinvoices.empty.title=Brak faktur
|
||||||
myinvoices.empty.desc=Nie znaleziono faktur.
|
myinvoices.empty.desc=Nie znaleziono faktur.
|
||||||
myinvoices.button.prev=Poprzedni
|
myinvoices.button.prev=Poprzedni
|
||||||
|
addjob.tasks.optional=Zadanie jest opcjonalne
|
||||||
myinvoices.button.next=Następny
|
myinvoices.button.next=Następny
|
||||||
@@ -245,4 +245,5 @@ myinvoices.column.amount=Сумма
|
|||||||
myinvoices.empty.title=Нет счетов
|
myinvoices.empty.title=Нет счетов
|
||||||
myinvoices.empty.desc=Счета не найдены.
|
myinvoices.empty.desc=Счета не найдены.
|
||||||
myinvoices.button.prev=Назад
|
myinvoices.button.prev=Назад
|
||||||
|
addjob.tasks.optional=Задача необязательна
|
||||||
myinvoices.button.next=Далее
|
myinvoices.button.next=Далее
|
||||||
@@ -219,4 +219,5 @@ myinvoices.column.amount=Tutar
|
|||||||
myinvoices.empty.title=Fatura Yok
|
myinvoices.empty.title=Fatura Yok
|
||||||
myinvoices.empty.desc=Hiçbir fatura bulunamadı.
|
myinvoices.empty.desc=Hiçbir fatura bulunamadı.
|
||||||
myinvoices.button.prev=Önceki
|
myinvoices.button.prev=Önceki
|
||||||
|
addjob.tasks.optional=Görev isteğe bağlı
|
||||||
myinvoices.button.next=Sonraki
|
myinvoices.button.next=Sonraki
|
||||||
Reference in New Issue
Block a user