Skip to content

Commit 52c6bb6

Browse files
committed
Merge branch 'develop' into feature/rework_work_items_in_report_ui
# Conflicts: # src/main/java/de/doubleslash/keeptime/view/ReportController.java
2 parents 7a2ce28 + a914e06 commit 52c6bb6

File tree

9 files changed

+238
-187
lines changed

9 files changed

+238
-187
lines changed

src/main/java/de/doubleslash/keeptime/controller/Controller.java

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -186,32 +186,23 @@ public void editProject(final Project projectToBeUpdated, final Project newValue
186186

187187
public void editWork(final Work workToBeEdited, final Work newValuedWork) {
188188
LOG.info("Changing work '{}' to '{}'.", workToBeEdited, newValuedWork);
189-
int index = model.getPastWorkItems().size() - 1;
190-
for (int i = 0; i < model.getPastWorkItems().size(); i++) {
191-
final Work work = model.getPastWorkItems().get(i);
192-
if (work.getId() == workToBeEdited.getId()) {
193-
model.getPastWorkItems().remove(work);
194-
continue;
195-
}
196-
if (work.getStartTime().isAfter(newValuedWork.getStartTime())) {
197-
index = i;
198-
break;
199-
}
200-
}
201189

202190
workToBeEdited.setCreationDate(newValuedWork.getCreationDate());
203191
workToBeEdited.setStartTime(newValuedWork.getStartTime());
204192
workToBeEdited.setEndTime(newValuedWork.getEndTime());
205193
workToBeEdited.setNotes(newValuedWork.getNotes());
206194
workToBeEdited.setProject(newValuedWork.getProject());
207195

196+
final Work editedWork = model.getWorkRepository().save(workToBeEdited);
197+
198+
// remove old
199+
model.getPastWorkItems().removeIf(w -> (w.getId() == workToBeEdited.getId()));
200+
// add if started today
208201
final LocalDate dateNow = dateProvider.dateTimeNow().toLocalDate();
209-
if (dateNow.equals(workToBeEdited.getCreationDate())) {
210-
model.getPastWorkItems().add(index, workToBeEdited);
202+
if (dateNow.equals(editedWork.getCreationDate())) {
203+
model.getPastWorkItems().add(editedWork);
211204
}
212205

213-
model.getWorkRepository().save(workToBeEdited);
214-
215206
}
216207

217208
/**

src/main/java/de/doubleslash/keeptime/model/Model.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.Comparator;
2020

2121
import org.springframework.beans.factory.annotation.Autowired;
22+
import org.springframework.context.ConfigurableApplicationContext;
2223
import org.springframework.stereotype.Component;
2324

2425
import de.doubleslash.keeptime.model.repos.ProjectRepository;
@@ -63,6 +64,8 @@ public Model(final ProjectRepository projectRepository, final WorkRepository wor
6364
private ObservableList<Project> allProjects = FXCollections.observableArrayList();
6465

6566
protected final ObservableList<Work> pastWorkItems = FXCollections.observableArrayList();
67+
private final SortedList<Work> sortedPastWorkItems = new SortedList<>(pastWorkItems,
68+
Comparator.comparing(Work::getStartTime));
6669
public final ObjectProperty<Work> activeWorkItem = new SimpleObjectProperty<>();
6770

6871
public final ObjectProperty<Color> taskBarColor = new SimpleObjectProperty<>(ORIGINAL_TASK_BAR_FONT_COLOR);
@@ -76,6 +79,9 @@ public Model(final ProjectRepository projectRepository, final WorkRepository wor
7679
public final ObjectProperty<Boolean> useHotkey = new SimpleObjectProperty<>(false);
7780
public final ObjectProperty<Boolean> displayProjectsRight = new SimpleObjectProperty<>(false);
7881
public final ObjectProperty<Boolean> hideProjectsOnMouseExit = new SimpleObjectProperty<>(true);
82+
public final ObjectProperty<Boolean> emptyNoteReminder = new SimpleObjectProperty<>(false);
83+
84+
private ConfigurableApplicationContext springContext;
7985

8086
public void setWorkRepository(final WorkRepository workRepository) {
8187
this.workRepository = workRepository;
@@ -128,4 +134,16 @@ public ObservableList<Project> getAvailableProjects() {
128134
public ObservableList<Project> getAllProjects() {
129135
return allProjects;
130136
}
137+
138+
public void setSpringContext(final ConfigurableApplicationContext springContext) {
139+
this.springContext = springContext;
140+
}
141+
142+
public ConfigurableApplicationContext getSpringContext() {
143+
return this.springContext;
144+
}
145+
146+
public SortedList<Work> getSortedPastWorkItems() {
147+
return sortedPastWorkItems;
148+
}
131149
}

src/main/java/de/doubleslash/keeptime/model/repos/WorkRepository.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,5 @@
2727
@Repository
2828
public interface WorkRepository extends JpaRepository<Work, Long> {
2929

30-
List<Work> findByCreationDate(LocalDate creationDate);
31-
3230
List<Work> findByCreationDateOrderByStartTimeAsc(LocalDate creationDate);
3331
}

0 commit comments

Comments
 (0)