Esempio n. 1
0
class ToplantiGundem(FlaskForm):
    """Toplanti gundem formu"""

    information = [
        "Toplantıya katılımcı eklemeden toplantıyı sonuçlandıramazsınız.",
        "Toplantıyı sonuçlandırabilmek için toplantıda bulunan bütün gündemlerin karar durumlarının belirlenmesi gerekir.",
        "Toplantıyı sonuçlandırdıktan sonra toplantıya gündem/karar ekleyip çıkaramaz var olan kararlarda düzenleme yapamazsınız.",
        "Toplantıyı sonuçlandırdığınızda toplantı durumu sistem tarafından 'gerçekleşti' olarak degiştirilir.",
    ]
    gundem_id = HiddenIntegerField()
    proje_id = HiddenIntegerField()
    toplanti_id = HiddenIntegerField()
    sablon_id = HiddenIntegerField()

    ek_dosya_id = MultiFileField("Gündeme Ait Ek Dosya")
    karar = SummerNoteField(_("Karar"))
    aciklama = SummerNoteField(_("Gündem"))
    tipi = SelectField(_("Gündem Tipi"),
                       choices=GundemTipi.choices(),
                       coerce=GundemTipi.coerce)
    karar_durum = SelectField(_("Karar Durumu"),
                              choices=KararDurumu.choices(),
                              coerce=KararDurumu.coerce)

    sablon = SelectField(_("Gündem Şablonu"))

    gundem_sira_no = SelectField(_("Gündem Sıra No"), coerce=int)
    yonetime_bilgi_notu = SummerNoteField(_("Yönetime Bilgi Notu"))
    kisiye_ozel_not = SummerNoteField(_("Kişiye Özel Not"))

    proje_basligi = StringField("Proje Adı", validators=[Length(max=255)])
Esempio n. 2
0
    class PA19(FlaskForm, GenelIslemler):
        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)

            toplantilar = DB.session.query(BapToplanti).filter(
                BapToplanti.sonuclandi_mi == False).all()

            toplanti_list = [(0,
                              _("Lütfen kararın alındığı toplantıyı seçiniz"))]
            for toplanti in toplantilar:
                toplanti_list.append(
                    (toplanti.id, "Toplanti Tarihi: {}".format(
                        toplanti.toplanti_tarihi.strftime('%d.%m.%Y'))))

            self.toplanti_tarihi.choices = toplanti_list
            self.toplanti_tarihi.default = 0

        toplanti_tarihi = SelectField(label=_("Toplantı tarihi seçiniz"),
                                      coerce=int)
        ek_dosya_id = MultiFileField("Gündeme Ait Ek Dosya",
                                     validators=[Optional()])
        sablon_id = HiddenIntegerField()
        karar = SummerNoteField(_("Karar"))
        aciklama = SummerNoteField(_("Gündem"))
        tipi = SelectField(_("Gündem Tipi"),
                           choices=GundemTipi.choices(),
                           coerce=GundemTipi.coerce)
        karar_durum = SelectField(_("Karar Durumu"),
                                  choices=KararDurumu.choices(),
                                  coerce=KararDurumu.coerce)
Esempio n. 3
0
class GundemSablonEkleForm(FlaskForm):
    """GundemSablon Ekleme Formu"""
    sablon_tipi = SelectField(label=_('Şablon Tipi '),
                              choices=GundemTipi.choices(),
                              coerce=GundemTipi.coerce)

    kategori = SelectField(label=_('Kategori '),
                           choices=SablonKategori.choices(),
                           coerce=SablonKategori.coerce)
    aciklama = SummerNoteField(label=_('Açıklama '))
    karar = SummerNoteField(label=_('Karar '))
    ekle = SubmitField(label=_('Ekle'))
Esempio n. 4
0
class ProjeCalisani(Form):
    """
        ProjeCalisanlari(bursiyer, arastirmaci, harici_arastirmaci, yurutucu)
        icin gecerli olan ortak fieldlari icerir
    """
    projeye_katkisi = DecimalField(
        _('Katki (%)'),
        default=0,
        validators=[
            NumberRange(
                min=0,
                max=100,
                message=
                _("Projeye Katkisi Alanı İçin 0-100 Arası Bir Sayı Girmelisiniz."
                  ))
        ])
    projeye_bilimsel_katkisi = TextAreaField(_('Yapacağı Bilimsel Katkı'))
    projedeki_gorevi = TextAreaField(_('Projedeki Görevi'))

    ozgecmis_text = SummerNoteField(_("Özgeçmiş"),
                                    placeholder=_("Özgeçmişinizi Ekleyiniz"))
    banka_bilgisi = StringField(
        _("Banka Hesap Bilgisi(IBAN)"),
        validators=[
            Length(
                max=32,
                message=_(
                    "Banka Hesap Bilgisi Alanı En Fazla 32 Karakter İçerebilir"
                ))
        ])
