Пример #1
0
class Room(Model):
    """Oda modeli

    Üniversitenin sahip olduğu odalara (sınıf, lab, amfi) ait data modelidir. Her odanın
    bir kodu bulunur.

    Odalar, binalara ve binalar aracılığıyla kampüslere bağlanır.

    """

    code = field.String(_(u"Kod"), index=True)
    name = field.String(_(u"İsim"), index=True)
    room_type = RoomType(_(u"Oda Tipi"), index=True)
    unit = Unit(_(u"Bölüm"))

    #: Bina içerisindeki kat bilgisi
    floor = field.String(_(u"Kat"), index=True)
    capacity = field.Integer(_(u"Kapasite"), index=True)
    building = Building()
    exam_capacity = field.Integer(_(u"Sınav Kapasitesi"))

    is_active = field.Boolean(_(u"Aktif"), index=True)
    unitime_key = field.String(
    )  # Ders/Sınav programları hazırlanırken id'leri eşleştirmek için

    class Meta:
        verbose_name = _(u"Oda")
        verbose_name_plural = _(u"Odalar")
        search_fields = ['code', 'name']
        list_fields = ['code', 'name']

    def __unicode__(self):
        return '%s %s %s' % (self.code, self.name, self.capacity)
Пример #2
0
 class Degerlendirme(ListNode):
     tur = field.Integer(_(u"Değerlendirme Türü"),
                         choices="sinav_turleri",
                         index=True)
     sinav_suresi = field.Integer(_(u"Sınav Süresi (dakika)"))
     toplam_puana_etki_yuzdesi = field.Integer(
         _(u"Toplam Puana Etki Yüzdesi"), index=True)
Пример #3
0
class HizmetKurs(Model):
    tckn = field.String(_(u"TC Kimlik No"), index=True)
    kayit_no = field.String(_(u"Kursa Kayıt No"), index=True)
    kurs_ogrenim_suresi = field.Integer(_(u"Kurs Öğrenim Süresi"), index=True)
    mezuniyet_tarihi = field.Date(_(u"Mezuniyet Tarihi"),
                                  index=True,
                                  format="%d.%m.%Y")
    kurs_nevi = field.Integer(_(u"Kurs Nevi"), index=True, choices="kurs_nevi")
    bolum_ad = field.Integer(
        _(u"Bölüm Adı"), index=True,
        choices="bolum_adi")  # TODO: serviste karsiligi yok
    okul_ad = field.Integer(_(u"Okul Adı"), index=True,
                            choices="okul_adi")  # TODO: servisten gelen string
    ogrenim_yeri = field.String(_(u"Öğrenim Yeri"), index=True)
    denklik_tarihi = field.Date(_(u"Denklik Tarihi"),
                                index=True,
                                format="%d.%m.%Y")
    denklik_okulu = field.String(_(u"Denklik Okulu"), index=True)
    denklik_bolum = field.String(_(u"Denklik Bölüm"), index=True)
    kurum_onay_tarihi = field.Date(_(u"Kurum Onay Tarihi"),
                                   index=True,
                                   format="%d.%m.%Y")
    sync = field.Integer(_(u"Senkronize"), index=True)
    personel = Personel()

    class Meta:
        app = 'Personel'
        verbose_name = _(u"Kurs")
        verbose_name_plural = _(u"Kurslar")
        list_fields = ['kayit_no', 'bolum_ad', 'okul_ad']
        search_fields = ['tckn', 'okul_ad', 'bolum_ad']
        hitap_service_prefix = "HitapKurs"

    def __unicode__(self):
        return '%s %s %s' % (self.kurs_nevi, self.bolum_ad, self.okul_ad)
Пример #4
0
class Odeme(Model):
    """Ödeme Modeli

    Öğrencilerin borçlarına karşılık, banka veya diğer yollar ile tahsil
    edilen ödemelerin saklandığı data modelidir.

    """

    miktar = field.Float("Borç Miktarı", index=True)
    para_birimi = field.Integer("Para Birimi",
                                index=True,
                                choices="para_birimleri")
    aciklama = field.String("Borç Açıklaması", index=True)
    odeme_sekli = field.Integer("Ödeme Şekli",
                                index=True,
                                choices="odeme_sekli")
    odeme_tarihi = field.Date("Ödeme Tarihi", index=True)
    borc = Borc()
    ogrenci = Ogrenci()
    banka = Banka()
    banka_sube_kodu = field.String("Banka Sube Kodu", index=True)
    banka_kanal_kodu = field.String("Kanal Kodu", index=True)
    tahsilat_referans_no = field.String("Tahsilat Referans No", index=True)
    donem = Donem()

    class Meta:
        app = 'Ogrenci'
        verbose_name = "Borc"
        verbose_name_plural = "Borclar"
        list_fields = ['miktar', 'son_odeme_tarihi']
        search_fields = ['miktar', 'odeme_tarihi']

    def __unicode__(self):
        return '%s %s %s %s' % (self.miktar, self.para_birimi, self.sebep,
                                format_date(self.son_odeme_tarihi))
Пример #5
0
class UcretsizIzin(Model):
    """Ücretsiz izin Modeli

    Personelin ücretsiz izin bilgilerini içeren modeldir.

    """

    tip = field.Integer("Tip", index=True, choices="ucretsiz_izin")
    baslangic_tarihi = field.Date("İzin Başlangıç Tarihi",
                                  index=True,
                                  format="%d.%m.%Y")
    bitis_tarihi = field.Date("İzin Bitiş Tarihi",
                              index=True,
                              format="%d.%m.%Y")
    donus_tarihi = field.Date("Dönüş Tarihi", index=True, format="%d.%m.%Y")
    donus_tip = field.Integer("Dönüş Tip", index=True)
    onay_tarihi = field.Date("Onay Tarihi", index=True, format="%d.%m.%Y")
    personel = Personel()

    class Meta:
        app = 'Personel'
        verbose_name = "Ücretsiz İzin"
        verbose_name_plural = "Ücretsiz İzinler"
        list_fields = [
            'tip', 'baslangic_tarihi', 'bitis_tarihi', 'donus_tarihi'
        ]
        search_fields = ['tip', 'onay_tarihi']

    def __unicode__(self):
        return '%s %s' % (self.tip, self.onay_tarihi)
