Exemplo n.º 1
0
            def addsub():
                pname=entrytext1.get()
                syear=entrytext2.get()
                pmail=entrytext3.get()
                if pname and pmail and syear:
                    if sql.Sqloperation().checkinputsub(pmail,syear):
                        tk.messagebox.showerror(title='信息', message=sql.Sqloperation().checkinputsub(pmail,syear))
                        return
                    try:
                        syearn=int(syear)
                    except:
                        tk.messagebox.showerror(title='信息', message='“征订年份”的格式不符合要求')
                        return
                    comfirmc = tk.messagebox.askyesno('确认',message=r"""期刊名称:{}
邮发代码:{}
征订年份:{}
信息是否无误?
                        """.format(pname,pmail,syear))
                    if comfirmc:
                        if sql.Sqloperation().subscript(pname,pmail,syear):
                            tk.messagebox.showinfo(title='信息', message='添加征订成功')
                        else:
                            tk.messagebox.showerror(title='信息', message='添加征订失败,请重试')
                    else:return
                else:
                    tk.messagebox.showerror(title='信息', message='不允许留空!')
Exemplo n.º 2
0
	def sign_to_system():
		# 以下三行就是获取我们注册时所输入的信息
        np = new_pwd.get()
        npf = new_pwd_confirm.get()
        nn = new_name.get()
	    # 这里就是判断,如果两次密码输入不一致,则提示Error, Password and confirm password must be the same!
	    if np != npf:
			tkinter.messagebox.showerror('提示信息',message='两次密码不一致')
			return False
	    # 如果用户名已经在我们的数据文件中,则提示Error, The user has already signed up!
	    elif sql.Sqloperation().is_user_exist(nn):
			tkinter.messagebox.showerror('提示信息',message='账号已存在')
			return False
		elif not sql.Sqloperation().checkpassformat(np):
			tkinter.messagebox.showerror('提示信息',message='密码格式不正确,不能为空以及包含空格')
			return False
		elif not sql.Sqloperation().checkidformat(nn):
			tkinter.messagebox.showerror('提示信息',message='工号格式(1字母+8数字)不正确')
			return False
		# 最后如果输入无以上错误,则将注册输入的信息记录到文件当中,并提示注册成功Welcome!,You have successfully signed up!,然后销毁窗口。
		else:
			sql.Sqloperation().adduser(nn,np)
			tkinter.messagebox.showinfo('提示信息',message='注册成功')
			# 然后销毁窗口。
			sign_up_window.destroy()
Exemplo n.º 3
0
            def catalogc():
                pname=entrytext1.get()
                pcn=entrytext2.get()
                pisn=entrytext3.get()
                pmail=entrytext4.get()
                pper=entrytext5.get()
                ploc=entrytext6.get()
                ppress=entrytext7.get()
                if sql.Sqloperation().checkinputcatalog(pcn,pisn,pmail,pper):
                    tk.messagebox.showerror(title='信息', message=sql.Sqloperation().checkinputcatalog(pcn,pisn,pmail,pper))
                    return
                if pname and pcn and pisn and pmail and pper and ploc and ppress:
                    comfirmc = tk.messagebox.askyesno('确认',message=r"""期刊名称:{}
CN刊号:{}
ISSN:{}
邮发代码:{}
出版周期:{}
出版地:{}
主办单位:{}
信息是否无误?
                    """.format(pname,pcn,pisn,pmail,pper,ploc,ppress))
                    if comfirmc:
                        if sql.Sqloperation().addcatalog(pname,pcn,pisn,pmail,pper,ploc,ppress):
                            tk.messagebox.showinfo(title='信息', message='目录登记成功')
                        else:
                            tk.messagebox.showerror(title='信息', message='目录登记失败,请重试')
                    else:return
                else:
                    tk.messagebox.showerror(title='信息', message='不允许留空!')
