예제 #1
0
    def post(self, forum_id):
        author = cgi.escape(self.request.get('author'))
        forum_name = cgi.escape(self.request.get('forum'))
        title = cgi.escape(self.request.get('title'))
        url = cgi.escape(self.request.get('url'))
        text = cgi.escape(self.request.get('text'))
        post = ForumPost()
        forum = Forum.query(Forum.name == forum_name).get()
        if forum != None:
            forum.posts += 1
        else:
            forum = Forum(name=forum_name, posts=1)
        forum.put()

        author = author[3:-2]
        post.text = text
        post.author = author
        post.forum_name = forum_name
        post.forumnyn_aty = forum.aty
        post.title = title
        post.time = datetime.datetime.now() - datetime.timedelta(
            hours=8)  #For PST
        post.url = url
        post.url_host = urlparse(url).hostname
        post.reference = ''.join(
            random.choice(string.ascii_lowercase + string.digits)
            for _ in range(8))
        post.put()
        self.redirect('/forum/{}'.format(forum_name))
예제 #2
0
 def post(self, forum_id):
   author = cgi.escape(self.request.get('author'))
   forum_name = cgi.escape(self.request.get('forum'))
   title = cgi.escape(self.request.get('title'))
   url = cgi.escape(self.request.get('url'))
   text = cgi.escape(self.request.get('text'))
   forums = forum_name.strip().replace(" ", "").split(",")
   for submissions in forums[0:3]:
     post = ForumPost()
     forum = Forum.query(Forum.name == submissions).get()
     if forum != None:
       forum.posts += 1
     else:
       forum = Forum(name=submissions, posts=1)
     forum.put()
     post.text = text
     post.author = author
     post.forum_name = submissions
     post.title = title
     post.time = datetime.datetime.now() - datetime.timedelta(hours=7) #For PST
     post.url = url
     post.url_host = urlparse(url).hostname
     post.reference = ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(8))
     post.put()
   self.redirect('/tech/{}'.format(forums[0]))
예제 #3
0
  def get(self):
    user = self.user_model
    search = cgi.escape(self.request.get('search'))
    #TODO normalize names in User model to ignore case
    search_list = search.split(',')
    results = []
    # For recuiters' advance search #
    jobs = []
    employers = []
    skills = []
    names = []
    forum_query = []
    search_type = " "
    if user.account_type == "Recruiter":
      search_type = "advanced"

    #Search Algorithm
    for search_string in search_list:
      search_string = search_string.strip(' ').lower()
      if "@" in search_string:
        q = User.query(User.email_address == search_string)
        if q:
          results.append(q.get())
      elif " " in search_string:
        person = search_string.split(' ')
        first_name = person[0]
        last_name = person[1]
        full_name = User.query(ndb.OR(User.lower_profession == search_string, 
          User.lower_employer == search_string, ndb.AND(User.lower_first_name == first_name, User.lower_last_name == last_name))).fetch()
        if search_type is "advanced":
          profession_name = User.query(User.lower_profession == search_string).fetch()
          employer_name = User.query(User.lower_employer == search_string).fetch()
          jobs.extend(profession_name)
          employers.extend(employer_name) 
        if full_name:
          results.extend(full_name)
      else:
        if search_type is "advanced":
          jobs_list = User.query(ndb.OR(User.lower_profession == search_string, User.profession == search_string)).fetch()
          employers_list = User.query(ndb.OR(User.lower_employer == search_string, User.employer == search_string)).fetch()
          jobs.extend(jobs_list)
          employers.extend(employers_list)
          # Get Users with skills
          skill_query = Skill.query(Skill.name == search_string).get()
          if skill_query != None:
            users_with_skills = []
            # TODO limit fetch returns entities
            skilled_users = User.query(User.skills == skill_query.key).fetch()
            skills.extend(skilled_users)
            results.extend(skilled_users)
          forum_query = Forum.query(Forum.name == search_string).get()

        name_list = User.query(ndb.OR(User.username == search_string, User.lower_first_name == search_string, User.lower_last_name == search_string, 
          User.lower_employer == search_string, User.lower_profession == search_string)).fetch()
        results.extend(name_list)
      self.response.out.write(template.render('views/search.html', {'results':results, 'users':name_list, 'employers': employers,
        'jobs': jobs, 'search_string':search_string, 'viewer':user, 'skills':skills, 'forums':forum_query}))
예제 #4
0
  def get(self):
    user = self.user_model
    search = cgi.escape(self.request.get('search'))
    #TODO normalize names in User model to ignore case
    search_list = search.split(',')
    results = []
    # For recuiters' advance search #
    jobs = []
    employers = []
    skills = []
    names = []
    forum_query = []
    search_type = " "
    if user.account_type == "Recruiter":
      search_type = "advanced"

    #Search Algorithm
    for search_string in search_list:
      search_string = search_string.strip(' ').lower()
      if "@" in search_string:
        q = User.query(User.email_address == search_string)
        if q:
          results.append(q.get())
      elif " " in search_string:
        person = search_string.split(' ')
        first_name = person[0]
        last_name = person[1]
        full_name = User.query(ndb.OR(User.lower_profession == search_string, 
          User.lower_employer == search_string, ndb.AND(User.lower_first_name == first_name, User.lower_last_name == last_name))).fetch()
        if search_type is "advanced":
          profession_name = User.query(User.lower_profession == search_string).fetch()
          employer_name = User.query(User.lower_employer == search_string).fetch()
          jobs.extend(profession_name)
          employers.extend(employer_name) 
        if full_name:
          results.extend(full_name)
      else:
        if search_type is "advanced":
          jobs_list = User.query(ndb.OR(User.lower_profession == search_string, User.profession == search_string)).fetch()
          employers_list = User.query(ndb.OR(User.lower_employer == search_string, User.employer == search_string)).fetch()
          jobs.extend(jobs_list)
          employers.extend(employers_list)
          # Get Users with skills
          skill_query = Skill.query(Skill.name == search_string).get()
          if skill_query != None:
            users_with_skills = []
            # TODO limit fetch returns entities
            skilled_users = User.query(User.skills == skill_query.key).fetch()
            skills.extend(skilled_users)
            results.extend(skilled_users)
          forum_query = Forum.query(Forum.name == search_string).get()

        name_list = User.query(ndb.OR(User.username == search_string, User.lower_first_name == search_string, User.lower_last_name == search_string, 
          User.lower_employer == search_string, User.lower_profession == search_string)).fetch()
        results.extend(name_list)
      self.response.out.write(template.render('views/search.html', {'results':results, 'users':name_list, 'employers': employers,
        'jobs': jobs, 'search_string':search_string, 'viewer':user, 'skills':skills, 'forums':forum_query}))
