Exemple #1
0
    def get(self):
        print("get Method")
        email = get_user_email()
        if not email:
            self.redirect('/')
        else:
            error_text = ''
            title = self.request.get('title')
            url = self.request.get('videourl')
            url = url.replace("watch?v=", "embed/")
            description = self.request.get('vdescription')
            language = self.request.get('language')

            if len(title) < 2:
                error_text += 'name should be at least two characters. \n'
            if len(title) > 20:
                error_text += 'name should be no more than 20 characters. \n'
            if len(description) > 4000:
                error_text += 'Description should be less than 4000 characters. \n'

            for word in description.split():
                if len(word) > 50:
                    error_text += 'Description contains words that are too long.\n'
                    break
            values = get_template_parameters()
            values['title'] = title
            values['url'] = url
            values['description'] = description
            values['language'] = language
            values['nickname'] = socialdata.get_user_profile(get_user_email()).nickname
            profile = socialdata.get_user_profile(get_user_email())
            values['userid'] = profile.key.urlsafe()
            render_template(self, 'upload.html', values)
Exemple #2
0
    def get(self):

        videos = socialdata.get_videos(20)
        for video in videos:
            first_name = socialdata.get_user_profile(video.email).firstname
            last_name = socialdata.get_user_profile(video.email).lastname
            video.firstname = first_name
            video.lastname = last_name
        values = get_template_parameters()
        values['videos'] = videos

        render_template(self, 'feed.html', values)
Exemple #3
0
 def get(self, groupname):
     profile = socialdata.get_user_profile(helpers.get_user_email())
     if not profile:  #if the user does not have a profile, go to home
         self.redirect('/')
     else:  #otherwise, allow them to create group
         errorText = ""
         values = helpers.get_template_parameters()
         groups = group_data.get_groups_by_courses(profile.courses)
         listOfGroupNames = []
         membersList = membership_data.get_members_from_group(groupname)
         for group in groups:
             if ((group.member_limit) - len(membersList) + 1) < 1:
                 errorText += "The member limit has been reached."
             elif profile.email in membersList:
                 errorText += "You are already in this group."
             else:
                 listOfGroupNames.append(group.name)
         values['name'] = profile.name
         values['groups'] = listOfGroupNames
         if errorText:
             values['errormsg'] = errorText
         else:
             membership_data.save_membership(helpers.get_user_email(),
                                             groupname)
             self.redirect("/group-list")
             values['successmsg'] = "Everything worked out fine."
         helpers.render_template(self, 'group-list.html',
                                 values)  #show group creation page
Exemple #4
0
 def get(self):
     profile = socialdata.get_user_profile(helpers.get_user_email())
     if not profile:  #if the user does not have a profile, go to home
         self.redirect('/')
     else:  #otherwise, allow them to create group
         errorText = ''
         values = helpers.get_template_parameters()
         groups = group_data.get_groups_by_courses(profile.courses)
         listOfGroupNames = []
         for group in groups:
             membersList = membership_data.get_members_from_group(
                 group.name)
             if ((group.member_limit) - len(membersList) + 1) < 1:
                 errorText += "The member limit has been reached."
             elif profile.email in membersList:
                 errorText += "You are already in this group."
             else:
                 listOfGroupNames.append(group.name)
         listOfInGroups = membership_data.get_groups_from_member(
             profile.email)
         listOfInGroupsNoAdmin = []
         if len(listOfInGroups) > 0:
             for group in listOfInGroups:
                 if group_data.get_group_by_name(
                         group).group_admin != profile.email:
                     listOfInGroupsNoAdmin.append(group)
         values['name'] = profile.name
         listOfNames = []
         for group in group_data.get_admin_groups(profile.email):
             listOfNames.append(group.name)
         values["admin_groups"] = listOfNames
         values['groups'] = listOfGroupNames
         values["ingroups"] = listOfInGroupsNoAdmin
         helpers.render_template(self, 'group-list.html',
                                 values)  #show group creation page
Exemple #5
0
 def get(self):
     values = helpers.get_template_parameters()
     if helpers.get_user_email():  #checks to see if signed in
         profile = socialdata.get_user_profile(helpers.get_user_email())
         if profile:  #if the profile exists, we can click on profile-view
             values['name'] = profile.name
     helpers.render_template(self, 'mainpage.html', values)  # shows page