Exemplo n.º 4
0
 def lentrp():
     itemexist=False
     for item in tree.selection():
         itemexist=True
         item_text = tree.item(item,"values")
     if not itemexist:
         tk.messagebox.showerror(title='信息', message='借出失败,请先用鼠标选中一本期刊')
         return
     pname=item_text[1]
     pyear=int(item_text[2])
     pvolume=int(item_text[3])
     pissue=int(item_text[4])
     if not entrytextuname.get():
         tk.messagebox.showerror(title='信息', message='借出失败,请输入借出工号名')
         return
     elif not sql.Sqloperation().checkidformat(entrytextuname.get()):
         tk.messagebox.showerror(title='信息', message='工号格式(1字母+8数字)不正确,请重试')
         return
     # if the booking id match
     resultsb = sql.Sqloperation().inquiry_pbinfo(entrytext.get())
     matchedrecord=[None]*10
     for b in range(resultsb.__len__()):
         if pname==resultsb[b][3] and pyear==resultsb[b][4] and pvolume==resultsb[b][5] and pissue==resultsb[b][6]:
             matchedrecord=resultsb[b]
     if matchedrecord[9] and matchedrecord[9]!=entrytextuname.get():
         tk.messagebox.showerror(title='信息', message='借出失败,该期刊已被其他用户预定')
         return
     if sql.Sqloperation().lend(entrytextuname.get(),pname,pyear,pvolume,pissue):
         tk.messagebox.showinfo(title='信息', message='借出成功')
     else:
         tk.messagebox.showerror(title='信息', message='借出失败,请重试')
Exemplo n.º 5
0
            def contentc():
                pname=entrytext1.get()
                pyear=entrytext2.get()
                pvolume=entrytext3.get()
                pissue=entrytext4.get()
                ptitle=entrytext5.get()
                pauther=entrytext6.get()
                ppage=entrytext8.get()
                if pname and pyear and pvolume and pissue and ptitle and pauther and entrytext7.get() and ppage:
                    if sql.Sqloperation().checkinputcontent(pyear,ppage):
                        tk.messagebox.showerror(title='信息', message=sql.Sqloperation().checkinputcontent(pyear,ppage))
                        return
                    if entrytext7.get().count(';')>entrytext7.get().count(';'):
                        opkws=entrytext7.get().split(";")
                    else:
                        opkws=entrytext7.get().split(";")
                    npkws=[None,None,None,None,None]
                    for _ in range(len(opkws)):
                        npkws[_]=opkws[_]
                    try:
                        pyearn=int(pyear)
                    except:
                        tk.messagebox.showerror(title='信息', message='“年”的格式不符合要求')
                        return
                    try:
                        pvolumen=int(pvolume)
                    except:
                        tk.messagebox.showerror(title='信息', message='“卷”的格式不符合要求')
                        return
                    try:
                        pissuen=int(pissue)
                    except:
                        tk.messagebox.showerror(title='信息', message='“期”的格式不符合要求')
                        return
                    comfirmc = tk.messagebox.askyesno('确认',message=r"""期刊名称:{}
年:{}
卷:{}
期:{}
文章标题:{}
作者姓名:{}
所在页码:{}
关键词1:{}
关键词2:{}
关键词3:{}
关键词4:{}
关键词5:{}
信息是否无误?
                        """.format(pname,pyear,pvolume,pissue,ptitle,pauther,ppage,npkws[0],npkws[1],npkws[2],npkws[3],npkws[4]))
                    if comfirmc:
                        if sql.Sqloperation().addcontent(pname,pyear,pvolume,pissue,ptitle,pauther,ppage,npkws[0],npkws[1],npkws[2],npkws[3],npkws[4]):
                            tk.messagebox.showinfo(title='信息', message='期刊内容登记成功')
                        else:
                            tk.messagebox.showerror(title='信息', message='期刊内容登记失败,请重试')
                    else:return
                else:
                    tk.messagebox.showerror(title='信息', message='不允许留空!')
Exemplo n.º 6
0
 def changepass():
     if not sql.Sqloperation().is_pass_match(aname,entrytext1.get()):
         tk.messagebox.showerror('提示信息',message='原密码错误')
         return False
     if entrytext3.get()!=entrytext2.get():
         tk.messagebox.showerror(title='信息', message='新密码两次输入不一致,请重试')
     elif not sql.Sqloperation().checkpassformat(entrytext2.get()):
         tk.messagebox.showerror('提示信息',message='密码格式不正确,不能为空以及包含空格')
         return False
     else:
         if sql.Sqloperation().update_admin_passwd(aname,entrytext2.get()):
             tk.messagebox.showinfo('提示信息',message='修改成功')
         else:
             tk.messagebox.showerror('提示信息',message='修改失败')
Exemplo n.º 7
0
 def getsub():
     results=sql.Sqloperation().inquirysubscription()
     items = tree.get_children()
     for item in items:
         tree.delete(item)
     for _ in range(results.__len__()):
             tree.insert('', 'end', values=results[_])
