Пример #1
0
 def addClass():
     classData = {
         'sinif_id': self.sinif_ekle_kod.text(),
         'sinif_ismi': self.sinif_ekle_isim.text(),
     }
     # is there any empyt field
     if (warning("Lütfen Boş Alanları Doldurunuz").exec_()
             if [i for i in classData.values()].count('') > 0 else
             False) is not False:
         return
     # is class code is numeric?
     if (False if classData['sinif_id'].isnumeric() else warning(
             "Lütfen Sadece Rakamlardan Oluşan Bir Ders Kodu Giriniz").
             exec_()) is not False:
         return
     # same learner number control
     if (warning("Girilen Sınıf Kodu Kullanımda.").exec_()
             if self.sql.sameClassCodeControl(classData['sinif_id'])
             else False) is not False:
         return
     # adding new class
     self.sql.addClass(classData)
     # clear the QLineEdit Fields
     [i.clear() for i in [self.sinif_ekle_isim, self.sinif_ekle_kod]]
     warning('Sınıf Ekleme İşlemi Başarılı').exec_()
     # for update widgets
     self.setInfo()
    def createAccount(self):
        self.db_data = {
            'ad': self.name.text(),
            'soyad': self.surname.text(),
            'kullaniciAdi': self.username.text(),
            'sifre': self.password.text(),
            'ePosta': self.e_mail.text(),
            'bolumAdi': self.department_name.text()
        }
        #is there any empty field
        if (warning("Lütfen Boş Alanları Doldurunuz").exec_() if
            [self.db_data[i]
             for i in self.db_data].count('') > 0 else False) is not False:
            return
        #name and surname field can`t be empty
        self.error_msg = "Ad ve Soyad Alanını En Az 2 Karakter Olmalıdır"
        if (warning(self.error_msg).exec_() if len(self.db_data['ad']) < 2
                or len(self.db_data['soyad']) < 2 else False) is not False:
            return
        #username field length cant`t be lower than 6
        self.error_msg = "Kullanıcı Adı En Az Altı Karakter Olmalıdır"
        if (warning(self.error_msg).exec_() if
                len(self.db_data['kullaniciAdi']) < 6 else False) is not False:
            return
        #e_mail is a real e-mail??
        self.error_msg = "Lütfen Geçerli Bir E-Posta Adresi Giriniz"
        if (warning(self.error_msg).exec_()
                if self.db_data['ePosta'].count('@') == 0
                or self.db_data['ePosta'].count('.com') == 0 else
                False) is not False:
            return
        #is have lowwecase and uppercase and numeric??
        self.error_msg = "Lütfen Şifrenizde Büyük-Küçük Harf ve Rakam Kullanınız"
        if (warning(self.error_msg).exec_() if
            ([i.isupper() for i in self.db_data['sifre']].count(True) < 1
             or [i.islower() for i in self.db_data['sifre']].count(True) < 1
             or [i.isalpha() for i in self.db_data['sifre']].count(False) < 1)
                else False) is not False:
            return

        #to sent mail register info
        if self.sent_account_info.isChecked():
            body = """
            Merhaba %s %s Hesap Bilgileriniz Aşağıdaki Gibidir, Mutlu Günler Dileriz.<br><br>
            Kullanıcı Adınız:'%s'<br>
            Şifreniz: '%s'<br>
            Bölüm Adınız: %s
            """ % (self.db_data["ad"], self.db_data['soyad'],
                   self.db_data['kullaniciAdi'], self.db_data['sifre'],
                   self.db_data['bolumAdi'])
            mail([self.db_data['ePosta']], "ÖTS Bilgilendirme", body)

        #REGISTER
        sql = sqlExecute(self.username.text(), self.password.text())
        sql.register(self.db_data)
        time.sleep(0.8)
        self.close()
Пример #3
0
 def ogrenciSil():
     theLearnerNumber = self.combo_edit_learners.currentText().split(
         " ")[-1]
     # delete
     self.sql.theLearnerDelete(theLearnerNumber)
     # Hide the QLineEdits fields
     [i.hide() for i in self.ogr_duzenle_show_hide]
     warning('Öğrenci Silme İşlemi Başarılı').exec_()
     # for update widgets
     self.setInfo()