Exemple #6
0
 def get(self, groupname):
     profile = socialdata.get_user_profile(helpers.get_user_email())
     if not profile:  #if the user does not have a profile, go to home
         self.redirect('/')
     else:
         membership_data.delete_membership(profile.email, groupname)
         self.redirect('/group-list')
Exemple #7
0
 def get(self):
     id = self.request.get('experienceid')
     action = self.request.get('action')
     useremail = self.request.get('useremail')
     profile = socialdata.get_user_profile(get_user_email())
     experience = socialdata.retrieve_experience(id)
     print('hello')
     if action == 'accept':
         socialdata.request_experience(id, useremail)
         print('it gets here')
         self.redirect('/searchexperience')
         from_address = "*****@*****.**"
         name = profile.firstname
         experiencename = experience.experiencename
         localemail = experience.email
         email = get_user_email()
         subject = "Request update!"
         body = "congratulations!" + name + " has accepted your request to join " + experiencename + ". Contact your local host at " + localemail + " to ask questions and arrange the frist experience."
         mail.send_mail(from_address, email, subject, body)
         self.redirect('/searchexperience')
     else:
         from_address = "*****@*****.**"
         name = profile.firstname
         experiencename = experience.experiencename
         email = get_user_email()
         subject = "Request update!"
         body = "Sorry. Unfortunately, " + name + " has rejected your request to join " + experiencename
         mail.send_mail(from_address, email, subject, body)
         self.redirect('/searchexperience')
Exemple #8
0
 def get(self):
     values = get_template_parameters()
     if get_user_email():
         profile = socialdata.get_user_profile(get_user_email())
         if profile:
             values['firstname'] = profile.firstname
     render_template(self, 'homepage.html', values)    #calling render_template function
Exemple #9
0
 def get(self):
     values = get_template_parameters()
     if get_user_email():
         profile = socialdata.get_user_profile(get_user_email())
         if profile:
             values['name'] = profile.name
     render_template(self, 'welcome.html', values)
Exemple #10
0
    def post(self):
        email = get_user_email()
        if not email:
            self.redirect('/')
        else:
            error_text = ''
            firstname = self.request.get('firstname')
            lastname = self.request.get('lastname')
            age = self.request.get('age')
            description = self.request.get('description')
            nationality = self.request.get('nationality')
            location = self.request.get('location')
            nickname = self.request.get('nickname')
            language = self.request.get('language')

            upload_files = self.get_uploads()
            blob_info = upload_files[0]
            content_type = blob_info.content_type
            profilepic = blob_info.key()
            print "Got a blob key. "
            print profilepic

            # if content_type not in ['image/jpeg', 'image/png', 'image/gif', 'image/webp']:
            #     error_text += 'Type should be image.\n'
            # if len(firstname) < 2:
            #     error_text += 'first name should be at least two characters. \n'
            # if len(lastname) < 2:
            #     error_text += 'last name should be at least two characters. \n'
            # if len(age) < 2:
            #     error_text += 'age should be at least two characters. \n'
            # if len(description) < 2:
            #     error_text += 'description should be at least two characters. \n'
            # if len(nationality) < 2:
            #     error_text += 'nationality should be at least two characters. \n'
            # if len(location) < 2:
            #     error_text += 'location should be at least two characters. \n'
            # if len(language) < 2:
            #     error_text += 'language should be at least two characters. \n'
            
            values = get_template_parameters()
            values['firstname'] = firstname
            values['lastname'] = lastname
            values['age'] = age
            values['description'] = description
            values['nationality'] = nationality
            values['location'] = location
            values['language'] = language
            varname = firstname[:9]
            values['nickname'] = varname

            if error_text:
                values['errormsg'] = error_text
            else:
                socialdata.save_profile(email, firstname, lastname, age, description, nationality, location, language, varname, profilepic) 
                values['successmsg'] = 'Everything worked out fine'
                profile = socialdata.get_user_profile(get_user_email())
                values['userid'] = profile.key.urlsafe()
            render_template(self, 'profileedit.html', values)
            self.redirect('/home')
