Re: D2W: Pattern for complex object creation
Re: D2W: Pattern for complex object creation
- Subject: Re: D2W: Pattern for complex object creation
- From: Tim Worman <email@hidden>
- Date: Thu, 29 Mar 2012 17:18:18 -0700
I love reading stuff like this - really useful. Every time I try to use D2W I get a certain distance into it and then feel as as if I'd be faster developing a standard WO app than navigating a whole new manner of thinking (and composing rules). Figuring out how to make a D2W app flexible has been hard for me to wrap my head around.
Thanks for the great ideas!
Tim
On Mar 29, 2012, at 4:57 PM, Ramsey Gurley <email@hidden> wrote:
> On Mar 29, 2012, at 4:27 PM, David Holt wrote:
>
>>
>> On 2012-03-29, at 4:23 PM, Ramsey Gurley wrote:
>>
>>> More than one way to skin a cat here. I'd probably just set up a wizard.
>>>
>>> step 1, choose a practice with an ERD2WEditToOneRelationship that filters the list to only practices with billables that have no invoice.
>>> step 2, choose billables form a filtered list for that practice with an ERD2WEditToManyRelationship component.
>>
>> Can you use information entered in Step one to inform step two?
>
> Sure. Just set the restrictedChoiceKey to resolve to a method on the EO. Something like object.billablesForCurrentPracticeWithoutInvoice. Then use the practice set in step one to filter the list for step 2.
>
>>
>>> step 3, edit invoice date
>>> validate and save accordingly
>>>
>>> Ramsey
>>>
>>>
>>> On Mar 29, 2012, at 3:20 PM, Paul Hoadley wrote:
>>>
>>>> Hi Ramsey,
>>>>
>>>> On 30/03/2012, at 2:21 AM, Ramsey Gurley wrote:
>>>>
>>>>> On Mar 29, 2012, at 2:31 AM, Paul Hoadley wrote:
>>>>>
>>>>>> Anyway, the subject above is probably a misnomer: I'm not trying to create particularly complex objects, but I am trying to do something outside CRUD, which is pretty much all I've ever done with D2W before. In the model, a Billable object has an optional to-one relationship to Invoice. When I create a Billable, it initially has no related Invoice. Later I will create an Invoice for a client, and collect together some set of Billables, and the relationship is created at that time. And that's the bit I need a pattern for: Invoice creation. Billable also has a mandatory relationship to Practice (i.e., a client), and a startTime timestamp. When I go to create an Invoice, I'd give the Invoice a date and select a Practice, and then I want to add, say, all of the Billables that (a) belong to no other Invoice, (b) point to the same Practice, and (c) have a startTime that falls before the new Invoice.date.
>>>>>
>>>>> Well, you can just set the practice, the invoice date, and then save changes. In Invoice.willInsert() fetch the billables and add them to the relationship just before the save takes place. :-) Or is that too automatic?
>>>>
>>>> It's more automatic than I was thinking, but it sounds alright. Say if I wanted to review the list of Billables before saving, though, what would you do then?
>>>>
>>>>
>>>> --
>>>> Paul Hoadley
>>>> http://logicsquad.net/
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
_______________________________________________
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