Пример #4
0
 def ogrenciYerlestir():
     if self.label_yerlestir_class.isHidden(
     ) or self.label_yerlestir_learners.isHidden():
         warning('Lütfen Sınıf Ve Öğrenci Seçimi Yapınız').exec_()
     else:
         self.sql.setLearnerToEmplace([
             self.combo_yerlestir_classes.currentText().split(" ")[0],
             self.combo_yerlestir_learners.currentText().split(" ")[-1]
         ])
         self.setInfo()
         self.label_yerlestir_learners.hide()
         self.label_yerlestir_class.hide()
         warning('Öğrenci - Sınıf Yerleştirme İşlemi Başarılı').exec_()
Пример #5
0
 def addLesson():
     lessonData = {
         'ders_kod': self.ders_ekle_kod.text(),
         'ders_ismi': self.ders_ekle_isim.text(),
         'ders_tanim': self.ders_ekle_tanim.toPlainText(),
         'ders_kredi': self.ders_ekle_kredi.text(),
         'ders_akts': self.ders_ekle_akts.text(),
         'vize_yuzde': self.ders_ekle_vizeYuzde.text(),
         'final_yuzde': self.ders_ekle_finalYuzde.text()
     }
     # is there any empyt field
     if (warning("Lütfen Boş Alanları Doldurunuz").exec_()
             if [i for i in lessonData.values()].count('') > 0 else
             False) is not False:
         return
     # is lesson code is numeric?
     if (False if lessonData['ders_kod'].isnumeric() else warning(
             "Lütfen Doğru Formatta Geçerli Bir Telefon Numarası Giriniz"
     ).exec_()) is not False:
         return
     # is lesson akts is numeric?
     if (False if lessonData['ders_akts'].isnumeric() else warning(
             "Lütfen Doğru Formatta Geçerli Bir Telefon Numarası Giriniz"
     ).exec_()) is not False:
         return
     # is lesson credit is numeric?
     if (False if lessonData['ders_kredi'].isnumeric() else warning(
             "Lütfen Doğru Formatta Geçerli Bir Telefon Numarası Giriniz"
     ).exec_()) is not False:
         return
     #is exam percentace correct number?
     if (False if lessonData['vize_yuzde'].isnumeric() and int(
             lessonData['vize_yuzde']
     ) < 101 and int(lessonData['vize_yuzde']) > 0 else warning(
             "Lütfen Vize Yüzdesi İçin 0-101 Arasında Bir Sayı Giriniz"
     ).exec_()) is not False:
         return
     if (False if lessonData['final_yuzde'].isnumeric() and int(
             lessonData['final_yuzde']
     ) < 101 and int(lessonData['final_yuzde']) > 0 else warning(
             "Lütfen Vize Yüzdesi İçin 0-101 Arasında Bir Sayı Giriniz"
     ).exec_()) is not False:
         return
     # adding new learner
     self.sql.addLesson(lessonData)
     # clear the QLineEdit Fields
     [
         i.clear() for i in [
             self.ders_ekle_kod,
             self.ders_ekle_isim,
             self.ders_ekle_tanim,
             self.ders_ekle_kredi,
             self.ders_ekle_akts,
             self.ders_ekle_vizeYuzde,
             self.ders_ekle_finalYuzde,
         ]
     ]
     warning('Ders Ekleme İşlemi Başarılı').exec_()
     # for update widgets
     self.setInfo()
    def signIn(self):
        if len(self.username.text()) < 6 or len(self.password.text()) < 6:
            warning("Kullanıcı Adınız veya Şifreniz 6 Karakterden Küçük Olamaz"
                    ).exec_()
        else:
            sql = sqlExecute(self.username.text(), self.password.text())

            if sql.login():
                print("Login Successful")
                # database operation
                self.giris_control = True
                self.isReMember()
                self.close()
            else:
                warning(
                    "Kullanıcı Adı ('{}') veya\nŞifre ('{}') hatalı.".format(
                        self.username.text(), self.password.text())).exec_()
                self.username.setText("")
                self.password.setText("")