Пример #6
0
class ZamanDilimleri(Model):
    class Meta:
        verbose_name = _(u"Zaman Dilimi")
        verbose_name_plural = _(u"Zaman Dilimleri")
        unique_together = [('birim', 'gun_dilimi')]
        search_fields = ['birim', 'gun_dilimi']

    birim = Unit(_(u'Bölüm'))
    gun_dilimi = field.Integer(_(u'Gün Dilimi'), choices=gun_dilimi_listele, index=True)

    baslama_saat = field.String(_(u"Başlama Saati"), index=True)
    baslama_dakika = field.String(_(u"Başlama Dakikası"), index=True)

    bitis_saat = field.String(_(u"Bitiş Saati"), index=True)
    bitis_dakika = field.String(_(u"Bitiş Dakikası"), index=True)

    # Ara suresi de dahil. Ornek olarak 30 girildiyse ders 9, 9.30, 10 gibi surelerde baslayabilir.
    ders_araligi = field.Integer(_(u'Ders Süresi'), default=60, index=True)
    ara_suresi = field.Integer(_(u'Tenefüs Süresi'), default=10, index=True)

    zaman_dilimi_suresi = field.Integer(_(u"Zaman Dilimi Süresi"), index=True)

    def pre_save(self):
        self.zaman_dilimi_suresi = int(self.bitis_saat) - int(self.baslama_saat)

    def __unicode__(self):
        return '%s - %s|%s' % (
            dict(gun_dilimi_listele())[int(self.gun_dilimi)],
            format_time(time(int(self.baslama_saat), int(self.baslama_dakika))),
            format_time(time(int(self.baslama_dakika), int(self.bitis_dakika))),
        )
Пример #7
0
class Borc(Model):
    """Borç modeli

    Öğrencilerin ödemesi gereken ücret (harc, belge, belgeler, kimlik
    ücretleri vb.) bilgilerinin saklandığı modeldir.

    ``tahakkuk_referans_no`` sistem tarafından üretilen ve
    3. taraflara (banka veya ilgili diğer kurumlar) iletilen tekil
    takip koddur.

    """

    miktar = field.Float(_(u"Borç Miktarı"), index=True)
    para_birimi = field.Integer(_(u"Para Birimi"),
                                index=True,
                                choices="para_birimleri")
    sebep = field.Integer(_(u"Borç Sebebi"),
                          index=True,
                          choices="ogrenci_borc_sebepleri")
    son_odeme_tarihi = field.Date(_(u"Son Ödeme Tarihi"), index=True)
    tahakkuk_referans_no = field.String(_(u"Tahakkuk Referans No"), index=True)
    aciklama = field.String(_(u"Borç Açıklaması"), index=True)
    ogrenci = Ogrenci()
    donem = Donem()

    class Meta:
        app = 'Ogrenci'
        verbose_name = _(u"Borç")
        verbose_name_plural = _(u"Borçlar")
        list_fields = ['miktar', 'son_odeme_tarihi']
        search_fields = ['miktar', 'odeme_tarihi']

    def __unicode__(self):
        return '%s %s %s %s' % (self.miktar, self.para_birimi, self.sebep,
                                self.son_odeme_tarihi)
Пример #8
0
class ZamanCetveli(Model):
    """
        Ilgili birime ait belirlenen zaman dilimleri ders program koordinatoru tarafindan
        ogretim elemanlarin saat araliklarina gore durumlarini belirleyecegi model
    """

    class Meta:
        verbose_name = _(u'Zaman Cetveli')
        verbose_name_plural = _(u'Zaman Cetvelleri')

        unique_together = [('zaman_dilimi', 'ogretim_elemani_zaman_plani', 'gun')]
        search_fields = ['zaman_dilimi', 'ogretim_elemani_zaman_plani', 'birim', 'gun', 'durum']

    birim = Unit(_(u"Birim"))
    gun = field.Integer(_(u"Gün"), choices=gun_listele, index=True)
    zaman_dilimi = ZamanDilimleri(_(u"Zaman Dilimi"))
    durum = field.Integer(
        _(u"Uygunluk Durumu"),
        choices=uygunluk_durumu_listele,
        default=1, index=True
    )
    ogretim_elemani_zaman_plani = OgElemaniZamanPlani(_(u"Öğretim Elemanı"))

    def __unicode__(self):
        return '%s - %s - %s' % (self.ogretim_elemani_zaman_plani, self.zaman_dilimi,
                                 dict(uygunluk_durumu_listele())[int(self.durum)])
Пример #9
0
class BAPSatinAlma(Model):
    class Meta:
        verbose_name = __(u"Bütçe Kalemi Satın Alma")
        verbose_name_plural = __(u"Bütçe Kalemi Satın Almaları")
        list_fields = ['ad', 'teklife_acilma_tarihi', 'teklife_kapanma_tarihi']

    ad = field.String(__(u"Satın Alma Duyuru Adı"))
    teklife_acilma_tarihi = field.DateTime(__(u"Teklife Açılma Tarihi"))
    teklife_kapanma_tarihi = field.DateTime(__(u"Teklife Kapanma Tarihi"))
    sonuclanma_tarihi = field.Date(__(u"Teklifin Sonuçlanma Tarihi"))
    onay_tarih_sayi = field.String(__(u"Onay Tarih/Sayı"))
    ekleyen = Personel()
    aciklama = field.Text(__(u"Açıklama"))
    teklif_durum = field.Integer(__(u"Teklif Durum"),
                                 choices='bap_satin_alma_durum')
    ilgili_proje = BAPProje()
    tek_firma = BAPFirma()
    tur = field.Integer(_(u"Satın Alma Türü"),
                        choices='bap_satin_alma_turleri')
    duyuruda = field.Boolean(_(u"Duyuru Durumu"), default=False)
    sorumlu = Role()
    duyuruda = field.Boolean(__(u"Duyurulma Durumu"), default=False)

    class ButceKalemleri(ListNode):
        butce = BAPButcePlani()

    def __unicode__(self):
        return "%s" % self.ad