Esempio n. 5
0
    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)
Esempio n. 6
0
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.'))
Esempio n. 7
0
class HakemProjeDegerlendirmeForm(FlaskForm):
    degerlendirme_metni = SummerNoteField("Degerlendirme Metni")
    degerlendirme_sonucu = fields.RadioButtonField(
        _('Lütfen inceleme sonucunuzu işaretleyiniz?'),
        choices=[(choice.name, choice.value)
                 for choice in ProjeDegerlendirmeSonuc])

    degerlendirme_tamamlandi = BooleanField(
        label=_("Proje değerlendirmesi tamamlandı."), default=False)
Esempio n. 8
0
class RaporForm(FlaskForm):
    information = [
        _("Lütfen rapor metnini doldurunuz."),
        _("Rapor için ek dosya yükleyebilirsiniz"),
        _("Raporu tamamla seçeneğini işaretlerseniz daha sonra düzenleyemezsiniz.(Düzenleyebilmek "
          "için yetkili ile iletişime geçmeniz gerekir.)")
    ]
    rapor_metni = SummerNoteField(_("Rapor Metni"))
    rapor_dosya = MultiFileField("Rapor Dosya")
    tamamlandi_mi = BooleanField(_("Raporu Tamamla"))
Esempio n. 9
0
class ProjeOzetBilgileri(Form):
    form_title = _('Genel Bilgiler 2')
    ozet = SummerNoteField(
        _("Proje Özeti"))
    literatur_ozet = SummerNoteField(_("Literatür Özeti"))
    amac_kapsam = SummerNoteField(_("Amaç, Konu ve Kapsam"))
    gerec_yontem = SummerNoteField(
        _("Materyal ve Yöntem"))
    arastirma_olanaklari = SummerNoteField(
        _("Araştırma Olanakları"))
    beklenen_bilimsel_katki = SummerNoteField(_("Yaygın Etki"))
    uygulama_plani = SummerNoteField(_("Çalışma Takvimi"))
Esempio n. 10
0
class ProjeDegerlendirmeFormu(FlaskForm):
    information = [
        _("Değerlendirmeyi tamamlayabilmek için tamamlandı seçeneğini işaretleyip kaydetmeniz gerekir"
          ),
        _("Tamamladığınız değerlendirmeyi güncellemeniz mümkun değildir.(Yetkili ile iletişime geçmeniz gerekir) "
          ),
    ]
    degerlendirme_metni = SummerNoteField()
    degerlendirme_sonucu = SelectField(
        _("Değerlendirme Sonucu"),
        choices=ProjeDegerlendirmeSonuc.choices(),
        coerce=ProjeDegerlendirmeSonuc.coerce)
    degerlendirme_tamamlandi_mi = BooleanField(
        label=_("Değerlendirme Tamamlandı Mı?"), default=False)
Esempio n. 11
0
    class PA12(FlaskForm, GenelIslemler):

        toplanti_tarihi = SelectField(
            label=_("Toplantı tarihi seçiniz"),
            validators=[
                validators.DataRequired(message=_('Bu alan boş bırakılamaz')),
            ],
            coerce=int)

        gundem_tipi = SelectField(label=_("Gündem Tipi"),
                                  choices=GundemTipi.choices(),
                                  coerce=GundemTipi.coerce)

        karar_durum = SelectField(
            label=_("Karar Durumu"),
            validators=[
                validators.DataRequired(message=_('Bu alan boş bırakılamaz')),
            ],
            choices=KararDurumu.choices(),
            coerce=KararDurumu.coerce)

        karar_sira_no = IntegerField(
            label=_("Karar Sıra No"),
            validators=[
                validators.DataRequired(message=_('Bu alan boş bırakılamaz'))
            ])

        karar = SummerNoteField(
            label=_('Karar'),
            validators=[
                validators.DataRequired(message=_('Bu alan boş bırakılamaz.')),
            ])

        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)
            proje_id = request.view_args.get("proje_id")

            toplantilar = DB.session.query(BapToplanti).all()

            toplanti_list = [(0,
                              _("Lütfen kararın alındığı toplantıyı seçiniz"))]

            for toplanti in toplantilar:
                toplanti_list.append(
                    (toplanti.id, "Toplanti Tarihi: {}".format(
                        toplanti.toplanti_tarihi.strftime('%d.%m.%Y'))))

            self.toplanti_tarihi.choices = toplanti_list
            self.toplanti_tarihi.default = 0
