fix access restriction group editing
This commit is contained in:
parent
067eadecb8
commit
a23be40cac
1 changed files with 13 additions and 11 deletions
|
@ -166,17 +166,19 @@ class EditorFormBase(I18nModelFormMixin, ModelForm):
|
||||||
|
|
||||||
def _save_m2m(self):
|
def _save_m2m(self):
|
||||||
super()._save_m2m()
|
super()._save_m2m()
|
||||||
try:
|
if self._meta.model.__name__ != 'AccessRestriction':
|
||||||
field = self._meta.model._meta.get_field('groups')
|
try:
|
||||||
except FieldDoesNotExist:
|
field = self._meta.model._meta.get_field('groups')
|
||||||
pass
|
except FieldDoesNotExist:
|
||||||
else:
|
pass
|
||||||
if field.many_to_many:
|
else:
|
||||||
groups = reduce(operator.or_, (set(value) for name, value in self.cleaned_data.items()
|
if field.many_to_many:
|
||||||
if name.startswith('groups_')), set())
|
groups = reduce(operator.or_, (set(value) for name, value in self.cleaned_data.items()
|
||||||
groups |= set(value for name, value in self.cleaned_data.items() if name.startswith('group_') and value)
|
if name.startswith('groups_')), set())
|
||||||
groups = tuple((int(val) if val.isdigit() else val) for val in groups)
|
groups |= set(value for name, value in self.cleaned_data.items()
|
||||||
self.instance.groups.set(groups)
|
if name.startswith('group_') and value)
|
||||||
|
groups = tuple((int(val) if val.isdigit() else val) for val in groups)
|
||||||
|
self.instance.groups.set(groups)
|
||||||
|
|
||||||
|
|
||||||
def create_editor_form(editor_model):
|
def create_editor_form(editor_model):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue