added option to change storages
This commit is contained in:
@@ -91,7 +91,7 @@ class AutocompleteForeingKeyField(forms.UUIDField):
|
||||
class MyTestForm(forms.Form):
|
||||
pass
|
||||
|
||||
class AddSubStorageForm(forms.Form):
|
||||
class ChangeStorageForm(forms.Form):
|
||||
storage_name = forms.CharField(label="storage_name", initial='')
|
||||
responsible = AutocompleteForeingKeyField(api_search_url='user-list',
|
||||
image_field_name=None,
|
||||
@@ -100,6 +100,8 @@ class AddSubStorageForm(forms.Form):
|
||||
prepend='@')
|
||||
|
||||
is_template = forms.BooleanField(label='is_template', required=False)
|
||||
|
||||
class AddSubStorageForm(ChangeStorageForm):
|
||||
template = AutocompleteForeingKeyField(api_search_url='storage-template-list',
|
||||
image_field_name=None,
|
||||
foreign_model=parts_models.Storage,
|
||||
|
@@ -482,6 +482,11 @@ class StockViewDetail(LoginRequiredMixin, BaseTemplateMixin, DetailView):
|
||||
add_storage_form = AddSubStorageForm()
|
||||
add_storage_form.fields['responsible'].initial = self.request.user.id
|
||||
context['add_storage_form'] = add_storage_form
|
||||
change_storage_form = ChangeStorageForm()
|
||||
change_storage_form.fields['storage_name'].initial = self.object.name
|
||||
change_storage_form.fields['responsible'].initial = self.object.responsible.id
|
||||
change_storage_form.fields['is_template'].initial = self.object.is_template
|
||||
context['change_storage_form'] = change_storage_form
|
||||
context['delete_storage_error'] = None
|
||||
context['add_stock_form'] = AddStockForm()
|
||||
|
||||
@@ -503,6 +508,21 @@ class StockViewDetail(LoginRequiredMixin, BaseTemplateMixin, DetailView):
|
||||
context['add_storage_form'] = f
|
||||
return self.render_to_response(context)
|
||||
|
||||
def handle_change_storage_post(self, request, **kwargs):
|
||||
f = ChangeStorageForm(data=request.POST)
|
||||
if f.is_valid():
|
||||
sub_name = f.cleaned_data['storage_name']
|
||||
try:
|
||||
self.object.name = f.cleaned_data['storage_name']
|
||||
self.object.responsible = f.cleaned_data['responsible']
|
||||
self.object.is_template = f.cleaned_data['is_template']
|
||||
self.object.save()
|
||||
except ValidationError as v_err:
|
||||
f.add_error('storage_name', '. '.join(v_err.messages))
|
||||
context = self.get_context_data(**kwargs)
|
||||
context['change_storage_form'] = f
|
||||
return self.render_to_response(context)
|
||||
|
||||
def handle_del_storage_post(self, request, **kwargs):
|
||||
parent = self.object.parent_storage
|
||||
try:
|
||||
@@ -578,6 +598,8 @@ class StockViewDetail(LoginRequiredMixin, BaseTemplateMixin, DetailView):
|
||||
|
||||
if 'submit-add-storage' in request.POST:
|
||||
return self.handle_add_storage_post(request, **kwargs)
|
||||
if 'submit-change-storage' in request.POST:
|
||||
return self.handle_change_storage_post(request, **kwargs)
|
||||
elif 'submit-delete-storage' in request.POST:
|
||||
return self.handle_del_storage_post(request, **kwargs)
|
||||
elif 'submit-delete-stock' in request.POST:
|
||||
|
Reference in New Issue
Block a user