Skip to content
Snippets Groups Projects
Commit f085865d authored by Matej Dipčár's avatar Matej Dipčár Committed by Ondřej Hrdlička
Browse files

Make TaskDialog not create a new Task instance if it's editing one

parent f38488bf
No related branches found
No related tags found
2 merge requests!52Final project MR,!50Bugfix
......@@ -42,6 +42,10 @@ public class Task implements ITask, Identifiable {
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getDueDateString() {
return dueDate.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG));
......@@ -50,6 +54,10 @@ public class Task implements ITask, Identifiable {
public LocalDate getDueDate() {
return dueDate;
}
public void setDueDate(LocalDate dueDate) {
this.dueDate = dueDate;
}
public TaskStatus getTaskStatus() {
return taskStatus;
......@@ -106,11 +114,19 @@ public class Task implements ITask, Identifiable {
public Long getEstimatedTime() {
return estimatedTime.getStandardHours();
}
public void setEstimatedTime(Duration estimatedTime) {
this.estimatedTime = estimatedTime;
}
@Override
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public boolean shouldShowUrgency() {
return isUrgent() && !this.taskStatus.equals(TaskStatus.FINISHED);
......
......@@ -4,6 +4,7 @@ import cz.muni.fi.pv168.project.data.task.Task;
import cz.muni.fi.pv168.project.model.LocalDateModel;
import org.jdatepicker.DateModel;
import org.jdatepicker.JDatePicker;
import org.joda.time.Duration;
import javax.swing.JLabel;
import javax.swing.JPanel;
......@@ -61,24 +62,23 @@ public class TaskDialog extends AbstractLaidOutDialog<Task> {
@Override
Task getEntity() {
var task = Task.builder(
titleField.getText(), Long.parseLong(estimatedTimeField.getText()), (LocalDate) datePicker.getModel().getValue()
)
if (entity != null) {
entity.setTitle(titleField.getText());
entity.setDescription(descriptionField.getText());
entity.setEstimatedTime(Duration.standardHours(Long.parseLong(estimatedTimeField.getText())));
entity.setDueDate((LocalDate) datePicker.getModel().getValue());
return entity;
}
return Task.builder(
titleField.getText(), Long.parseLong(estimatedTimeField.getText()), (LocalDate) datePicker.getModel().getValue()
)
.setDescription(descriptionField.getText())
.setCategories(List.of())
.setSubTasks(List.of())
.setDependencyTasks(List.of())
.build();
if (entity != null) {
task.setTaskStatus(entity.getTaskStatus());
task.setCategories(entity.getCategories());
task.setSubTasks(entity.getSubTasks());
task.setDependencyTasks(entity.getDependencyTasks());
task.setId(entity.getId());
}
return task;
}
public void setEntity(Task initialEntity) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment