Пример #1
0
class BagimliBirimSecimi(FlaskForm):
    """
    3 adimlik birbirine bağımlı birim seçimi formu.
    Ornek formdur. FormField olarak olusturdugunuz forma eklenip kullanilamaz.
    Proje Basvuru formunun genel_bilgiler bölümünde FakulteForm'u icerisinde kullanilmistir.Oradan
    yararlanilabilir
    """

    select_node_one = Select2Field(_('Fakülte'),
                                   url="/select/birim",
                                   validators=[
                                       DataRequired(message=_("Fakülte Alanı Boş Bırakılamaz"))
                                   ],
                                   placeholder=_("Fakülte"),
                                   node_name="first_node_name")
    select_node_two = Select2Field(_('Bölüm'), url="/select/birim",
                                   validators=[DataRequired(message=_("Bu Alan Boş Bırakılamaz"))],
                                   placeholder=_("Bölüm"),
                                   dependent="first_node_name",
                                   node_name="second_node_name")
    select_node_three = Select2Field(_('Ana Bilim Dali'),
                                     url="/select/birim",
                                     validators=[
                                         DataRequired(
                                             message=_("Bu Alan Boş Bırakılamaz"))
                                     ],
                                     placeholder=_("Ana Bilim Dali"),
                                     dependent="second_node_name")
Пример #2
0
class KurumDisiHakemKayitForm(FlaskForm):
    """Proje Kayit Formu"""

    ad = StringField(label=_('Adı'), validators=[Length(max=50)])
    soyad = StringField(label=_('Soyadı'), validators=[Length(max=50)])
    universitede_gorev_almayan = BooleanField(
        label=_('Herhangi bir üniversitede görev almayan hakem ekle'),
        default=False)

    kurum = StringField(label='Kurum', validators=[Length(max=120)])
    daire = StringField(label='Daire', validators=[Length(max=120)])
    birim = StringField(label='Birim', validators=[Length(max=120)])

    universite = Select2Field(_('Üniversite Seç'),
                              url="/select/birim",
                              placeholder=_("Üniversite"),
                              node_name="fakulte_parent",
                              birim_tipi=BirimTipiEnum.universite.value,
                              kurum_ici=False)

    fakulte = Select2Field(_('Fakülte Seç'),
                           url="/select/birim",
                           placeholder=_("Fakülte"),
                           dependent="fakulte_parent",
                           node_name="bolum_parent",
                           birim_tipi=BirimTipiEnum.fakulte.value,
                           kurum_ici=False)

    bolum = Select2Field(_('Bölüm Seç'),
                         url="/select/birim",
                         placeholder=_("Bölüm"),
                         dependent="bolum_parent",
                         birim_tipi=BirimTipiEnum.bolum.value,
                         kurum_ici=False)

    unvan = Select2Field(
        label=_('Ünvan'),
        validators=[DataRequired(message=_("Ünvan boş bırakılamaz"))],
        url='/select/hitap_unvan')

    email = EmailField(
        'E-posta',
        validators=[
            DataRequired(message=_('E-posta alanı boş bırakılamaz')),
            Email(message='Bir email adresi girmelisiniz'),
            Length(max=80)
        ])

    hakem_turu = SelectField(label=_('Hakem Türü'), choices=HAKEM)
Пример #3
0
 class STA1(FlaskForm, GenelIslemler):
     ilgili_memur = Select2Field(
         label=_('İlgili Memur Adı Soyadı'),
         validators=[
             validators.DataRequired(message=_('Bu alan boş bırakılamaz.'))
         ],
         url='/select/personel')
Пример #4
0
class YurutucuForm(ProjeCalisani):
    """
    Arastirma Projesi basvurusu Genel Bilgiler Form Wizard adımının içindeki projenin
    yürütücü bilgilerini içeren panelin form classı
    """
    form_title = _('Proje Yürütücüsü')
    # yurutucu alanlari
    yurutucu_id = Select2Field(_('Yürütücü Seç'),
                               url="/select/ogretim-elemani",
                               placeholder=_("Yürütücü"),
                               disabled=True)
    projeye_katkisi = FloatField(
        _('Katki (%)'),
        default=0,
        validators=[
            DataRequired(message=_("Katkı Alanı Boş Bırakılamaz")),
            NumberRange(
                min=0,
                max=100,
                message=
                _("Projeye Katkisi Alanı İçin 0-100 Arası Bir Sayı Girmelisiniz."
                  ))
        ])
    ozgecmis_file_id = MultiFileField(_("Özgeçmiş Yükle"),
                                      validators=[Optional()],
                                      ids=uuid4().hex)
