3131@app .route ('/page' )
3232def index (db ):
3333 userinfo = is_logged_in (db )
34- return template ('index' , userinfo = userinfo )
34+ return page_view (db ,"index" )
35+ #return template('index', userinfo=userinfo)
3536
3637
3738###################
@@ -603,7 +604,6 @@ def is_admin(userinfo):
603604@app .route ('/login' )
604605def login (db ):
605606 userinfo = is_logged_in (db )
606- print userinfo
607607 if userinfo :
608608 redirect ("/gallery" )
609609 else :
@@ -616,6 +616,9 @@ def do_login(db):
616616
617617 c = db .execute ('select id, password from users where username = ?' , (submitted_username ,))
618618 row = c .fetchone ()
619+ if not row :
620+ return template ('user/login' , userinfo = False , message = "username or password do not match" )
621+
619622 cryptedpassword = row [1 ]
620623 if not crypt .crypt (submitted_password ,cryptedpassword ) == cryptedpassword or not row :
621624 return template ('user/login' , userinfo = False , message = "username or password do not match" )
@@ -657,7 +660,7 @@ def page_new(db):
657660
658661@app .route ('/page/create' ,method = "POST" )
659662def page_create (db ):
660- return page_update (db ,True )
663+ return page_update (db ,"" , True )
661664
662665@app .route ('/page/edit/<slug>' )
663666def page_edit (db ,slug = "" ):
@@ -677,18 +680,19 @@ def page_edit(db,slug=""):
677680 new_page = False ,
678681 message = "" )
679682 else :
680- return render_error ("Page not found" )
683+ return render_error (db , "Page not found" )
681684
682- @app .route ('/page/update' ,method = "POST" )
683- def page_update (db ,new_page = False ):
685+ @app .route ('/page/update/<old_slug> ' ,method = "POST" )
686+ def page_update (db ,old_slug , new_page = False , ):
684687 userinfo = is_logged_in (db )
685688 if not is_admin (userinfo ):
686689 return render_error (db ,"NOT ALLOWED" )
687690 else :
691+
688692 import re
689693 submitted_title = request .forms .get ('title' ).decode ("utf-8" )
690694 submitted_content = request .forms .get ('content' ).decode ("utf-8" )
691- submitted_slug = request .forms .get ('slug' )
695+ submitted_slug = request .forms .get ('slug' ). decode ( "utf-8" )
692696
693697 message = []
694698 error = False
@@ -698,25 +702,26 @@ def page_update(db,new_page=False):
698702 error = True
699703 message .append ("Title is required" )
700704
701- print submitted_title ;
702705 if not error :
703706 if submitted_slug == "" or submitted_slug == None :
704707 slug = re .sub (r"[^a-zA-Z0-9\n\.]" , "_" , submitted_title )
705708 else :
706709 slug = re .sub (r"[^a-zA-Z0-9\n\.]" , "_" , submitted_slug )
707-
710+
708711 if not new_page :
709712 c = db .execute ('update pages set title=?, slug=?, content=? where slug=?' ,
710- (submitted_title , slug , submitted_content . decode ( "utf-8" ), slug ))
713+ (submitted_title , slug , submitted_content , old_slug ))
711714 else :
712715 c = db .execute ('insert into pages (title,slug, content) values (?, ?, ?)' ,
713- (submitted_title , slug , submitted_content . decode ( "utf-8" )))
716+ (submitted_title , slug , submitted_content ))
714717
715718 return template ('page/view' ,
716719 userinfo = userinfo ,
717720 new_page = new_page ,
718721 pagetitle = submitted_title ,
719722 content = submitted_content ,
723+ is_admin = True ,
724+ slug = slug ,
720725 message = "page updated." ,
721726 message_header = "Success" )
722727 else :
@@ -740,6 +745,8 @@ def page_view(db,slug=""):
740745 userinfo = userinfo ,
741746 pagetitle = row [0 ],
742747 content = row [1 ],
748+ is_admin = is_admin (userinfo ),
749+ slug = slug ,
743750 message = "" )
744751 else :
745752 return render_error (db ,"Page not found" )
@@ -858,7 +865,7 @@ def profile_show(db,username=""):
858865 order by designs.timestamp desc
859866 ''' ,(username ,))
860867 rows = c .fetchall ()
861- print rows
868+
862869 items = []
863870 for row in rows :
864871 item = {}
@@ -874,8 +881,7 @@ def profile_show(db,username=""):
874881 item ["exp_file" ] = "%s.exp" % (row [0 ])
875882 item ["media_path" ] = upload_www_path
876883 items .append (item )
877-
878- print items
884+
879885 return template ('user/profile' ,
880886 items = items ,
881887 userinfo = userinfo ,
0 commit comments