예제 #5
0
 def post(self):
   forum_name = cgi.escape(self.request.get('forum_name'))
   user_key = self.user_model.key
   forum_model = Forum.query(Forum.name == forum_name).get()
   forum_model.subscribers.append(user_key)
   forum_model.put()
   user = self.user_model
   user.subscriptions.append(forum_name)
   user.put()
   self.redirect('/tech/{}'.format(forum_name))   
예제 #6
0
 def get(self):
     user = self.user_model_
     url = self.request.url
     if url[-1] == '/':
         self.redirect('/forum')
     forums = Forum.query().order(-Forum.posts)
     self.render_google('forumViewer.html', {
         'viewer': self.user_model_,
         'forums': forums
     })
예제 #7
0
 def get(self):
   user = self.user_model
   url = self.request.url
   if url[-1] == '/':
     self.redirect('/tech')
   forums = Forum.query().order(-Forum.posts)
   if user == None:
     override_base = "visitorBase.html"
   else:
     override_base = "base.html"
   self.response.out.write(template.render('views/forumViewer.html', {'viewer': self.user_model, 'forums':forums, 'override_base':override_base}))
예제 #8
0
 def get(self, forum_id):
   forum_id = forum_id.lower()
   user = self.user_model
   forum_posts = ForumPost.query(ForumPost.forum_name == forum_id)
   forum = Forum.query(Forum.name == forum_id).get()
   if user == None:
     override_base = "visitorBase.html"
   else:
     override_base = "base.html"
   self.response.out.write(template.render('views/forum.html', {'viewer': user,
                                     'posts': forum_posts, 'forum': forum, 'forum_name': forum_id, 
                                     'override_base': override_base}))
예제 #9
0
 def get(self):
     #tole spodaj mi preveri ce je user prijavljen
     paramsif = is_logged_in()
     #spodnje je vse pober
     #fseznam = Forum.query().fetch()
     #v query das notri pogoj
     fseznam = Forum.query(Forum.deleted == False).fetch()
     # SORT order takole zgleda... reverse za najvecjega navzdol
     fseznam = sorted(fseznam, key=lambda dat: dat.nastanek, reverse=True)
     params = {"forumseznam": fseznam}
     #zdruzi dva dictionarija
     params.update(paramsif)
     return self.render_template("forum.html", params=params)
예제 #10
0
 def get(self):
     #tole spodaj mi preveri ce je user prijavljen
     paramsif = is_logged_in()
     #spodnje je vse pober
     #fseznam = Forum.query().fetch()
     #v query das notri pogoj
     fseznam = Forum.query(Forum.deleted == False).fetch()
     # SORT order takole zgleda... reverse za najvecjega navzdol
     fseznam = sorted(fseznam, key=lambda dat:dat.nastanek, reverse=True)
     params = {"forumseznam" : fseznam }
     #zdruzi dva dictionarija
     params.update(paramsif)
     return self.render_template("forum.html" , params=params)
예제 #11
0
 def get(self, forum_id):
     forum_id = forum_id.lower()
     user = self.user_model_
     forum_posts = ForumPost.query(ForumPost.forum_name == forum_id).order(
         ForumPost.time)
     forum = Forum.query(Forum.name == forum_id).get()
     self.render_google(
         'forum.html', {
             'viewer': user,
             'posts': forum_posts,
             'forum': forum,
             'forum_name': forum_id,
             'forum_aty': forum.aty
         })
예제 #12
0
    def post(self):
        imeforum = self.request.get("fime")
        print imeforum
        priimekforum = self.request.get("fpriimek")
        email = self.request.get("femail")

        sporocilo = self.request.get("fsporocilo")
        #params = {"fime" : imeforum }
        if sporocilo != "Obvezno vpisi kaj notri":
            forum = Forum(fime=imeforum, fpriimek=priimekforum, fsporocilo=sporocilo, femail=email)
            forum.put()
            time.sleep(1)
        fseznam = Forum.query().fetch()
        print fseznam
        params = {"forumseznam" : fseznam }
        return self.render_template("redirect.html" , params=params)
예제 #13
0
    def post(self):
        imeforum = self.request.get("fime")
        print imeforum
        priimekforum = self.request.get("fpriimek")
        email = self.request.get("femail")

        sporocilo = self.request.get("fsporocilo")
        #params = {"fime" : imeforum }
        if sporocilo != "Obvezno vpisi kaj notri":
            forum = Forum(fime=imeforum,
                          fpriimek=priimekforum,
                          fsporocilo=sporocilo,
                          femail=email)
            forum.put()
            time.sleep(1)
        fseznam = Forum.query().fetch()
        print fseznam
        params = {"forumseznam": fseznam}
        return self.render_template("redirect.html", params=params)