Пример #10
0
class SaglikRaporu(Model):
    personel = Personel(_(u"Raporu Alan Personel"))
    rapor_cesidi = field.Integer(_(u"Rapor Çeşidi"),
                                 choices='saglik_raporu_cesitleri',
                                 required=True)
    sure = field.Integer(_(u"Gün"), required=True)
    baslama_tarihi = field.Date(_(u"Rapor Başlanğıç Tarihi"), required=True)
    bitis_tarihi = field.Date(_(u"Raporlu Olduğu Son Gün"), required=True)
    onay_tarihi = field.Date(_(u"Onay Tarihi"), required=True)
    raporun_alindigi_il = field.Integer(_(u"Raporun Alındığı İl"),
                                        choices='iller',
                                        required=False)
    nerden_alindigi = field.String(_(u"Sağlık Raporunun Alındığı Kurum"),
                                   required=True)
    gecirecegi_adres = field.Text(_(u"Geçireceği Adres"), required=False)
    telefon = field.String(_(u"Telefon Numarası"), required=False)

    class Meta:
        verbose_name = _(u"Sağlık Raporu")
        verbose_name_plural = _(u"Sağlık Raporları")
        list_fields = ['rapor_cesidi', 'sure', 'bitis_tarihi']

    def __unicode__(self):
        return "%s %s - %s - %s" % (self.personel.ad, self.personel.soyad,
                                    self.get_rapor_cesidi_display(),
                                    self.bitis_tarihi)
Пример #11
0
class BAPFirma(Model):
    class Meta:
        verbose_name = __(u"Firma")
        verbose_name_plural = __(u"Firmalar")
        list_fields = ['ad', 'vergi_no']
        unique_together = [('vergi_no', 'vergi_dairesi')]

    ad = field.String(__(u"Firma Adı"), required=True)
    telefon = field.String(__(u"Telefon"), required=True)
    adres = field.String(__(u"Adres"), required=True)
    e_posta = field.String(__(u"E-posta Adresi"), required=True, unique=True)
    vergi_no = field.String(__(u"Vergi Kimlik Numarası"), required=True)
    vergi_dairesi = field.Integer(__(u"Vergi Dairesi"),
                                  choices='vergi_daireleri',
                                  required=True)
    faaliyet_belgesi = field.File(_(u"Firma Faaliyet Belgesi"),
                                  random_name=False,
                                  required=True)
    faaliyet_belgesi_verilis_tarihi = field.Date(
        __(u"Faaliyet Belgesi Veriliş Tarihi"), required=True)
    durum = field.Integer(__(u"Durum"), choices='bap_firma_durum')

    class Yetkililer(ListNode):
        yetkili = User()

    def __unicode__(self):
        return "%s" % self.ad
Пример #12
0
class HizmetUnvan(Model):
    kayit_no = field.String(_(u"Hizmet Kayıt No"), index=True)
    tckn = field.String(_(u"TC Kimlik No"), index=True)
    unvan_kod = field.Integer(_(u"Ünvan Kodu"), index=True)
    unvan_tarihi = field.Date(_(u"Ünvan Tarihi"),
                              index=True,
                              format="%d.%m.%Y")
    unvan_bitis_tarihi = field.Date(_(u"Ünvan Bitiş Tarihi"),
                                    index=True,
                                    format="%d.%m.%Y")
    hizmet_sinifi = field.String(_(u"Hizmet Sınıfı"), index=True)
    asil_vekil = field.String(_(u"Asıl Vekil"), index=True)
    atama_sekli = field.String(_(u"Atama Sekli"), index=True)
    kurum_onay_tarihi = field.Date(_(u"Kurum Onay Tarihi"),
                                   index=True,
                                   format="%d.%m.%Y")
    fhz_orani = field.Float(_(u"FHZ Oranı"), index=True)
    sync = field.Integer(_(u"Senkronize"), index=True)
    personel = Personel()

    class Meta:
        app = 'Personel'
        verbose_name = _(u"Ünvan")
        verbose_name_plural = _(u"Ünvanlar")
        list_fields = ['unvan_kod', 'hizmet_sinifi', 'kurum_onay_tarihi']
        search_fields = ['unvan_kod', 'hizmet_sinifi']
        hitap_service_prefix = "HitapUnvan"

    def __unicode__(self):
        return '%s %s' % (self.unvan_kod, self.hizmet_sinifi)
Пример #13
0
class HizmetIstisnaiIlgi(Model):
    tckn = field.String(_(u"TC Kimlik No"), index=True)
    kayit_no = field.String(_(u"Kayıt No"), index=True)
    baslama_tarihi = field.Date(_(u"Başlama Tarihi"),
                                index=True,
                                format="%d.%m.%Y")
    bitis_tarihi = field.Date(_(u"Bitiş Tarihi"),
                              index=True,
                              format="%d.%m.%Y")
    gun_sayisi = field.Integer(_(u"Gün Sayısı"), index=True)
    istisnai_ilgi_nevi = field.Integer(_(u"İstisnai İlgi Nevi"), index=True)
    kha_durum = field.Integer(_(u"KHA Durum"), index=True, choices="kha_durum")
    kurum_onay_tarihi = field.Date(_(u"Kurum Onay Tarihi"),
                                   index=True,
                                   format="%d.%m.%Y")
    sync = field.Integer(_(u"Senkronize"), index=True)
    personel = Personel()

    class Meta:
        app = 'Personel'
        verbose_name = _(u"İstisnai İlgi")
        verbose_name_plural = _(u"İstisnai İlgiler")
        list_fields = [
            'baslama_tarihi', 'bitis_tarihi', 'istisnai_ilgi_nevi', 'kha_durum'
        ]
        search_fields = ['istisnai_ilgi_nevi', 'kha_durum']
        hitap_service_prefix = "HitapIstisnaiIlgi"

    def __unicode__(self):
        return '%s %s %s' % (self.kayit_no, self.istisnai_ilgi_nevi,
                             self.kha_durum)