Exemple #11
0
 def get(self):
     values = get_template_parameters()
     profile = socialdata.get_user_profile(get_user_email())
     if profile:
         values['firstname'] = profile.firstname
         values['nickname'] = profile.nickname
         values['userid'] = profile.key.urlsafe()
     render_template(self, 'index.html', values)
Exemple #12
0
 def get(self):
     profiles = socialdata.get_user_compatibilities(get_user_email())
     values = get_template_parameters()
     user = users.get_current_user()
     current_user = socialdata.get_user_profile(user.email())
     values['profiles'] = profiles
     values['neighborhood'] = profiles[0].neighborhood
     render_template(self, 'chatties_list.html', values)
Exemple #13
0
    def post(self):
        profile = socialdata.get_user_profile(
            helpers.get_user_email())  #we get a profile
        if not profile:  #if the profile doesn't exist, we kick them out
            self.redirect('/')
        else:
            error_text = ''  #initializes an empty error
            group_name = self.request.get("group_name")
            course = self.request.get("course")
            description = self.request.get("description")
            member_limit = self.request.get(
                "quantity")  #lines 35 - 42 set default values in group
            group_admin = helpers.get_user_email()

            meet = self.request.get("meet")
            time = self.request.get("time")

            school = profile.school
            values = helpers.get_template_parameters()
            group_name.strip()  #lines 49- 57 are name nonos
            group_name.replace(" ", "&")
            if (len(group_name) < 1) or (len(course) < 1) or (
                    len(description) < 1) or (len(member_limit) < 1):
                error_text += "Make sure all fields are filled"
            for i in group_name:
                if i == '?':
                    error_text += "Your name can't have ' ? '\n"
                elif i == '\\':
                    error_text += "Your name can't have ' \\ '\n"
                elif i == '/':
                    error_text += "Your name can't have ' / '\n"
                elif i == '.':
                    error_text += "Your name can't have ' . '\n"
                elif i == '#':
                    error_text += "Your name can't have ' # '\n"
            values['group_name'] = group_name  #set template values
            values['courses'] = profile.courses
            values['description'] = description
            values['member_limit'] = member_limit
            values['name'] = profile.name

            values['meeting_date'] = meet
            values['meeting_time'] = time

            if group_data.get_group_by_name(group_name):
                error_text += "This group name is already taken"
            if error_text:  #print error text if there's a problem
                values['errormsg'] = error_text
            else:
                membership_data.save_membership(helpers.get_user_email(),
                                                group_name)
                group_data.save_group(
                    group_name, description, course, int(member_limit),
                    group_admin, school, meet,
                    time)  #print success message if no problem saving
                values['successmsg'] = "Success!"
            helpers.render_template(self, 'group-edit.html',
                                    values)  #go back to edit render
Exemple #14
0
 def get(self):
     profile = socialdata.get_user_profile(helpers.get_user_email())
     if not profile:  #at this point, they should have a profile. If they don't, kick 'em
         self.redirect('/')
     else:
         values = helpers.get_template_parameters()
         values['courses'] = profile.courses
         helpers.render_template(self, 'group-edit.html',
                                 values)  #the page is rendered
Exemple #15
0
 def get(self):
     values = get_template_parameters()
     email = get_user_email()
     if email:
         # Somebody is logged in; we should show them their profile link.
         profile = socialdata.get_user_profile(email)
         if profile:
             values['name'] = profile.name
     render_template(self, 'mainpage.html', values)
Exemple #16
0
 def get(self):
     if not get_user_email():
         self.redirect('/')
     else:
         values = get_template_parameters()
         profile = socialdata.get_user_profile(get_user_email())
         if profile:
             values['firstname'] = profile.firstname
             values['lastname'] = profile.lastname
             values['nickname'] = profile.nickname
             values['age'] = profile.age
             values['description'] = profile.description
             values['nationality'] = profile.nationality
             values['location'] = profile.location
             values['language'] = profile.language
             #values['profilepic'] = profile.profilepic
             profile = socialdata.get_user_profile(get_user_email())
             values['userid'] = profile.key.urlsafe()
         render_template(self, 'profileedit.html', values)
Exemple #17
0
   def get(self):
       email =  get_user_email()
       profile = socialdata.get_user_profile(email) #if no email then this function returns null

       values = get_template_parameters()
       values['name'] = 'Unkown'
       values['preferences'] = PREFERENCES
       values['neighborhood_options'] = neighborhoods.neighborhoods
       if profile:
           values['name'] = profile.name
           values['userpreferences'] = profile.preferences
           values['neighborhood'] = profile.neighborhood
       render_template(self, 'profile-edit.html', values)