Пример #7
0
        def ogrenciGuncelle():
            learnerData = {
                'ad': self.ogr_edit_ad.text(),
                'soyad': self.ogr_edit_soyad.text(),
                'dogum_tarihi': self.ogr_edit_dogumTarihi.text(),
                'telefon': self.ogr_edit_telefon.text(),
                'mail_adresi': self.ogr_edit_mail.text(),
                'ev_adresi': self.ogr_edit_evAdresi.text(),
                'cinsiyet': self.ogr_edit_cinsiyet.currentText()
            }
            # is there any empyt field
            if (warning("Lütfen Boş Alanları Doldurunuz").exec_()
                    if [i for i in learnerData.values()].count('') > 0 else
                    False) is not False:
                return

            # is name and surname fields alphabetical?
            if (False if learnerData['ad'].isalpha()
                    and learnerData['soyad'].isalpha() else warning(
                        "Lütfen Ad ve Soyad Alanında Sadece Harf Kullanınız").
                    exec_()) is not False:
                return

            # is day of birth in the correct format?
            if (warning(
                    "Lütfen Belirtilen Formatta Geçerli Bir Doğum Tarihi Giriniz"
            ).exec_() if learnerData['dogum_tarihi'].count('.') > 2
                    or learnerData['dogum_tarihi'].count('.') < 2 else
                    False) is not False:
                return

            # is phone number 11 digits? or startswith '0'? or numeric?
            if (False if learnerData['telefon'].startswith('0') and len(
                    learnerData['telefon'].replace(' ', '')
            ) == 11 and learnerData['telefon'].isnumeric() else warning(
                    "Lütfen Doğru Formatta Geçerli Bir Telefon Numarası Giriniz"
            ).exec_()) is not False:
                return

            #adding current studens number to learnerData
            learnerData['ogrenci_no'] = self.combo_edit_learners.currentText(
            ).split(" ")[-1]

            #update
            self.sql.updateLearnerInfo(learnerData)

            #Hide the QLineEdits fields
            [i.hide() for i in self.ogr_duzenle_show_hide]
            warning('Öğrenci Güncelleme İşlemi Başarılı').exec_()
Пример #8
0
 def ogrenciEkle():
     learnerData = {
         'ad': self.ogr_ekle_ad.text(),
         'soyad': self.ogr_ekle_soyad.text(),
         'dogum_tarihi': self.ogr_ekle_dogumTarhi.text(),
         'telefon': self.ogr_ekle_telefon.text(),
         'mail_adresi': self.ogr_ekle_mail.text(),
         'ev_adresi': self.ogr_ekle_evAdresi.text(),
         'cinsiyet': self.ogr_ekle_cinsiyet.currentText(),
         'ogrenci_no': self.ogr_ekle_okulNumarasi.text()
     }
     # is there any empyt field
     if (warning("Lütfen Boş Alanları Doldurunuz").exec_()
             if [i for i in learnerData.values()].count('') > 0 else
             False) is not False:
         return
     # is name and surname fields alphabetical?
     if (False if learnerData['ad'].isalpha()
             and learnerData['soyad'].isalpha() else warning(
                 "Lütfen Ad ve Soyad Alanında Sadece Harf Kullanınız").
             exec_()) is not False:
         return
     # is day of birth in the correct format?
     if (warning(
             "Lütfen Belirtilen Formatta Geçerli Bir Doğum Tarihi Giriniz"
     ).exec_() if learnerData['dogum_tarihi'].count('.') > 2
             or learnerData['dogum_tarihi'].count('.') < 2 else
             False) is not False:
         return
     # is phone number 11 digits? or startswith '0'? or numeric?
     if (False if learnerData['telefon'].startswith('0') and len(
             learnerData['telefon'].replace(' ', '')
     ) == 11 and learnerData['telefon'].isnumeric() else warning(
             "Lütfen Doğru Formatta Geçerli Bir Telefon Numarası Giriniz"
     ).exec_()) is not False:
         return
     # is school number numeric?
     if (False if learnerData['ogrenci_no'].isnumeric() else
             warning("Okul Numarası Sedece Rakamlardan Oluşmalıdır."
                     ).exec_()) is not False:
         return
     # same learner number control
     if (warning(
             "Girilen Öğrenci Numarasını Başka Bir Öğrenci Kullanıyor."
     ).exec_() if self.sql.sameNumberLearnerControl(
             learnerData['ogrenci_no']) else False) is not False:
         return
     # adding new learner
     self.sql.addLearner(learnerData)
     # clear the QLineEdit Fields
     [
         i.clear() for i in [
             self.ogr_ekle_ad, self.ogr_ekle_soyad,
             self.ogr_ekle_dogumTarhi, self.ogr_ekle_telefon,
             self.ogr_ekle_mail, self.ogr_ekle_evAdresi,
             self.ogr_ekle_okulNumarasi
         ]
     ]
     warning('Öğrenci Ekleme İşlemi Başarılı').exec_()
     # for update widgets
     self.setInfo()