Esempio n. 12
0
class OzgecmisKayitFormu(FlaskForm):
    """Ozgecmis kayit Formu
       Kullanici dosya ile ozgecmis yukler,
         aksi takdirde gerekli alanlari doldurur.
    """
    ad = StringField(label=_("Ad: "), validators=[Length(max=50)])
    soyad = StringField(label=_("Soyad: "), validators=[Length(max=50)])
    dogum_tarihi = StringField(label=_("Doğum Tarihi: "))
    tecrube = SummerNoteField(label=_("Tecrübe: "))
    ozgecmis_dosya = FileField(
        label=_(
            "Dosya seçerseniz varolan özgeçmiş dosyanız güncellenecektir!"),
        validators=[
            FileExtensionRestriction(error_message=_(
                "Lütfen uzantısı geçerli bir dosya yükleyiniz."))
        ])
    ozgecmis_dosya_id = HiddenIntegerField(_("Dosya"))
    kaydet = SubmitField(label=_("Kaydet"))
Esempio n. 13
0
class BapDuyuruForm(FlaskForm):
    """Bap Duyuru Formu"""
    form_information_list = [
        _("Bir duyurunun duyurular listesinde görünebilmesi için başlangıç, bitiş tarihleri "
          "arasında olmalı ve 'Duyuru Listesinde Görünsün mü?' kutucuğu işaretlenmelidir."),
        _("'Ön Sayfa Görünürlüğü' duyurunun bap anasayfasındaki duyurular bölümünde görünme "
          "durumunu belirtir."),
    ]
    icerik_id = HiddenIntegerField()
    ekleyen_ad_soyad = StringField(_("Ekleyen Kişi"), render_kw={"class": "form-control"})

    baslik = StringField(_("Duyuru Başlığı"),
                         validators=[
                             DataRequired(message=_("Duyuru Başlığı Alanı Boş Bırakılamaz")), Length(max=255)
                         ],
                         render_kw={"class": "form-control"})
    icerik = SummerNoteField(_("Duyuru Metni"),
                             validators=[
                                 DataRequired(message=_("Duyuru Metni Alanı Boş Bırakılamaz"))
                             ],
                             render_kw={"class": "form-control"})

    on_sayfa_gorunurlugu = BooleanField(_("Ön Sayfa Görünürlüğü"),
                                        render_kw={"class": "form-control"})
    aktif_mi = BooleanField(_("Duyuru Listesinde Görünsün mü ?"),
                            render_kw={"class": "form-control"})

    bitis_tarihi = DateTimePickerField(_("Son Geçerlilik Tarihi"),
                                   validators=[
                                       DataRequired(message=_("'Son Geçerlilik Tarihi' Alanı Boş Bırakılamaz"))
                                   ],
                                   render_kw={"class": "form-control"})
    baslangic_tarihi = DateTimePickerField(_("Aktif Olma Tarihi"),
                                       validators=[
                                           DataRequired(message=_("'Aktif Olma Tarihi' Alanı Boş Bırakılamaz"))
                                       ],
                                       render_kw={"class": "form-control"})

    ek_dosyalar = FieldList(FormField(IcerikEkDosyaFormu))
Esempio n. 14
0
class RaporDegerlendirmeForm(Form):
    ara_form = SummerNoteField()
    sonuc_form = SummerNoteField()
Esempio n. 15
0
class SummerNoteForm(Form):
    """Example wysiwyg form"""

    note = SummerNoteField(u'Write Something')
    save = SubmitField(label=_('Kaydet'))
Esempio n. 16
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])
Esempio n. 17
0
class DegerlendirmeGuncelleForm(FlaskForm):
    """Degerlendirme guncelleme formu"""
    degerlendirme_metni = SummerNoteField(_("Degerlendirme Güncelle"))
Esempio n. 18
0
class BAPHakkindaForm(FlaskForm):
    bap_hakkinda_metni = SummerNoteField(_("BAP Hakkında Metni"))
Esempio n. 19
0
class DuyuruForm(FlaskForm):
    duyuru_id = HiddenIntegerField(validators=[DataRequired(message=_("Bu alan boş bırakılamaz"))])
    duyuru_basligi = StringField(label=_('Duyuru Başlığı'),
                                 validators=[DataRequired(message=_("Bu alan boş bırakılamaz"))])
    duyuru_metni = SummerNoteField(_("Duyuru Metni"),
                                   validators=[DataRequired(message=_("Bu alan boş bırakılamaz"))])
Esempio n. 20
0
class FirmaAyarlari(FlaskForm):
    teslimat_gecikme_emaili_gonderilsin_mi = BooleanField(
        _("Teslimat gecikme email gönderilsin mi?"))
    yoneticiye_teslimat_gecikme_emaili_gonderilsin_mi = BooleanField(
        _("Yöneticiye teslimat gecikme emaili gönderilsin mi?"))
    kabul_beyan_metni = SummerNoteField(_("Kabul beyan metni"))
Esempio n. 21
0
 class PA3(FlaskForm, GenelIslemler):
     ozel_not = SummerNoteField(
         label=_('Proje Yürütücüsüne Özel Not Giriniz'),
         validators=[
             validators.DataRequired(message=_('Bu alan boş bırakılamaz')),
         ])