Пример #5
0
class OdemeYapilacakKisiBilgileri(Form):
    adi_soyadi = StringField(_("Adı Soyadı"),
                             validators=[
                                 DataRequired(_("Bu alan boş bırakılamaz")),
                                 Length(max=50),
                             ])
    banka_sube = StringField(_("Banka/şube"),
                             validators=[
                                 DataRequired(_("Bu alan boş bırakılamaz")),
                                 Length(max=50),
                             ])
    vergi_no = StringField(_("Vergi No"),
                           validators=[
                               DataRequired(_("Bu alan boş bırakılamaz")),
                               Length(max=50),
                           ])
    hesap_no = StringField(_("IBAN"),
                           validators=[
                               DataRequired(_("Bu alan boş bırakılamaz")),
                               Length(max=40),
                           ])
    vergi_dairesi_id = Select2Field(_('Vergi Dairesi'),
                                    url="/select/vergi-dairesi",
                                    placeholder=_("Vergi Dairesi Adı"),
                                    validators=[
                                        DataRequired(
                                            _("Bu alan boş bırakılamaz")),
                                    ])
Пример #6
0
class HakemOneri(Form):
    """Hakem Oneri Formu"""
    ad = StringField(_("Ad"), validators=[Length(max=50)])
    soyad = StringField(_("Soyad"), validators=[Length(max=50)])
    email = StringField(_("Email"), validators=[Length(max=80)])
    ogretim_elemani_id = Select2Field(_("Öğretim Üyesi Seç"),
                                      url="/select/ogretim-uyesi",
                                      placeholder=_("Öğretim Üyesi"))
Пример #7
0
class HariciArastirmaciForm(ProjeCalisani):
    """
    Proje personelleri arasına eklenecek araştırmacı paneline karşılık gelen formdur
    """
    form_title = _('Üniversite Dışı Araştırmacı')

    ad = StringField(_('Adı'),
                     validators=[Length(max=50)],
                     render_kw={"class": "form-control"})
    soyad = StringField(_('Soyadı'),
                        validators=[Length(max=50)],
                        render_kw={"class": "form-control"})
    hitap_unvan_id = Select2Field(_('Unvan Seç'),
                                  url="/select/hitap_unvan",
                                  render_kw={"class": "form-control"},
                                  placeholder=_("Unvan"))

    fakulte_id = Select2Field(
        _('Fakülte Seç'),
        url="/select/birim",
        render_kw={"class": "form-control"},
        placeholder=_("Fakülte/Enstitü/Yüksek Okul/Merkez"))
    bolum_id = Select2Field(_('Bölüm Seç'),
                            url="/select/birim",
                            render_kw={"class": "form-control"},
                            placeholder=_("Bölüm/Ana Bilim Dalı"))
    eposta = StringField(
        _('E-posta'),
        validators=[Length(max=80),
                    Email(message=_('Geçersiz e-posta.'))],
        render_kw={"class": "form-control"})

    is_telefonu = StringField(_('İş Telefonu'),
                              validators=[Length(max=16)],
                              render_kw={"class": "form-control"})

    yonetici_yetkisi_var_mi = BooleanField(
        _('Bu kişi online olarak projeyi ve ara raporları düzenleyebilir/güncelleyebilir'
          ))

    ozgecmis_file_id = MultiFileField(_("Özgeçmiş Yükle"),
                                      validators=[Optional()],
                                      ids=uuid4().hex)
Пример #8
0
class GenelForm(FlaskForm):
    """Site ayarlari icindeki genel alani formu"""
    site_adi = StringField(_("Site Adı"))
    logo = FileField(label=_('Logo'))
    universite_id = Select2Field(_("Üniversite Adı"), url="/select/universite")
    bap_kisa_adi = StringField(_("BAP Kısa Adı"))
    sehir = StringField(_("Şehir"))
    adres = TextAreaField(_("Adres"))
    telefon = StringField(_("Telefon"))
    faks = StringField(_("Faks"))
