This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/causeway-app-petclinic.git

commit 59c28d8cf508e2b0ae6dc3bf1115f7a864954586
Author: Dan Haywood <[email protected]>
AuthorDate: Sun May 26 23:33:16 2024 +0100

    updates HomePageViewModel, adds futureVisits collection
---
 .../application/services/homepage/HomePageViewModel.java    | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git 
a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
 
b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
index fa83952..84d355a 100644
--- 
a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
+++ 
b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.java
@@ -1,5 +1,6 @@
 package domainapp.webapp.application.services.homepage;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 import javax.inject.Inject;
@@ -13,10 +14,13 @@ import org.apache.causeway.applib.annotation.HomePage;
 import org.apache.causeway.applib.annotation.Nature;
 import org.apache.causeway.applib.annotation.ObjectSupport;
 import org.apache.causeway.applib.annotation.TableDecorator;
+import org.apache.causeway.applib.services.clock.ClockService;
 
 import domainapp.modules.petowner.dom.petowner.PetOwner;
 import domainapp.modules.petowner.dom.petowner.PetOwners;
 import domainapp.modules.simple.SimpleModule;
+import domainapp.modules.visit.dom.visit.Visit;
+import domainapp.modules.visit.dom.visit.VisitRepository;
 
 @Named(SimpleModule.NAMESPACE + ".HomePageViewModel")
 @DomainObject(nature = Nature.VIEW_MODEL)
@@ -34,5 +38,14 @@ public class HomePageViewModel {
         return petOwners.listAll();
     }
 
+    @Collection
+    @CollectionLayout(tableDecorator = TableDecorator.DatatablesNet.class)
+    public List<Visit> getFutureVisits() {                                  // 
<.>
+        LocalDateTime now = clockService.getClock().nowAsLocalDateTime();
+        return visitRepository.findByVisitAtAfter(now);
+    }
+
+    @Inject ClockService clockService;
+    @Inject VisitRepository visitRepository;
     @Inject PetOwners petOwners;
 }

Reply via email to