Пример #14
0
class Sinav(Model):
    """Sınav Modeli

    Derse ait sınav(ara sınav, genel sınav, bütünleme, tek ders, muafiyet)
    bilgilerinin saklandığı modeldir.

    Sınavlar şubeler için ders dolayısı ile otomatik açılırlar. Bu sebeple temel bağ Şube
    modelidir.

    Ders arama kolaylığı için eklenmiştir.

    """

    tarih = field.Date(_(u"Sınav Tarihi"), index=True)
    yapilacagi_yer = field.String(_(u"Yapılacağı Yer"), index=True)
    tur = field.Integer(_(u"Sınav Türü"), index=True, choices="sinav_turleri")
    aciklama = field.String(_(u"Açıklama"), index=True)
    sube = Sube()
    degerlendirme = field.Boolean(_(u"Değerlendirme Durumu"),
                                  index=True,
                                  default=False)

    # arama amacli
    ders = Ders()
    puan = field.Integer(_(u"Puan"), index=True)

    class Meta:
        app = 'Ogrenci'
        verbose_name = _(u"Sınav")
        verbose_name_plural = _(u"Sınavlar")
        list_fields = ['tarih', 'yapilacagi_yer']
        search_fields = ['aciklama', 'tarih']

    def __unicode__(self):
        return '%s %s' % (self.get_tur_display(), self.sube)
Пример #15
0
class OgrenciProgram(Model):
    """Öğrenci Program Modeli

    Öğrencilerin kayıt yaptırdığı programların saklandığı modeldir.

    Öğrenciler birden fazla programa kayıt yaptırabilirler. Herbir program için ayrı bir öğrenci
    numarası alırlar.

    Aktif dönem öğrencinin ilgili programda geldiği aşamayı ifade eder. Buna göre ilgili program
    derslerinden faydalanabilir.

    Başarı durumu, Genel Ağırlıklı Not Ortalamasını ifade eder:
    http://www.ulakbus.org/wiki/standart_fakulteler_icin_yazilim_ihtiyac_analizi_belgesi.html#basari-hesaplama

    Öğrencinin ilgili programdaki danışman bilgisi de burada saklanır.

    """

    ogrenci_no = field.String(_(u"Öğrenci Numarası"), index=True)
    giris_tarihi = field.Date(_(u"Giriş Tarihi"), index=True, format="%d.%m.%Y")
    mezuniyet_tarihi = field.Date(_(u"Mezuniyet Tarihi"), index=True, format="%d.%m.%Y")
    giris_puan_turu = field.Integer(_(u"Puan Türü"), index=True, choices="giris_puan_turleri")
    giris_puani = field.Float(_(u"Giriş Puani"), index=True)
    aktif_donem = field.String(_(u"Dönem"), index=True)
    ogrencilik_statusu = field.Integer(_(u'Öğrencilik Statüsü'), index=True,
                                       choices="ogrenci_program_durumlar")
    ogrenci_ders_kayit_status = field.Integer(_(u'Öğrencilik Ders Kayıt Statüsü'), index=True,
                                              choices="ogrenci_ders_kayit_durum")
    ayrilma_nedeni = field.Integer(_(u'Ayrılma Nedeni'), index=True, choices='ayrilma_nedeni')
    basari_durumu = field.String(_(u"Başarı Durumu"), index=True)
    diploma_no = field.String(_(u"Diploma No"), index=True)
    ders_programi = DersProgrami()
    danisman = Personel()
    program = Program()
    ogrenci = Ogrenci()
    bagli_oldugu_bolum = Unit(_(u"Bölüm"))

    class Meta:
        app = 'Ogrenci'
        verbose_name = _(u"Öğrenci Programı")
        verbose_name_plural = _(u"Öğrenci Programları")

    class Belgeler(ListNode):
        tip = field.Integer(_(u"Belge Tipi"), choices="belge_tip", index=True)
        aciklama = field.String(_(u"Ek Açıklama"), index=True, default="-", required=False)
        tamam = field.Boolean(_(u"Belge kontrol edildi"), index=True, required=True)

    class OgrenciDonem(ListNode):
        donem = Donem()

    def __unicode__(self):
        return '%s - %s / %s' % (self.ogrenci, self.program.adi, self.program.yil)

    def tarih_sirasiyla_donemler(self):
        r = []
        for ogd in self.OgrenciDonem:
            r.append((ogd.donem.ad, ogd.donem.baslangic_tarihi))
        r.sort(key=lambda tup: tup[1])
        return r
