Code:
<var class="onlineexpenses.domain.Vehicle" name="vehicle"/>
<view-state id="manageVehicles" >
<on-entry>
<evaluate expression="personService.getVehiclesForUser(portalUser.collarNumber)" result="viewScope.userVehicles"></evaluate>
</on-entry>
<transition on="addVehicle" to="addVehicle" ></transition>
<transition on="cancel" to="cancel" ></transition>
</view-state>
<view-state id="addVehicle" model="vehicle" >
<binder>
<binding property="registration"/>
<binding property="description"/>
<binding property="friendlyName"/>
<binding property="cc"/>
<binding property="defaultVehicleFlag"/>
</binder>
<transition on="cancel" to="manageVehicles" bind="false" ></transition>
<transition on="save" to="saveVehicle" bind="true" ></transition>
</view-state>
<action-state id="saveVehicle">
<on-entry>
<evaluate expression="portalUser.collarNumber" result="vehicle.person.collarNumber"></evaluate>
</on-entry>
<evaluate expression="personService.createVehicle(vehicle)"></evaluate>
<evaluate expression="vehicle.reset()"></evaluate>
<transition to="manageVehicles"></transition>
</action-state>
<end-state id="cancel"/>
</flow>