Exemplo n.º 8
0
 def search_content_byau():
     results = sql.Sqloperation().inquiry_content_by_au(entrytext1.get())
     if not results.__len__():
         tk.messagebox.showerror(title='信息', message='未查找到相关内容')
     else:
         items = tree.get_children()
         for item in items:
             tree.delete(item)
         for _ in range(results.__len__()):
             tree.insert('', 'end', values=results[_])
Exemplo n.º 9
0
 def searchpn():
     results = sql.Sqloperation().inquiry_pbinfo(entrytext.get())
     if not results.__len__():
         tk.messagebox.showerror(title='信息', message='未查找到已被借阅的相关期刊')
     else:
         items = tree.get_children()
         for item in items:
             tree.delete(item)
         for _ in range(results.__len__()):
             tree.insert('', 'end', values=results[_])
Exemplo n.º 10
0
def usr_login():
	# 这两行代码就是获取用户输入的usr_name和usr_pwd
	usr_name = var_usr_name.get()
	usr_pwd = var_usr_pwd.get()
	# 如果用户名和密码与文件中的匹配成功,则会登录成功
	if sql.Sqloperation().is_user_exist(usr_name):
		if sql.Sqloperation().is_pass_match(usr_name,usr_pwd):
			tkinter.messagebox.showinfo(title='登录信息', message='登录成功')
			login_window.destroy()
			if sql.Sqloperation().is_admin(usr_name):goto_adminui(usr_name)
			else: goto_normalui(usr_name)
			# 如果用户名匹配成功,而密码输入错误,则会弹出'Error, your password is wrong, try again.'
			else:
				tkinter.messagebox.showerror(title='登录信息', message='登录失败,请检查用户名或密码')
			# 如果发现用户名不存在
			else:  
				is_sign_up = tkinter.messagebox.askyesno('提示信息',message='    该账号不存在,是否转到注册页面?')
				# 提示需不需要注册新用户
				if is_sign_up:usr_sign_up()
Exemplo n.º 11
0
 def searchun():
     results = sql.Sqloperation().inquiry_ubinfo(username)
     if not results.__len__():
         tk.messagebox.showerror(title='信息', message='您暂未借阅期刊')
     else:
         items = tree.get_children()
         for item in items:
             tree.delete(item)
         for _ in range(results.__len__()):
             tree.insert('', 'end', values=results[_])
Exemplo n.º 12
0
 def cbookp():
     for item in tree.selection():
         item_text = tree.item(item, "values")
     pname = item_text[0]
     pyear = item_text[1]
     pvolume = item_text[2]
     pissue = item_text[3]
     if sql.Sqloperation().bookp(pname, username, pyear, pvolume,
                                 pissue):
         tk.messagebox.showinfo(title='信息', message='预定成功')
     else:
         tk.messagebox.showerror(title='信息', message='预定失败,请联系管理员')
Exemplo n.º 13
0
 def searchrp():
     resultsr = sql.Sqloperation().inquiry_register(entrytext.get())
     resultsb = sql.Sqloperation().inquiry_pbinfo(entrytext.get())
     discardrecord=[]
     if not resultsr.__len__():
         tk.messagebox.showerror(title='信息', message='未查找到相关期刊')
         return
     if resultsb.__len__():
         "there is record in borrow table"
         for r in range(resultsr.__len__()):
             for b in range(resultsb.__len__()):
                 if resultsr[r][1]==resultsb[b][3] and resultsr[r][2]==resultsb[b][4] and resultsr[r][3]==resultsb[b][5] and resultsr[r][4]==resultsb[b][6] and not resultsb[b][8]:
                     discardrecord.append(r)
                 """ if not resultsb[b][8]:
                     "not returned"
                     discardrecord.append(r) """
     items = tree.get_children()
     for item in items:
         tree.delete(item)
     for _ in range(resultsr.__len__()):
         if not discardrecord.count(_):
             tree.insert('', 'end', values=resultsr[_])
Exemplo n.º 14
0
 def searchun():
     if not entrytextuname.get():
         tk.messagebox.showerror(title='信息', message='工号不能为空!')
         return
     results = sql.Sqloperation().inquiry_ubinfo(entrytextuname.get())
     if not results.__len__():
         tk.messagebox.showerror(title='信息', message='该用户暂未借阅期刊')
     else:
         items = tree.get_children()
         for item in items:
             tree.delete(item)
         for _ in range(results.__len__()):
             tree.insert('', 'end', values=results[_])