Пример #16
0
class HizmetAcikSure(Model):
    tckn = field.String("TC Kimlik No", index=True)
    kayit_no = field.String("Kayıt No", index=True)
    acik_sekil = field.Integer("Açığa Alınma Şekli",
                               index=True,
                               choices="acik_sekli")
    iade_sekil = field.Integer("İade Şekil", index=True)
    hizmet_durum = field.Integer("Hizmet Durumu",
                                 index=True,
                                 choices="hizmet_durumu")
    husus = field.Integer("Husus", index=True, choices="husus")
    husus_aciklama = field.String("Husus Açıklaması", index=True)
    aciga_alinma_tarih = field.Date("Açığa Alınma Tarihi",
                                    index=True,
                                    format="%d.%m.%Y")
    goreve_son_tarih = field.Date("Göreve Son Tarih",
                                  index=True,
                                  format="%d.%m.%Y")
    goreve_iade_istem_tarih = field.Date("Göreve İade İstem Tarihi",
                                         index=True,
                                         format="%d.%m.%Y")
    goreve_iade_tarih = field.Date("Göreve İade Tarihi",
                                   index=True,
                                   format="%d.%m.%Y")
    acik_aylik_bas_tarih = field.Date("Açık Aylık Başlama Tarihi",
                                      index=True,
                                      format="%d.%m.%Y")
    acik_aylik_bit_tarih = field.Date("Açık Aylık Bitiş Tarihi",
                                      index=True,
                                      format="%d.%m.%Y")
    goreve_son_aylik_bas_tarih = field.Date(
        "Göreve Sonlandırma Aylık Başlangıç Tarihi",
        index=True,
        format="%d.%m.%Y")
    goreve_son_aylik_bit_tarih = field.Date(
        "Göreve Sonlandırma Aylık Bitiş Tarihi", index=True, format="%d.%m.%Y")
    s_yonetim_kald_tarih = field.Date("Sıkı Yönetim Kaldırıldığı Tarih",
                                      index=True,
                                      format="%d.%m.%Y")
    aciktan_atanma_tarih = field.Date("Açıktan Atanma Tarihi",
                                      index=True,
                                      format="%d.%m.%Y")
    kurum_onay_tarihi = field.Date("Kurum Onay Tarihi",
                                   index=True,
                                   format="%d.%m.%Y")
    sync = field.Integer("Senkronize", index=True)
    personel = Personel()

    class Meta:
        app = 'Personel'
        verbose_name = "Açığa Alınma"
        verbose_name_plural = "Açığa Alınmalar"
        list_fields = ['acik_sekil', 'aciga_alinma_tarih', 'kurum_onay_tarihi']
        search_fields = ['hizmet_durum', 'acik_sekil', 'aciga_alinma_tarih']

    def __unicode__(self):
        return '%s %s %s' % (self.iade_sekil, self.kayit_no,
                             self.aciga_alinma_tarih)
Пример #17
0
class Unit(Model):
    """Unit modeli

    Kullanıcılara rol tanımlarken kullanılan, kullanıcının hangı birimde
    olduğunu taşıyan modeldir.
    Akademik ve idari birimlerin özelliklerini taşır.

    """
    name = field.String(_(u"İsim"), index=True)
    long_name = field.String(_(u"Uzun İsim"), index=True)
    yoksis_no = field.Integer(_(u"Yoksis ID"), index=True)
    unit_type = field.String(_(u"Birim Tipi"), index=True)
    parent_unit_no = field.Integer(_(u"Üst Birim ID"), index=True)
    current_situation = field.String(_(u"Guncel Durum"), index=True)
    language = field.String(_(u"Öğrenim Dili"), index=True)
    learning_type = field.String(_(u"Öğrenme Tipi"), index=True)
    osym_code = field.String(_(u"ÖSYM Kodu"), index=True)
    opening_date = field.Date(_(u"Açılış Tarihi"), index=True)
    learning_duration = field.Integer(_(u"Öğrenme Süresi"), index=True)
    english_name = field.String(_(u"İngilizce Birim Adı."), index=True)
    quota = field.Integer(_(u"Birim Kontenjan"), index=True)
    city_code = field.Integer(_(u"Şehir Kodu"), index=True)
    district_code = field.Integer(_(u"Semt Kodu"), index=True)
    unit_group = field.Integer(_(u"Birim Grup"), index=True)
    foet_code = field.Integer(_(u"FOET Kodu"), index=True)  # yoksis KILAVUZ_KODU mu?
    is_academic = field.Boolean(_(u"Akademik"))
    is_active = field.Boolean(_(u"Aktif"))
    uid = field.Integer(index=True)
    parent = LinkProxy('Unit', verbose_name=_(u'Üst Birim'), reverse_name='alt_birimler')

    # parent = field.String(verbose_name='Üst Birim') # fake

    @classmethod
    def get_role_keys(cls, unit_key):
        """recursively gets all roles (keys) under given unit"""
        return cls.get_role_keys_by_yoksis(Unit.objects.get(unit_key).yoksis_no)
        # stack = Role.objects.filter(unit_id=unit_key).values_list('user_id', flatten=True)
        # for unit_key in cls.objects.filter(parent_id=unit_key).values_list('key', flatten=True):
        #     stack.extend(cls.get_role_keys(unit_key))
        # return stack

    @classmethod
    def get_role_keys_by_yoksis(cls, yoksis_no):
        # because we don't refactor our data to use Unit.parent, yet!
        stack = Role.objects.filter(unit_id=Unit.objects.get(yoksis_no=yoksis_no).key).values_list(
            'key', flatten=True)
        for yoksis_no in cls.objects.filter(parent_unit_no=yoksis_no).values_list('yoksis_no',
                                                                                  flatten=True):
            stack.extend(cls.get_role_keys_by_yoksis(yoksis_no))
        return stack

    class Meta:
        app = 'Sistem'
        verbose_name = _(u"Unit")
        verbose_name_plural = _(u"Units")
        search_fields = ['name', 'yoksis_no']
        list_fields = ['name', 'unit_type']

    def __unicode__(self):
        return '%s - %s - %s' % (self.name, self.english_name, self.yoksis_no)
Пример #18
0
    class ProjeDegerlendirmeleri(ListNode):
        class Meta:
            verbose_name = __(u"Proje Değerlendirmesi")
            verbose_name_plural = __(u"Proje Değerlendirmeleri")

        hakem = Okutman()
        form_data = field.Text(_(u"Form Data"))
        hakem_degerlendirme_durumu = field.Integer(
            _(u"Hakem/Değerlendirme Durumu"),
            choices='bap_proje_hakem_degerlendirme_durum')
        degerlendirme_sonucu = field.Integer(
            _(u"Değerlendirme Sonucu"),
            choices="bap_proje_degerlendirme_sonuc")