Пример #9
0
    def ogrenciSection(self):
        def ogrenciEkle():
            learnerData = {
                'ad': self.ogr_ekle_ad.text(),
                'soyad': self.ogr_ekle_soyad.text(),
                'dogum_tarihi': self.ogr_ekle_dogumTarhi.text(),
                'telefon': self.ogr_ekle_telefon.text(),
                'mail_adresi': self.ogr_ekle_mail.text(),
                'ev_adresi': self.ogr_ekle_evAdresi.text(),
                'cinsiyet': self.ogr_ekle_cinsiyet.currentText(),
                'ogrenci_no': self.ogr_ekle_okulNumarasi.text()
            }
            # is there any empyt field
            if (warning("Lütfen Boş Alanları Doldurunuz").exec_()
                    if [i for i in learnerData.values()].count('') > 0 else
                    False) is not False:
                return
            # is name and surname fields alphabetical?
            if (False if learnerData['ad'].isalpha()
                    and learnerData['soyad'].isalpha() else warning(
                        "Lütfen Ad ve Soyad Alanında Sadece Harf Kullanınız").
                    exec_()) is not False:
                return
            # is day of birth in the correct format?
            if (warning(
                    "Lütfen Belirtilen Formatta Geçerli Bir Doğum Tarihi Giriniz"
            ).exec_() if learnerData['dogum_tarihi'].count('.') > 2
                    or learnerData['dogum_tarihi'].count('.') < 2 else
                    False) is not False:
                return
            # is phone number 11 digits? or startswith '0'? or numeric?
            if (False if learnerData['telefon'].startswith('0') and len(
                    learnerData['telefon'].replace(' ', '')
            ) == 11 and learnerData['telefon'].isnumeric() else warning(
                    "Lütfen Doğru Formatta Geçerli Bir Telefon Numarası Giriniz"
            ).exec_()) is not False:
                return
            # is school number numeric?
            if (False if learnerData['ogrenci_no'].isnumeric() else
                    warning("Okul Numarası Sedece Rakamlardan Oluşmalıdır."
                            ).exec_()) is not False:
                return
            # same learner number control
            if (warning(
                    "Girilen Öğrenci Numarasını Başka Bir Öğrenci Kullanıyor."
            ).exec_() if self.sql.sameNumberLearnerControl(
                    learnerData['ogrenci_no']) else False) is not False:
                return
            # adding new learner
            self.sql.addLearner(learnerData)
            # clear the QLineEdit Fields
            [
                i.clear() for i in [
                    self.ogr_ekle_ad, self.ogr_ekle_soyad,
                    self.ogr_ekle_dogumTarhi, self.ogr_ekle_telefon,
                    self.ogr_ekle_mail, self.ogr_ekle_evAdresi,
                    self.ogr_ekle_okulNumarasi
                ]
            ]
            warning('Öğrenci Ekleme İşlemi Başarılı').exec_()
            # for update widgets
            self.setInfo()

        def bilgileriGetir():
            if self.combo_edit_learners.currentText() != "":
                theLearnerNumber = self.combo_edit_learners.currentText(
                ).split(" ")[-1]
                thelearnerInfo = (
                    self.sql.getTheLearnerInfo(theLearnerNumber))[0]
                lineEdits = [
                    self.ogr_edit_ad, self.ogr_edit_soyad,
                    self.ogr_edit_dogumTarihi, self.ogr_edit_telefon,
                    self.ogr_edit_mail, self.ogr_edit_evAdresi
                ]
                Info = [
                    thelearnerInfo['ad'], thelearnerInfo['soyad'],
                    thelearnerInfo['dogum_tarihi'], thelearnerInfo['telefon'],
                    thelearnerInfo['mail_adresi'], thelearnerInfo['ev_adresi']
                ]
                [a.setText(str(b)) for a, b in zip(lineEdits, Info)]
                self.ogr_edit_cinsiyet.setCurrentIndex(0) if (
                    thelearnerInfo['cinsiyet']
                    == 'Erkek') else self.ogr_edit_cinsiyet.setCurrentIndex(1)
                [i.show() for i in self.ogr_duzenle_show_hide]
            if self.combo_yerlestir_learners.currentText() != "":
                self.label_yerlestir_learners.setText(
                    self.combo_yerlestir_learners.currentText())
                self.label_yerlestir_learners.show()
            if self.combo_yerlestir_classes.currentText() != "":
                self.label_yerlestir_class.setText(
                    self.combo_yerlestir_classes.currentText())
                self.label_yerlestir_class.show()

        def ogrenciGuncelle():
            learnerData = {
                'ad': self.ogr_edit_ad.text(),
                'soyad': self.ogr_edit_soyad.text(),
                'dogum_tarihi': self.ogr_edit_dogumTarihi.text(),
                'telefon': self.ogr_edit_telefon.text(),
                'mail_adresi': self.ogr_edit_mail.text(),
                'ev_adresi': self.ogr_edit_evAdresi.text(),
                'cinsiyet': self.ogr_edit_cinsiyet.currentText()
            }
            # is there any empyt field
            if (warning("Lütfen Boş Alanları Doldurunuz").exec_()
                    if [i for i in learnerData.values()].count('') > 0 else
                    False) is not False:
                return

            # is name and surname fields alphabetical?
            if (False if learnerData['ad'].isalpha()
                    and learnerData['soyad'].isalpha() else warning(
                        "Lütfen Ad ve Soyad Alanında Sadece Harf Kullanınız").
                    exec_()) is not False:
                return

            # is day of birth in the correct format?
            if (warning(
                    "Lütfen Belirtilen Formatta Geçerli Bir Doğum Tarihi Giriniz"
            ).exec_() if learnerData['dogum_tarihi'].count('.') > 2
                    or learnerData['dogum_tarihi'].count('.') < 2 else
                    False) is not False:
                return

            # is phone number 11 digits? or startswith '0'? or numeric?
            if (False if learnerData['telefon'].startswith('0') and len(
                    learnerData['telefon'].replace(' ', '')
            ) == 11 and learnerData['telefon'].isnumeric() else warning(
                    "Lütfen Doğru Formatta Geçerli Bir Telefon Numarası Giriniz"
            ).exec_()) is not False:
                return

            #adding current studens number to learnerData
            learnerData['ogrenci_no'] = self.combo_edit_learners.currentText(
            ).split(" ")[-1]

            #update
            self.sql.updateLearnerInfo(learnerData)

            #Hide the QLineEdits fields
            [i.hide() for i in self.ogr_duzenle_show_hide]
            warning('Öğrenci Güncelleme İşlemi Başarılı').exec_()

            # for update widgets
        def ogrenciSil():
            theLearnerNumber = self.combo_edit_learners.currentText().split(
                " ")[-1]
            # delete
            self.sql.theLearnerDelete(theLearnerNumber)
            # Hide the QLineEdits fields
            [i.hide() for i in self.ogr_duzenle_show_hide]
            warning('Öğrenci Silme İşlemi Başarılı').exec_()
            # for update widgets
            self.setInfo()

        def ogrenciYerlestir():
            if self.label_yerlestir_class.isHidden(
            ) or self.label_yerlestir_learners.isHidden():
                warning('Lütfen Sınıf Ve Öğrenci Seçimi Yapınız').exec_()
            else:
                self.sql.setLearnerToEmplace([
                    self.combo_yerlestir_classes.currentText().split(" ")[0],
                    self.combo_yerlestir_learners.currentText().split(" ")[-1]
                ])
                self.setInfo()
                self.label_yerlestir_learners.hide()
                self.label_yerlestir_class.hide()
                warning('Öğrenci - Sınıf Yerleştirme İşlemi Başarılı').exec_()

        sender = self.sender()
        if str(sender.objectName()) == "combo_edit_learners":
            bilgileriGetir()
        elif str(sender.objectName()) == "combo_yerlestir_classes":
            bilgileriGetir()
        elif str(sender.objectName()) == "combo_yerlestir_learners":
            bilgileriGetir()
        elif sender.text() == "Öğrenci Ekle":
            ogrenciEkle()
        elif sender.text() == "BİLGİLERİ GETİR":
            bilgileriGetir()
        elif sender.text() == "Öğrenci Düzenle":
            warning(
                'Lütfen öncelikle herhangi bir öğrenci bilgisi getirin').exec_(
                ) if self.ogr_edit_ad.isHidden() else ogrenciGuncelle()
        elif sender.text() == "Öğrenci Sil":
            warning('Lütfen öncelikle herhangi bir öğrenci bilgisi getirin'
                    ).exec_() if self.ogr_edit_ad.isHidden() else ogrenciSil()
        elif sender.text() == "Yerleştir":
            ogrenciYerlestir()
        elif sender.text() == "Ders Kaydet":
            pass