Exemple #18
0
 def get(self):
     if not helpers.get_user_email(
     ):  # if they don't have an email, we kick em
         self.redirect('/')
     else:
         values = helpers.get_template_parameters()
         profile = socialdata.get_user_profile(helpers.get_user_email())
         if profile:  # if they do have a profile, we populate it with default values
             values['name'] = profile.name
             values['school'] = profile.school
             values['courses'] = profile.courses
         helpers.render_template(self, 'profile-edit.html',
                                 values)  # shows the profile-edit page
Exemple #19
0
    def get(self):
        profiles = socialdata.get_recent_followed_profiles(get_user_email())
        profile_emails = set()
        filteredvids=[]
        for profile in profiles:
            profile_emails.add(profile.email)
        videos = socialdata.get_videos(20)
        print('##################################')
        print(profile_emails)
        for video in videos:
            print(video.email)
            print(video.email in profile_emails)
            if video.email in profile_emails:
                first_name = socialdata.get_user_profile(video.email).firstname
                last_name = socialdata.get_user_profile(video.email).lastname
                video.firstname = first_name
                video.lastname = last_name
                filteredvids.append(video)
        print('########################')
        values = get_template_parameters()
        values['videos'] = filteredvids

        render_template(self, 'feedfollowing.html', values)
Exemple #20
0
 def get(self):
     values = get_template_parameters()
     email = get_user_email()
     if not email:
         # if no user is logged in, we can show them the main page with
         # an error message.
         values['error_text'] = 'Please login to edit your profile.'
         render_template(self, 'mainpage.html', values)
         self.redirect('/')
     else:
         profile = socialdata.get_user_profile(email)
         if profile:
             values['name'] = profile.name
             values['description'] = profile.description
         render_template(self, 'profile-edit.html', values)
Exemple #21
0
 def get(self, groupname):
     profile = socialdata.get_user_profile(helpers.get_user_email())
     if not (profile.email == group_data.get_group_by_name(groupname).
             group_admin):  #if the user does not have a profile, go to home
         self.redirect('/')
     else:
         membership_data.delete_all_membership(groupname)
         values = helpers.get_template_parameters()
         values['name'] = profile.name
         listOfNames = []
         for group in group_data.get_admin_groups(profile.email):
             listOfNames.append(group.name)
         values["groups"] = listOfNames
         helpers.render_template(self, 'group-create.html',
                                 values)  #show group creation page
Exemple #22
0
 def get(self):
     #make sure to get user profile so you can get the users name
     # values['user_name'] = profile.name + ('-')
     user = users.get_current_user()
     current_user = socialdata.get_user_profile(user.email())
     values = {}
     profiles = socialdata.get_user_compatibilities(get_user_email())
     display_pref = []
     all_lists = [person.preferences for person in profiles]
     for list in all_lists:
         display_pref.append([str(pref) for pref in list])
     values = get_template_parameters()
     name_list = [current_user.name +profile.name for profile in profiles]
     values['profiles'] = zip([profile.name for profile in profiles], display_pref, name_list)
     render_template(self, 'main.html', values)
Exemple #23
0
 def post(self):
     user = users.get_current_user()
     current_user = socialdata.get_user_profile(user.email())
     chat_message = self.request.get('chatmsg')
     matched_user = self.request.get('matched_user')
     namepair = current_user.name + '-' + matched_user
     print "Namepair: " + namepair
     if len(chat_message) > 4000:
         self.response.out.write("That message is too long")
     else:
        timestamp = datetime.datetime.now()
        message = Message(timestamp, chat_message, current_user.name, matched_user)
        messages.append(message)
        while len(messages ) > 50:
           messages.pop(0)
     
        self.redirect('/chatpage/' + namepair)