Пример #19
0
class AskerlikKayitlari(Model):
    askerlik_nevi = field.Integer(_(u"Askerlik Nevi"),
                                  index=True,
                                  choices="askerlik_nevi")
    baslama_tarihi = field.Date(_(u"Başlama Tarihi"),
                                index=True,
                                format="%d.%m.%Y")
    bitis_tarihi = field.Date(_(u"Bitiş Tarihi"),
                              index=True,
                              format="%d.%m.%Y")
    kayit_no = field.String(_(u"Kayıt No"), index=True)
    kita_baslama_tarihi = field.Date(_(u"Kıta Başlama Tarihi"),
                                     index=True,
                                     format="%d.%m.%Y")
    kita_bitis_tarihi = field.Date(_(u"Kıta Bitiş Tarihi"),
                                   index=True,
                                   format="%d.%m.%Y")
    muafiyet_neden = field.String(_(u"Muafiyet Neden"), index=True)
    sayilmayan_gun_sayisi = field.Integer(_(u"Sayılmayan Gün Sayısı"),
                                          index=True)
    sinif_okulu_sicil = field.String(_(u"Sınıf Okulu Sicil"), index=True)
    subayliktan_erlige_gecis_tarihi = field.Date(
        _(u"Subaylıktan Erliğe Geçiş Tarihi"), index=True, format="%d.%m.%Y")
    subay_okulu_giris_tarihi = field.Date(_(u"Subay Okulu Giriş Tarihi"),
                                          index=True,
                                          format="%d.%m.%Y")
    tckn = field.String(_(u"TC Kimlik No"), index=True)
    tegmen_nasp_tarihi = field.Date(_(u"Teğmen Nasp Tarihi"),
                                    index=True,
                                    format="%d.%m.%Y")
    gorev_yeri = field.String(_(u"Görev Yeri"), index=True)
    kurum_onay_tarihi = field.Date(_(u"Kurum Onay Tarihi"),
                                   index=True,
                                   format="%d.%m.%Y")
    astegmen_nasp_tarihi = field.Date(_(u"Asteğmen Nasp Tarihi"),
                                      index=True,
                                      format="%d.%m.%Y")
    sync = field.Integer(_(u"Senkronize"), index=True)
    personel = Personel()

    class Meta:
        app = 'Personel'
        verbose_name = _(u"Kayıt")
        verbose_name_plural = _(u"Kayıtlar")
        list_fields = ['askerlik_nevi', 'kita_baslama_tarihi', 'gorev_yeri']
        search_fields = ['askerlik_nevi', 'gorev_yeri', 'tckn']
        hitap_service_prefix = "HitapAskerlik"

    def __unicode__(self):
        return '%s %s %s %s' % (self.askerlik_nevi, self.kayit_no,
                                self.kita_baslama_tarihi, self.gorev_yeri)
Пример #20
0
class Ceza(Model):
    """

    Ceza Modeli

    Personelin ceza bilgilerini içeren modeldir.

    """

    dosya_sira_no = field.String(_(u"Dosya No"), unique=True)
    muhbir_musteki_ad_soyad = field.String(
        _(u"Muhbir veya Müştekinin Adı Soyadı"), required=False)
    ihbar_sikayet_suc_ogrenildigi_tarih = field.Date(
        _(u"İhbar, Şikayet veya Suçun Öğrenildiği Tarih"))
    personel = Personel(_(u"Soruşturma Yapılan Personel"))
    sucun_nevi = field.String(_(u"Suçun Nev'i"), required=False)
    af_kapsami = field.String(_(u"Af Kapsamı"), required=False)
    kapsadigi_donem_tarihler = field.String(_(u"Kapsadığı Dönem Tarihler"),
                                            required=False)
    acilis_tarihi = field.Date(_(u"Açılış Tarihi"))
    baslama_tarihi = field.Date(_(u"Başlangıç Tarihi"))
    bitis_tarihi = field.Date(_(u"Bitiş Tarihi"))
    teklif_edilen_ceza = field.Integer(_(u"Teklif Edilen Ceza"),
                                       choices="ceza_turleri",
                                       required=False)
    takdir_edilen_ceza = field.Integer(_(u"Takdir Edilen Ceza"),
                                       choices="ceza_turleri",
                                       required=False)
    kararin_teblig_tarihi = field.Date(_(u"Kararın Tebliğ Tarihi"))
    itiraz_neticesi = field.String(_(u"İtiraz Edilmişse Neticesi"),
                                   required=False)
    dusunceler = field.String(_(u"Düşünceler"), required=False)

    class TayinEdilenSorusturmacilar(ListNode):
        # class Meta:
        #     title = _(u"Tayin Edilen Soruşturmacılar")
        sorusturmaci_adi_soyadi = field.String(
            _(u"Soruşturmacının Adı Soyadı"))

    class Meta:
        verbose_name = _(u"İdari Ceza")
        verbose_name_plural = _(u"İdari Cezalar")
        list_fields = [
            'dosya_sira_no', 'baslama_tarihi', 'bitis_tarihi',
            'takdir_edilen_ceza'
        ]

    def __unicode__(self):
        return "%s %s - %s" % (self.personel.ad, self.personel.soyad,
                               self.dosya_sira_no)
