Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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)
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)
Esempio n. 7
0
    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)
Esempio n. 8
0
    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)
Esempio n. 9
0
    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)
Esempio n. 10
0
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)]
Esempio n. 11
0
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)]
Esempio n. 12
0
    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)
Esempio n. 13
0
 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)
Esempio n. 14
0
    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)
Esempio n. 15
0
    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)
Esempio n. 16
0
    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)
Esempio n. 17
0
    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
Esempio n. 18
0
    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
                }
Esempio n. 19
0
    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
Esempio n. 20
0
    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)
Esempio n. 21
0
    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
                }
Esempio n. 22
0
    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)
Esempio n. 23
0
    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)
Esempio n. 24
0
    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)
Esempio n. 25
0
 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)
Esempio n. 26
0
 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)