class IzinBasvuruForm(forms.JsonForm): """ İzin Başvuru iş akışı için kullanılacak formdur. """ izin_turleri = ((1, gettext_lazy("Yıllık İzin")), (2, gettext_lazy("Mazeret İzni")), (3, gettext_lazy("Refakat İzni")), (4, gettext_lazy("Fazla Mesai İzni")), (5, gettext_lazy("Ücretsiz İzin")), ) gecerli_yil = date.today().year yillar = ((gecerli_yil, gecerli_yil),) izin_turu = fields.Integer(gettext_lazy(u"İzin Türü Seçiniz"), choices=izin_turleri) izin_ait_yil = fields.Integer(gettext_lazy(u"Ait Olduğu Yıl"), choices=yillar) izin_baslangic = fields.Date(gettext_lazy(u"İzin Başlangıç Tarihi")) izin_bitis = fields.Date(gettext_lazy(u"İzin Bitiş Tarihi")) izin_adres = fields.Text(gettext_lazy(u"İzindeki Adres")) personel_ad_soyad = fields.String(gettext_lazy(u"İzin Talep Eden")) personel_gorev = fields.String(gettext_lazy(u"Görevi")) personel_sicil_no = fields.String(gettext_lazy(u"Sicil no")) personel_birim = fields.String(gettext_lazy(u"Birimi")) yol_izni = fields.Boolean(gettext_lazy(u"Yol İzni")) toplam_izin_gun = fields.Integer(gettext_lazy(u"Kullanacağı İzin Süresi(Gün)")) toplam_kalan_izin = fields.Integer(gettext_lazy(u"Kalan İzin Süresi(Gün)")) ileri = fields.Button(gettext_lazy(u"İleri"))
class Subeler(ListNode): class Meta: title = _(u"Şubeler") ad = fields.String(_(u'Şube Adı')) kontenjan = fields.Integer(_(u'Şube Kontenjanı')) dis_kontenjan = fields.Integer(_(u'Şube Dış Kontenjanı')) okutman = fields.String(_(u'Okutman'), choices=okutman_choices)
class Personel(ListNode): key = fields.String("Key", hidden=True) tckn = fields.String(gettext_lazy(u"T.C. No")) ad_soyad = fields.String(gettext_lazy(u"İsim")) kadro_derece = fields.String(gettext_lazy(u"Kadro Derece")) #tn: Görev Aylığı gorev_ayligi = fields.String(gettext_lazy(u"GA")) #tn: Kazanılmış Hak kazanilmis_hak = fields.String(gettext_lazy(u"KH")) #tn: Emekli Muktesebat emekli_muktesebat = fields.String(gettext_lazy(u"EM")) #tn: Yeni Görev Aylığı Derece yeni_gorev_ayligi_derece = fields.Integer(gettext_lazy(u"GAD")) #tn: Yeni Görev Aylığı Kademe yeni_gorev_ayligi_kademe = fields.Integer(gettext_lazy(u"GAK")) #tn: Yeni Görev Aylığı Görünen yeni_gorev_ayligi_gorunen = fields.Integer(gettext_lazy(u"GAG")) #tn: Kazanılmış Görev Aylığı Derece yeni_kazanilmis_hak_derece = fields.Integer(gettext_lazy(u"KHD")) #tn: Kazanılmış Görev Aylığı Derece yeni_kazanilmis_hak_kademe = fields.Integer(gettext_lazy(u"KHK")) #tn: Kazanılmış Görev Aylığı Derece yeni_kazanilmis_hak_gorunen = fields.Integer(gettext_lazy(u"KHG")) #tn: Emekli Muktesebat Derece yeni_emekli_muktesebat_derece = fields.Integer(gettext_lazy(u"EMD")) #tn: Emekli Muktesebat Derece yeni_emekli_muktesebat_kademe = fields.Integer(gettext_lazy(u"EMK")) #tn: Emekli Muktesebat Derece yeni_emekli_muktesebat_gorunen = fields.Integer(gettext_lazy(u"EMG"))
class KalemBilgileri(ListNode): class Meta: title = __(u"Bütçe Kalemi Bilgileri") ad = fields.String(__(u"Ad")) adet = fields.Integer(__(u"Adet")) satin_alma_durum = fields.Integer( __(u"Satın Alma Durumu"), choices='bap_butce_plani_satin_alma_durumu', default=None) key = fields.String('Key', hidden=True)
def eksik_bilgi_form(self): _form = EksikBilgiForm(current=self.current) if 'hata_msg' in self.current.task_data: _form.help_text = self.current.task_data['hata_msg'] son_personel = Personel.objects.set_params( sort='kurum_sicil_no_int desc')[0] personel = Personel.objects.get(self.current.task_data['personel_id']) _form.kurum_sicil_no_int = fields.Integer( _("Kurum Sicil No (Sıradaki Sicil No : KON-%s)") % str(son_personel.kurum_sicil_no_int + 1), required=True, default=son_personel.kurum_sicil_no_int + 1) _form.personel_turu = fields.Integer(_(u"Personel Tipi"), choices="personel_turu", default=personel.personel_turu) _form.unvan = fields.Integer(_(u"Personel Unvan"), choices="unvan_kod", required=False, default=personel.unvan) _form.emekli_sicil_no = fields.String(_(u"Emekli Sicil No"), default=personel.emekli_sicil_no) _form.hizmet_sinif = fields.Integer(_(u"Hizmet Sınıfı"), choices="hizmet_sinifi", default=personel.hizmet_sinifi) _form.statu = fields.Integer(_(u"Statü"), choices="personel_statu", default=personel.statu) _form.brans = fields.String(_(u"Branş"), default=personel.brans) _form.gorev_suresi_baslama = fields.Date( _(u"Görev Süresi Başlama"), default=str(personel.gorev_suresi_baslama)) _form.gorev_suresi_bitis = fields.Date( _(u"Görev Süresi Bitiş"), default=str(personel.gorev_suresi_bitis)) _form.goreve_baslama_tarihi = fields.Date( _(u"Göreve Başlama Tarihi"), default=str(personel.goreve_baslama_tarihi)) _form.baslama_sebep = fields.String(_(u"Durum"), type='typeahead') _form.baslama_sebep.default = str(personel.baslama_sebep) # TODO: Set choices key error fırlatıyor. düzeltilecek # _form.set_choices_of('baslama_sebep', choices=prepare_choices_for_model(HitapSebep, nevi=1)) _form.mecburi_hizmet_suresi = fields.Date( _(u"Mecburi Hizmet Süresi"), default=str(personel.mecburi_hizmet_suresi)) _form.emekli_giris_tarihi = fields.Date( _(u"Emekliliğe Giriş Tarihi"), default=str(personel.emekli_giris_tarihi)) self.form_out(_form)
def select_role(self): """ The workflow method to be assigned to the person with the same role and unit as the user. .. code-block:: python # request: { 'task_inv_key': string, } """ roles = [(m.key, m.__unicode__()) for m in RoleModel.objects.filter( abstract_role=self.current.role.abstract_role, unit=self.current.role.unit) if m != self.current.role] if roles: _form = forms.JsonForm(title=_(u'Assign to workflow')) _form.select_role = fields.Integer(_(u"Chose Role"), choices=roles) _form.explain_text = fields.String(_(u"Explain Text"), required=False) _form.send_button = fields.Button(_(u"Send")) self.form_out(_form) else: title = _(u"Unsuccessful") msg = _(u"Assign role not found") self.current.msg_box(title=title, msg=msg)
class Ogrenciler(ListNode): ogrenci_no = fields.String(gettext_lazy(u'Öğrenci No')) ad_soyad = fields.String(gettext_lazy(u'Ad Soyad')) katilim_durumu = fields.Integer(gettext_lazy(u'Katılım Durumu')) aciklama = fields.String(gettext_lazy(u'Açıklama')) ogrenci_key = fields.String('ogrenci_key', hidden=True) sube_key = fields.String('ders_key', hidden=True)
class EkSureTalepForm(JsonForm): class Meta: title = __(u"{}/Ek Süre Talebi") ek_sure = fields.Integer(__(u"Ek Süre (Ay Olarak)")) aciklama = fields.Text(__(u"Açıklama")) gonder = fields.Button(__(u"Onaya Gönder"))
class TalepSecForm(JsonForm): class Meta: title = _(u"Talep Seçimi") talepler = fields.Integer(_(u"Talep"), required=True) sec = fields.Button(_(u"Seç")) iptal = fields.Button(_(u"İptal"), cmd='iptal')
def sinav_sec(self): """Not Girişi Sınav Seç Okutmanın, seçilen şubeye ait sınavları görebildiği ve sınav seçimi yapabildiği adıma ait olan method. Seçilen şube, ``ders_secim`` methodu içinde tanımlanmış olan ``JsonForm`` tarafından iletilmekte ve bu method içerisinde aşağıdaki şekilde elde edilmektedir:: sube_key = self.current.input['form']['sube'] Sinavlar, bir önceki şube seçim adımında seçilmiş olan şubeye ait olacak şekilde filtrelenmektedir:: _form.sinav=fields.Integer("Sınav Seçiniz", choices=prepare_choices_for_model(Sinav, sube_id=sube_key)) """ _form = forms.JsonForm(current=self.current, title=_(u"Sınav Seçim Formu")) try: sube_key = self.current.input['form']['sube'] except: sube_key = self.current.task_data["sube"] _form.sinav = fields.Integer(_(u"Sınav Seçiniz"), choices=prepare_choices_for_model( Sinav, sube_id=sube_key)) self.current.task_data["sube"] = sube_key _form.sec = fields.Button(_(u"Seç"), cmd=_(u"Sınav Seçin")) self.form_out(_form)
class TeklifIsle(ListNode): class Meta: title = __(u"Teklif Fiyat İşlemeleri") kalem = fields.String(__(u"Bütçe Kalemi Adı")) adet = fields.Integer(__(u"Adet")) birim_fiyat = fields.Float(__(u" Birim Fiyat")) key = fields.String('Key', hidden=True)
class ButcePlaniForm(JsonForm): class Meta: title = _(u"Bütçe Talebi Düzenleme") ad = fields.String(_(u"Alınacak Malzemenin Adı")) muhasebe_kod_genel = fields.Integer( _(u"Muhasebe Kod"), choices='bap_ogretim_uyesi_gider_kodlari', default=1) birim_fiyat = fields.Float( _(u"Birim Fiyat"), help_text=_(u"Birim fiyatlar KDV dahil fiyatlar olmalıdır!")) adet = fields.Integer(_(u"Adet")) gerekce = fields.Text(_(u"Gerekçe"), required=False) kaydet = fields.Button(_(u"Kaydet")) iptal = fields.Button(_(u"İptal"), cmd='iptal', form_validation=False)
class Kalem(ListNode): class Meta: title = __(u"Seçilen Bütçe Kalemleri") ad = fields.String(_(u"Tanımı/Adı"), readonly=True) adet = fields.Integer(_(u"Adet"), readonly=True) toplam_fiyat = fields.Float(_(u"Toplam Fiyat"), readonly=True) butce_plan_key = fields.String(_(u"Key"), hidden=True)
def eksik_bilgi_form(self): """ Personele ait eksik bilgiler düzenlenir. """ _form = EksikBilgiForm(current=self.current) personel = Personel.objects.get(self.current.task_data['personel_id']) _form.kurum_sicil_no_int = fields.Integer( _(u"Kurum Sicil No"), default=personel.kurum_sicil_no_int) _form.personel_turu = fields.Integer(_(u"Personel Tipi"), choices="personel_turu", default=personel.personel_turu) _form.unvan = fields.Integer(_(u"Personel Unvan"), choices="unvan_kod", required=False, default=personel.unvan) _form.emekli_sicil_no = fields.String(_(u"Emekli Sicil No"), default=personel.emekli_sicil_no) _form.hizmet_sinif = fields.Integer(_(u"Hizmet Sınıfı"), choices="hizmet_sinifi", default=personel.hizmet_sinifi) _form.statu = fields.Integer(_(u"Statü"), choices="personel_statu", default=personel.statu) _form.brans = fields.String(_(u"Branş"), default=personel.brans) _form.gorev_suresi_baslama = fields.Date( _(u"Görev Süresi Başlama"), default=str(personel.gorev_suresi_baslama)) _form.gorev_suresi_bitis = fields.Date( _(u"Görev Süresi Bitiş"), default=str(personel.gorev_suresi_bitis)) _form.goreve_baslama_tarihi = fields.Date( _(u"Göreve Başlama Tarihi"), default=str(personel.goreve_baslama_tarihi)) # TODO: ulakbüs yavaşladığından dolayı choices slice edildi, typeahead olacak. _form.set_choices_of('baslama_sebep', choices=prepare_choices_for_model(HitapSebep, nevi=1)[0:10]) # Date formatında mı olacak? yoksa 2 yıl 3 ay gibisinden mi? _form.mecburi_hizmet_suresi = fields.Date( _(u"Mecburi Hizmet Süresi"), default=str(personel.mecburi_hizmet_suresi)) _form.emekli_giris_tarihi = fields.Date( _(u"Emekliliğe Giriş Tarihi"), default=str(personel.emekli_giris_tarihi)) self.form_out(_form)
class KazananFirmalar(ListNode): class Meta: title = __(u"Kazanan Firmalar") kalem = fields.String(__(u"Bütçe Kalemi Adı")) adet = fields.Integer(__(u"Adet")) firma = fields.String(__(u"Kazanan Firma")) key = fields.String('Key', hidden=True)
class Butce(ListNode): class Meta: title = _(u"Bütçe Planı") talep_turu = fields.Integer( __(u"Talep Türü"), required=True, choices='bap_bilimsel_etkinlik_butce_talep_turleri') istenen_tutar = fields.Float(__(u"Talep Edilen Tutar"), required=True)
class Ogrenciler(ListNode): class Meta: title = __(u"Öğrenciler") ogrenci_no = fields.String(__(u'Öğrenci No')) ad_soyad = fields.String(__(u'Ad Soyad')) katilim_durumu = fields.Integer(__(u'Katılım Durumu')) aciklama = fields.String(__(u'Açıklama')) ogrenci_key = fields.String('ogrenci_key', hidden=True) sube_key = fields.String('ders_key', hidden=True)
class EtkinlikBasvuruDegerlendirForm(JsonForm): class Meta: title = _(u"Etkinlik Başvuru Değerlendir") aciklama = fields.Text(_(u"Açıklama"), required=False) sonuc = fields.Integer(_(u"Değerlendirme Sonucu"), choices='bap_proje_degerlendirme_sonuc') degerlendir = fields.Button(_(u"Değerlendirme Kaydet"), cmd='degerlendir') daha_sonra_degerlendir = fields.Button(_(u"Daha Sonra Değerlendir"), cmd='daha_sonra_degerlendir', form_validation=False)
class KoordinasyonCalisaniSecForm(JsonForm): class Meta: title = __(u"Koordinasyon Birimi Çalışanı") calisan_rol = fields.String(_(u"Takip Edecek Personel")) satin_alma_turu = fields.Integer(_(u"Satın Alma Türü"), choices='bap_satin_alma_turleri') iptal = fields.Button(_(u"İptal"), cmd='iptal', form_validation=False) gonder = fields.Button(_(u"Gönder"), cmd='gonder')
class DersEtkinligi(Model): class Meta: verbose_name = _(u"Ders Etkinliği") verbose_name_plural = _(u"Ders Etkinlikleri") search_fields = ['unit_yoksis_no', 'room', 'okutman'] solved = fields.Boolean(_(u'Ders Planı Çözüm Durumu'), index=True) unitime_key = fields.String(index=True) # class id unit_yoksis_no = fields.Integer(_(u'Bölüm Yöksis Numarası'), index=True) room_type = RoomType(_(u'İşleneceği Oda Türü'), index=True) okutman = Okutman(_(u"Öğretim Elemanı"), index=True) sube = Sube(_(u'Şube'), index=True) donem = Donem(_(u'Dönem'), index=True) bolum = Unit(_(u'Bölüm'), index=True) published = fields.Boolean(_(u'Ders Planı Yayınlanma Durumu'), index=True) # Arama amaçlı ders = Ders(_(u'Ders'), index=True) ek_ders = fields.Boolean(index=True) sure = fields.Integer("Ders Etkinliği Süresi", index=True) # teori = field.Integer("Ders Teori Saati", index=True) # uygulama = field.Integer("Ders Uygulama Saati", index=True) # dersin süresinin ne kadarı teori ne kadarı uygulama gibi 2+2, 4+0 gibi # to be calculated room = Room(_(u'Derslik')) gun = fields.String(_(u"Gün"), choices=gun_listele) baslangic_saat = fields.String(_(u"Başlangıç Saati")) baslangic_dakika = fields.String(_(u"Başlangıç Dakikası")) bitis_saat = fields.String(_(u"Bitiş Saati")) bitis_dakika = fields.String(_(u"Bitiş Dakikası")) def post_creation(self): """Yeni bir DersEtkinligi oluşturulduğunda arama amaçlı olan alanları otomatik olarak doldurur.""" self.ders = self.sube.ders self.save() def __unicode__(self): return '%s - %s - %s:%s|%s:%s - %s' % ( self.room.name, self.gun, self.baslangic_saat, self.baslangic_dakika, self.bitis_saat, self.bitis_dakika, self.okutman)
class ButceKalemList(ListNode): class Meta: title = _(u"Bütçe Kalemleri") kod_adi = fields.String(_(u"Kod Adı")) ad = fields.String(_(u"Ad")) muhasebe_kod_genel = fields.Integer(_(u"Öğretim Üyesinin Seçtiği Muhasebe Kodu"), choices='bap_ogretim_uyesi_gider_kodlari') muhasebe_kod = fields.String(_(u"Muhasebe Kodu"), choices='analitik_butce_dorduncu_duzey_gider_kodlari') tasinir_kodu = fields.String(_(u"Taşınır Kodu"), choices='tasinir_kodlari') key = fields.String("Key", hidden=True)
class CatalogSelectForm(forms.JsonForm): """ Generates Form object for catalog select view. """ class Meta: title = 'Choose Catalog Data' help_text = "Type and choose existing catalog data to edit. Or if you want to add one type the name of the catalog data you want to add." # typeahead type added for forms catalog = fields.Integer("Catalogs", type='typeahead') edit = fields.Button("Edit", cmd="get_catalog")
class Hakemler(ListNode): class Meta: title = _(u"Hakem Adayları") ad = fields.String(_(u"Adı"), readonly=True) soyad = fields.String(_(u"Soyad"), readonly=True) email = fields.String(_(u"E-posta"), readonly=True) birim = fields.String(_(u"Birim"), readonly=True) durum = fields.Integer(_(u"Durum"), choices='bap_proje_hakem_degerlendirme_durum', readonly=True)
class FillableForm(JsonForm): class Meta: title = "Fillable Form" always_blank = False duration = fields.Integer() name = fields.String() budget = fields.Float() date = fields.Date() ddate = fields.DateTime() submit = fields.Button()
def sube_sec(self): """ Okutmanın kayıtlı olduğu şubelerden biri seçilir. """ _form = forms.JsonForm(current=self.current, title=_(u"Şube Seçiniz.")) _form.sube = fields.Integer(_(u"Sube Seçiniz"), choices=prepare_choices_for_model( Sube, okutman_id=self.get_okutman_key)) _form.sec = fields.Button(_(u"Seç")) self.form_out(_form)
def program_sec(self): """Program Seçim Adımı Programlar veritabanından çekilip, açılır menu içine doldurulur. """ _form = ProgramForm(title=_(u"Program Seçiniz."), current=self.current) choices = prepare_choices_for_model(Program, yoksis_no=self.current.role.unit.yoksis_no) _form.program = fields.Integer(choices=choices) self.form_out(_form)
def program_sec(self): """ Ogrenci Programı Seçilir. """ _form = ProgramSecimForm(current=self.current, title=_(u"Öğrenci Programı Seçiniz")) _choices = prepare_choices_for_model( OgrenciProgram, ogrenci_id=self.current.task_data["ogrenci_id"]) _form.program = fields.Integer(choices=_choices) self.form_out(_form)
def program_sec(self): """Program Seçim Adımı Programlar veritabanından çekilip, açılır menu içine doldurulur. """ _form = ProgramForm(current=self.current) choices = prepare_choices_for_model(Program) _form.program = fields.Integer(choices=choices) self.form_out(_form)
def program_sec(self): """Workflow'un ilk aşamasıdır. Seçilen öğrenciye ait programlar listelenir. """ ogrenci_id = self.current.input['id'] ogrenci = Ogrenci.objects.get(ogrenci_id) _form = forms.JsonForm(current=self.current, title=_(u"Öğrenci Programı Seçiniz")) _form.program = fields.Integer(_(u"Öğrenci Programı Seçiniz"), choices=prepare_choices_for_model( OgrenciProgram, ogrenci=ogrenci)) _form.sec = fields.Button(_(u"İleri")) self.form_out(_form)
def program_sec(self): """ Öğrencinin kayıtlı olduğu programlar listelenir ve programlardan biri seçilir. """ ogrenci_id = self.current.input['id'] self.current.session['ogrenci_id'] = ogrenci_id _form = OgrenciProgramSecimForm(current=self.current, title=_(u"Öğrenci Programı Seçiniz")) _choices = prepare_choices_for_model(OgrenciProgram, ogrenci_id=ogrenci_id) _form.program = fields.Integer(choices=_choices) self.form_out(_form)