def get_form(self, form_class): """Return the form after having modified its querysets to match permissions. """ form = super(EntityUpdateView, self).get_form(form_class) # Determine all valid parents. Remove itself from list. parents = get_submit_entities(self.request.user) entity = form.save(commit=False) parents = parents.exclude(id=entity.id) # @TODO Is there a more elegant way to limit the choices for parent? try: form.fields["parent"].queryset = parents except KeyError: pass return form
def get_form(self, form_class): """Return the form after having modified its querysets to match permissions. """ form = super(self.__class__, self).get_form(form_class) parents = get_submit_entities(self.request.user) try: # if self.request.GET and self.request.GET['parent']: if self.kwargs["parent"]: parent_item_as_list = parents.filter(id=self.kwargs["parent"]) form.fields["parent"].queryset = parent_item_as_list form.fields["parent"].initial = parent_item_as_list[0] else: form.fields["parent"].queryset = parents except KeyError: pass return form