/** * Performs submit action. Overridden to reset the nested validation setting on the * object. */ // FIXME - Is this needed here? davidleber @Override public WOComponent submitAction() throws Throwable { WOComponent result = super.submitAction(); if (object() instanceof ERXGenericRecord) { ((ERXGenericRecord)object()).setValidatedWhenNested(true); } return result; }
/** * Performs the newObjectAction. Creates a new object and sets the inline task * to 'create' */ public WOComponent newObjectAction() { EOEditingContext newEc = ERXEC.newEditingContext(masterObject().editingContext()); EOClassDescription relatedObjectClassDescription = masterObject().classDescriptionForDestinationKey(relationshipKey()); EOEnterpriseObject relatedObject = EOUtilities.createAndInsertInstance(newEc, relatedObjectClassDescription.entityName()); EOEnterpriseObject localObj = EOUtilities.localInstanceOfObject(relatedObject.editingContext(), masterObject()); if (localObj instanceof ERXGenericRecord) { ((ERXGenericRecord)localObj).setValidatedWhenNested(false); } localObj.addObjectToBothSidesOfRelationshipWithKey(relatedObject, relationshipKey()); setSelectedObject(relatedObject); setInlineTaskSafely("create"); return null; }
/** * Action called when user clicks the Add button */ public WOActionResults addObject() { String currentPageConfiguration = stringValueForBinding(Keys.pageConfiguration); NSDictionary<String, String> extraValues = currentPageConfiguration != null ? new NSDictionary<String, String>(currentPageConfiguration, Keys.pageConfiguration) : null; String createPageConfigurationName = (String)ERDirectToWeb.d2wContextValueForKey(Keys.createConfigurationName, destinationEntityName(), extraValues); EditPageInterface epi = (EditPageInterface)D2W.factory().pageForConfigurationNamed(createPageConfigurationName, session()); EOEditingContext newEc = ERXEC.newEditingContext(object().editingContext()); EOEnterpriseObject relatedObject = EOUtilities.createAndInsertInstance(newEc, destinationEntityName()); EOEnterpriseObject localObj = ERXEOControlUtilities.localInstanceOfObject(relatedObject.editingContext(), object()); if (localObj instanceof ERXGenericRecord) { ((ERXGenericRecord)localObj).setValidatedWhenNested(false); } localObj.addObjectToBothSidesOfRelationshipWithKey(relatedObject, propertyKey()); epi.setNextPage(context().page()); epi.setObject(relatedObject); // Null out the current searchValue so when we come back, it regenerates _searchValue = null; return (WOActionResults) epi; }