Re: D2W: getting the "root" pageConfiguration
Re: D2W: getting the "root" pageConfiguration
- Subject: Re: D2W: getting the "root" pageConfiguration
- From: Fabian Peters <email@hidden>
- Date: Fri, 26 Oct 2012 21:11:45 +0200
Thanks, David! That would mean I'd have to create a custom component subclass, in order to set a custom d2wKey via that method. Or is there something I'm not seeing?
Am 26.10.2012 um 20:18 schrieb David Holt:
> In that case perhaps the ERD2WUtilities may help you.
>
> /** Utility to return the enclosing edit page, if there is one. */
> public static EditPageInterface parentEditPage(WOComponent sender) {
> return (EditPageInterface)enclosingPageOfClass(sender, EditPageInterface.class);
> }
>
>
> On 2012-10-26, at 11:13 AM, Fabian Peters wrote:
>
>> Unfortunately parentPageConfiguration doesn't help, as there's an additional level of nesting due to the "EditRelationshipEmbeddedEntityC". It will always just return "EditRelationshipEmbeddedEntityC", when the embedded page is "EditEmbeddedEntityC" and the "root" pageConfiguration is "EditEntityA" or "EditEntityB".
>>
>> My rule works fine when the pageConfiguration is "CreateEntityA"/"CreateEntityB":
>>
>> 333 : ((pageConfiguration = 'CreateEmbeddedEntityC' or pageConfiguration = 'EditEmbeddedEntityC') and session.context.page.d2wContext.pageConfiguration like '*EntityC') => displayPropertyKeys = ("foo", "bar", "baz") [com.webobjects.directtoweb.Assignment]
>>
>> But the same rule fails when the task is "edit". Tracing the rules shows that "session.context.page.d2wContext.pageConfiguration" evaluates to null then.
>>
>> Am 26.10.2012 um 20:00 schrieb David Holt:
>>
>>> Sorry those should have been: editEmbeddedRelationshipEntityC
>>>
>>>
>>> On 2012-10-26, at 10:57 AM, David Holt wrote:
>>>
>>>> If you're using embedded configurations, wouldn't you just have a couple of rules like:
>>>>
>>>> 20 : (pageConfiguration = 'editRelationshipEntityC' and parentPageConfiguration = 'EditEntityA') => displayPropertyKeys = ("name", "description") [com.webobjects.directtoweb.Assignment]
>>>>
>>>> 20 : (pageConfiguration = 'editRelationshipEntityC' and parentPageConfiguration = 'EditEntityB') => displayPropertyKeys = ("name") [com.webobjects.directtoweb.Assignment]
>>>>
>>>> Unless I'm missing what you're trying to do.
>>>>
>>>> d
>>>>
>>>>
>>>> On 2012-10-26, at 10:09 AM, Fabian Peters wrote:
>>>>
>>>>> Yes, this is with ModernLook.
>>>>>
>>>>> Am 26.10.2012 um 17:56 schrieb David Holt:
>>>>>
>>>>>> Are you using ModernLook with actual embedded page configurations?
>>>>>>
>>>>>> David
>>>>>>
>>>>>> On 2012-10-26, at 6:40 AM, Fabian Peters wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> An entity that's being edited (EntityC) has relationships to two different entities (EntityA, EntityB) and different keys should be shown depending on the context (root pageConfiguration being "EditEntityA" or "EditEntityB"). In order to display the right properties on an embedded page, I need to look at the root pageConfiguration, "parentPageConfiguration" is the same in both contexts.
>>>>>>>
>>>>>>> Calling "session.context.page.d2wContext.pageConfiguration" works when used at the property level, but (mostly) fails when used in a rule acting on "displayPropertyKeys". Apparently, it's impossible to get to the session from there. Is there an alternative approach to get the root page configuration in a D2W app?
>>>>>>>
>>>>>>> Fabian
>>>>>>> _______________________________________________
>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>
>>>>>>> This email sent to email@hidden
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list (email@hidden)
>>>> Help/Unsubscribe/Update your Subscription:
>>>>
>>>> This email sent to email@hidden
>>>
>>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden