1234567891011121314151617181920212223242526272829303132333435363738 |
- from django import forms
- from .models import License
- from django.db.models import Q
- from django.contrib.auth.models import User
- from health_view.models import Permission
-
- class CreateLicenseForm(forms.ModelForm):
- class Meta:
- model = License
- fields = ('patient', 'justified', 'exp_date', 'folder_parts', 'permissions', 'signature',)
-
- def __init__(self, current_user, *args, **kwargs):
- super(CreateLicenseForm, self).__init__(*args, **kwargs)
- license = License.objects.filter(justified=current_user).order_by('patient')
- conditions = Q(id='0')
- for li in license:
- print(li.patient_id)
- conditions |= Q(id=li.patient_id)
- self.fields['permissions'] = forms.ModelMultipleChoiceField(queryset=Permission.objects.all())
- if License.objects.filter(justified=current_user).exists() and License.objects.filter(license_creator=current_user).exists():
- self.fields['patient'].queryset = User.objects.filter(conditions).distinct()
- elif License.objects.filter(justified=current_user).exists():
- conditions |= Q(username=current_user.username)
- self.fields['patient'].queryset = User.objects.filter(conditions).distinct()
- elif License.objects.filter(license_creator=current_user).exists():
- self.fields['patient'].queryset = User.objects.filter(username="-")
- else:
- self.fields['patient'].queryset = User.objects.filter(username=current_user.username)
-
-
- class CreateLicenseForm_filled(forms.Form):
- patient = forms.CharField()
- justified = forms.CharField()
- license_creator = forms.CharField()
- exp_date = forms.CharField()
- folder_parts = forms.CharField()
- permissions = forms.CharField()
- signature = forms.CharField()
|