MCPcopy
hub / github.com/django/django / _get_formset_with_permissions

Method _get_formset_with_permissions

django/contrib/admin/options.py:2253–2269  ·  view source on GitHub ↗

Construct a changelist formset, and remove list_editable fields for objects the user cannot change.

(self, request, queryset, for_save=False)

Source from the content-addressed store, hash-verified

2251 return queryset.filter(pk__in=object_pks)
2252
2253 def _get_formset_with_permissions(self, request, queryset, for_save=False):
2254 """
2255 Construct a changelist formset, and remove list_editable fields
2256 for objects the user cannot change.
2257 """
2258 FormSet = self.get_changelist_formset(request)
2259 if for_save:
2260 formset = FormSet(data=request.POST, files=request.FILES, queryset=queryset)
2261 else:
2262 formset = FormSet(queryset=queryset)
2263
2264 for form in formset.forms:
2265 if not self.has_change_permission(request, form.instance):
2266 for field_name in self.list_editable:
2267 form.fields.pop(field_name, None)
2268
2269 return formset
2270
2271 def _save_formset(self, request, formset):
2272 changecount = 0

Callers 1

changelist_viewMethod · 0.95

Calls 3

has_change_permissionMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected