XH_Digital_Management/application/opa_mgnt/forms.py

128 lines
5.8 KiB
Python
Raw Normal View History

2024-06-07 03:47:15 +08:00
from django import forms
from common.forms import DepartmentSelectionForm
2024-06-07 03:47:15 +08:00
from .models import *
from ..org_mgnt.models import PrimaryDepartment
2024-06-07 03:47:15 +08:00
class SocialMediaAccountRegistrationForm(forms.ModelForm):
2024-06-07 03:47:15 +08:00
class Meta:
model = SocialMediaAccountRegistration
fields = '__all__'
widgets = {
'platform': forms.TextInput(attrs={'class': 'form-control'}),
'account_name': forms.TextInput(attrs={'class': 'form-control'}),
'secondary_department': forms.Select(attrs={'class': 'form-control'}),
2024-06-07 03:47:15 +08:00
'operation_account': forms.TextInput(attrs={'class': 'form-control'}),
'password': forms.TextInput(attrs={'class': 'form-control'}),
2024-06-07 03:47:15 +08:00
'operator': forms.TextInput(attrs={'class': 'form-control'}),
}
def __init__(self, *args, **kwargs):
super(SocialMediaAccountRegistrationForm, self).__init__(*args, **kwargs)
self.fields['primary_department'] = forms.ChoiceField(
choices=[('', '---------')] + [(dept.department_name, dept.department_name) for dept in PrimaryDepartment.objects.all()],
widget=forms.Select(attrs={'class': 'form-control'}),
label="一级部门"
)
for field_name in self.fields:
if field_name not in ['account_name', 'platform']:
self.fields[field_name].required = False
2024-06-07 03:47:15 +08:00
class AccountOperationManagementForm(forms.ModelForm):
class Meta:
model = AccountOperationManagement
exclude = ['views', 'favorites', 'comments', 'shares', 'likes', 'update_time']
2024-06-07 03:47:15 +08:00
widgets = {
'platform': forms.Select(attrs={'class': 'form-control'}),
'account_name': forms.Select(attrs={'class': 'form-control'}),
2024-06-07 03:47:15 +08:00
'content_title': forms.TextInput(attrs={'class': 'form-control'}),
'publication_time': forms.DateTimeInput(attrs={'class': 'form-control', 'type': 'datetime-local'})
2024-06-07 03:47:15 +08:00
}
def __init__(self, *args, **kwargs):
super(AccountOperationManagementForm, self).__init__(*args, **kwargs)
unique_platforms = list(set(dept.platform for dept in SocialMediaAccountRegistration.objects.all()))
self.fields['platform'] = forms.ChoiceField(
choices=[('', '---------')] + [(platform, platform) for platform in unique_platforms],
widget=forms.Select(attrs={'class': 'form-control'}),
label="所属平台",
required=False
)
for field_name in self.fields:
if field_name not in ['platform', 'account_name']:
self.fields[field_name].required = False
2024-06-07 03:47:15 +08:00
class WebsiteRegistrationForm(forms.ModelForm):
class Meta:
model = WebsiteRegistration
exclude = ['expiration_date']
2024-06-07 03:47:15 +08:00
widgets = {
'website_name': forms.TextInput(attrs={'class': 'form-control'}),
'account': forms.TextInput(attrs={'class': 'form-control'}),
'secondary_department': forms.Select(attrs={'class': 'form-control'}),
2024-06-07 03:47:15 +08:00
'password': forms.TextInput(attrs={'class': 'form-control'}),
'login_url': forms.TextInput(attrs={'class': 'form-control'}),
'tech_support': forms.TextInput(attrs={'class': 'form-control'}),
'domain': forms.TextInput(attrs={'class': 'form-control'}),
'expiration_date': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
'operator': forms.TextInput(attrs={'class': 'form-control'}),
}
def __init__(self, *args, **kwargs):
super(WebsiteRegistrationForm, self).__init__(*args, **kwargs)
self.fields['primary_department'] = forms.ChoiceField(
choices=[('', '---------')] + [(dept.department_name, dept.department_name) for dept in PrimaryDepartment.objects.all()],
widget=forms.Select(attrs={'class': 'form-control'}),
label="一级部门")
for field_name in self.fields:
if field_name not in ['website_name']:
self.fields[field_name].required = False
2024-06-07 03:47:15 +08:00
class WebsiteExpirationModificationRecordForm(forms.ModelForm):
class Meta:
model = WebsiteExpirationModificationRecord
fields = '__all__'
widgets = {
'modification_date': forms.DateTimeInput(attrs={'class': 'form-control', 'type': 'datetime-local'}),
'original_expiration_date': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
'new_expiration_date': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
'cost': forms.NumberInput(attrs={'class': 'form-control', 'step': '0.01'}),
'modified_by': forms.TextInput(attrs={'class': 'form-control'}),
}
2024-06-07 03:47:15 +08:00
class WebsiteMaintenanceRecordForm(forms.ModelForm):
class Meta:
model = WebsiteMaintenanceRecord
fields = '__all__'
widgets = {
'website_name': forms.TextInput(attrs={'class': 'form-control'}),
'maintenance_content': forms.TextInput(attrs={'class': 'form-control'}),
'maintenance_details': forms.Textarea(attrs={'class': 'form-control'}),
'maintenance_time': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
2024-06-07 03:47:15 +08:00
'maintainer': forms.TextInput(attrs={'class': 'form-control'}),
}
def __init__(self, *args, **kwargs):
super(WebsiteMaintenanceRecordForm, self).__init__(*args, **kwargs)
self.fields['website_name'] = forms.ChoiceField(
choices=[('', '---------')] + [(dept.website_name, dept.website_name) for dept in WebsiteRegistration.objects.all()],
widget=forms.Select(attrs={'class': 'form-control'}),
label="官网名称"
)
for field_name in self.fields:
if field_name not in ['website_name']:
self.fields[field_name].required = False