On Jun 10, 2010, at 4:57 PM, Chuck Hill wrote: > > On Jun 10, 2010, at 1:48 PM, Kieran Kelleher wrote: > >> (In reply to David's tweet - answer too long for twitter!.... and twitlonger >> makes the sentences wrap too much....) >> __________________________________________________________ >> David's question: >> @kierankelleher would you mind showing me an example of how it is used? It >> sounds like something that could be used with D2W for permissions >> >> >> __________________________________________________________ >> @daveeed >> >> For example, in one of my apps, the User entity has a "customersQualifier()" >> method that returns a qualifier appropriate to the Role of the user that >> qualifies the user's access to Customer objects in the system. The Qualifier >> is constructed differently for customer users, inside sales, sysadmin, >> graphic design, etc. The qualifier itself is based on Customer attributes >> and in itself is useful only for fetches against the Customer entity. >> >> Now let's say I have Barcoded Coupons on Mailers, and someone is scanning >> Coupon redemptions into a web form for tracking and reporting of >> advertizement effectiveness and let's say I want to make sure that the >> person scanning has access to the customer that is related to those coupons. >> And in this scenario, let's say the relationship keyPath from Coupon Entity >> to Customer Entity is like this: >> >> coupon -> mailer.campaign.program.location.customer >> >> So when the coupon ID is scanned in and submitted, I can create a Qualifier >> for the Coupon based on the ID, and then I need an auxiliary security >> qualifier to ensure the logged in user has access to the related Customer so >> I would do sth like these steps: >> >> EOQualifier qCoupon = Coupon.XKEY_SERIAL_ID.eq( scannedCouponID ); >> EOQualifier qCustomer = currentUser.customerQualifier(); >> >> // Since qCustomer qualifies Customer entities and we want to qualify the >> Coupon that we are fetching based on >> // the user's restricted access to a specific set of Customer EOs... prefix >> the customer qualifier to make it a coupon qualifier >> // that restricts the fetch to coupons related to the customers that this >> user has access to.... >> qCustomer = ERXPrefixQualifierTraversal.prefixQualifierWithKey( >> "mailer.campaign.program.location.customer" ); > >> qCustomer = ERXPrefixQualifierTraversal.prefixQualifierWithKey(qCustomer, >> "mailer.campaign.program.location.customer" ); > > you mean?
Exactly :) This was typed into email - not Eclipse! Thnks for spotting that Chuck. .... (BTW Chuck, you are missing out on the "brief" Wo discussions on the Twitter Wo group) > >> EOQualifier qFinal = ERXQ.and( qCoupon, qCustomer ); >> >> Coupon c = ( fetch with qualifier 'qFinal' ) >> >> >> I hope that explains the usage of ERXPrefixQualifierTraversal better .... >> >> Regards, Kieran >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >> Help/Unsubscribe/Update your Subscription: >> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net >> >> This email sent to ch...@global-village.net > > -- > Chuck Hill Senior Consultant / VP Development > > Practical WebObjects - for developers who want to increase their overall > knowledge of WebObjects or who are trying to solve specific problems. > http://www.global-village.net/products/practical_webobjects > > > > > > > _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com