def grab(self, id): databag = function.dict_object('data.json') studentName = databag['students'][id][0] studentDept = databag['students'][id][1] studentAvi = databag['students'][id][2] studentCourses = databag['students'][id][3] self.setWindowTitle('Registron - %s' %studentName) self.ui.studentName.setText(studentName) self.ui.studentID.setText(id) self.ui.studentDept.setText(studentDept) if len(databag['school']) > 34: truncated = databag['school'][:32] + '...' self.ui.schoolName.setText(truncated) self.ui.schoolName.setToolTip(databag['school']) else: self.ui.schoolName.setText(databag['school']) avatar = self.ui.studentAvatar if studentAvi == '': avatar.setPixmap(QtGui.QPixmap(function.resource_path('resources/images/128x128/default.jpg'))) else: avatar.setPixmap(QtGui.QPixmap(function.resource_path('resources/images/128x128/%s' % studentAvi))) __courses__ = len(databag['departments'][studentDept]) # Show the student's department courses for x, course in enumerate(databag['departments'][studentDept]): getattr(self.ui, 'course{}'.format(x + 1)).setText(' %s' %course) getattr(self.ui, 'course{}'.format(x + 1)).show() getattr(self.ui, 'courseCheck{}'.format(x + 1)).show() # check the courses offered by the student if studentCourses.split(':') != ['']: # check in cases of students with no registered courses for x, registered in enumerate(studentCourses.split(':')): getattr(self.ui, 'courseCheck{}'.format(registered)).setCheckState(2) self.show()
def __init__(self): QtGui.QMainWindow.__init__(self) self.ui = Ui_adminWindow() self.ui.setupUi(self) self.setGeometry(300, 100, 750, 520) self.ui.schoolSaved.hide() self.ui.studentSaved.hide() self.ui.courseAdded.hide() self.ui.passwordChanged.hide() self.ui.editUpdateNotif.hide() self.ui.studentNotFound.hide() self.ui.studentRecordSuccess.hide() self.ui.dataEditContainer.hide() self.ui.studentRecorded.hide() self.databag = function.dict_object('data.json') school = self.databag['school'] self.ui.schoolName.setText(school) self.ui.schoolNameBtn.clicked.connect(self.addSchool) self.ui.changePassBtn.clicked.connect(self.changePass) self.ui.addDeptBtn.clicked.connect(self.addDepartment) self.ui.addStudentBtn.clicked.connect(self.addStudent) self.ui.editStudentBtn.clicked.connect(self.editStudent) self.ui.updateStudentBtn.clicked.connect(self.updateStudent) self.ui.deleteDeptBtn.clicked.connect(self.deleteDepartment) self.ui.deleteCourseBtn.clicked.connect(self.deleteCourse) self.ui.DeptEditBtn.clicked.connect(self.editDept) self.ui.CourseEditBtn.clicked.connect(self.editCourse) # Departments Combo Box for x, department in enumerate(self.databag['departments']): self.ui.courseAddDeptList.addItem('') self.ui.deptEditSelect.addItem('') self.ui.studentDept.addItem('') self.ui.ed_department.addItem('') self.ui.courseAddDeptList.setItemText(x, department) self.ui.deptEditSelect.setItemText(x, department) self.ui.studentDept.setItemText(x, department) self.ui.ed_department.setItemText(x, department) self.ui.DeptEdit.setText( str( self.ui.deptEditSelect.currentText() ) ) # Dependent Courses Combo Box presentDeptCourses = str( self.ui.deptEditSelect.currentText() ) for x, course in enumerate(self.databag['departments'][presentDeptCourses]): self.ui.courseEditSelect.addItem('') self.ui.courseEditSelect.setItemText(x, course) self.ui.CourseEdit.setText( str(self.ui.courseEditSelect.currentText()) ) self.ui.deptEditSelect.currentIndexChanged.connect(self.updateCourseList) self.ui.courseEditSelect.currentIndexChanged.connect(self.updateCourseEdit) self.ui.addCourseBtn.clicked.connect(self.addCourses) #Menu Actions self.ui.actionQuit.triggered.connect(self.close) self.ui.actionDocumentation.triggered.connect(function.openGitPage) self.ui.actionAbout.triggered.connect(about.show) self.ui.actionCredits.triggered.connect(credits.show) self.ui.actionLicense.triggered.connect(license.show) self.ui.actionAdmin_Logout.triggered.connect(self.closeAdmin)
def courseUpdates(self): offered = '' for x in xrange(1,16,1): if getattr(self.ui, 'courseCheck{}'.format(x)).checkState() == 2: offered += str(x) + ':' offered = offered.rstrip(':') studentIndex = str(self.ui.studentID.text()) databag = function.dict_object('data.json') databag['students'][studentIndex][3] = offered function.dump_data(databag) function.talk('Your courses have been updated') self.ui.courseStatus.setText('Courses updated')
def courseUpdates(self): offered = '' for x in xrange(1, 16, 1): if getattr(self.ui, 'courseCheck{}'.format(x)).checkState() == 2: offered += str(x) + ':' offered = offered.rstrip(':') studentIndex = str(self.ui.studentID.text()) databag = function.dict_object('data.json') databag['students'][studentIndex][3] = offered function.dump_data(databag) function.talk('Your courses have been updated') self.ui.courseStatus.setText('Courses updated')
def verify(self): __user__ = str(self.ui.adminUname.text()) __pass__ = str(self.ui.adminPass.text()) databag = function.dict_object('data.json') __spass__ = databag['auth'] if __user__ == 'admin' and function.computeHash(__pass__) == __spass__: self.ui.authError.hide() self.close() window.hide() manageCourse.hide() administration.show() else: function.talk("Invalid authentication") self.ui.authError.show()
def checkCampusID(self): databag = function.dict_object('data.json') campusID = str(self.ui.matricInput.text()) if campusID != '': if databag['students'].has_key(campusID): self.ui.invalidID.hide() studentName = databag['students'][campusID][0] function.talk("Hello %s, let us register your courses" % studentName) self.hide() manageCourse.grab(campusID) else: self.ui.invalidID.show() function.talk("There is no student with that campus ID in our records") else: self.ui.invalidID.show() function.talk("Your input is empty. Please type your campus ID to log in as a student")
def checkCampusID(self): databag = function.dict_object('data.json') campusID = str(self.ui.matricInput.text()) if campusID != '': if databag['students'].has_key(campusID): self.ui.invalidID.hide() studentName = databag['students'][campusID][0] function.talk("Hello %s, let us register your courses" % studentName) self.hide() manageCourse.grab(campusID) else: self.ui.invalidID.show() function.talk( "There is no student with that campus ID in our records") else: self.ui.invalidID.show() function.talk( "Your input is empty. Please type your campus ID to log in as a student" )
def grab(self, id): databag = function.dict_object('data.json') studentName = databag['students'][id][0] studentDept = databag['students'][id][1] studentAvi = databag['students'][id][2] studentCourses = databag['students'][id][3] self.setWindowTitle('Registron - %s' % studentName) self.ui.studentName.setText(studentName) self.ui.studentID.setText(id) self.ui.studentDept.setText(studentDept) if len(databag['school']) > 34: truncated = databag['school'][:32] + '...' self.ui.schoolName.setText(truncated) self.ui.schoolName.setToolTip(databag['school']) else: self.ui.schoolName.setText(databag['school']) avatar = self.ui.studentAvatar if studentAvi == '': avatar.setPixmap( QtGui.QPixmap( function.resource_path( 'resources/images/128x128/default.jpg'))) else: avatar.setPixmap( QtGui.QPixmap( function.resource_path('resources/images/128x128/%s' % studentAvi))) __courses__ = len(databag['departments'][studentDept]) # Show the student's department courses for x, course in enumerate(databag['departments'][studentDept]): getattr(self.ui, 'course{}'.format(x + 1)).setText(' %s' % course) getattr(self.ui, 'course{}'.format(x + 1)).show() getattr(self.ui, 'courseCheck{}'.format(x + 1)).show() # check the courses offered by the student if studentCourses.split(':') != [ '' ]: # check in cases of students with no registered courses for x, registered in enumerate(studentCourses.split(':')): getattr(self.ui, 'courseCheck{}'.format(registered)).setCheckState(2) self.show()
def __init__(self): QtGui.QMainWindow.__init__(self) self.ui = Ui_adminWindow() self.ui.setupUi(self) self.setGeometry(300, 100, 750, 520) self.ui.schoolSaved.hide() self.ui.studentSaved.hide() self.ui.courseAdded.hide() self.ui.passwordChanged.hide() self.ui.editUpdateNotif.hide() self.ui.studentNotFound.hide() self.ui.studentRecordSuccess.hide() self.ui.dataEditContainer.hide() self.ui.studentRecorded.hide() self.databag = function.dict_object('data.json') school = self.databag['school'] self.ui.schoolName.setText(school) self.ui.schoolNameBtn.clicked.connect(self.addSchool) self.ui.changePassBtn.clicked.connect(self.changePass) self.ui.addDeptBtn.clicked.connect(self.addDepartment) self.ui.addStudentBtn.clicked.connect(self.addStudent) self.ui.editStudentBtn.clicked.connect(self.editStudent) self.ui.updateStudentBtn.clicked.connect(self.updateStudent) self.ui.deleteDeptBtn.clicked.connect(self.deleteDepartment) self.ui.deleteCourseBtn.clicked.connect(self.deleteCourse) self.ui.DeptEditBtn.clicked.connect(self.editDept) self.ui.CourseEditBtn.clicked.connect(self.editCourse) # Departments Combo Box for x, department in enumerate(self.databag['departments']): self.ui.courseAddDeptList.addItem('') self.ui.deptEditSelect.addItem('') self.ui.studentDept.addItem('') self.ui.ed_department.addItem('') self.ui.courseAddDeptList.setItemText(x, department) self.ui.deptEditSelect.setItemText(x, department) self.ui.studentDept.setItemText(x, department) self.ui.ed_department.setItemText(x, department) self.ui.DeptEdit.setText(str(self.ui.deptEditSelect.currentText())) # Dependent Courses Combo Box presentDeptCourses = str(self.ui.deptEditSelect.currentText()) for x, course in enumerate( self.databag['departments'][presentDeptCourses]): self.ui.courseEditSelect.addItem('') self.ui.courseEditSelect.setItemText(x, course) self.ui.CourseEdit.setText(str(self.ui.courseEditSelect.currentText())) self.ui.deptEditSelect.currentIndexChanged.connect( self.updateCourseList) self.ui.courseEditSelect.currentIndexChanged.connect( self.updateCourseEdit) self.ui.addCourseBtn.clicked.connect(self.addCourses) #Menu Actions self.ui.actionQuit.triggered.connect(self.close) self.ui.actionDocumentation.triggered.connect(function.openGitPage) self.ui.actionAbout.triggered.connect(about.show) self.ui.actionCredits.triggered.connect(credits.show) self.ui.actionLicense.triggered.connect(license.show) self.ui.actionAdmin_Logout.triggered.connect(self.closeAdmin)