Thanks for these ideas, Steve.

Which in turn reminds me... we have an existing module for modelling
communication channels [1] that could be used/forked as the basis for
handling locations.  (If you want all the gmap location stuff, that is).

Cheers
Dan


[1] https://github.com/incodehq/incode-module-commchannel

On 28 September 2016 at 11:48, Stephen Cameron <[email protected]>
wrote:

> Another option to try, assuming that the Concert has been created already,
> is to have an action on, or contributed to, the Concert that allows
> creation of a new ConcertLocation. Then the user can either set the concert
> location by choosing an existing location from the pick list, or by
> creating an new one via the action. The location property and the action
> can be associated via the layout.xml or annotation means.
>
> I use another alternative, which is more complex, for setting activity
> addresses, which is to have 'named' addresses, these are addresses used
> often for different activities. So the 'Update Address' action has a
> picklist of existing named addresses, or you can create a new address by
> filling in street1, street2, suburb. But if you give that new address a
> name as well (e.g XYZ Community Hall) it becomes a new named address.
>
> So the Update Address action has 5 parameters, a list of existing named
> addresses, a name for a new address, street1,street2, a list of suburbs.
>
>
>
> On Wed, Sep 28, 2016 at 7:48 PM, Dan Haywood <[email protected]
> >
> wrote:
>
> > Hi Martin,
> >
> > This requirement has only come up infrequently so far, not sufficiently
> to
> > build a particular widget or programming model for it.
> >
> > Where we have required it, we've simply provided two optional parameters,
> > one listing the existing objects, the other for the name of a new object.
> >  (This assumes that a single string is sufficient to create said new
> > object).
> >
> > public Concert create(@Nullable ConcertLocation
> > existingConcertLocation, @Nullable String newConcertLocationName, String
> > concertName) {
> >
> >     ConcertLocation concertLocation =
> >         existingConcertLocation != null
> >          ? existingConcertLocation
> >          : concertLocationRepository.findOrCreate(newConcertLocationNam
> e);
> >
> >     return concertRepository.create(concertName, concertLocation);
> > }
> > public String validateCreate(ConcertLocation existingConcertLocation,
> > String newConcertLocationName, String concertName) {
> >     if (existingConcertLocation == null && newConcertLocationName ==
> null)
> > return "Specify either an existing location or the name of a new one";
> >     if (existingConcertLocation != null && newConcertLocationName !=
> null)
> > return "Specify either an existing location or the name of a new one";
> >     return null;
> > }
> >
> > However, that has the side effect of cluttering up the common use case
> (new
> > Concert in an existing ConcertLocation), so I don't know if it's worth
> the
> > effort.  My recommendation would simply be to treat the creation of
> concert
> > locations and of new concerts independently.
> >
> > HTH
> > Dan
> >
> >
> >
> >
> > On 28 September 2016 at 09:32, Martin <[email protected]>
> > wrote:
> >
> > > Let's say we have an entity Concert and an entity ConcertLocation and
> the
> > > model is such that a Concert would reference a ConcertLocation (shared
> > > ManyToOne association).
> > >
> > > In a create dialogue for the Concert entity I would like to offer the
> > > possibility to create a new ConcertLocation item if the desired
> location
> > is
> > > not found in the dropdown or select box.
> > >
> > > This could for instance be by displaying a "create new location" icon
> > next
> > > to the dropdown box for locations or anything else, which would then
> open
> > > another modal on top of the create dialogue to create that
> > > new ConcertLocation.
> > >
> > > Once the new ConcertLocation has been created it should then appear in
> > the
> > > list of available locations in the Concert create dialogue.
> > >
> > > How would I go about this in Apache Isis?
> > >
> > > I haven't found anything of the kind in the kitchen sink or the todo
> app
> > or
> > > any other examples available.
> > >
> > > Thanks and regards,
> > > Martin
> > >
> >
>

Reply via email to