Exemplo n.º 15
0
            def cregister():
                pname=entrytext1.get()
                pyear=entrytext2.get()
                pvolume=entrytext3.get()
                pissue=entrytext4.get()
                if sql.Sqloperation().checkinputregister(pyear):
                    tk.messagebox.showerror(title='信息', message=sql.Sqloperation().checkinputregister(pyear))
                    return
                if pname and pyear and pvolume and pissue:
                    try:
                        pyearn=int(pyear)
                    except:
                        tk.messagebox.showerror(title='信息', message='“年”的格式不符合要求')
                        return
                    try:
                        pvolumen=int(pvolume)
                    except:
                        tk.messagebox.showerror(title='信息', message='“卷”的格式不符合要求')
                        return
                    try:
                        pissuen=int(pissue)
                    except:
                        tk.messagebox.showerror(title='信息', message='“期”的格式不符合要求')
                        return
                    comfirmc = tk.messagebox.askyesno('确认',message=r"""期刊名称:{}
年:{}
卷:{}
期:{}
信息是否无误?
                    """.format(pname,pyear,pvolume,pissue))
                    if comfirmc:
                        if sql.Sqloperation().register(pname,pyear,pvolume,pissue):
                            tk.messagebox.showinfo(title='信息', message='期刊注册成功')
                        else:
                            tk.messagebox.showerror(title='信息', message='期刊注册失败,请重试')
                    else:return
                else:
                    tk.messagebox.showerror(title='信息', message='不允许留空!')
Exemplo n.º 16
0
 def returnbp():
     itemexist=False
     for item in tree.selection():
         itemexist=True
         item_text = tree.item(item,"values")
     if not itemexist:
         tk.messagebox.showerror(title='信息', message='归还失败,请先用鼠标选中一条记录')
         return
     pname=item_text[3]
     pyear=item_text[4]
     pvolume=item_text[5]
     pissue=item_text[6]
     if sql.Sqloperation().returnp(pname,pyear,pvolume,pissue):
         tk.messagebox.showinfo(title='信息', message='归还成功')
     else:
         tk.messagebox.showerror(title='信息', message='归还失败,请重试')
Exemplo n.º 17
0
 def delsubc():
     itemexist=False
     for item in tree.selection():
         itemexist=True
         item_text = tree.item(item,"values")
     if not itemexist:
         tk.messagebox.showerror(title='信息', message='删除失败,请先用鼠标选中一条内容')
         return
     pname=item_text[0]
     pmail=item_text[1]
     syear=item_text[2]
     if not tk.messagebox.askyesno('删除确认',message='确定删除选定的内容?'):return
     if sql.Sqloperation().delsub(pname,pmail,syear):
         tk.messagebox.showinfo(title='信息', message='删除成功')
     else:
         tk.messagebox.showerror(title='信息', message='删除失败')
Exemplo n.º 18
0
 def delcontentc():
     itemexist=False
     for item in tree.selection():
         itemexist=True
         item_text = tree.item(item,"values")
     if not itemexist:
         tk.messagebox.showerror(title='信息', message='删除失败,请先用鼠标选中一条内容')
         return
     pname=item_text[1]
     pyear=item_text[2]
     pvolume=item_text[3]
     pissue=item_text[4]
     title=item_text[5]
     author=item_text[6]
     page=item_text[7]
     if not tk.messagebox.askyesno('删除确认',message='确定删除选定的内容?'):return
     if sql.Sqloperation().delcontent(pname,pyear,pvolume,pissue,title,author,page):
         tk.messagebox.showinfo(title='信息', message='删除成功')
     else:
         tk.messagebox.showerror(title='信息', message='删除失败')
Exemplo n.º 19
0
 def searchpb():
     results = sql.Sqloperation().inquiry_pbinfo(entrytext.get())
     if not results.__len__():
         tk.messagebox.showerror(title='信息',
                                 message='未查找到已被借阅的相关期刊')
     else:
         items = tree.get_children()
         for item in items:
             tree.delete(item)
         for _ in range(results.__len__()):
             # discard returned and booked items
             if not results[_][9] and not results[_][8]:
                 if results[_][1] != username:
                     tree.insert('',
                                 'end',
                                 values=[
                                     results[_][3], results[_][4],
                                     results[_][5], results[_][6],
                                     results[_][7]
                                 ])