Пример #1
0
    def create_user(cls):
        """
        Bu metot ile yeni kullanıcı yaratılır ya da varolan kullanıcı getirilir.

        """

        # FIXME: To prevent existence of test_user in production,
        # this should be depend on an env. flag
        cls.cleanup()
        # Tanımlı parametrelere sahip soyut rol varsa rolü döndürür, yoksa soyut rol yaratır.
        abs_role, new = AbstractRole(super_context).objects.get_or_create(
            id=1, name='W.C. Hero')
        cls.client.user, new = User(super_context).objects.get_or_create(
            {"password": user_pass}, username='******')
        cls.client.user.superuser = True
        cls.client.user.save()

        if new:
            # Role modelinden role nesnesi yaratır.
            role = Role(super_context,
                        user=cls.client.user,
                        abstract_role=abs_role).save()
            # sleep(2)
            # role nesnesine, yetkiler eklenir.
            for perm in Permission(super_context).objects.raw(
                    "code:crud* OR code:login* OR code:logout* OR code:User* OR code:Personel* OR code:yeni*"
            ):
                role.Permissions(permission=perm)
            role.save()
            sleep(1)

            # Kullanıcı güncellenir.
            cls.client.user = User(super_context).objects.get(
                cls.client.user.key)
Пример #2
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
Пример #3
0
    def kullanici_aktiflestir(self):
        """
        Eğer karar firmanın kabulü yönünde ise, firma yetkilisi kullanıcısı aktif hale getirilir.

        """
        kullanici = self.object.Yetkililer[0].yetkili
        kullanici.is_active = True
        kullanici.blocking_save()
        abs_role = AbstractRole.objects.get('FIRMA_YETKILISI')
        role = Role(user=kullanici, abstract_role=abs_role, typ=3)
        role.blocking_save()
        role.add_permission_by_name('bap_firma_teklif', True)
Пример #4
0
    def run(self):
        from ulakbus.models import AbstractRole, User, Role, Permission
        import distutils.util
        from pyoko.exceptions import ObjectDoesNotExist

        # update existing users
        if self.manager.args.toggle_is_user_active is not None:
            try:
                user = User.objects.get(username=self.manager.args.username)
            except ObjectDoesNotExist:
                print "Böyle bir kullanıcı bulunmamaktadır."
                return
            activeness = self.manager.args.toggle_is_user_active
            try:
                user.is_active = distutils.util.strtobool(activeness)
            except ValueError:
                print "Lütfen True ya da False değeri giriniz."
                return
            user.blocking_save()
            return

        # create new user
        if User.objects.filter(username=self.manager.args.username).count():
            print("User already exists!")
            return
        if not self.manager.args.active:
            print(
                "Kullanıcının sisteme login olmasını istiyorsanız aktifleştirmeyi unutmayınız. Aktifleştirmek için --toggle_is_user_active parametresini kullanınız."
            )
        abs_role, new = AbstractRole.objects.get_or_create(
            name=self.manager.args.abstract_role)
        user = User(username=self.manager.args.username,
                    superuser=self.manager.args.super,
                    is_active=self.manager.args.active)
        user.set_password(self.manager.args.password)
        user.save()
        role = Role(user=user, abstract_role=abs_role)
        role.save()
        perm_list = []
        for perm in Permission.objects.raw(self.manager.args.permission_query):
            role.Permissions(permission=perm)
            perm_list.append(perm.name)
        role.save()
        user_type = 'super user' if self.manager.args.super else 'user'
        print("New %s created with these permissions: \n\n%s" %
              (user_type, "\n".join(perm_list)))
Пример #5
0
 def run(self):
     from ulakbus.models import AbstractRole, User, Role, Permission
     if User.objects.filter(username=self.manager.args.username).count():
         print("User already exists!")
         return
     abs_role, new = AbstractRole.objects.get_or_create(name=self.manager.args.abstract_role)
     user = User(username=self.manager.args.username, superuser=self.manager.args.super)
     user.set_password(self.manager.args.password)
     user.save()
     role = Role(user=user, abstract_role=abs_role)
     role.save()
     perm_list = []
     for perm in Permission.objects.raw(self.manager.args.permission_query):
         role.Permissions(permission=perm)
         perm_list.append(perm.name)
     role.save()
     user_type = 'super user' if self.manager.args.super else 'user'
     print("New %s created with these permissions: \n\n%s" % (user_type, "\n".join(perm_list)))
