Hi Ted,

The most basic rule would be:

100 : entity.name like '*' => queryDataSourceDelegate = 
"COM.YOUR-PACKAGE.LimitBooksToPersonDataSourceDelegate" 
[ERDDelayedObjectCreationAssignment]

But if you want to limit the choices in a relationship component, the 
"restrictedChoiceKey" approach should be easier to use:

100 : (task = 'edit' and entity.name = 'Location' and propertyKey = 
'parentLocation') => restrictedChoiceKey = "object.availableParentLocations" 
[com.webobjects.directtoweb.Assignment]

Just put a method on the EO that returns the possible choices for the 
relationship.

HTH, Fabian

Am 29.01.2015 um 16:41 schrieb Theodore Petrosky <[email protected]>:

> Fabian,
> 
> You commented on this a long time ago. and in checking my old emails, I see 
> this is along the lines of what I need.
> 
> I have a D2W app with an embedded toMany CreateEmbeddedBookPerson that has an 
> ERD2WEditToOneRelationship that I am trying to create a fetch specification 
> for.
> 
> I see in the logs:
> 
> DEBUG NSLog Page: er.modern.look.pages.ERMODInspectPage - Configuration: 
> EditPerson Page: er.modern.look.pages.ERMODEditRelationshipPage - 
> Configuration: EditRelationshipEmbeddedBookPerson (CreateEmbeddedBookPerson) 
> -  evaluateExpression: <com.webobjects.jdbcadaptor.PostgresqlExpression: 
> "SELECT t0.booktitle, t0.eventid, t0.id, t0.instrumentfamilyid, t0.showid 
> FROM book t0" withBindings: >
> Jan 29 10:26:28 Booking_D2W[61840] DEBUG NSLog Page: 
> er.modern.look.pages.ERMODInspectPage - Configuration: EditPerson Page: 
> er.modern.look.pages.ERMODEditRelationshipPage - Configuration: 
> EditRelationshipEmbeddedBookPerson (CreateEmbeddedBookPerson) - 29 row(s) 
> processed
> 
> There we have it. it is getting 29 rows. If I create:
> 
> public class LimitBooksToPersonDataSourceDelegate extends 
> EODatabaseDataSource implements ERDQueryDataSourceDelegateInterface {
> 
> add the required methods and add in some sys logs to see if it gets fired. 
> But what is the rule? Am I barking up the wrong tree?
> 
> A little help would be appreciated!
> 
> 
> On Apr 13, 2012, at 9:27 AM, Fabian Peters <[email protected]> wrote:
> 
>> 
>> Am 13.04.2012 um 11:34 schrieb Theodore Petrosky:
>> 
>>> I don't even know where to begin. I have a D2W app that manages Briefs. A 
>>> Brief is created by a User. (one to one relation)
>>> 
>>> I can easily create a tab that calls a method to limit the resultant list 
>>> to only those Briefs created by the current User. However, where do I 'fix' 
>>> the search area.
>>> 
>>> I mean if the current User is Sally, she will search for Brief(s) that the 
>>> Objective attribute contains the word 'Iceman'. But I want all queries to 
>>> include  'and user = 'Sally'.
>> 
>> You can add restricting qualifiers (almost) globally via 
>> "editingContextShouldFetchObjects" in ERXEditingContextDelegate. Just create 
>> your own EC delegate and use it to modify the fetch spec. To define your 
>> custom delegate as the default delegate:
>> 
>>       new ERXEC.DefaultFactory()
>>               .setDefaultEditingContextDelegate(new 
>> DREditingContextDelegate());
>> 
>>> Sally should not see Bob's Briefs. I am trying to embrace D2W, and (for me) 
>>> this would be trivial in a Wonder app.
>> 
>> For D2W you can subclass EODatabaseDataSource and modify the constructors 
>> and the "setFetchSpecification" method to ensure restrictions are applied. 
>> To make sure your subclass gets used you can implement 
>> "ERDQueryDataSourceDelegateInterface" and set it via the rules. Using only 
>> the queryDataSourceDelegate may also be sufficient depending on your needs.
>> 
>> cheers, Fabian
>> 
>>> Is there a property for this?
>>> 
>>> Ted
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list      ([email protected])
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/webobjects-dev/lists.fabian%40e-lumo.com
>>> 
>>> This email sent to [email protected]
>> 
> 


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to