143 lines
5.2 KiB
Python
143 lines
5.2 KiB
Python
from django import forms
|
|
from django.forms import ModelForm
|
|
from .models import Standards
|
|
from areas.models import Areas
|
|
from tasks.models import Tasks
|
|
from django.contrib.auth.models import User
|
|
from users.models import Profile, UserFullName
|
|
from django_summernote.widgets import SummernoteInplaceWidget
|
|
|
|
|
|
|
|
class StandardAddStandard(forms.ModelForm):
|
|
|
|
class Meta:
|
|
model =Standards
|
|
widgets = {
|
|
'content': SummernoteInplaceWidget()
|
|
}
|
|
labels = {
|
|
"name" : "Titel",
|
|
"area" : "Übergeordneter Bereich",
|
|
"task" : "Tätigkeitsbereich",
|
|
"content": "Inhalt",
|
|
"public" : "Direkt veröffentlichen?",
|
|
"freefield_title" : "Freifeld Titel",
|
|
"freefield_content" : "Freifeld Inhalt",
|
|
}
|
|
fields = ['name', 'area', 'task', 'content', 'public',"freefield_title", "freefield_content"]
|
|
|
|
'''
|
|
|
|
Hier werden die Elemente für die DropDowns erstellt, damit
|
|
ein Standard nur einem Aufgabenbereich aus einem Bereich zugewiesen wird.
|
|
|
|
Damit nach der Auswahl des Bereichs auch eine valide Aufgabe ankommt, wird diese
|
|
hier manuel validiert und das Query-Set mit der Bereichsauswahl geladen.
|
|
|
|
'''
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
super(StandardAddStandard, self).__init__(*args, **kwargs)
|
|
self.fields['area'].queryset = Areas.objects.filter(agency__pk=kwargs['instance'].profile.agency.pk)
|
|
self.fields['task'].queryset = Tasks.objects.none()
|
|
if 'area' in self.data:
|
|
try:
|
|
areaid = int(self.data.get('area'))
|
|
self.fields['task'].queryset = Tasks.objects.filter(area__id=areaid).order_by('name')
|
|
except (ValueError, TypeError):
|
|
pass
|
|
elif self.instance.pk:
|
|
self.fields['task'].queryset = Tasks.objects.none()
|
|
|
|
self.fields['freefield_title'].required = False
|
|
self.fields['freefield_content'].required = False
|
|
self.fields['freefield_content'].widget.attrs['rows'] = 2
|
|
|
|
#self.fields['representative'].queryset = UserFullName.objects.filter(profile__agency__pk=kwargs['instance'].profile.agency.pk)
|
|
#self.fields['executor'].queryset = UserFullName.objects.filter(profile__agency__pk=kwargs['instance'].profile.agency.pk)
|
|
#self.fields['authority'].queryset = UserFullName.objects.filter(profile__agency__pk=kwargs['instance'].profile.agency.pk)
|
|
|
|
self.fields['checked_groups'] = forms.CharField(initial="", required=False, widget=forms.HiddenInput())
|
|
self.fields['added_files'] = forms.CharField(initial="", required=False, widget=forms.HiddenInput())
|
|
self.fields['added_standards'] = forms.CharField(initial="", required=False, widget=forms.HiddenInput())
|
|
|
|
self.fields['us_verant'] = forms.CharField(initial="", required=False, widget=forms.HiddenInput())
|
|
self.fields['us_ex'] = forms.CharField(initial="", required=False, widget=forms.HiddenInput())
|
|
self.fields['us_ver'] = forms.CharField(initial="", required=False, widget=forms.HiddenInput())
|
|
|
|
|
|
class StandardAddStandardEditor(forms.ModelForm):
|
|
|
|
class Meta:
|
|
model = Standards
|
|
widgets = {
|
|
'content': SummernoteInplaceWidget(),
|
|
}
|
|
labels = {
|
|
"content" : "Inhalt"
|
|
}
|
|
fields = ['content']
|
|
|
|
class StandardUpdateStandard(forms.ModelForm):
|
|
|
|
class Meta:
|
|
model =Standards
|
|
widgets = {
|
|
'content': SummernoteInplaceWidget()
|
|
}
|
|
labels = {
|
|
"name" : "Titel",
|
|
"area" : "Übergeordneter Bereich",
|
|
"task" : "Tätigkeitsbereich",
|
|
"content": "Inhalt",
|
|
"freefield_title" : "Freifeld Titel",
|
|
"freefield_content" : "Freifeld Inhalt",
|
|
}
|
|
fields = ['name', 'area', 'task', 'content',"freefield_title", "freefield_content"]
|
|
'''
|
|
|
|
Hier werden die Elemente für die DropDowns erstellt, damit
|
|
ein Standard nur einem Aufgabenbereich aus einem Bereich zugewiesen wird.
|
|
|
|
Damit nach der Auswahl des Bereichs auch eine valide Aufgabe ankommt, wird diese
|
|
hier manuel validiert und das Query-Set mit der Bereichsauswahl geladen.
|
|
|
|
'''
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
loggeduser = kwargs['instance'].created_standard_by
|
|
standard = kwargs['instance']
|
|
super(StandardUpdateStandard, self).__init__(*args, **kwargs)
|
|
self.fields['area'].queryset = Areas.objects.filter(agency__pk=loggeduser.profile.agency.pk)
|
|
# Dummy PK
|
|
self.fields['task'].queryset = Tasks.objects.filter(area__pk=standard.area.pk)
|
|
if 'area' in self.data:
|
|
try:
|
|
areaid = int(self.data.get('area'))
|
|
self.fields['task'].queryset = Tasks.objects.filter(area__id=areaid).order_by('name')
|
|
except (ValueError, TypeError):
|
|
pass
|
|
elif loggeduser.pk:
|
|
self.fields['task'].queryset = Tasks.objects.filter(area__pk=standard.area.pk)
|
|
|
|
|
|
self.fields['freefield_title'].required = False
|
|
self.fields['freefield_content'].required = False
|
|
self.fields['freefield_content'].widget.attrs['rows'] = 2
|
|
#self.fields['representative'].queryset = UserFullName.objects.filter(profile__agency__pk=loggeduser.profile.agency.pk)
|
|
#self.fields['executor'].queryset = UserFullName.objects.filter(profile__agency__pk=loggeduser.profile.agency.pk)
|
|
#self.fields['authority'].queryset = UserFullName.objects.filter(profile__agency__pk=loggeduser.profile.agency.pk)
|
|
|
|
|
|
class StandardUpdateStandardEditor(forms.ModelForm):
|
|
|
|
class Meta:
|
|
model = Standards
|
|
widgets = {
|
|
'content': SummernoteInplaceWidget()
|
|
}
|
|
labels = {
|
|
"content" : "Inhalt"
|
|
}
|
|
fields = ['content'] |