Пример #9
0
class KurumBankaBilgisi(Form):
    hesap_adi = StringField(_("Hesap Adı"))
    iban = StringField(_("IBAN No"), validators=[Length(max=100)])
    banka_adi = StringField(_("Banka Adı"), validators=[Length(max=100)])
    banka_subesi = StringField(_("Banka Şubesi"), validators=[Length(max=100)])

    vergi_no = StringField(_("Vergi No"))
    vergi_dairesi_id = Select2Field(_('Vergi Dairesi'),
                                    url="/select/vergi-dairesi",
                                    placeholder=_("Vergi Dairesi Adı"))
Пример #10
0
class KurumIciHakemKayitForm(FlaskForm):
    """Proje Kayit Formu"""
    personel_sec = Select2Field(
        label=_('Adı Soyadı'),
        validators=[
            validators.DataRequired(message=_('Bu alan boş bırakılamaz.'))
        ],
        url='/select/personel')

    kurum_ici_hakem_turu = SelectField(label=_('Hakem Türü'), choices=HAKEM)
Пример #11
0
class FakulteForm(Form):
    """
    Arastirma Projesi basvurusu Genel Bilgiler Form Wizard adımının içindeki projenin
    yürütüleceği fakülte/bölüm/bilim dalı bilgilerinin bulunduğu panelin form classı
    """
    form_title = _('Projenin Yürütüleceği Faküllte/Bölüm/Ana Bilim Dalı Bilgileri (*)')

    proje_fakulte = Select2Field(_('Fakülte Seç'),
                                 url="/select/birim",
                                 validators=[
                                     DataRequired(message=_("Fakülte Alanı Boş Bırakılamaz"))
                                 ],
                                 placeholder=_("Fakülte"),
                                 node_name="proje_bolum_parent",
                                 birim_tipi=BirimTipiEnum.fakulte.value,
                                 kurum_ici=True)

    proje_bolum = Select2Field(_('Bölüm Seç'), url="/select/birim",
                               validators=[DataRequired(message=_("Bölüm Alanı Boş Bırakılamaz"))],
                               placeholder=_("Bölüm"),
                               dependent="proje_bolum_parent",
                               node_name="proje_anabilim_dali_parent",
                               birim_tipi=BirimTipiEnum.bolum.value,
                               kurum_ici=True)

    proje_ana_bilim_dali = Select2Field(_('Ana Bilim Dalı Seç'),
                                        url="/select/birim",
                                        validators=[
                                            DataRequired(
                                                message=_("Ana Bilim Dalı Alanı Boş Bırakılamaz"))
                                        ],
                                        placeholder=_("Anabilim Dalı"),
                                        dependent="proje_anabilim_dali_parent",
                                        node_name="proje_bilim_dali_parent",
                                        birim_tipi=BirimTipiEnum.ana_bilim_dali.value,
                                        kurum_ici=True)
Пример #12
0
class ArastirmaciForm(ProjeCalisani):
    """
    Proje personelleri arasına eklenecek araştırmacı paneline karşılık gelen formdur
    """
    form_title = _('Araştırmacı')

    personel_id = Select2Field(_("Personel Seç"),
                               url="/select/personel",
                               placeholder=_("Personel"))

    yonetici_yetkisi_var_mi = BooleanField(
        _('Bu kişi online olarak projeyi ve ara raporları düzenleyebilir/güncelleyebilir'
          ))
    ozgecmis_file_id = MultiFileField(_("Özgeçmiş Yükle"),
                                      validators=[Optional()],
                                      ids=uuid4().hex)
Пример #13
0
class Bursiyer(ProjeCalisani):
    """
    Proje personelleri arasına eklenecek tez öğrencisi paneline karşılık gelen formdur
    """
    form_title = _('Bursiyer')

    ogrenci_id = Select2Field(_("Ögrenci Seç"),
                              url="/select/ogrenci",
                              render_kw={"class": "form-control"},
                              placeholder=_("Öğrenci"))

    yonetici_yetkisi_var_mi = BooleanField(
        _('Bu kişi online olarak projeyi ve ara raporları düzenleyebilir/güncelleyebilir'
          ))
    ozgecmis_file_id = MultiFileField(_("Özgeçmiş Yükle"),
                                      validators=[Optional()],
                                      ids=uuid4().hex)
