Esempio n. 1
0
def signup(response):
    username = response.get_field("username")
    firstname = response.get_field("firstname")
    lastname = response.get_field("lastname")
    email = response.get_field("email")
    password = response.get_field("password")
    school = response.get_field("school")
    print username
    if username and email and firstname and lastname and password and not User.exists(
            username):
        newUser = {
            "username": username,
            "firstname": firstname,
            "lastname": lastname,
            "email": email,
            "password": password,
            "school": school
        }
        User.add(newUser)
        print " I am here"
        x = User.get(username)
        print x
        # we're going to be hacky, and manually set a cookie, which shouldn't happen -
        # but we want to prevent the user from being redirected to the login page, straight
        # after signing up.
        response.set_cookie("User", username)
        response.redirect("/profile/" + username)
    else:
        #response.write(SIGNUP)
        title = "Sign Up"
        context = {"title": title, "css": "signup", "user": None}
        template.render_template("templates/signup.html", context, response)
Esempio n. 2
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)
Esempio n. 3
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)
Esempio n. 4
0
def _do_upload(response):
    global ul_file, content_type
    sbjct = response.get_field('subject')
    categor = response.get_field('category')
    descr = response.get_field('description')
    filename, content_type, data = response.get_file('to_upload')
    currenttime = str(int(time()))
    while os.path.exists("static\\files\\" + currenttime):
        print "OS Path Exists"
        currenttime = str(int(time()))
    extension = "." + filename.split(".")[-1]
    serverfilename = currenttime + extension
    ul_file = os.path.join('static', 'files', serverfilename)
    #adding to list of all files
    user = auth.get_user(response)
    if user == None:
        return
    else:
        username = user.get_username()
    dbfiles.addFile(serverfilename, username, filename, sbjct, descr, categor)
    open(ul_file, 'wb').write(data)
    #Response after file upload success
    user = auth.get_user(response)
    context = {"css": "fileupload", "title": "File Uploader", "ori_file_name": filename, "server_file_location": currenttime+extension, "user": user}
    template.render_template("templates/uploadconfirmed.html", context, response)
Esempio n. 5
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)
Esempio n. 6
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)
Esempio n. 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)
Esempio n. 8
0
def index(response):
    user = User("James", 11, [
        User('Gustav', 400, []),
        User('Svetlana', 21, []),
        User('Johan', 37, [])
    ])
    context = {'user': user}
    template.render_template('templates/test_template_engine.html', context,
                             response)
Esempio n. 9
0
def _getWallData(response):

	current_Wall = response.get_field('current_Wall')

	w = WallConnection(current_Wall)

	context = {"posts":w.get_wall()}

	template.render_template('templates/wallcontent.html', context, response)
Esempio n. 10
0
def _getWallData(response):

    current_Wall = response.get_field('current_Wall')

    w = WallConnection(current_Wall)

    context = {"posts": w.get_wall()}

    template.render_template('templates/wallcontent.html', context, response)
Esempio n. 11
0
def mysubjects(response):
    user = auth.get_user(response)
    subjectlist = user.get_subjects()
    tmp_list = []
    for sub in subjectlist:
        sub = database_subject.get_subject(sub)
        tmp_list.append(sub)
    subjectlist = tmp_list
    template.render_template("templates/subject_list_template.html",{"user":user, "css":"subject","subjectlist":subjectlist},response)
    targetsubject=response.get_field("subjectselected")
Esempio n. 12
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)
Esempio n. 13
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)
Esempio n. 14
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)
Esempio n. 15
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)
Esempio n. 16
0
def createsubject(response):
    if (not response.get_field("subjectname") or
        not response.get_field("subject") or 
        not response.get_field("unit") or 
        not response.get_field("description")):
        template.render_template("templates/subject_create_template.html",
                                {"notification":"One or more of the fields are missing!","user":'',"enablebutton":True},
                                response)
    else:
        subjectname = response.get_field("subjectname")
        subjectunits = response.get_field("unit")
        subjectdescription = response.get_field("description")
        subjectcategory = response.get_field("subject")
        database_subject.create_subject(subjectname,subjectcategory,subjectunits,subjectdescription)
        response.write("Saved")
Esempio n. 17
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)
Esempio n. 18
0
def loginpage(response):
    username = response.get_cookie("User")
    page = response.get_field("page")
    if not page:
        page = "/"
    context = {"title":"Login", "output":"", "user":"", "username":"","page":page, "css":"login"}    
    if username and User.get(username):
        user = User.get(username)
        context["output"] = "Hello " + user.get_first_name()
        context["user"] = username
        context["username"] = username
        context["firstname"] = user.get_first_name()
        response.redirect("/")
    else:
        username = response.get_field("username")
        if username:
            login(response, context)
    template.render_template("templates/login.html", context, response)
Esempio n. 19
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)
Esempio n. 20
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)
Esempio n. 21
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)
Esempio n. 22
0
def createpage(response):
	
	if auth.get_user(response):
		
		if (not response.get_field("name") or
			not response.get_field("KLA") or 
			not response.get_field("grade") or 
			not response.get_field("jurisdiction") or 
			not response.get_field("description")):
			template.render_template("templates/subject_create_template.html",
									 {"notification":
										  "One or more of the fields are missing! ","enablebutton":True},
									 response)
		else:
			name = response.get_field("name")       
			KLA = response.get_field("KLA")
			grade = response.get_field("grade")
			jurisdiction = response.get_field("jurisdiction")
			description = response.get_field("description")
			database_subject.create_subject(name,KLA,grade,jurisdiction,description)
			response.write("Saved")
	else:
		response.redirect("/")
Esempio n. 23
0
def signup(response):
    username = response.get_field("username")
    firstname = response.get_field("firstname")
    lastname = response.get_field("lastname")
    email = response.get_field("email")
    password = response.get_field("password")
    school = response.get_field("school")
    print username
    if username and email and firstname and lastname and password and not User.exists(username):
        newUser = {"username": username, "firstname":firstname,"lastname":lastname,"email":email,"password":password,"school":school}
        User.add(newUser)
        print " I am here"
        x = User.get(username)
        print x
        # we're going to be hacky, and manually set a cookie, which shouldn't happen -
        # but we want to prevent the user from being redirected to the login page, straight
        # after signing up.
        response.set_cookie("User", username)
        response.redirect("/profile/" + username)
    else:
        #response.write(SIGNUP)
        title = "Sign Up"
        context = {"title":title, "css":"signup", "user":None}
        template.render_template("templates/signup.html", context, response)
Esempio n. 24
0
def listsubject(response):
    user = auth.get_user(response)
    template.render_template("templates/subject_list_template.html",{"user":user, "css":"subject","subjectlist":database_subject.list_of_subjects()},response)
    targetsubject=response.get_field("subjectselected")
Esempio n. 25
0
def index(response):
   user = User("James", 11, [User('Gustav', 400, []), User('Svetlana', 21, []), User('Johan', 37, [])])
   context = {'user':user}
   template.render_template('templates/test_template_engine.html', context, response)
Esempio n. 26
0
def _getFeedData(response):

    f = FeedConnection(response)
    context = {"posts": f.get_feed()}
    template.render_template('templates/wallcontent.html', context, response)
Esempio n. 27
0
def _getFeedData(response):
	
	f = FeedConnection(response)
	context = {"posts":f.get_feed()}
	template.render_template('templates/wallcontent.html', context, response)