Vandaag heb ik verder gewerkt aan de functie van GoedGebeld om contactpersonen en bedrijven samen te voegen. De functie was grotendeels klaar, maar er waren nog een paar optimalisaties mogelijk. Bijvoorbeeld zat er nog veel Javascript in de merge-pagina’s, vooral voor het openen van de tabel wanneer je in een zoekveld zoekt naar subbedrijven om te mergen met het hoofdbedrijf. Dit heb ik opgelost door de bedrijf- en contactpersonentabellen in een aparte file te zetten, de data eraan mee te geven via de controller en deze vervolgens mee te geven aan de Ajax-request die wordt uitgevoerd bij het zoeken in het zoekveld.
Daarnaast heb ik geleerd hoe ik een When-functie kan gebruiken in queries. Dit was nodig voor de zoekfunctie in de controller wanneer je naar bedrijven of contactpersonen zoekt. Aangezien ik het hoofdbedrijf als parameter meegaf, moest dat bedrijf worden uitgesloten van de zoekresultaten. Ik had dit ook met een if-statement kunnen doen, maar ik vond when makkelijker en overzichtelijker.
Ook heb ik geleerd dat het beter is om je controllers zo veel mogelijk te splitsen. Als je bijvoorbeeld een Company controller hebt, moet je die eigenlijk alleen gebruiken voor de standaard CRUD-acties. Een andere actie, zoals het mergen van bedrijven, kan beter in een andere controller.
Tot slot heb ik geleerd om altijd return types te gebruiken voor de functies in de controller.
