Please sign in to comment.
CMS_PERMISSION: optionally use raw id user lookups
The "view restrictions" and "page permissions" inlines on the "page" admin change forms can cause performance problems where there are many thousands of users being put into simple select boxes. Added a new setting (CMS_RAW_ID_USERS) that, if set, forces the inlines on that page to use standard Django admin "raw ID" lookups rather than select boxes. The restriction on which users may be selected should still be honoured by the new widget because we set the 'limit_choices_to' attribute to be the same as the queryset on the original widget. Using raw_id_fields in combination with limit_choices_to blows up if you have many thousands of users. For this reason, we only apply this limit if the number of users is relatively small (< 500, though that figure is somewhat arbitrary). If the number of users we need to limit to is greater than that, we use the usual input field instead unless the user is a CMS superuser, in which case we bypass the limit. Unfortunately, this means that non-superusers won't see any benefit from this change.
- Loading branch information...
Showing with 46 additions and 6 deletions.