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] 
> <javascript:>> 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] 
>> <javascript:>> 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] 
>>> <javascript:>> 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] <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