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 > > > > > >
