class ConclusionForm(forms.Form): user_name_surname = forms.ModelChoiceField( queryset=User.objects.filter(role=1), label="Ф.И.О пациента", widget=s2_forms.ModelSelect2Widget( queryset=User.objects.filter(role=1), search_fields=["full_name__icontains", 'username__icontains'], attrs={ 'data-placeholder': 'ф.и.о пациента ...', 'class': 'form-control' })) text = forms.CharField(label="Текст заключения", widget=forms.Textarea( attrs={ 'width': "100%", 'cols': "100", 'rows': "20", 'placeholder': 'Текст заключения', 'class': 'form-control', 'id': 'conclusion-text' })) image = forms.FileField(required=False, label="Выберите снимок", widget=forms.FileInput( attrs={ 'name': 'image', 'placeholder': 'Выберите снимок', 'class': 'custom-file-input', 'multiple': 'true', 'id': 'image-input-file' }))
class Meta(): model = Solicitacao fields = ['disciplina', 'justificativa', 'documentos'] widgets = { # TODO mudar DB para postersql e adiciona unaccent em search fields 'disciplina': s2forms.ModelSelect2Widget(model=Disciplina, search_fields=[ 'nome__icontains', 'codigo__icontains'], attrs={'data-minimum-input-length': 0,}), }
class CountrySearchForm(forms.Form): country_search = forms.ModelChoiceField( help_text= "This should be your host country or the country where your target population comes from", required=False, queryset=Country.objects.all().order_by('country_name'), label='Target Country', widget=s2forms.ModelSelect2Widget( model=Country, search_fields=['country_name__icontains'], ))
class UserForm(forms.ModelForm): contact = forms.ModelChoiceField( queryset=Contact.objects.get_queryset(), label=ugettext_lazy('Contact'), help_text=ugettext_lazy(''' Select the contact that will be bound to this user. You can only choose from volunteers marked as contacts. '''), required=True, widget=select2.ModelSelect2Widget( model=Contact, search_fields=['name__icontains'], queryset=Contact.objects.filter( tags__tag_type__in=['vo'], user_link=None ), ), ) class Meta: model = User fields = ['username', 'password', 'groups'] labels = { 'username' : ugettext_lazy('Username'), 'password' : ugettext_lazy('Password'), 'groups' : ugettext_lazy('Permission Groups'), } widgets = { 'password': forms.PasswordInput(), 'groups' : select2.ModelSelect2MultipleWidget( model=Group, search_fields=['name__icontains'] ), } def update_user_contact(self): username = self.cleaned_data['username'] password = self.cleaned_data['password'] contact = self.cleaned_data['contact'] groups = self.cleaned_data['groups'] new_user = User.objects.create_user( username=username, password=password, email=contact.email ) new_user.save() contact.user_link = new_user contact.save() for grp in groups: grp.user_set.add(new_user) grp.save()
class Meta(): model = Resultado fields = ['avaliador'] widgets = { # TODO mudar DB para postersql e adiciona unaccent em search fields 'avaliador': s2forms.ModelSelect2Widget( model=User, search_fields=[ 'nome_completo__icontains', 'matricula__icontains'], attrs={'data-minimum-input-length': 0, 'style': 'width: 100%; min-width:80px'}), }
class SearchForm(forms.Form): # disease_search=forms.ModelMultipleChoiceField(required=False, -- use the multiple version of this form when wanting to activate multiple NCD selection disease_search = forms.ModelChoiceField( help_text= "Note: at the moment only diabetes is available in the system. Other NCDs will be added later", required=False, queryset=Disease.objects.all().order_by('disease_name'), label='Condition/NCD', # widget=s2forms.ModelSelect2MultipleWidget( -- use the multiple version of this widget when wanting to activate multiple NCD selection widget=s2forms.ModelSelect2Widget( model=Disease, search_fields=['disease_name__icontains'], # dependent_fields={'pharmacy_search':'pharmacy_searches'} ))
class Meta: model = Contact fields = ['name', 'email', 'phone', 'org', 'events', 'notes'] widgets = { 'notes' : tinymce.TinyMCE(attrs={'cols': 60, 'rows': 15}), 'events': select2.ModelSelect2MultipleWidget(model=Event, search_fields=['name__icontains']), 'org' : select2.ModelSelect2Widget( model=Organization, search_fields=['name__icontains'], ), } labels = { 'org': ugettext_lazy('Organization'), } help_texts = { 'org': ugettext_lazy('This contact\'s associated organization.'), }
class Meta: model = Task fields = ['brief', 'deadline', 'proj', 'notes'] labels = { 'brief' : ugettext_lazy('Brief Description / Title'), 'proj' : ugettext_lazy('Project'), } help_texts = { 'proj' : ugettext_lazy('The project this task is associated with.'), } widgets = { 'deadline': forms.SelectDateWidget(years=[str(v) for v in range(2017, 2035)]), 'notes': tinymce.TinyMCE(attrs={'cols': 60, 'rows': 15}), 'proj' : select2.ModelSelect2Widget( model=Project, search_fields=['title__icontains'], ), }
class LectureForm(forms.ModelForm): class Media: js = ( 'admin/js/vendor/jquery/jquery.min.js', 'admin/js/vendor/select2/select2.full.min.js', ) css = {'all': ('admin/css/vendor/select2/select2.min.css', )} class Meta: model = Lecture fields = [ 'code', 'name', 'academic_year', 'rmu', 'course', 'teacher', 'assistant', 'room', 'date_start', 'default_time_start', 'duration', 'series', 'status', ] code = forms.CharField() academic_year = forms.ModelChoiceField( queryset=AcademicYear.objects.all(), widget=select2.ModelSelect2Widget(model=AcademicYear, search_fields=['code__icontains'])) rmu = forms.ModelChoiceField( label=_('Program Study'), queryset=ManagementUnit.objects.filter(status='4'), widget=select2.ModelSelect2Widget(model=ManagementUnit, search_fields=['name__icontains'])) course = forms.ModelChoiceField( queryset=CurriculumCourse.objects.all(), widget=select2.ModelSelect2Widget( model=CurriculumCourse, search_fields=['course__name__icontains'], dependent_fields={ 'rmu': 'curriculum__rmu', 'academic_year__semester': 'semester_type' }, max_results=500, )) teacher = forms.ModelChoiceField( queryset=Teacher.objects.all(), widget=select2.ModelSelect2Widget( model=Teacher, search_fields=['employee__person__fullname__icontains'])) assistant = forms.ModelChoiceField( queryset=Teacher.objects.all(), widget=select2.ModelSelect2Widget( model=Teacher, search_fields=['employee__person__fullname__icontains'])) room = forms.ModelChoiceField( queryset=Room.objects.all(), widget=select2.ModelSelect2Widget( model=Room, search_fields=['employee__person__fullname__icontains'])) date_start = forms.DateField() default_time_start = forms.TimeField() duration = forms.IntegerField() series = forms.IntegerField() status = forms.ChoiceField(choices=Lecture.STATUS, initial=Lecture.PENDING)