Пример #6
0
class BAPProje(Model):
    durum = field.Integer(_(u"Durum"), choices='bap_proje_durum')
    basvuru_rolu = Role()

    # Komisyon kararıyla doldurulacak alanlar
    proje_no = field.Integer(_(u"Proje No"))
    kabul_edilen_baslama_tarihi = field.Date(_(u"Kabul Edilen Başlama Tarihi"))
    kabul_edilen_butce = field.Float(_(u"Kabul Edilen Bütçe"))

    # Başvuruda doldurulacak alanlar
    yurutucu = Okutman()
    gerceklestirme_gorevlisi = Personel()
    harcama_yetkilisi = Personel()
    muhasebe_yetkilisi = Personel()

    tur = BAPProjeTurleri()

    ad = field.String(_(u"Proje Adı"))
    sure = field.Integer(_(u"Süre(Ay Cinsinden Olmalıdır)"))
    anahtar_kelimeler = field.String(
        _(u"Anahtar Kelimeler(Virgülle Ayrılmış Şekilde Olmalıdır)"))
    teklif_edilen_baslama_tarihi = field.Date(
        _(u"Teklif Edilen Başlama Tarihi"))
    teklif_edilen_butce = field.Float(_(u"Teklif Edilen Bütçe"))
    butce_fazlaligi = field.Float(_(u"Bütçe Fazlalığı"), default=0.0)

    konu_ve_kapsam = field.Text(_(u"Konu ve Kapsam"),
                                min_length=650,
                                max_length=1000)
    literatur_ozeti = field.Text(_(u"Literatür Özeti"),
                                 min_length=650,
                                 max_length=1000)
    ozgun_deger = field.Text(_(u"Özgün Değer"),
                             min_length=650,
                             max_length=1000)
    hedef_ve_amac = field.Text(_(u"Hedef ve Amaç"),
                               min_length=650,
                               max_length=1000)
    yontem = field.Text(_(u"Yöntem"), min_length=650, max_length=1000)
    basari_olcutleri = field.Text(_(u"Başarı Ölçütleri"),
                                  min_length=650,
                                  max_length=1000)
    b_plani = field.Text(_(u"B Planı"), min_length=650, max_length=1000)

    bitis_tarihi = field.Date(_(u"Tamamlanma Tarihi"))

    yurutucu_talep = field.String(__(u"Yürütücü Değişikliği Talebi"),
                                  hidden=True,
                                  required=False)
    komisyon_uyesi = Role(__(u"Komisyon Üyesi"), hidden=True)
    talep_uygunlugu = field.Boolean(__(u"Talep Uygunluğu"),
                                    hidden=True,
                                    default=True)

    class ProjeBelgeleri(ListNode):
        class Meta:
            verbose_name = __(u"Proje Belgesi")
            verbose_name_plural = __(u"Proje Belgeleri")

        belge = field.File(_(u"Belge"), random_name=True)
        belge_aciklamasi = field.String(_(u"Belge Açıklaması"), required=False)

    class ArastirmaOlanaklari(ListNode):
        class Meta:
            verbose_name = __(u"Araştırma Olanağı")
            verbose_name_plural = __(u"Araştırma Olanakları")

        lab = Room()
        demirbas = Demirbas()
        personel = Personel()

    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 UniversiteDisiUzmanlar(ListNode):
        class Meta:
            verbose_name = __(u"Üniversite Dışı Uzman")
            verbose_name_plural = __(u"Üniversite Dışı Uzmanlar")

        ad = field.String(_(u"Ad"))
        soyad = field.String(_(u"Soyad"))
        unvan = field.String(_(u"Unvan"))
        kurum = field.String(_(u"Kurum"))
        tel = field.String(_(u"Telefon"))
        faks = field.String(_(u"Faks"))
        eposta = field.String(_(u"E-posta"))

    class UniversiteDisiDestek(ListNode):
        class Meta:
            verbose_name = __(u"Üniversite Dışı Destek")
            verbose_name_plural = __(u"Üniversite Dışı Destekler")

        kurulus = field.String(_(u"Destekleyen Kurulus"))
        tur = field.String(_(u"Destek Türü"))
        destek_miktari = field.Float(_(u"Destek Miktarı"))
        verildigi_tarih = field.Date(_(u"Verildiği Tarih"))
        sure = field.Integer(_(u"Süresi(Ay CinsindenBA)"))
        destek_belgesi = field.File(_(u"Destek Belgesi"), random_name=True)
        destek_belgesi_aciklamasi = field.String(_(u"Belge Açıklaması"),
                                                 required=False)

    # Koordinatörlük tarafından atanacak
    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 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 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")

    @lazy_property
    def yurutucu_diger_projeler(self):
        return self.objects.filter(yurutucu=self.yurutucu)

    @lazy_property
    def proje_kodu(self):
        return "%s%s" % (self.tur.kod, self.proje_no)

    class Meta:
        app = 'BAP'
        verbose_name = _(u"BAP Proje")
        verbose_name_plural = _(u"BAP Projeler")
        list_fields = ['ad', 'yurutucu']
        search_fields = ['ad']
        list_filters = ['durum']
        unique_together = [('tur', 'proje_no')]

    def __unicode__(self):
        return "%s: %s" % (self.ad, self.yurutucu.__unicode__())

    def post_save(self):
        if self.durum == 5 and self.is_changed('durum'):
            genel = BAPGenel.get()
            genel.toplam_taahhut += self.kabul_edilen_butce
            genel.save()