def change_password(response): auth.require_user(response) user = auth.get_user(response) if user == None: return old_password = response.get_field("old_password") new_password1 = response.get_field("new_password1") new_password2 = response.get_field("new_password2") output = "" context = { "title": "Change Your Password", "css": "password", "user": user } if old_password: if user.password_correct(old_password): if new_password1 == new_password2: user.set_password(new_password1) response.redirect("/profile/") else: context = {"title": "Change Your Password", "css": "password"} output = "Your password's did not match" else: output = "Incorrect password entered" context = { "title": "Change Your Password", "css": "password", "output": output, "user": user } template.render_template("templates/change_password.html", context, response)
def file_search(response): auth.require_user(response) user = auth.get_user(response) if user == None: return else: username = user.get_username()
def listsubjectfiles(response): auth.require_user(response) user = auth.get_user(response) if user == None: return else: username = user.get_username()
def file_upload(response): auth.require_user(response) user = auth.get_user(response) if user == None: return else: username = user.get_username() ul_error_msg = "" filename, content_type, data = response.get_file('to_upload') if response.get_field("ul_flag") == "True": # we did submit a form print"#####", response.get_field("subject") if data == None or response.get_field("subject") == None or response.get_field("category") == None or response.get_field("description") == None: ul_error_msg = "Make sure you have all fields filled in and have selected a file. If you have joined any subject(s), you cannot upload files." else: #A form was submitted with content. Proceed with upload print "a form was submitted" _do_upload(response) return # we did not submit a form or it's wrong print "loading page first time" listofsubjects = [] for item in user.get_subjects(): listofsubjects.append([item, database_subject.get_subject(item).get_name().replace("_", " ")]) print "item", item context = {"css": "fileupload", "title": "File Uploader", "ul_err_msg": ul_error_msg, "ulsubjects": listofsubjects, "ulcategories": ["Notes", "Exam Paper","Exercises", "Solution"], "user": user} template.render_template("templates/fileupload.html", context, response)
def profile(response, username): auth.require_user(response) user = auth.get_user(response) if user == None: return if not username: username = user else: username = User.get(username) if user is not None: firstname = username.get_first_name() lastname = username.get_last_name() email = username.get_email() school = username.get_school() interests = {"activities":None, "tv":None} about = {"birthday":None, "age":None, "website":None} education = {"school":None,"subjects":None,"state":None,"grade":None} picture = username.get_profile_pic_path() if not picture: picture = "/static/images/default_avatar.jpeg" print "PICTURE IS: " + picture fullname = firstname + " " + lastname context = {"title":fullname, 'wallorfeed':'wallupdate', "username":username.get_username(),'current_Wall':username.get_username(), "profile_pic_location":picture, "email":email, "school":school, "css": "profile", "friends":friends.get_friends(username.get_username()), "user": user, "interests": interests, "about": about, "education":education,"user":user,'can_use_wall':can_use_wall(user,username.get_username())} template.render_template("templates/profile.html", context, response)
def viewsubject(response, subjectid, resourcetype, page): auth.require_user(response) if not resourcetype: resourcetype = 'All' if not page: page = 1 user = auth.get_user(response) info = database_subject.get_subject(int(subjectid)) lower = (int(page) - 1 )*10 upper = int(page)*10 - 1 top_resources = dbfiles.getFilesSubject(int(subjectid)) sorted(top_resources, key=attrgetter('rank'), reverse=True) #eliminate those without the correct type new_top = [] if len(top_resources): for s in top_resources: if s.category == resourcetype or resourcetype == 'All': new_top.append(s) top_resources = new_top[lower:upper] all_resources = dbfiles.getFilesSubject(int(subjectid)) sorted(all_resources, key=attrgetter('ori_filename')) if len(all_resources): new_all = [] for s in all_resources: if s.category == resourcetype or resourcetype == 'All': new_all.append(s) all_resources = new_all[lower:upper] template.render_template("templates/subject_view_template.html",{"user":user, "css":"subject","subject":info,"top_resources":top_resources,"all_resources":all_resources,'current_Wall':subjectid,'wallorfeed':'wallupdate','can_use_wall':True},response)
def my_friends(response): auth.require_user(response) user = auth.get_user(response) if user == None: return friends = get_friends(user.get_username()) context = {'user':user, 'friends':friends} template.render_template('templates/friend_list_template.html', context, response)
def remove_friend_handler(response, friend_username): auth.require_user(response) user = auth.get_user(response) if user == None: return username = user.get_username() print '\n\n',username, friend_username, '\n\n' friend = User.get(friend_username) remove_friend(username, friend_username) context = {'user':user, 'friend':friend} template.render_template('templates/confirmation.html', context, response)
def listmyfiles(response): auth.require_user(response) user = auth.get_user(response) if user == None: return else: username = user.get_username() print username context = {"allfiles": dbfiles.getFilesUser(username), 'user':user, "css": "fileupload"} print context template.render_template("templates/listallfiles.html", context, response)
def add_friend_email(response): auth.require_user(response) user = auth.get_user(response) if user == None: return friend = User.get_from_email(response.get_field("email")) if friend == None: pass else: add_friend(user.get_username(), friend.get_username()) context = {'user':user, 'friend':friend} template.render_template('templates/addconfirmation.html', context, response)
def file_edit(response, fileid): auth.require_user(response) user = auth.get_user(response) if user == None: return else: username = user.get_username() context = {"css": "fileupload", "title": "Edit File Info", "thefileid": fileid, "thefilename": all_files[fileid][0], "thefilesbjct": all_files[fileid][2], "thefiledescr": all_files[fileid][3]} template.render_template("templates/editfileinfo.html", context, response)
def profile(response, username): auth.require_user(response) user = auth.get_user(response) if user == None: return if not username: username = user else: username = User.get(username) if user is not None: firstname = username.get_first_name() lastname = username.get_last_name() email = username.get_email() school = username.get_school() interests = {"activities": None, "tv": None} about = {"birthday": None, "age": None, "website": None} education = { "school": None, "subjects": None, "state": None, "grade": None } picture = username.get_profile_pic_path() if not picture: picture = "/static/images/default_avatar.jpeg" print "PICTURE IS: " + picture fullname = firstname + " " + lastname context = { "title": fullname, 'wallorfeed': 'wallupdate', "username": username.get_username(), 'current_Wall': username.get_username(), "profile_pic_location": picture, "email": email, "school": school, "css": "profile", "friends": friends.get_friends(username.get_username()), "user": user, "interests": interests, "about": about, "education": education, "user": user, 'can_use_wall': can_use_wall(user, username.get_username()) } template.render_template("templates/profile.html", context, response)
def change_password(response): auth.require_user(response) user = auth.get_user(response) if user == None: return old_password = response.get_field("old_password") new_password1 = response.get_field("new_password1") new_password2 = response.get_field("new_password2") output = "" context = {"title":"Change Your Password", "css":"password", "user":user} if old_password: if user.password_correct(old_password): if new_password1 == new_password2: user.set_password(new_password1) response.redirect("/profile/") else: context = {"title":"Change Your Password", "css":"password"} output = "Your password's did not match" else: output = "Incorrect password entered" context = {"title":"Change Your Password", "css":"password","output":output, "user":user} template.render_template("templates/change_password.html", context, response)
def update(response): auth.require_user(response) user = auth.get_user(response) if not user: return global photo, content_type username = user.get_username() firstname = response.get_field("firstname") lastname = response.get_field("lastname") email = response.get_field("email") school = response.get_field("school") filename, content_type, data = response.get_file('photo') print "content_type: " + str(content_type) if content_type == None: photo_url = user.get_profile_pic_path() else: extension = mimetypes.guess_extension(content_type) photo_path = os.path.join('static', 'photos', username + extension) print "updating.." open(photo_path, 'wb').write(data) photo_url = '/' + photo_path.replace("\\","/") print photo_url if username and firstname and lastname: fullname = '%s %s' % (firstname, lastname) newUser = {"username": username, "firstname":firstname,"lastname":lastname, "email":email,"school":school, "profilepath":photo_url} print "NEW USER: "******"/profile/") else: firstname = user.get_first_name() lastname = user.get_last_name() email = user.get_email() school = user.get_school() title = "Updating " + firstname + " " + lastname context = {"title":title, "user":user, "username":username, "firstname":firstname, "lastname":lastname, "email":email, "school":school,"css":"update"} template.render_template("templates/update.html", context, response)
def page(response): #user = User.get(username) auth.require_user(response) user = auth.get_user(response) print "name: " + str(user) if user == None: return else: context = {'title': 'Home Page', 'firstname': user.get_first_name(), 'lastname' : user.get_last_name(), 'subjects' : ['maths', 'english', 'physics', 'chemistry'], 'wallorfeed':'feedupdate', 'user':user, 'current_Wall':user.get_username(), 'can_use_wall':'True' } template.render_template("templates/home.html", context, response)