Simplify date handling and fix form_valid logic
This commit is contained in:
@@ -4,13 +4,6 @@ from .models import UPSHost, Battery
|
|||||||
|
|
||||||
|
|
||||||
class UPSHostForm(forms.ModelForm):
|
class UPSHostForm(forms.ModelForm):
|
||||||
last_maintenance_date = forms.DateField(
|
|
||||||
required=False,
|
|
||||||
label='上次维保时间',
|
|
||||||
input_formats=['%Y-%m-%d'],
|
|
||||||
widget=forms.DateInput(attrs={'class': 'form-control datepicker', 'placeholder': '选择日期'}, format='%Y-%m-%d'),
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = UPSHost
|
model = UPSHost
|
||||||
fields = ['brand', 'model', 'ip_address', 'quantity', 'location', 'last_maintenance_date', 'contact']
|
fields = ['brand', 'model', 'ip_address', 'quantity', 'location', 'last_maintenance_date', 'contact']
|
||||||
@@ -20,6 +13,7 @@ class UPSHostForm(forms.ModelForm):
|
|||||||
'ip_address': 'IP地址',
|
'ip_address': 'IP地址',
|
||||||
'quantity': '数量',
|
'quantity': '数量',
|
||||||
'location': '存放位置',
|
'location': '存放位置',
|
||||||
|
'last_maintenance_date': '上次维保时间',
|
||||||
'contact': '联系人',
|
'contact': '联系人',
|
||||||
}
|
}
|
||||||
widgets = {
|
widgets = {
|
||||||
@@ -28,6 +22,7 @@ class UPSHostForm(forms.ModelForm):
|
|||||||
'ip_address': forms.TextInput(attrs={'class': 'form-control'}),
|
'ip_address': forms.TextInput(attrs={'class': 'form-control'}),
|
||||||
'quantity': forms.NumberInput(attrs={'class': 'form-control', 'min': '1'}),
|
'quantity': forms.NumberInput(attrs={'class': 'form-control', 'min': '1'}),
|
||||||
'location': forms.TextInput(attrs={'class': 'form-control'}),
|
'location': forms.TextInput(attrs={'class': 'form-control'}),
|
||||||
|
'last_maintenance_date': forms.DateInput(attrs={'class': 'form-control datepicker', 'type': 'text', 'placeholder': 'YYYY-MM-DD'}),
|
||||||
'contact': forms.Select(attrs={'class': 'form-control'}),
|
'contact': forms.Select(attrs={'class': 'form-control'}),
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,6 +46,8 @@ class BatteryForm(forms.ModelForm):
|
|||||||
'weight': forms.NumberInput(attrs={'class': 'form-control form-control-sm', 'step': '0.1'}),
|
'weight': forms.NumberInput(attrs={'class': 'form-control form-control-sm', 'step': '0.1'}),
|
||||||
'quantity': forms.NumberInput(attrs={'class': 'form-control form-control-sm', 'min': '1'}),
|
'quantity': forms.NumberInput(attrs={'class': 'form-control form-control-sm', 'min': '1'}),
|
||||||
'location': forms.TextInput(attrs={'class': 'form-control form-control-sm'}),
|
'location': forms.TextInput(attrs={'class': 'form-control form-control-sm'}),
|
||||||
|
'install_date': forms.DateInput(attrs={'class': 'form-control form-control-sm datepicker-battery', 'type': 'text', 'placeholder': 'YYYY-MM-DD'}),
|
||||||
|
'last_maintenance_date': forms.DateInput(attrs={'class': 'form-control form-control-sm datepicker-battery', 'type': 'text', 'placeholder': 'YYYY-MM-DD'}),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -118,14 +118,21 @@ class UPSHostUpdateView(UpdateView):
|
|||||||
return context
|
return context
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
self.object = form.save()
|
|
||||||
context = self.get_context_data()
|
context = self.get_context_data()
|
||||||
battery_formset = context['battery_formset']
|
battery_formset = context['battery_formset']
|
||||||
|
|
||||||
if battery_formset.is_valid():
|
if battery_formset.is_valid():
|
||||||
|
self.object = form.save()
|
||||||
battery_formset.instance = self.object
|
battery_formset.instance = self.object
|
||||||
battery_formset.save()
|
battery_formset.save()
|
||||||
messages.success(self.request, 'UPS主机和电池信息已更新')
|
messages.success(self.request, 'UPS主机和电池信息已更新')
|
||||||
return redirect(self.success_url)
|
return redirect(self.success_url)
|
||||||
|
else:
|
||||||
|
return render(self.request, self.template_name, {
|
||||||
|
'form': form,
|
||||||
|
'battery_formset': battery_formset,
|
||||||
|
'object': self.object,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
class UPSHostDeleteView(DeleteView):
|
class UPSHostDeleteView(DeleteView):
|
||||||
|
|||||||
Reference in New Issue
Block a user