def kadro_bilgileri_form(self): _form = KadroBilgiForm(current=self.current, title="%(ad)s %(soyad)s için Atama Yapılacak Kadroyu Seçin" % { 'ad': self.current.task_data['personel_ad'], 'soyad': self.current.task_data['personel_soyad'], }) _form.set_choices_of('kadro', choices=prepare_choices_for_model(Kadro, durum=2)) _form.set_choices_of('durum', choices=prepare_choices_for_model(HitapSebep, nevi=1)) self.form_out(_form)
def kadro_bilgileri_form(self): """ Personelin atama bilgileri doldurulur. """ _form = KadroBilgiForm(current=self.current, title="{ad} {soyad} adlı personelin atama bilgilerini doldurunuz.".format( **self.current.task_data['personel']) ) _form.set_choices_of('kadro', choices=prepare_choices_for_model(Kadro, durum=2)) _form.set_choices_of('durum', choices=prepare_choices_for_model(HitapSebep, nevi=1)[0:10]) self.form_out(_form)
def kadro_bilgileri_form(self): _form = KadroBilgiForm( current=self.current, title="%(ad)s %(soyad)s için Atama Yapılacak Kadroyu Seçin" % { 'ad': self.current.task_data['personel_ad'], 'soyad': self.current.task_data['personel_soyad'], }) _form.set_choices_of('kadro', choices=prepare_choices_for_model(Kadro, durum=2)) _form.set_choices_of('durum', choices=prepare_choices_for_model(HitapSebep, nevi=1)) self.form_out(_form)
def kadro_bilgileri_form(self): """ Personelin atama bilgileri doldurulur. """ _form = KadroBilgiForm( current=self.current, title="{ad} {soyad} adlı personelin atama bilgilerini doldurunuz.". format(**self.current.task_data['personel'])) _form.set_choices_of('kadro', choices=prepare_choices_for_model(Kadro, durum=2)) _form.set_choices_of('durum', choices=prepare_choices_for_model(HitapSebep)) self.form_out(_form)
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)
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)
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)
def wf_sec(self): _secim_wf = prepare_choices_for_model(BPMNWorkflow, programmable=True) _form = JsonForm(title=_(u"İş Yöneticisi")) _form.workflow = Integer(title=_(u"Workflow Seçiniz"), choices=_secim_wf) _form.gonder = Button(_(u"İlerle")) self.form_out(_form)
def ara_listele(self): """ Makine, teçhizatların aranıp listelendiği iş akışı adımıdır. """ form = MakineTechizatAraForm(current=self.current) form.set_choices_of('birim', choices=prepare_choices_for_model( Unit, unit_type="Bölüm")) # Arama sonuclari task_data'dan alınır. arama_sonuclari = self.current.task_data.pop('arama_sonuclari', False) if arama_sonuclari: self.output['objects'] = [[ _(u'Kayıt Tarihi'), _(u'Sorumlu'), _(u'Techizat'), _(u'Birim') ]] for tech in arama_sonuclari: demirbas = Demirbas.objects.get(tech) kayit_tarihi = demirbas.teslim_alinma_tarihi.strftime( DATE_DEFAULT_FORMAT) proje = demirbas.sorumlu.__unicode__() techizat = demirbas.ad birim = demirbas.birim.__unicode__() list_item = { "fields": [kayit_tarihi, proje, techizat, birim], "actions": [ { 'name': _(u'Görüntüle'), 'cmd': 'goruntule', 'mode': 'normal', 'show_as': 'button' }, ], "key": demirbas.key, } # Proje başvurusundan gelindiyse araştırma olanak listesine ekle butonu işlemlere # eklenir. if self.current.task_data['proje_basvuru']: list_item['actions'].append( { 'name': _(u'Araştırma Olanakları Listesine Ekle'), 'cmd': 'listeye_ekle', 'mode': 'normal', 'show_as': 'button' }, ) self.output['objects'].append(list_item) elif arama_sonuclari is not False: self.current.output['msgbox'] = { 'type': 'warning', 'title': _(u"Sonuç bulunamadı."), "msg": _(u"Filtrelerinize uygun sonuç bulunamadı.") } self.current.output["meta"]["allow_search"] = False self.form_out(form)
def okutman_choices(): """Okutman Seçenekleri Returns: prepare_choices_for_model methodundan dönen değerleri dictionary formatında """ return [{'name': name, 'value': value} for value, name in prepare_choices_for_model(Okutman)]
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 proje_tur_sec(self): """ Proje türünün seçildiği adımdır. Makine teçhizat ekle adımı için task_data'ya proje_basvuru değeri True olarak eklenir. """ self.current.task_data['proje_basvuru'] = True form = ProjeTurForm(current=self.current) choices = prepare_choices_for_model(BAPProjeTurleri) form.set_choices_of('tur', choices) form.set_default_of('tur', choices[0][0]) 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 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 kadro_durumunu_kontrol_et(self): """ Açık kadroların olup olmadığını kontrol eder. """ if not prepare_choices_for_model(Kadro, durum=2): self.current.task_data['kadro_bos'] = False self.current.output['msgbox'] = { 'type': 'info', "title": _(u'Personel Atama Başarısız'), "msg": _(u"Kadrolar dolu olduğu için atama yapılamaz.") } else: self.current.task_data['kadro_bos'] = True
def atama_kaydet(self): """ Personel atama bilgileri ve hizmet kayıtları bilgileri kaydedilir. """ if not prepare_choices_for_model(Kadro, durum=2): self.current.task_data['atama_basarili'] = False self.current.output['msgbox'] = { 'type': 'info', "title": _(u'Personel Atama Başarısız'), "msg": _(u"Kadrolar dolu olduğu için atama yapılamaz.") } else: self.current.task_data['atama_basarili'] = True atanacak_kadro = Kadro.objects.get( self.current.input['form']['kadro']) atama = Atama(personel_id=self.current.task_data['personel_id']) try: atama.kadro = atanacak_kadro atama.ibraz_tarihi = self.current.input['form']['ibraz_tarihi'] atama.durum = HitapSebep.objects.get( self.current.input['form']['durum']) atama.nereden = self.current.input['form']['nereden'] atama.atama_aciklama = self.current.input['form'][ 'atama_aciklama'] atama.goreve_baslama_tarihi = self.current.input['form'][ 'goreve_baslama_tarihi'] atama.goreve_baslama_aciklama = self.current.input['form'][ 'goreve_baslama_aciklama'] atama.blocking_save() self.current.task_data['atama_bilgileri'] = atama.clean_value() personel = Personel.objects.get( self.current.task_data['personel_id']) hk = HizmetKayitlari(personel=personel) hk.baslama_tarihi = date.today() hk.kurum_onay_tarihi = self.current.input['form'][ 'kurum_onay_tarihi'] hk.sync = 1 # TODO: Düzeltilecek, beta boyunca senkronize etmemesi için 1 yapıldı hk.blocking_save() self.current.task_data['h_k'] = hk.key print "dskshskj" except Exception as e: # Herhangi bir hata oluşursa atama silinecek atama.delete() self.current.output['msgbox'] = { 'type': 'warning', "title": _(u'Hata Oluştu'), "msg": _(u'%s') % e.message }
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)
def atama_kaydet(self): """ Personel atama bilgileri ve hizmet kayıtları bilgileri kaydedilir. """ if not prepare_choices_for_model(Kadro, durum=2): self.current.task_data['atama_basarili'] = False self.current.output['msgbox'] = { 'type': 'info', "title": _(u'Personel Atama Başarısız'), "msg": _(u"Kadrolar dolu olduğu için atama yapılamaz.") } else: self.current.task_data['atama_basarili'] = True atanacak_kadro = Kadro.objects.get(self.current.input['form']['kadro']) atama = Atama(personel_id=self.current.task_data['personel_id']) try: atama.kadro = atanacak_kadro atama.ibraz_tarihi = self.current.input['form']['ibraz_tarihi'] atama.durum = HitapSebep.objects.get(self.current.input['form']['durum']) atama.nereden = self.current.input['form']['nereden'] atama.atama_aciklama = self.current.input['form']['atama_aciklama'] atama.goreve_baslama_tarihi = self.current.input['form']['goreve_baslama_tarihi'] atama.goreve_baslama_aciklama = self.current.input['form'][ 'goreve_baslama_aciklama'] atama.blocking_save() self.current.task_data['atama_bilgileri'] = atama.clean_value() personel = Personel.objects.get(self.current.task_data['personel_id']) hk = HizmetKayitlari(personel=personel) hk.baslama_tarihi = date.today() hk.kurum_onay_tarihi = self.current.input['form']['kurum_onay_tarihi'] hk.sync = 1 # TODO: Düzeltilecek, beta boyunca senkronize etmemesi için 1 yapıldı hk.blocking_save() self.current.task_data['h_k'] = hk.key print "dskshskj" except Exception as e: # Herhangi bir hata oluşursa atama silinecek atama.delete() self.current.output['msgbox'] = { 'type': 'warning', "title": _(u'Hata Oluştu'), "msg": _(u'%s') % e.message }
def proje_filtrele_listele(self): form = BAPProjeListeleFiltreleForm(current=self.current) form.set_choices_of('proje_turu', prepare_choices_for_model(BAPProjeTurleri)) self.form_out(form) hata_mesaji = self.current.task_data.pop('hata_mesaji', None) if hata_mesaji: self.current.output['msgbox'] = { 'type': 'error', "title": _(u"Yanlış ya da Eksik Filtre"), "msg": hata_mesaji } query_result = self.current.task_data.pop('query_result', None) if query_result: self.current.output["meta"]["allow_search"] = False self.output['objects'] = [[ _(u'Proje Kodu'), _(u'Proje Türü'), _(u'Proje Adı'), _(u'Yürütücü'), _(u'Bitiş Tarihi') ]] for qr in query_result: proje = BAPProje.objects.get(qr['key']) kod = proje.proje_no tur = proje.tur().__unicode__() ad = proje.ad yurutucu = proje.yurutucu().__unicode__() bitis_tarihi = proje.bitis_tarihi list_item = { "fields": [kod, tur, ad, yurutucu, bitis_tarihi], "actions": [{ 'name': _(u'Detay'), 'cmd': 'detay', 'mode': 'normal', 'show_as': 'button' }], "key": qr['key'] } self.output['objects'].append(list_item)
def ders_secim(self): """Not Girişi Ders Seçimi Okutmanın kendisine ait şubelerin listelendiği seçim adımına ait olan metot. Bu method seçilen şubeyi bir sonraki workflow adımı olan ve ``sinav_sec`` methodu ile elde edilen sınav seçim adımına aktarmaktadır. """ _form = forms.JsonForm(current=self.current, title=_(u"Ders Seçim Formu")) user = self.current.user subeler = Sube.objects.filter(okutman_id=self.get_okutman_key) _form.sube = fields.Integer(_(u"Şube Seçiniz"), choices=prepare_choices_for_model(Sube, okutman_id=self.get_okutman_key)) _form.sec = fields.Button(_(u"Seç"), cmd=_(u"Ders Şubesi Seçin")) self.form_out(_form)
class YeniRoller(ListNode): wf_name = fields.String(__(u"WF Adı"), readonly=True) eski_role = fields.String(__(u"Eski Rol"), readonly=True) yeni_role = fields.String(__(u"Yeni Rol"), choices=prepare_choices_for_model(Role), required=True)
def isten_ayrilma_form(self): # Onay form kullanıcıya gösteriliyor form = IstenAyrilmaOnayForm(current=self.current) form.set_choices_of('ayrilma_sebeb', choices=prepare_choices_for_model(HitapSebep)) self.form_out(form)