V nových verzích nw7 balíčku byl rozšířen PersistProcessor a přidána automatická podpora pro donačítání manuálních property Entity odkazovaných dle konvence xId a xModule.
PersistProcessor, resp. jeho metoda success() byla rozšířena tak, že nově vrací zapersistovanou entitu (doposud nic nevracela). Díky tomu je možné např. v potomcích procesoru s uloženou entitou dále pracovat.
Událost odpalovaná po uložení dat formuláře nově také jako 2. parametr předává samotnou instanci formuláře, na základě kterého k uložení došlo.
Nová služba automaticky (dle konvence pojmenování property) do manuálních propert donačítá odkazované entity, které jsou odkazované přes dvojici ID a název modulu. Příklad:
/**
* @var int
*
* @Property
*/
protected $sourceId;
/**
* @var string
*
* @Property
*/
protected $sourceModule;
/**
* @var Entity
* @ManualProperty(lazyLoad=sourceEntityPropertyResolver)
*/
protected $source;
Přístupem na property source se nám díky resolveru sourceEntityPropertyResolver do property automaticky donačte záznam z modulu a ID dle obsahu propert $sourceModule a $sourceId.
Názvy propert (resp. prefix), ze kterých se zjistí název modulu a ID jde změnit definicí dat property a klíčem prefix:
/**
* @var int
*
* @Property
*/
protected $rId;
/**
* @var string
*
* @Property
*/
protected $rModule;
/**
* @var Entity
* @ManualProperty(lazyLoad=sourceEntityPropertyResolver)
* @PropertyData(prefix=r)
*/
protected $source;