class Building(Model): """Bina Modeli Universite kampuslerindeki binalara ait data modeli. Bina kod ve adının yanısıra koordinat bilgilerini içerir. Bina koordinatları lokasyon bazlı hesaplamalar için kullanılacaktır. Özellikle Unitime ile ders programı hazırlarken farklı lokasyonlar arası zaman hesaplamalarında kullanılmaktadır. """ code = field.String(_(u"Kod"), index=True) name = field.String(_(u"İsim"), index=True) coordinate_x = field.String(_(u"X Koordinatı"), index=True) coordinate_y = field.String(_(u"Y Koordinatı"), index=True) campus = Campus() class Meta: verbose_name = _(u"Bina") verbose_name_plural = _(u"Binalar") search_fields = ['code', 'name'] list_fields = ['code', 'name'] def __unicode__(self): return '%s %s %s %s' % (self.code, self.name, self.coordinates(), self.campus) def coordinates(self): """"Koordinatlar Returns: x ve y koordınatlarını birlikte döndürür. """ return '%s %s' % (self.coordinate_x, self.coordinate_y)
class Campus(Model): """Kampüs Modeli Üniversite kampüslerine ait data modeli. Kampus adı ve koordinat bilgilerini içerir. Kampüs koordinatları lokasyon bazlı hesaplamalar için kullanılacaktır. Özellikle Unitime ile ders programı hazırlarken farklı lokasyonlar arası zaman hesaplamalarında kullanılmaktadır. """ code = field.String(_(u"Kod"), index=True) name = field.String(_(u"İsim"), index=True) coordinate_x = field.String(_(u"X Koordinatı"), index=True) coordinate_y = field.String(_(u"Y Koordinatı"), index=True) class Meta: verbose_name = _(u"Yerleşke") verbose_name_plural = _(u"Yerleşkeler") search_fields = ['code', 'name'] list_fields = ['code', 'name'] def __unicode__(self): return '%s %s %s' % (self.code, self.name, self.coordinates()) def coordinates(self): """Koordinatlar Returns: x ve y koordinatlarını birlikte döndürür. """ return '%s %s' % (self.coordinate_x, self.coordinate_y)
class Person(Model): first_name = field.String("Name", index=True) last_name = field.String("Surname", index=True) work = Unit(verbose_name="Work", reverse_name="workers") home = Unit(verbose_name="Home", reverse_name="residents") class ContactInfo(Node): address = field.String("Address", index=True, null=True, blank=True) city = field.String("City", index=True) phone = field.String("Phone", index=True) email = field.String("Email", index=True) class Permissions(ListNode): perm = Permission() def __unicode__(self): return self.perm def __unicode__(self): return "%s %s" % (self.first_name, self.last_name) def get_permission_codes(self): return [p.perm.code for p in self.Permissions] def add_permission(self, perm): self.Permissions(permission=perm) self.save() def has_permission(self, perm): return perm in self.Permissions def has_permission_code(self, perm_code): perm = Permission.object.get(code=perm_code) return self.has_permission(perm)
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)
class User(Model): username = field.String("Username", index=True) password = field.String("Password") superuser = field.Boolean("Super user", default=False) class Meta: list_fields = ['username', 'superuser'] def __unicode__(self): return "User %s" % self.username def __repr__(self): return "User_%s" % self.key def set_password(self, raw_password): self.password = pbkdf2_sha512.encrypt(raw_password, rounds=10000, salt_size=10) def check_password(self, raw_password): return pbkdf2_sha512.verify(raw_password, self.password) def get_permissions(self): return (p.permission.code for p in self.Permissions) def get_role(self, role_id): return self.role_set.node_dict[role_id]
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)
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)
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)
class LimitedPermissions(Model): """LimitedPermissions modeli Bu modelde tutulan bilgilerle mevcut yetkilere sınırlandırmalar getirilir. - Başlangıç ve bitiş tarihine göre sınırlandırma uygulanan yetkiler o tarih aralığında geçerli olur. - Verilen IPList özelliğine göre bu IPList listesi içindeki ip'lerden gelen requestlere cevap verecek şekilde kısıtlanır. """ restrictive = field.Boolean("Sınırlandırıcı", default=False) time_start = field.String("Başlama Tarihi", index=True) time_end = field.String("Bitiş Tarihi", index=True) class Meta: app = 'Sistem' verbose_name = "Sınırlandırılmış Yetki" verbose_name_plural = "Sınırlandırılmış Yetkiler" def __unicode__(self): return "%s - %s" % (self.time_start, self.time_end) class IPList(ListNode): ip = field.String() class Permissions(ListNode): permission = Permission() class AbstractRoles(ListNode): abstract_role = AbstractRole() class Roles(ListNode): role = Role()
class Permission(Model): """ Permission model """ name = field.String(_(u"Name"), index=True) code = field.String(_(u"Code Name"), index=True) description = field.String(_(u"Description"), index=True) def __unicode__(self): return gettext(u"Permission %s") % self.name def get_permitted_users(self): """ Get users which has this permission Returns: User list """ return [r.role.user for r in self.role_set] def get_permitted_roles(self): """ Get roles which has this permission Returns: Role list """ return [rset.role for rset in self.role_set]
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))
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"))
class DiagramXML(Model): """ Diagram XML versions """ body = field.String(__(u"XML content"), index=False) name = field.String(__(u"Name")) @classmethod def get_or_create_by_content(cls, name, content): """ if xml content updated, create a new entry for given wf name Args: name: name of wf content: xml content Returns (DiagramXML(), bool): A tuple with two members. (DiagramXML instance and True if it's new or False it's already exists """ new = False diagrams = cls.objects.filter(name=name) if diagrams: diagram = diagrams[0] if diagram.body != content: new = True else: new = True if new: diagram = cls(name=name, body=content).save() return diagram, new def __unicode__(self): return "%s [%s]" % (self.name, self.get_humane_value('timestamp'))
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)
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))), )
class HizmetTazminat(Model): kayit_no = field.String(_(u"Kayıt No"), index=True) tckn = field.String(_(u"TC Kimlik No"), index=True) unvan_kod = field.Integer(_(u"Ünvan Kodu"), index=True) makam = field.Integer(_(u"Makam"), index=True) gorev = field.Integer(_(u"Görev"), index=True) temsil = field.Integer(_(u"Temsil"), index=True) tazminat_tarihi = field.Date(_(u"Tazminat Tarihi"), index=True, format="%d.%m.%Y") tazminat_bitis_tarihi = field.Date(_(u"Tazminat Bitiş Tarihi"), index=True, format="%d.%m.%Y") kadrosuzluk = field.Integer(_(u"Kadrosuzluk"), 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"Tazminat") verbose_name_plural = _(u"Tazminatlar") list_fields = ['unvan_kod', 'makam', 'gorev'] search_fields = ['makam', 'gorev', 'temsil'] hitap_service_prefix = "HitapTazminat" def __unicode__(self): return '%s %s' % (self.gorev, self.tazminat_tarihi)
class Permission(Model): name = field.String("Name", index=True) code = field.String("Code Name", index=True) description = field.String("Description", index=True) def __unicode__(self): return "Permission %s" % self.name
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)
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)
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)
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
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
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
class ProjeIslemGecmisi(ListNode): class Meta: verbose_name = __(u"İşlem Geçmişi") verbose_name_plural = __(u"İşlem Geçmişi") eylem = field.String(_(u"Eylem")) aciklama = field.String(_(u"Açıklama")) tarih = field.DateTime(_(u"Tarih"))
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)
class ZatoServiceFile(Model): cluster_id = field.Integer(__(u'Zato cluster')) service_payload_name = field.String(__(u"Module’s file name")) service_payload = field.String(__(u"BASE64-encoded")) deploy = field.Boolean(__(u"Deploy Service"), default=False) def __unicode__(self): return self.service_payload_name
class BAPHakem(ListNode): class Meta: verbose_name = __(u"Hakem") verbose_name_plural = __(u"Hakemler") ad = field.String(_(u"Ad")) soyad = field.String(_(u"Soyad")) # todo hakemler sorulacak birim = field.String(_(u"Birim"))
class ProjeCalisanlari(ListNode): class Meta: verbose_name = __(u"Proje Çalışanı") verbose_name_plural = __(u"Proje Çalışanları") ad = field.String(_(u"Ad")) soyad = field.String(_(u"Soyad")) nitelik = field.String(_(u"Nitelik")) calismaya_katkisi = field.String(_(u"Çalışmaya Katkısı")) kurum = field.String(_(u"Kurum"))
class Permission(Model): name = field.String("Name", index=True) code = field.String("Code Name", index=True) class Meta: verbose_name = "Permission" verbose_name_plural = "Permissions" def __unicode__(self): return "%s %s" % (self.name, self.code)
class Unit(Model): name = field.String("Name", index=True) address = field.String("Address", index=True, null=True, blank=True) class Meta: verbose_name = "Unit" verbose_name_plural = "Units" def __unicode__(self): return self.name