Пример #14
0
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)
Пример #15
0
class MuhasebeFisMaddesi(Form):
    class Meta(DefaultMeta):
        locales = ["tr"]

    # todo: select2
    hesap_kodu = Select2Field(_("Hesap Kodu"),
                              url="/select/detayli-hesap-kodu",
                              placeholder=_("Detaylı Hesap Kodu"),
                              validators=[
                                  DataRequired(_("Bu alan boş bırakılamaz")),
                              ])
    kurumsal_kod = StringField(_("Kurumsal Kod"),
                               render_kw={"class": "form-control"},
                               validators=[
                                   DataRequired(_("Bu alan boş bırakılamaz")),
                                   Length(max=20),
                               ])
    fonksiyonel_kod = SelectField(_("Fonksiyonel Kodlar"),
                                  render_kw={"class": "form-control"},
                                  validators=[
                                      DataRequired(
                                          _("Bu alan boş bırakılamaz")),
                                  ])
    finans_kodu = StringField(_("Finans Kodu"),
                              render_kw={"class": "form-control"},
                              validators=[
                                  DataRequired(_("Bu alan boş bırakılamaz")),
                              ],
                              default=2)
    borc = ZopseduDecimalField(_('Borç(TL)'),
                               validators=[
                                   DecimalLength(
                                       max_length=12,
                                       error_message="Borç için en fazla 12 "
                                       "haneli bir değer girebilirsiniz")
                               ])
    alacak = ZopseduDecimalField(
        _('Alacak(TL)'),
        validators=[
            DecimalLength(max_length=12,
                          error_message="Alacak için en fazla 12 "
                          "haneli bir değer girebilirsiniz")
        ])
Пример #16
0
class HakemSearchForm(FlaskForm):
    """Proje Arama Formu"""
    ad = StringField(label=_('Adı'), validators=[Length(max=50)])
    soyad = StringField(label=_('Soyadı'), validators=[Length(max=50)])
    bolum = Select2Field(label=_('Bölüm'), url='/select/bolum')
    kurum_ici_option = SelectField(label='Kurum İçi',
                                   choices=[('0', 'Hepsi'), ('1', 'Kurum İçi'),
                                            ('2', 'Kurum Dışı')],
                                   default=0)

    choice = HakemTuru.choices()
    choice = [('0', 'Hepsi')] + choice

    hakem_turu_option = SelectField(label='Hakem Türü',
                                    choices=choice,
                                    default=0)

    def validate(self):
        if not any([self.ad.data, self.soyad.data]):
            return False
        return True
Пример #17
0
class ProjeSatinAlmaTalepleri(FlaskForm):
    urun_secimi_information = [
        _(
            "Ürünleriniz için teknik şartnamenizi 'Teknik Şartname Ekle' butonu ile ekleyebilirsiniz."),
        _("Genel teknik şartname ekle butonu teknik şartname yüklenmeyen "
          "kalemler için ortak şartname eklemek için kullanılır."),
        _("TEKNİK ŞARTNAME DOSYALARINIZI İMZA ETMENİZ ZORUNLUDUR"),
        _("Seçili kalemler için talep edilen miktar değeri yazmak zorundasınız."),
        _("Talep edilen miktar kullanılabilir miktardan büyük olamaz"),
        _("Muayene komisyon üyelerini belirtmek zorundasınız"),
        _('Muayene kabul komisyonu başkanı aksi bir durum oluşmadığı takdirde proje yürütücüsü olmalıdır')
    ]

    talepler = FieldList(FormField(TalepForm), min_entries=0)

    genel_teknik_sartname_belge = CustomFileField(
        _("Genel Teknik Şartname"),
        validators=[FileExtensionRestriction(
            error_message=_("Lütfen uzantısı geçerli bir dosya yükleyiniz."))])

    baskan = Select2Field(label=_('Adı Soyadı'), validators=[
        DataRequired(message=_('Bu alan boş bırakılamaz.'))], url='/select/personel')

    yedek_baskan = Select2Field(label=_('Adı Soyadı'), validators=[
        DataRequired(message=_('Bu alan boş bırakılamaz.'))], url='/select/personel')

    uye = Select2Field(label=_('Adı Soyadı'), validators=[
        DataRequired(message=_('Bu alan boş bırakılamaz.'))], url='/select/personel')

    uye2 = Select2Field(label=_('Adı Soyadı'), validators=[
        DataRequired(message=_('Bu alan boş bırakılamaz.'))], url='/select/personel')

    yedek_uye = Select2Field(label=_('Adı Soyadı'), validators=[
        DataRequired(message=_('Bu alan boş bırakılamaz.'))], url='/select/personel')

    yedek_uye2 = Select2Field(label=_('Adı Soyadı'), validators=[
        DataRequired(message=_('Bu alan boş bırakılamaz.'))], url='/select/personel')
