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()
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_()
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("")
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_()
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 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