Exemple #24
0
 def get(self, email):
     profile = socialdata.get_user_profile(email)
     print profile
     values = get_template_parameters()
     render_template(self, 'feed.html', values)
     if profile: 
         videos = socialdata.get_videos(20)
         values = get_template_parameters()
         values['videos'] = videos
         values['firstname'] = profile.firstname
         values['lastname'] = profile.lastname
         values['age'] = profile.age
         values['description'] = profile.description
         values['nationality'] = profile.nationality
         values['location'] = profile.location
         values['language'] = profile.language
         values['email'] =  email
         values['userid'] = profile.key.urlsafe()
     render_template(self, 'profileview.html', values)
Exemple #25
0
 def get(self):
     if not get_user_email():
         self.redirect('/')
     else: 
         values = get_template_parameters()
         profile = socialdata.get_user_profile(get_user_email())
         print('\n \n profile \n \n') 
         print(profile)
         if profile:
             values['firstname'] = profile.firstname
             values['lastname'] = profile.lastname
             values['email'] = profile.email
             values['address'] = profile.address
             values['city'] = profile.city
             values['state'] = profile.state
             values['zipcode'] = profile.zipcode
             values['country'] = profile.country
             values['role'] = profile.role
             print('\n \n hello \n \n \n')
         render_template(self, 'profile-edit.html', values)
Exemple #26
0
 def get(self):
     values = get_template_parameters()
     values['Local'] = False
     values['experiences'] = True
     if get_user_email():
         profile = socialdata.get_user_profile(get_user_email())
         if profile:
             values['firstname'] = profile.firstname
             values['lastname'] = profile.lastname
             values['email'] = profile.email
             values['address'] = profile.address
             values['city'] = profile.city
             values['state'] = profile.state
             values['zipcode'] = profile.zipcode
             values['country'] = profile.country
             values['role'] = profile.role
             print(profile.role)
             if values['role'] == 'Local':
                 values['Local'] = True
     render_template(self, 'mainpage.html', values)
Exemple #27
0
 def get(self):
     id = self.request.get('id')
     print(id)
     experience = socialdata.retrieve_experience(id)
     profile = socialdata.get_user_profile(get_user_email())
     useremail = get_user_email()
     print(experience)
     from_address = "*****@*****.**"
     email = experience.email
     body = "New Experience Request for " + experience.experiencename + " from: " + profile.firstname + " " + profile.lastname + ". Click localll.appspot.com/accept-reject?experienceid=" + str(id) + "&action=accept&useremail=" + useremail + \
     " to accept or click localll.appspot.com/accept-reject?experienceid=" + str(id) + "&action=reject&useremail=" + useremail + " to reject "  + profile.firstname + "'s request."
     # body = """
     # New Experience request for {{experience.experiencename}} from {{profile.name}} {{profile.lastname}} has been received. Visit localll.appspot.com/accept-reject to accept or reject {{profile.firstname}}'s requqest.
     # """
     subject = "Request from " + profile.firstname
     mail.send_mail(from_address, email, subject, body)
     self.redirect('/searchexperience')
     name = self.request.get("name")
     from_address = "*****@*****.**"
     subject = "New Request from: " + name
     body = "Request from " + get_user_email() + ": \n\n" + get_experience_name()
     user = users.get_current_user()
Exemple #28
0
 def get(self, groupname):
     group = group_data.get_group_by_name(groupname)
     values = helpers.get_template_parameters()
     values['groupname'] = 'Unknown'
     values['course'] = "no course"
     values['school'] = "no school"
     values['description'] = "no description"
     values['admin'] = "unknown admin"
     values["members"] = "unkown members"
     profile = socialdata.get_user_profile(helpers.get_user_email())
     values['name'] = profile.name
     if group:
         values['groupname'] = group.name
         values['course'] = group.course
         values['school'] = group.school
         values['description'] = group.description
         values['meeting_date'] = group.meet
         values['meeting_time'] = group.time
         values['admin'] = group.group_admin
         values["members"] = membership_data.get_members_from_group(
             groupname)
         helpers.render_template(self, 'group-view.html', values)
Exemple #29
0
 def get(self):
     profile = socialdata.get_user_profile(get_user_email())
     values = get_template_parameters()
     render_template(self, 'profile.html', values)
     values['firstname'] = profile.firstname
Exemple #30
0
 def get(self):
     profile = socialdata.get_user_profile(helpers.get_user_email())
     if not profile:  #if the user does not have a profile, go to home
         self.redirect('/')
     else:  #otherwise, allow them to create group
         self.redirect("/group-edit")