Example #1
0
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)
Example #2
0
def file_search(response):
    auth.require_user(response)
    user = auth.get_user(response)
    if user == None:
        return
    else:
        username = user.get_username()
Example #3
0
def listsubjectfiles(response):
    auth.require_user(response)
    user = auth.get_user(response)
    if user == None:
        return
    else:
        username = user.get_username()
Example #4
0
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)
Example #5
0
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)
Example #6
0
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)
Example #7
0
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)
Example #8
0
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)
Example #9
0
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)
Example #10
0
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)
Example #11
0
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)
Example #12
0
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)
Example #13
0
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)
Example #14
0
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)
Example #15
0
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)