Пример #21
0
class NufusKayitlari(Model):
    tckn = field.String(_(u"Sigortalının TC Kimlik No"),
                        index=True,
                        hidden=True)
    kayit_no = field.String(_(u"Bildirge Kayıt No"), index=True, hidden=True)
    ad = field.String(_(u"Adı"), index=True)
    soyad = field.String(_(u"Soyadı"), index=True)
    ilk_soy_ad = field.String(_(u"Memuriyete Girişteki İlk Soyadı"),
                              index=True)
    dogum_tarihi = field.Date(_(u"Doğum Tarihi"),
                              index=True,
                              format="%d.%m.%Y")
    cinsiyet = field.String(_(u"Cinsiyet"), index=True)
    emekli_sicil_no = field.Integer(_(u"Emekli Sicil No"), index=True)
    memuriyet_baslama_tarihi = field.Date(_(u"Memuriyete İlk Başlama Tarihi"),
                                          index=True,
                                          format="%d.%m.%Y")
    kurum_sicil = field.String(_(u"Kurum Sicili"), index=True)
    maluliyet_kod = field.Integer(_(u"Malul Kod"),
                                  index=True,
                                  choices="maluliyet_kod")
    yetki_seviyesi = field.String(_(u"Yetki Seviyesi"), index=True)
    aciklama = field.String(_(u"Açıklama"), index=True)
    kuruma_baslama_tarihi = field.Date(_(u"Kuruma Başlama Tarihi"),
                                       index=True,
                                       format="%d.%m.%Y")
    gorev_tarihi_6495 = field.Date(
        _(u"Emeklilik Sonrası Göreve Başlama Tarihi"),
        index=True,
        format="%d.%m.%Y")
    emekli_sicil_6495 = field.Integer(_(u"2. Emekli Sicil No"), index=True)
    durum = field.Boolean(_(u"Durum"), index=True)
    sebep = field.Integer(_(u"Sebep"), index=True)
    sync = field.Integer(_(u"Senkronize"), index=True, hidden=True)
    personel = Personel(one_to_one=True)

    # TODO: Personele gore unique olmali

    class Meta:
        app = 'Personel'
        verbose_name = _(u"Nüfus Bilgisi")
        verbose_name_plural = _(u"Nüfus Bilgileri")
        hitap_service_prefix = "HitapNufus"

    def __unicode__(self):
        return gettext(u'%(ad)s %(soyad)s %(sicil_no)s') % {
            'ad': self.ad,
            'soyad': self.soyad,
            'sicil_no': self.emekli_sicil_no
        }
Пример #22
0
class HitapSebep(Model):
    sebep_no = field.Integer("Sebep No", index=True)
    ad = field.String("Sebep Adı", index=True)
    nevi = field.Integer("Sebep Nevi", index=True)
    zorunlu_alan = field.String("Zorunlu ALan")

    class Meta:
        app = 'Personel'
        verbose_name = "Hitap Sebep Kodu"
        verbose_name_plural = "Hitap Sebep Kodları"
        list_fields = ['sebep_no', 'ad', 'nevi', 'zorunlu_alan']
        search_fields = ['sebep_no', 'ad']

    def __unicode__(self):
        return '%s - %s' % (self.sebep_no, self.ad)
Пример #23
0
class BAPRapor(Model):
    class Meta:
        verbose_name = __(u"Proje Rapor")
        verbose_name_plural = __(u"Proje Raporları")

    proje = BAPProje()
    tur = field.Integer(__(u"Rapor Türü"), choices='bap_rapor_turu')
    durum = field.Integer(__(u"Rapor Durumu"),
                          choices='bap_rapor_durum',
                          default=1)
    belge = field.File(_(u"Proje Rapor Belgesi"), random_name=True)
    olusturulma_tarihi = field.Date(_(u"Rapor Oluşturulma Tarihi"))

    def __unicode__(self):
        return "%s-%s" % (self.proje.ad, self.get_tur_display())
Пример #24
0
class HitapSebep(Model):
    sebep_no = field.Integer(_(u"Sebep No"))
    ad = field.String(_(u"Sebep Adı"))
    nevi = field.Integer(_(u"Sebep Nevi"))
    zorunlu_alan = field.String(_(u"Zorunlu Alan"))

    class Meta:
        app = 'Personel'
        verbose_name = _(u"Hitap Sebep Kodu")
        verbose_name_plural = _(u"Hitap Sebep Kodları")
        list_fields = ['sebep_no', 'ad', 'nevi', 'zorunlu_alan']
        search_fields = ['sebep_no', 'ad']

    def __unicode__(self):
        return '%s - %s' % (self.sebep_no, self.ad)
Пример #25
0
class ZatoServiceChannel(Model):
    cluster_id = field.Integer(__(u'Zato cluster'))
    channel_id = field.Integer(__(u"Channel id"))
    channel_name = field.String(__(u"Channel name"))
    channel_connection = field.String(__(u"channel or outgoing connection"))
    channel_transport = field.String(__(u"plain_http or soap"))
    channel_url_path = field.String(__(u"Example: /test/zato-url-path"))
    channel_data_format = field.String(__(u"xml or json"))
    channel_is_internal = field.Boolean(default=False)
    channel_is_active = field.Boolean(default=True)
    service_id = field.Integer(__(u"Service Id"))
    service_name = field.String(__(u"Service name"))
    deploy = field.Boolean(__(u"Deploy Channel"), default=False)

    def __unicode__(self):
        return self.channel_name
Пример #26
0
class Izin(Model):
    """İzin Modeli

    Personelin ücretli izin bilgilerini içeren modeldir.

    """

    tip = field.Integer(_(u"Tip"), choices="izin")
    baslangic = field.Date(_(u"Başlangıç"), format="%d.%m.%Y")
    bitis = field.Date(_(u"Bitiş"), format="%d.%m.%Y")
    onay = field.Date(_(u"Onay"), format="%d.%m.%Y")
    adres = field.String(_(u"Geçireği Adres"))
    telefon = field.String(_(u"Telefon"))
    personel = Personel()
    vekil = Personel()

    class Meta:
        app = 'Personel'
        verbose_name = _(u"İzin")
        verbose_name_plural = _(u"İzinler")
        list_fields = ['tip', 'baslangic', 'bitis', 'onay', 'telefon']
        search_fields = ['tip', 'baslangic', 'onay']

    def __unicode__(self):
        return '%s %s' % (self.tip, self.onay)
Пример #27
0
 class Pool(ListNode):
     order = field.Integer(__(u"Lane order"))
     actor_name = field.String(__(u"Actor name"))
     wf_name = field.String(__(u"Actor specific name of WF"))
     relations = field.String(__(u"Lane relations"))
     possible_owners = field.String(__(u"Possible owners"))
     permissions = field.String(__(u"Permissions"))
