|
|
|
|
@ -575,13 +575,13 @@ class BaseItemsViews(BaseViews): |
|
|
|
|
assert self.ITEM_MODEL is not None, (u"%s.ITEM_MODEL can't be None!" % self.__class__.__name__) |
|
|
|
|
assert self.ITEM_FORM_CLASS is not None, (u"%s.ITEM_FORM_CLASS can't be None!" % self.__class__.__name__) |
|
|
|
|
|
|
|
|
|
def set_item_formset_class(self): |
|
|
|
|
def set_item_formset_class(self, extra_count=2): |
|
|
|
|
"""Класс FormSet-а для табличной части документа.""" |
|
|
|
|
self.ITEM_FORMSET_CLASS = inlineformset_factory( |
|
|
|
|
parent_model = self.MODEL, |
|
|
|
|
model = self.ITEM_MODEL, |
|
|
|
|
form = self.ITEM_FORM_CLASS, |
|
|
|
|
extra=2, |
|
|
|
|
extra=extra_count, |
|
|
|
|
can_delete=True, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
@ -685,6 +685,8 @@ class BaseItemsViews(BaseViews): |
|
|
|
|
d.pop('updated_at', None) |
|
|
|
|
kwargs['initial_items'].append(d) |
|
|
|
|
|
|
|
|
|
self.set_item_formset_class(extra_count=len(kwargs['initial_items'])) |
|
|
|
|
|
|
|
|
|
return self.add(self.request, *args, **kwargs) |
|
|
|
|
|
|
|
|
|
@method_decorator(csrf_protect) |
|
|
|
|
|