class ST5(FlaskForm, GenelIslemler): duyuru_icerigi = SummerNoteField( label=_('Duyuru Metni'), validators=[ validators.DataRequired(message=_('Bu alan boş bırakılamaz.')), ], default="BU ŞABLONDUR AYARLARA EKLENEMLİDİR") baslangic_tarihi = DatePickerField( "Başlangıç Tarihi :", format='%d.%m.%Y', default=datetime.today(), validators=[ validators.DataRequired( message=_("Başlangıç Tarihini Giriniz")) ], disable_older_dates=False) bitis_tarihi = DatePickerField( "Bitiş Tarihi :", format='%d.%m.%Y', default=datetime.today(), validators=[ validators.DataRequired(message=_("Bitiş Tarihini Giriniz")) ], disable_older_dates=False)
class DatePickerForm(Form): """Example form for Date Picker""" baslama_tarihi = DatePickerField(_('Başlama Tarihi'), disable_older_dates=False) bitis_tarihi = DatePickerField(_('Bitiş Tarihi'), disable_older_dates=False) baslama_tarihi_option = SelectField( choices=[('0', 'Küçük'), ('1', 'Eşit'), ('2', 'Büyük')], default=1) bitis_tarihi_option = SelectField( choices=[('0', 'Küçük'), ('1', 'Eşit'), ('2', 'Büyük')], default=1)
class DatePickerForm(Form): """Example form for Date Picker""" siparis_tarihi = DatePickerField(_('Sipariş Tarihi'), disable_older_dates=False) siparis_tarihi_option = SelectField(choices=[('0', 'Önceki Tarih'), ('1', 'Şuanki Tarih'), ('2', 'Sonraki Tarih')], default=1) teslim_edilmesi_beklenen_tarih = DatePickerField( _('Teslim Edilmesi Beklenen Tarihi'), disable_older_dates=False) teslim_edilmesi_beklenen_tarih_option = SelectField(choices=[ ('0', 'Önceki Tarih'), ('1', 'Şuanki Tarih'), ('2', 'Sonraki Tarih') ], default=1)
class ToplantiEkleForm(FlaskForm): """Toplanti Ekleme Formu""" toplanti_tarihi = DatePickerField(label=_('Toplantı Tarihi'), disable_older_dates=False) toplanti_durumu = SelectField(label=_('Toplantı Durumu '), choices=ToplantiDurumu.choices()) ekle = SubmitField(label=_('Ekle'))
class BAPProjeBasvuruFormu(FlaskForm): """Yeni başvuru formu""" class Meta(DefaultMeta): """BapProjeBasvuru Form Meta""" form_name = "BAP Proje Basvuru Formu" form_type = ONERI form_module = "arastirma_projesi" will_explored = True will_listed = True kayit_tarihi = DatePickerField(label='Kayit Tarihi') genel_bilgiler = FormField(GenelBilgilerFormWizardForm) proje_personeli = FormField(ProjePersoneliFormWizardForm) diger = FormField(ProjeDigerFormWizardForm) butce = FormField(ProjeButceFormWizardForm) proje_turu = HiddenIntegerField() # pylint: disable=too-many-arguments def __init__(self, formdata=None, obj=None, prefix='', data=None, meta=None, **kwargs): super().__init__(formdata=formdata, obj=obj, prefix=prefix, data=data, meta=meta, **kwargs)
class DatePickerForm(Form): """Example form for Date Picker""" toplanti_tarihi = DatePickerField(_('Toplantı Tarihi'), disable_older_dates=False) toplanti_tarihi_option = SelectField(choices=[('0', 'Küçük'), ('1', 'Eşit'), ('2', 'Büyük')], default=1)
class P24(FlaskForm, GenelIslemler): dondurulacak_tarih = DatePickerField( "Hangi tarihe kadar dondurulacak? :", format='%d.%m.%Y', validators=[ validators.DataRequired(message=_("Bu alan boş bırakılamaz")) ], disable_older_dates=False)
class DatePickerForm(Form): """ form for Date Picker""" siparis_kabul_tarihi = DatePickerField(_('Sipariş Kabul Tarihi'), disable_older_dates=False) siparis_kabul_tarihi_option = SelectField(choices=[('0', 'Önceki Tarih'), ('1', 'Şuanki Tarih'), ('2', 'Sonraki Tarih')], default=1)
class PA16(FlaskForm, GenelIslemler): proje_baslangic_tarihi = DatePickerField( label='Proje Başlangıç Tarihi', disable_older_dates=False) proje_suresi = IntegerField( _('Proje Süresi'), validators=[ DataRequired(message=_("Proje Süresi Alanı Boş Bırakılamaz")) ], default=0) proje_suresi_birimi = SelectField(choices=ProjeSuresiBirimi.choices(), default=ProjeSuresiBirimi.ay, coerce=ProjeSuresiBirimi.coerce)
class P23(FlaskForm, GenelIslemler): yk_toplanti_tarihi = DatePickerField( "Proje sonuç raporunun kabul edildiği komisyon tarihi :", format='%d.%m.%Y', validators=[ validators.DataRequired(message=_("Bu alan boş bırakılamaz")) ], disable_older_dates=False) yk_toplanti_sayisi = IntegerField( _('Komisyon Sayısı'), validators=[DataRequired(message=_("Bu alan boş bırakılamaz"))], default=0)
class FaturaBilgileri(Form): fatura_no = StringField(_("Fatura No."), validators=[ DataRequired(_("Bu alan boş bırakılamaz")), ]) fatura_tarihi = DatePickerField( _("Fatura Tarihi"), validators=[DataRequired(message=_("Bu Alan Boş Bırakılamaz"))], disable_older_dates=False, disable_further_dates=True) aciklama = TextAreaField(_("Açıklama"), validators=[ DataRequired(_("Bu alan boş bırakılamaz")), ])
class P22(FlaskForm, GenelIslemler): proje_bitis_tarihi = DatePickerField( "Y.K Toplantısında belirlenen proje sonlandırma tarihi :", format='%d.%m.%Y', validators=[ validators.DataRequired(message=_("Bu alan boş bırakılamaz")) ], disable_older_dates=False) yk_toplanti_sayisi = IntegerField( _('Proje Bitiş Y.K Toplantı Sayısı'), validators=[DataRequired(message=_("Bu alan boş Bırakılamaz"))], default=0) ilgili_karar = SelectField(label=_('İlgili Karar'))
class SiparisFatura(SiparisTakip): fatura_no = StringField(_("Fatura No")) fatura_tarihi = DatePickerField( "Fatura Tarihi", format='%d.%m.%Y', default=datetime.today(), validators=[ validators.DataRequired(message=_("Fatura tarihi giriniz")) ], disable_older_dates=False, disable_further_dates=True) def validate_secili_mi(self, _): if self.secili_mi.data: if not self.fatura_no.data or not self.fatura_tarihi.data: raise ValidationError(message="Bütün alanlarını doldurunuz.")
class GenelIslemler(Form): islem_tarihi = DatePickerField( "İşlem Tarihi :", format='%d.%m.%Y', default=datetime.today(), validators=[ validators.DataRequired(message=_("İşlem Tarihi Giriniz")) ], disable_older_dates=False) bap_admin_log = SummerNoteField( label=_('İşlemin Açıklaması (Yöneticilere gönderilecek)')) yurutucu_log = SummerNoteField( label=_('İşlemin Açıklaması (Proje yürütücüsüne gönderilecek)')) email = BooleanField( label=_('Proje yürütücüsü e-mail yolu ile bilgilendirilsin.'))
class OnaylayanYetkiliForm(Form): """ Arastirma Projesi basvurusu Genel Bilgiler Form Wizard adımının içindeki projenin onaylayan yetkili bilgilerini içeren panelin form classı """ form_title = _('Onaylayan Yetkili') # onaylayan yetkili onaylayan_yetkili_id = Select2Field(_('Onaylayan Yetkili Seç'), url="/select/personel", validators=[ DataRequired(message=_( "Onaylayan Yetkili Alanı Boş Bırakılamaz")) ], placeholder=_("Onaylayan Yetkili")) onay_tarihi = DatePickerField(_('Onay Tarihi'), format='%d.%m.%Y', validators=[ DataRequired(message=_("Onay Tarihi Alanı Boş Bırakılamaz")) ], disable_older_dates=False, disable_further_dates=True)
class FisGenelBilgiler(Form): kurum_adi = StringField(_("Kurum Adı"), validators=[ DataRequired(_("Bu alan boş bırakılamaz")), ]) kurum_kodu = StringField(_("Kurum Kodu"), validators=[ DataRequired(_("Bu alan boş bırakılamaz")), ]) muhasebe_birimi_adi = StringField(_("Muhasebe Birim Adı"), validators=[ DataRequired( _("Bu alan boş bırakılamaz")), ]) muhasebe_birimi_kodu = StringField(_("Muhasebe Kodu"), validators=[ DataRequired( _("Bu alan boş bırakılamaz")), ]) birim_adi = StringField(_("Birim Adı"), validators=[ DataRequired(_("Bu alan boş bırakılamaz")), ]) birim_kodu = StringField(_("Birim Kodu"), validators=[ DataRequired(_("Bu alan boş bırakılamaz")), ]) fakulte_bolum = StringField(_("Fakülte/Bölüm"), validators=[ DataRequired(_("Bu alan boş bırakılamaz")), ]) yil = IntegerField(_("Yıl"), default=date.today().year, validators=[ DataRequired(_("Bu alan boş bırakılamaz")), ]) belge_tarihi = DatePickerField( _("Belge Tarihi"), validators=[DataRequired(message=_("Bu Alan Boş Bırakılamaz"))], disable_older_dates=False, disable_further_dates=True) belge_numarasi = StringField( _("Belge Numarası"), validators=[DataRequired(_("Bu alan boş bırakılamaz"))])
class ErasmusForm(FlaskForm): """ Erasmus form fields """ ad = StringField( label=_("First Name"), validators=[ validators.DataRequired(message=_("First Name cannot be empty.")) ]) name_only = StringField( label=_("Name"), validators=[ validators.DataRequired(message=_("Name cannot be empty.")) ]) soyad = StringField( label=_("Last Name"), validators=[ validators.DataRequired(message=_("Last Name cannot be empty.")) ]) ogrenci_dogum_tarihi = DatePickerField( label=_("Date of Birth"), validators=[ validators.DataRequired( message=_("Date of birth cannot be empty.")) ]) ogrenci_uyruk = StringField( label=_("Nationality"), validators=[ validators.DataRequired(message=_("Nationality cannot be empty.")) ]) ogrenci_cinsiyet = SelectField(label=_("Sex"), choices=[(0, _("Male")), (1, _("Female")), (2, _("Other"))], default=2) akademik_yil = IntegerField(_("Academic Year"), default=2018) ogrenim_durumu = SelectField(label=_("Study Cycle"), choices=[(1, _("Bachelor or equivalent")), (2, _("Master or equivalent")), (3, _("Doctoral level"))], default=1) calisma_alani_kodu = StringField( label=_("Subject Area, Code"), validators=[ validators.DataRequired( message=_("Subject Area, Code cannot be empty.")) ]) fakulte = StringField( label=_("Faculty"), validators=[ validators.DataRequired(message=_("Faculty cannot be empty.")) ]) erasmus_kodu = StringField(label=_("Erasmus Code (if applicable)")) bolum = StringField( label=_("Department"), validators=[ validators.DataRequired(message=_("Department cannot be empty.")) ]) adres = StringField( label=_("Address"), validators=[ validators.DataRequired(message=_("Address cannot be empty.")) ]) ulke = StringField( label=_("Country, Country code"), validators=[ validators.DataRequired( message=_("Country, Country code cannot be emoty.")) ]) contact_person_ad = StringField( label=_("Contact person name"), validators=[ validators.DataRequired( message=_("Contact person name cannot be empty.")) ]) constact_person_email_or_phone = StringField( label=_("Contact person e-posta/telefon"), validators=[ validators.DataRequired( message=_("Contact person e-posta/telefon cannot be empty.")) ]) planed_period_of_the_mobility_from = StringField( label=_("Planned period of the mobility: from [month/year]"), validators=[ validators.DataRequired(message=_("month/year cannot be empty.")) ]) planed_period_of_the_mobility_to = StringField( label=_("to [month/year]"), validators=[ validators.DataRequired(message=_("month/year cannot be empty.")) ]) bos_input = StringField(render_kw={"class": "form-control"}) empty_number_input = IntegerField(render_kw={ "class": "form-control", "type": "number" }) a1 = BooleanField(label=_("A1"), default=False) a2 = BooleanField(label=_("A2"), default=False) b1 = BooleanField(label=_("B1"), default=False) b2 = BooleanField(label=_("B2"), default=False) c1 = BooleanField(label=_("C1"), default=False) c2 = BooleanField(label=_("C2"), default=False) native = BooleanField(label=_("Native speaker"), default=False) function = StringField( label=_("Function"), validators=[ validators.DataRequired(message=_("Function cannot be empty.")) ]) phone_number = StringField( label=_("Phone Number"), default=5300000000, validators=[ validators.DataRequired(message=_("Phone number cannot be empty.")) ]) email = StringField( label=_("Email"), validators=[ validators.DataRequired(message=_("Email cannot be empty.")) ]) date = DatePickerField( label=_("Date"), validators=[ validators.DataRequired(message=_("Date cannot be empty.")) ])
class FarabiForm(FlaskForm): """ Erasmus form fields """ ad = StringField( label=_("Ad"), validators=[validators.DataRequired(message=_("Ad boş bırakılamaz."))]) soyad = StringField( label=_("Soyad"), validators=[ validators.DataRequired(message=_("Soyad boş bırakılamaz.")) ]) tc = IntegerField(label=_("T.C. Kimlik No"), validators=[ validators.DataRequired( message=_("T.C. Kimlik No boş bırakılamaz.")) ]) bolum = StringField( label=_("Bölümü"), validators=[ validators.DataRequired(message=_("Bölüm boş bırakılamaz.")) ]) ogrenci_no = IntegerField( label=_("Öğrenci No"), validators=[ validators.DataRequired(message=_("Öğrenci No boş bırakılamaz.")) ]) adres = StringField( label=_("Address"), validators=[ validators.DataRequired(message=_("Adres boş bırakılamaz.")) ]) photo = MultiFileField(file_types=['jpg', 'jpeg', 'png'], button_name=_('Fotoğraf Yükle'), colmd=4) kurum_kordinatoru = StringField( label=_("Kurum Koordinatörü"), validators=[ validators.DataRequired( message=_("Kurum Koordinatörü boş bırakılamaz.")) ]) phone_number = StringField( label=_("Telefon No"), default=0, validators=[ validators.DataRequired(message=_("Telefon No boş bırakılamaz.")) ]) faks = StringField( label=_("Faks"), default=0, validators=[ validators.DataRequired(message=_("Faks boş bırakılamaz.")) ]) email = StringField( label=_("E-Posta"), validators=[ validators.DataRequired(message=_("E-Posta boş bırakılamaz.")) ]) bolum_kordinatoru = StringField( label=_("Bölüm Koordinatörü"), validators=[ validators.DataRequired( message=_("Bölüm Koordinatörü boş bırakılamaz.")) ]) ogrenci_dogum_tarihi = DatePickerField( label=_("Doğum Tarihi"), validators=[ validators.DataRequired(message=_("Doğum Tarihi boş bırakılamaz.")) ]) ogrenci_uyruk = StringField( label=_("Uyruk"), validators=[ validators.DataRequired(message=_("Uyruk boş bırakılamaz.")) ]) ogrenci_cinsiyet = SelectField(label=_("Cinsiyet"), choices=[(0, _("Erkek")), (1, _("Kadın")), (2, _("Diğer"))], default=2) ogrenim_durumu = StringField( label=_("Devam Edilen Diploma Derecesi"), validators=[ validators.DataRequired( message=_("Devam Edilen Diploma Derecesi boş bırakılamaz.")) ]) sinifi = IntegerField( label=_("Sınıfı"), validators=[ validators.DataRequired(message=_("Sınıf boş bırakılamaz.")) ]) dogum_yeri = StringField( label=_("Doğum Yeri"), validators=[ validators.DataRequired(message=_("Doğum yeri boş bırakılamaz.")) ]) bos_input = StringField(render_kw={"class": "form-control"}) zayif = BooleanField(label=_("Zayıf"), default=False) orta = BooleanField(label=_("Orta"), default=False) iyi = BooleanField(label=_("İyi"), default=False) mukemmel = BooleanField(label=_("Mükemmel"), default=False)
class ProjeTuruFormu(FlaskForm): """ Proje Türü Formu """ information = [ "Proje türünü taslak olarak kaydedip daha sonra işlem yapmaya devam edebilirsiniz", "Başvuru yapılmış bir proje türünü güncelleyemezsiniz.", "Başvuru yapılmış bir projeyi güncellemek isterseniz versiyonlama özelliğini kullanabilirsiniz", "Bir proje türünü versiyonlarsanız eski versiyona artık başvuru yapılamayacaktır. Başvurular yeni versiyona yapılabilir." "Basvuru aktif mi seçeneğini işaretlemezseniz proje türü başvuruya açık olmaz", ] # Proje türü formu Genel Ayarlar-1 Bölümü # pylint: disable=line-too-long ad = StringField( _("Proje Tür Adı"), [validators.DataRequired(message=_("Proje Tür Adı Alanı Boş Olamaz"))]) proje_turu_aciklama = SummerNoteField(_("Proje Türü Açıklaması")) kategori = SelectField( _("Kategori"), choices=ProjeTuruKategorisi.choices(), default=ProjeTuruKategorisi.bilimsel_arastirma_projesi, coerce=ProjeTuruKategorisi.coerce) gelir_kasasi_id = Select2Field( _('Kasa Seç'), url="/select/gelir-kasasi", validators=[DataRequired(message=_("Kasa alanı boş bırakılamaz"))], placeholder=_("Kasa Seçiniz")) basvuru_baslama_tarihi = DatePickerField( "Başvuru Başlangıç Tarihi", format='%d.%m.%Y', validators=[ validators.DataRequired( message=_("Başvuru Başlama Tarihi Giriniz")) ]) basvuru_bitis_tarihi = DatePickerField( "Başvuru Bitiş Tarihi", format='%d.%m.%Y', validators=[ validators.DataRequired(message=_("Başvuru Bitiş Tarihi Giriniz")) ]) hakem_onerilsin_mi = BooleanField("Hakem Önerilsin mi?", default=False) basvuru_hakem_oneri_sayisi = IntegerField("Hakem Öneri Sayısı", default=0) hakem_degerlendirmesi_gerekli_mi = BooleanField( "Hakem Değerlendirmesi Gerekli mi?", default=False) sure_alt_limiti = IntegerField( "Proje Süre Alt Limiti", validators=[ validators.DataRequired( message=_("Süre alt limiti alanı boş bırakılamaz")), LessThan( "sure_ust_limiti", message= "Proje süre alt limit değeri süre üst limit değerinden küçük olmalıdır" ) ]) sure_ust_limiti = IntegerField( "Proje Süre Üst Limiti", validators=[ validators.DataRequired( message=_("Süre Üst Limiti Alanı Boş Bırakılamaz")) ]) sure_birimi = SelectField(_("Proje Süre Birimi"), choices=ProjeSuresiBirimi.choices(), default=ProjeSuresiBirimi.ay, coerce=ProjeSuresiBirimi.coerce) proje_mali_destek_suresi = IntegerField(_("Proje Mali Destek Süresi"), default=0) mali_destek_suresi_birimi = SelectField( _("Mali Destek Süresi Birimi"), choices=ProjeSuresiBirimi.choices(), default=ProjeSuresiBirimi.ay, coerce=ProjeSuresiBirimi.coerce) # Proje Türü Formu Genel Ayarlar-2 Bölümü # # ek süre ile ilgili alanlar ek_sure_talep_tipi = SelectField("Ek Süre Talep Tipi", choices=EkTalepTipi.choices(), default=EkTalepTipi.yok, coerce=EkTalepTipi.coerce) ek_sure_talep_degeri = IntegerField(_("Ek Süre Talep Değeri"), default=0) ek_sureler_proje_sure_limitine_dahil_mi = BooleanField( _("Ek Süre Proje Süre Limitine Dahil mi?"), default=False) # # # Proje tipi yuksek lisans / doktora (uzmanlik) veya belirtilmemis # proje_tipi = SelectField("Proje Tipi", # choices=ProjeTipi.choices(), # default=ProjeTipi.yuksek_lisans, # coerce=ProjeTipi.coerce) # diger alanlardan bagımsız boolean fieldlar basvuru_aktif_mi = BooleanField(_("Başvuru Aktif mi ?"), default=True) proje_ek_talepleri_icin_rapor_kontrolu_yapilacak_mi = BooleanField( _("Proje Ek Talepleri İçin Rapor Kontrolü Yapılacak mı ?"), default=False) herkese_acik_proje_listesinde_yer_alacak_mi = BooleanField( _("Herkese Açık Proje Listesinde Yer Alacak mı ?"), default=False) # butce tercihi # todo sabit secenekler elimizde olmadigindan daha sonra eklenmek üzere # secenekler arasından kaldırıldı. # ButceTercihleri.sabit_seceneklerden_birini_secsin.value), # _("Sabit Bütçe Seçeneklerinden Birini Seçsin")), butce_tercihi = SelectField( _("Bütçe Tercihleri"), choices=ButceTercihleri.choices(), default=ButceTercihleri.proje_yurutucusu_onersin, coerce=ButceTercihleri.coerce) # Proje türü formu ek dosya ayarlari Bölümü proje_yurutucusu_ek_dosyalar_ekleyebilir_mi = BooleanField( _("Proje Yürütücüsü Ek Dosyalar Ekleyebilir mi ?"), default=True) is_zaman_plani_otomasyon_icerisinde_doldurulsun_mu = BooleanField( _("İş Zamanı Planı Otomasyon İçerisinde Doldurulsun mu ?"), default=False) ek_dosya_yuklenebilir_mi = BooleanField(_("Ek Dosya Yüklenebilir mi ?"), default=False) # proje türü için gerekli formlar oneri_sablon_id = SelectField(_("Öneri Şablonu"), choices=[], coerce=int) hakem_degerlendirme_sablon_id = SelectField( _("Hakem Proje Değerlendirme Şablonu"), choices=[], coerce=int) hakem_ara_rapor_sablon_id = SelectField(_("Hakem Ara Rapor Şablonu"), choices=[], coerce=int) hakem_sonuc_rapor_sablon_id = SelectField(_("Hakem Sonuc Raporu Şablonu"), choices=[], coerce=int) ara_rapor_sablon_id = SelectField(_("Ara Rapor Şablonu"), choices=[], coerce=int) sonuc_raporu_sablon_id = SelectField(_("Sonuç Raporu Şablonu"), choices=[], coerce=int) sozlesme_sablon_id = SelectField(_("Proje Sözleşmesi Şablonu"), choices=[], coerce=int) # Hangi raporlar gerekli? Sadece sonuc, ara ve sonuc, ikisi de gerekli degil ara_rapor_gerekli_mi = BooleanField(_("Ara Rapor Gerekli mi ?"), default=False) sonuc_raporu_gerekli_mi = BooleanField(_("Sonuç Raporu Gerekli mi ?"), default=False) rapor_gecikmelerinde_satinalma_yapabilecek_mi = BooleanField( _("Rapor Gecikmelerinde Satınalma Talebi Yapabilecek mi ?"), default=False) rapor_gecikmelerinde_yolluk_talebi_yapabilecek_mi = BooleanField( _("Rapor Gecikmelerinde Yolluk Talebi Yapabilecek mi ?"), default=False) rapor_gecikmelerinde_ek_talep_yapabilecek_mi = BooleanField( _("Rapor Gecikmelerinde Ek Talep Yapabilecek mi ?"), default=False) sonuc_raporu_sonrasi_islem_yapilsin_mi = BooleanField( _("Sonuç Raporundan sonra işlem yapabilir mi ?"), default=False) rapor_araligi_suresi = IntegerField(_("Rapor Aralığı Süresi"), default=0, validators=[validators.Optional()]) rapor_araligi_birimi = SelectField(_("Rapor Aralığı Birimi"), choices=ProjeSuresiBirimi.choices(), default=ProjeSuresiBirimi.ay, coerce=ProjeSuresiBirimi.coerce) sonuc_raporu_icin_ek_sure = IntegerField( _("Sonuç Raporu İçin Ek Süre"), default=0, validators=[validators.Optional()]) sonuc_raporu_icin_ek_sure_birimi = SelectField( _("Sonuç Raporu İçin Ek Süre Birimi"), choices=ProjeSuresiBirimi.choices(), default=ProjeSuresiBirimi.ay, coerce=ProjeSuresiBirimi.coerce) rapor_gecikme_mail_suresi = IntegerField( _("Rapor Gecikme Mail Süresi"), default=0, validators=[validators.Optional()]) rapor_gecikme_mail_suresi_birimi = SelectField( _("Rapor Gecikme Mail Süresi Birimi"), choices=ProjeSuresiBirimi.choices(), default=ProjeSuresiBirimi.ay, coerce=ProjeSuresiBirimi.coerce) personel_ekrani_bilgilendirme_mesaji = SummerNoteField( _("Personel Ekranı Bilgilendirme Mesajı")) proje_yurutucusu_icin_yardim_mesaji = SummerNoteField( _("Proje Yürütücüsü İçin Yardım Mesajı")) basvuru_yapilmadan_gelecek_uyari = SummerNoteField( _("Basvuru Yapilmadan Gelecek Uyari Mesajı")) basvuru_tamamlandiktan_sonra_bilgilendirme = SummerNoteField( _("Başvuru Tamamlandıktan Sonra Bilgilendirme Mesajı")) gonder_islemi_yapilirken_yurutucuye_gosterilecek_uyari = SummerNoteField( _("Gönder İşlemi Yapılırken Yurutucuye Gösterilecek Uyarı Mesajı")) ek_dosyalar_ekrani_bilgilendirme = SummerNoteField( _("Ek Dosyalar Ekranı Bilgilendirme Mesajı")) hakem_onerisi_bilgilendirme = SummerNoteField( _("Hakem Önerisi Bilgilendirme Mesajı")) ara_rapor_uyari = SummerNoteField(_("Ara Rapor İçin Uyarı Mesajı")) sonuc_raporu_uyari = SummerNoteField(_("Sonuc Raporu İçin Uyarı Mesajı")) butce_ekrani_bilgilendirme = SummerNoteField( _("Bütçe Ekranı Bilgilendirme Mesajı")) yurutucu_proje_sozlesme_bekleme_mesaji = SummerNoteField( _("Yürütücü Proje Sözleşme Bekleme Mesajı")) degerlendirme_ekraninda_bilgi_notu = SummerNoteField( _("Değerlendirme ekranında bilgi notu")) degerlendirme_sonunda_bilgi_notu = SummerNoteField( _("Değerlendirme sonunda bilgi notu")) # Proje türü formu personel ayarlari bölümü personel_ayarlari = FormField(ProjeTuruPersonel) # Proje türü butce sablon ayarlari bölümü butce_ayarlari = FormField(ProjeTuruButce) butce_kalemleri = FieldList(FormField(ButceKalemi)) ek_dosyalar = FieldList(FormField(EkDosya), min_entries=1) ciktilar = FieldList(FormField(Cikti), min_entries=1) cikti_secenekleri = SelectField(_("Çıktı Seçenekleri"), choices=[], coerce=int) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) sablon_types = { 4: [], # oneri sablon type id 5: [], # Hakem proje degerlendirme sablon type id 8: [], # hakem souc raporu degerlendirme sablon type id 9: [], # Hakem Ara Raporu Değerlendirme Şablonu 14: [], # Sonuç Raporu Şablonu sablon type id 15: [], # Ara Rapor Şablonu sablon type id 3: [], # sözlesme sablon type id } proje_turu_sablonlari = DB.session.query( Sablon.id.label("sablon_id"), Sablon.adi.label("sablon_adi"), SablonTipi.id.label("sablon_tipi_id"), SablonTipi.adi.label("sablon_tipi_adi")).join( Sablon.sablon_tipi).filter( Sablon.module_name == "BAP", Sablon.kullanilabilir_mi == True, SablonTipi.id.in_(sablon_types.keys())).all() for sablon in proje_turu_sablonlari: sablon_types[sablon.sablon_tipi_id].append( (sablon.sablon_id, sablon.sablon_adi)) self.set_field_choices(self.oneri_sablon_id, sablon_types[4]) self.set_field_choices(self.hakem_degerlendirme_sablon_id, sablon_types[5]) self.set_field_choices(self.hakem_ara_rapor_sablon_id, sablon_types[9]) self.set_field_choices(self.hakem_sonuc_rapor_sablon_id, sablon_types[8]) self.set_field_choices(self.sonuc_raporu_sablon_id, sablon_types[14]) self.set_field_choices(self.ara_rapor_sablon_id, sablon_types[15]) self.set_field_choices(self.sozlesme_sablon_id, sablon_types[3]) bap_sablon_tipleri = DB.session.query(Sablon).options( lazyload(Sablon.query)).filter(Sablon.module_name == "BAP").filter( ~Sablon.sablon_tipi_id.in_(sablon_types.keys())).all() if bap_sablon_tipleri: sablon_secenekleri = [] for sablon in bap_sablon_tipleri: sablon_secenekleri.append( (sablon.id, "{sablon_adi} ({sablon_tipi})".format( sablon_tipi=sablon.sablon_tipi.adi, sablon_adi=sablon.adi))) self.cikti_secenekleri.choices = sablon_secenekleri self.cikti_secenekleri.default = sablon_secenekleri[0] self.cikti_secenekleri.coerce = int # proje turu basvurusunda gorunecek analitik gelir kodlarini db den alip proje turu # formu butce_kalemleri icerisine ekler if not self.butce_kalemleri.entries: analitik_butce_kodlari = DB.session.query( GiderSiniflandirma).filter( GiderSiniflandirma.kodu.in_( PROJE_TURU_GELIR_KODLARI)).all() for butce_kodu in analitik_butce_kodlari: self.butce_kalemleri.append_entry({ "gider_siniflandirma_id": butce_kodu.id, "secili_mi": False, "butce_kalemi_adi": "{} {}".format(butce_kodu.kodu, butce_kodu.aciklama) }) @staticmethod def set_field_choices(field, choices): """ :param field: form field :param choices: tuple list of choices :return: """ if choices: setattr(field, "choices", choices) setattr(field, "default", getattr(field, "choices")[0])
class FirmaKayitFormu(FlaskForm): """Firma Kayit Formu""" bilgi_notu = _( """Lütfen kayıt işlemi için firma ve yetkili bilgilerinizi doğru girdiğinizden emin olunuz. Değerlendirme sonucunda firmanızın onay alması halinde, giriş yapmanız için kullanıcı oluşturulacaktır. Yetkili bilgileri kısmı, firmanızda yetkili olan kişi şeklinde doldurulmadır.""" ) firma_faaliyet_belgesi_id = FileField(_("Firma Faaliyet Belgesi")) adres = StringField(_("Firma Adresi"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=500) ]) adi = StringField(_("Firma Adı"), validators=[Length(max=500)]) telefon = StringField( _("Firma Telefon"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=25) ]) email = StringField(_("Firma E-posta"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=80), Email(message=_('Geçersiz e-posta.')) ]) vergi_kimlik_numarasi = StringField( _("Vergi Kimlik Numarası"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=20) ]) faaliyet_belgesi_verilis_tarihi = DatePickerField( _("Faaliyet Belgesi Veriliş Tarihi"), validators=[DataRequired(message=_("Bu Alan Boş Bırakılamaz"))], disable_older_dates=False) yetkili_adi = StringField( _("Yetkili Adı"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=50) ]) yetkili_soyadi = StringField( _("Yetkili Soyadı"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=50) ]) yetkili_kullanici_adi = StringField( _("Yetkili Kullanıcı Adı"), validators=[DataRequired(message=_("Bu Alan Boş Bırakılamaz"))]) yetkili_email = StringField( _("Yetkili E-posta"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=25), Email(message=_('Geçersiz e-posta.')) ])
class FirmaKayitFormu(FlaskForm): """Firma Kayit Formu""" bilgi_notu = _( """Lütfen kayıt işlemi için firma ve yetkili bilgilerinizi doğru girdiğinizden emin olunuz. Değerlendirme sonucunda firmanızın onay alması halinde, giriş yapmanız için kullanıcı oluşturulacaktır. Yetkili bilgileri kısmı, firmanızda yetkili olan kişi şeklinde doldurulmadır.""" ) firma_faaliyet_belgesi_id = FileField( _("Firma Faaliyet Belgesi"), validators=[ CustomFileFieldRequired(error_message=_( "Firma faaliyet belgesi yüklemek zorundasınız")), FileExtensionRestriction(error_message=_( "Lütfen uzantısı geçerli bir dosya yükleyiniz.")) ]) adres = StringField(_("Firma Adresi"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=500) ]) adi = StringField(_("Firma Adı"), validators=[Length(max=500)]) telefon = StringField( _("Firma Telefon"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=25) ]) email = StringField(_("Firma E-posta"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=80), Email(message=_('Geçersiz e-posta.')) ]) vergi_kimlik_numarasi = StringField( _("Vergi Kimlik Numarası"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=20) ]) faaliyet_belgesi_verilis_tarihi = DatePickerField( _("Faaliyet Belgesi Veriliş Tarihi"), validators=[DataRequired(message=_("Bu Alan Boş Bırakılamaz"))], disable_older_dates=False) yetkili_adi = StringField( _("Yetkili Adı"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=50) ]) yetkili_soyadi = StringField( _("Yetkili Soyadı"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=50) ]) vergi_dairesi_id = Select2Field(_('Vergi Dairesi'), url="/select/vergi-dairesi", placeholder=_("Vergi Dairesi Adı")) iban = StringField(_("IBAN No"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=30) ]) banka_sube_adi = StringField( _("Banka/Şube Adı"), validators=[ DataRequired(message=_("Bu Alan Boş Bırakılamaz")), Length(max=255) ]) yetkili_user_bilgileri = FormField(UserBilgileri)