Пример #18
0
class AnasayfaFormu(FlaskForm):
    proje_ara = Select2Field(label=_('Proje Ara'),
                             url='')
    makine_ara = Select2Field(label=_('Makine/Teçhizat Ara'),
                              url='')
Пример #19
0
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])
Пример #20
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"),
        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)
Пример #21
0
class HakemEkleForm(FlaskForm):
    """hakem atama form classi"""
    hakem_id = Select2Field(_("Hakem Ara"), url="/select/hakem")
Пример #22
0
class HariciOgretimElemaniFormu(FlaskForm):
    tckn = IntegerField(
        label=_("TC Kimlik No : "),
        validators=[
            validators.DataRequired(message=_('Bu alan boş bırakılamaz.'))
        ])
    unvan = StringField(label=_("Unvan : "), validators=[Length(max=50)])
    ad = StringField(
        label=_("Ad : "),
        validators=[
            validators.DataRequired(message=_('Bu alan boş bırakılamaz.')),
            Length(max=50)
        ])
    soyad = StringField(
        label=_("Soyad : "),
        validators=[
            validators.DataRequired(message=_('Bu alan boş bırakılamaz.')),
            Length(max=50)
        ])
    birincil_eposta = StringField(
        label=_("Eposta : "),
        validators=[
            validators.DataRequired(message=_('Bu alan boş bırakılamaz.')),
            Length(max=50),
            Email(message='Bir email adresi girmelisiniz')
        ])

    ikincil_eposta = StringField(
        label=_("İkinci Eposta : "),
        validators=[
            validators.DataRequired(message=_('Bu alan boş bırakılamaz.')),
            Length(max=50),
            Email(message='Bir email adresi girmelisiniz')
        ])
    ev_tel_no = IntegerField(label=_("Ev Telefonu : "))
    cep_tel = IntegerField(label=_("Cep Tel. : "))
    adres = TextAreaField(label=_("Adres :"))
    adres2 = TextAreaField(label=_("Adres2 :"))
    akademik_yayinlari = TextAreaField(label=_('Akademik Yayınları :'))
    banka_adi = StringField(label=_('Banka Adı : '),
                            validators=[Length(max=100)])
    sube_adi = StringField(label=_('Şube Adı : '),
                           validators=[Length(max=100)])
    sube_kod = IntegerField(label=_('Şube Kodu : '))
    hesap_no = IntegerField(label=_('Hesap No : '))
    iban_no = StringField(label=_('Iban No : '), validators=[Length(max=100)])
    submit = SubmitField(label=_('Kaydet'))

    universite = Select2Field(
        _('Üniversite Seç'),
        url="/select/birim",
        validators=[
            DataRequired(message=_("Üniversite alanı boş bırakılamaz"))
        ],
        placeholder=_("Üniversite"),
        node_name="fakulte_parent",
        birim_tipi=BirimTipiEnum.universite.value,
        kurum_ici=True)

    fakulte = Select2Field(
        _('Fakülte Seç'),
        url="/select/birim",
        validators=[DataRequired(message=_("Bölüm alanı boş bırakılamaz"))],
        placeholder=_("Fakülte"),
        dependent="fakulte_parent",
        node_name="bolum_parent",
        birim_tipi=BirimTipiEnum.fakulte.value,
        kurum_ici=True)

    bolum = Select2Field(
        _('Bölüm Seç'),
        url="/select/birim",
        validators=[DataRequired(message=_("Bölüm alanı boş bırakılamaz"))],
        placeholder=_("Bölüm"),
        dependent="bolum_parent",
        birim_tipi=BirimTipiEnum.bolum.value,
        kurum_ici=True)

    unvan = Select2Field(
        label=_('Ünvan'),
        validators=[DataRequired(message=_("Ünvan boş bırakılamaz"))],
        url='/select/hitap_unvan')