I finally got around to looking at this issue again and yes: that did the 
trick. Thanks a lot!

On Wednesday, August 22, 2018 at 8:22:36 PM UTC+2, Alessandro Molina wrote:
>
> I think that what you are looking for is ``Deferred``:
>
>      event_date = CheckBoxList(id="event_date", 
> options=twf.Deferred(event_date_options))
>
> Should do the trick.
>
> There is a related discussion at 
> https://stackoverflow.com/questions/51161971/how-to-create-edit-forms-in-turbogear/51174896#51174896
>
> On Tue, Aug 21, 2018 at 3:36 PM Daniel Latzer <[email protected] 
> <javascript:>> wrote:
>
>> Nope, sorry. I resorted to scheduling a reboot for every night, since 
>> it's not that critical for the data to appear immediately in my case. It's 
>> not pretty, but it was the easiest solution at that point.
>>
>> On Tue, Aug 21, 2018 at 3:21 PM Marek Domiter <[email protected] 
>> <javascript:>> wrote:
>>
>>> Hi Daniel,
>>>
>>> were you able to find solution to this? I'm trying to do the same thing, 
>>> but no success.
>>>
>>>
>>> On Wednesday, 30 May 2018 10:26:47 UTC+2, Daniel Latzer wrote:
>>>
>>>> Ah, nice, that link was exactly what i was looking for, thank you. Also 
>>>> the next section about custom dropdown data, since I want the EventDates 
>>>> to 
>>>> be filtered so that only dates can be selected that aren't in the past. 
>>>> However this led me to a new problem:
>>>>
>>>> I've made my own field like shown at the bottom and added it, but 
>>>> _my_update_params seems to never be called. (It just displays like a 
>>>> PropertyMultipleSelectField would do, and ignores my filters. However if i 
>>>> change the superclass of EventDateField to PropertySingleSelectField, it 
>>>> gets displayed as a dropdown, so it isn't completely ignored. I've also 
>>>> attached the debugger to check, _my_update_params, or update_params for 
>>>> that matter doesn't appear to be called at all.
>>>>
>>>> (Also i'd like to use CheckBoxLIst instead, but it complained about me 
>>>> not providing options, and if that's not easy to do it's okay, i'll just 
>>>> stay with the MultipleSelect. I've also already tried this - doing 
>>>> `event_date = CheckBoxList(id="event_date", 
>>>> options=event_date_options())`, 
>>>> but there i had the problem that it evaluated event_date_options() only 
>>>> once on starting the server, and i want the data options to be refreshed 
>>>> on 
>>>> each load of the form)
>>>>
>>>> #class EventDateField(CheckBoxList)
>>>> class EventDateField(PropertyMultipleSelectField):
>>>>
>>>>     field_type="checkbox"
>>>>     def _my_update_params(self, d, nullable=False):
>>>>         dates = DBSession.query(OrderDate).filter(...).all()
>>>>         options = [(date.id, format_date(date.date)) for date in dates]
>>>>         d['options']=options
>>>>         return d
>>>>
>>>> class ActivityAddForm(AddRecordForm):
>>>>     __model__ = Activity
>>>>
>>>>     event_date = EventDateField
>>>>
>>>>
>>>> On Tue, May 29, 2018 at 1:36 PM Alessandro Molina <
>>>> [email protected]> wrote:
>>>>
>>> I think that usage of sprox/tgext.crud/tgext.admin have a lot of space 
>>>>> for improvements on documentation in TurboGears, so if you think there 
>>>>> are 
>>>>> ways that the documentation can be improved once you got a clear 
>>>>> understanding on how you can do what you are trying to do feel free to 
>>>>> contribute any change you think might be required. I'll gladly review and 
>>>>> merge it.
>>>>>
>>>>> On Tue, May 29, 2018 at 1:33 PM Alessandro Molina <
>>>>> [email protected]> wrote:
>>>>>
>>>> I think 
>>>>>> https://turbogears.readthedocs.io/en/latest/cookbook/sprox.html#custom-dropdown-field-names
>>>>>>  
>>>>>> is what you are looking for (option was recently renamed to 
>>>>>> possible_field_names but works the same way)
>>>>>> You can set it in __form_options__ for the admin crudControllerConfig 
>>>>>> and have the generated forms use that as their preview field in single 
>>>>>> selects.
>>>>>>
>>>>>> For users and groups it works automatically because sprox tries to be 
>>>>>> smart in detecting the proper field to use and one of the heuristics is 
>>>>>> to 
>>>>>> grab a field that is named "something_name" so group_name gets picked.
>>>>>>
>>>>>> On Thu, May 24, 2018 at 3:06 PM Daniel Latzer <[email protected]> 
>>>>>> wrote:
>>>>>>
>>>>> Hello
>>>>>>>
>>>>>>> I've created two tables in an m:n relationship: 
>>>>>>>
>>>>>>> Activity (id, name)
>>>>>>> EventDates (id, date)
>>>>>>>
>>>>>>> and linked these two using a sqlalchemy `relation`, mapping 
>>>>>>> EventDates as `event_dates` to Activity.
>>>>>>>
>>>>>>> I want to create Activities that can take on one or more EventDates.
>>>>>>> Using the admin (and also a form generated with a 
>>>>>>> `CrudRestController` as seen here 
>>>>>>> <http://turbogears.readthedocs.io/en/latest/cookbook/Crud/index.html#custom-crudrestcontroller>),
>>>>>>>  
>>>>>>> the generated Multi-Select widget in the new-Activity Form just 
>>>>>>> displays me 
>>>>>>> the primary key of the EventDate entries. I'd rather have it display 
>>>>>>> the 
>>>>>>> date of the EventDate entries. 
>>>>>>>
>>>>>>> I've inherited this application and am not really familiar with 
>>>>>>> Turbogears. Looking at some already existing models that are tied in 
>>>>>>> with 
>>>>>>> `TGAuthMetadata` i can see in the Admin that there is basically the 
>>>>>>> same 
>>>>>>> thing going on with User <-> Group <-> Permissions, and in these forms 
>>>>>>> the 
>>>>>>> user_name, group_name or permission_name get displayed in the 
>>>>>>> Multi-Select 
>>>>>>> and I cannot figure out how that has been achieved.
>>>>>>>
>>>>>>> So basically if I have this:
>>>>>>>
>>>>>>> class ActivityAddForm(AddRecordForm):
>>>>>>>  __model__ = Activity
>>>>>>>  __omit_fields__ = ['id']
>>>>>>>  event_dates = ??? # this has an m:n relation to EventDate
>>>>>>>
>>>>>>>
>>>>>>> How do i get the resulting Multi-Select to render something 
>>>>>>> different than the primary key of EventDate? Is it derived from the 
>>>>>>> model? 
>>>>>>> Is it configured somewhere?
>>>>>>>
>>>>>>> I've been messing around with `PropertyMultipleSelectField`, but 
>>>>>>> could not figure out how to properly configure it to pass it as 
>>>>>>> `event_dates`.
>>>>>>>
>>>>>>> Thanks for your time.
>>>>>>>
>>>>>>> -- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "TurboGears" group.
>>>>>>>
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to [email protected].
>>>>>>> To post to this group, send email to [email protected].
>>>>>>
>>>>>>
>>>>>>> Visit this group at https://groups.google.com/group/turbogears.
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "TurboGears" group.
>>>>>
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>
>>>>
>>>>> Visit this group at https://groups.google.com/group/turbogears.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "TurboGears" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected] <javascript:>.
>>> To post to this group, send email to [email protected] 
>>> <javascript:>.
>>> Visit this group at https://groups.google.com/group/turbogears.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "TurboGears" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/turbogears.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/turbogears.
For more options, visit https://groups.google.com/d/optout.

Reply via email to