Пример #28
0
class Takvim(Model):
    """
    olay, bir zaman araliginda gerceklesiyorsa(ayni gunun saat araliklari dahil),
                                                    baslangic ve bitis zamanlari ayri ayri verilir,
    olay, bir gun icinde ancak kesin zaman bagimsiz/belirsiz gerceklesiyorsa,
                                                    baslangic ve bitis zamanlari ayni verilir,
    olay, belirsiz bir baslangic yani son gun belirtilmisse, sadece bitis tarihi verilir,
    olay, belirsiz bir son yani baslama gun belirtilmisse, sadece baslangic tarihi verilir,
    """
    etkinlik = field.Integer(_(u"Etkinlik"), index=True, choices=AKADEMIK_TAKVIM_ETKINLIKLERI)
    baslangic = field.DateTime(_(u"Başlangıç"), index=True, format="%d.%m.%Y", required=False)
    bitis = field.DateTime(_(u"Bitiş"), index=True, format="%d.%m.%Y", required=False)
    akademik_takvim = AkademikTakvim(_(u"Akademik Takvim"))
    resmi_tatil = field.Boolean(_(u"Resmi Tatil"), index=True)

    def pre_save(self):
        if not self.baslangic and not self.bitis:
            raise Exception("Tarihlerden en az bir tanesi dolu olmalidir.")

    class Meta:
        app = 'Ogrenci'
        verbose_name = _(u"Takvim")
        verbose_name_plural = _(u"Takvimler")
        list_filters = ["etkinlik", "baslangic", "bitis", 'resmi_tatil']

    def __unicode__(self):
        return '%s %s %s' % (
            self.akademik_takvim.birim, self.akademik_takvim.ogretim_yili, self.etkinlik)
Пример #29
0
class HizmetMahkeme(Model):
    tckn = field.String(_(u"TC Kimlik No"), index=True)
    kayit_no = field.String(_(u"Kayıt No"), index=True)
    mahkeme_ad = field.String(_(u"Mahkeme Adı"), index=True)
    sebep = field.Integer(_(u"Mahkeme Sebebi"),
                          index=True,
                          choices="mahkeme_sebep")
    karar_tarihi = field.Date(_(u"Mahkeme Karar Tarihi"),
                              index=True,
                              format="%d.%m.%Y")
    karar_sayisi = field.Integer(_(u"Karar Sayısı"), index=True)
    kesinlesme_tarihi = field.Date(_(u"Kesinleşme Tarihi"),
                                   index=True,
                                   format="%d.%m.%Y")
    asil_dogum_tarihi = field.Date(_(u"Asıl Doğum Tarihi"),
                                   index=True,
                                   format="%d.%m.%Y")
    tashih_dogum_tarihi = field.Date(_(u"Tashih Doğum Tarihi"),
                                     index=True,
                                     format="%d.%m.%Y")
    asil_ad = field.String(_(u"Asıl Ad"), index=True)
    tashih_ad = field.String(_(u"Tashih Ad"), index=True)
    asil_soyad = field.String(_(u"Asıl Soyad"), index=True)
    tashih_soyad = field.String(_(u"Tashih Soyad"), index=True)
    gecerli_dogum_tarihi = field.Date(_(u"Geçerli Doğum Tarihi"),
                                      index=True,
                                      format="%d.%m.%Y")
    aciklama = field.String(_(u"Açıklama"), index=True)
    gun_sayisi = field.Integer(_(u"Gün Sayısı"), index=True)
    kurum_onay_tarihi = field.Date(_(u"Kurum Onay Tarihi"),
                                   index=True,
                                   format="%d.%m.%Y")
    sync = field.Integer(_(u"Senkronize"), index=True)
    personel = Personel()

    class Meta:
        app = 'Personel'
        verbose_name = _(u"Mahkeme")
        verbose_name_plural = _(u"Mahkemeler")
        list_fields = [
            'mahkeme_ad', 'karar_sayisi', 'aciklama', 'kurum_onay_tarihi'
        ]
        search_fields = ['kayit_no', 'mahkeme_ad', 'karar_sayisi']
        hitap_service_prefix = "HitapMahkeme"

    def __unicode__(self):
        return '%s %s %s' % (self.mahkeme_ad, self.karar_tarihi, self.aciklama)
Пример #30
0
class Kadro(Model):
    """Kadro Modeli

    Kurum için ayrılmış Kadro bilgilerine modeldir.

    Kadrolar 4 halde bulunabilirler: SAKLI, IZINLI, DOLU ve BOŞ

        * SAKLI: Saklı kadro, atama yapılmaya müsadesi olmayan, etkinlik onayı alınmamış
          fakat kurum için ayrılmış potansiyel kadroyu tanımlar.
        * IZINLI: Henüz atama yapılmamış, fakat etkinlik onayı alınmış kadroyu tanımlar.
        * DOLU: Bir personel tarafından işgal edilmiş bir kadroyu tanımlar. Ataması yapılmıştır.
        * BOŞ: Çeşitli sebepler ile DOLU iken boşaltılmış kadroyu tanınmlar.

    ``unvan`` ve ``unvan_kod`` karşıt alanlardır. Birisi varken diğeri mevcut olamaz.

    """

    kadro_no = field.Integer(_(u"Kadro No"), required=False)
    derece = field.Integer(_(u"Derece"), required=False)
    durum = field.Integer(_(u"Durum"),
                          choices="kadro_durumlari",
                          required=False)
    birim = Unit(_(u"Birim"), required=False)
    aciklama = field.String(_(u"Açıklama"), index=True, required=False)
    unvan = field.Integer(_(u"Unvan"),
                          index=True,
                          choices="unvan_kod",
                          required=False)
    unvan_aciklama = field.String(_(u"Unvan Aciklama"),
                                  index=True,
                                  required=False)

    class Meta:
        app = 'Personel'
        verbose_name = _(u"Kadro")
        verbose_name_plural = _(u"Kadrolar")
        list_fields = ['durum', 'unvan', 'aciklama']
        search_fields = ['unvan', 'derece']
        list_filters = ['durum']

    def __unicode__(self):
        # tn: Kadro bilgileri gösterilirken kullanılan mesaj
        return gettext(u"%(no)s - %(unvan)s %(derece)s. derece") % {
            'no': self.kadro_no,
            'unvan': self.get_unvan_display(),
            'derece': self.derece
        }