def get(self): greetings = methods.autorization("/forum?page=1") idPost = True try: userById = db.GqlQuery("SELECT * FROM UserForum WHERE idUser = %s" % self.request.get('id')) except: idPost = False if (idPost and userById.count() != 0): for userForum in userById: loginGoogle = userForum.loginGoogle login = userForum.loginForum position = userForum.position name = userForum.name lastName = userForum.lastName if users.get_current_user(): isUser = methods.isUser(users.get_current_user().nickname(), int(self.request.get('id'))) admin = methods.isAdmin(users.get_current_user().nickname()) else: self.redirect('/') template_values = { 'admin' : admin, 'isUser': isUser, 'greetings': greetings, 'loginGoogle': loginGoogle, 'login': login, 'position': position, 'name': name, 'lastName': lastName } path = os.path.join(os.path.join(os.path.dirname(__file__), 'templates/forum'), 'user.html') self.response.out.write(template.render(path, template_values)) else: self.redirect('/')
def post(self): if users.get_current_user(): isUser = methods.isUser(users.get_current_user().nickname(), methods.getIdUser(self.request.get('loginGoogle'))) loginExist = True if (isUser): queryLoginExist = db.GqlQuery("SELECT * FROM UserForum ") for userForum in queryLoginExist: if (userForum.loginForum == self.request.get('login')): loginExist = False if loginExist: query = db.GqlQuery("SELECT * FROM UserForum WHERE idUser = %s" % methods.getIdUser(self.request.get('loginGoogle'))) for userForum in query: idUser = userForum.idUser if self.request.get('login'): userForum.loginForum = re.sub('<[^>]*>', '',self.request.get('login')) else: userForum.loginForum = None if self.request.get('name'): userForum.name = re.sub('<[^>]*>', '',self.request.get('name')) else: userForum.name = None if self.request.get('lastName'): userForum.lastName = re.sub('<[^>]*>', '',self.request.get('lastName')) else: userForum.lastName = None userForum.put() self.redirect('/user?id=%s' % idUser) else: self.redirect('/errorLoginExist') else: self.redirect('/')
def get(self): if users.get_current_user(): greetings = methods.autorization("/topic?idTopic=1&topicPage=1") if (self.request.get('idTopic') and self.request.get('topicPage')): idTopic = self.request.get('idTopic') topicPagePost = True try: topicPage = int(self.request.get('topicPage')) topicQuery = db.GqlQuery("SELECT * FROM Topic WHERE idTopic = %s" % idTopic) except: topicPagePost = False if topicPagePost: topic = topicQuery.get() user = methods.getUserById(topic.idAuthor) if (user.loginForum): topic.author = user.loginForum topic.put() messagesQuery = db.GqlQuery("SELECT * FROM Message WHERE idTopic = %s ORDER BY idMessage" % idTopic) if (messagesQuery.count() != 0): for message in messagesQuery: user = methods.getUserById(message.idAuthor) if (user.loginForum): message.author = user.loginForum message.put() if(methods.isUser(users.get_current_user().nickname(), message.idAuthor)): message.isAuthor = True message.put() else: message.isAuthor = False message.put() else: countPages = 1; messagesOnPage = [] startMessage = topicPage * 20 - 19 endMessage = startMessage + 19 count = 1 for message in messagesQuery: if (count >= startMessage and count <= endMessage): messagesOnPage.append(message) count += 1 countPages = int(messagesQuery.count() / 20) if (messagesQuery.count() % 20): countPages += 1 visibleAllPages = [] visibleStartPages = [] visibleMiddlePages = [] visibleEndPages = [] if countPages < 10: for count in range(countPages): visibleAllPages.append(count + 1) visibleStartSeparator = False visibleEndSeparator = False elif (topicPage < 6): if (topicPage < 3): for page in range(3): visibleStartPages.append(page + 1) else: for page in range(topicPage + 1): visibleStartPages.append(page + 1) visibleStartSeparator = False visibleEndSeparator = True visibleEndPages.append(countPages - 2) visibleEndPages.append(countPages - 1) visibleEndPages.append(countPages) elif (topicPage > countPages - 5): visibleStartPages.append(1) visibleStartPages.append(2) visibleStartPages.append(3) visibleStartSeparator = True visibleEndSeparator = False if (topicPage > countPages - 2): visibleEndPages.append(countPages - 2) visibleEndPages.append(countPages - 1) visibleEndPages.appealend(countPages) else: visibleEndPages.append(topicPage - 1) visibleEndPages.append(topicPage) count = topicPage + 1 while count <= countPages: visibleEndPages.append(count) count += 1 else: visibleStartPages.append(1) visibleStartPages.append(2) visibleStartPages.append(3) visibleStartSeparator = True visibleMiddlePages.append(topicPage - 1) visibleMiddlePages.append(topicPage) visibleMiddlePages.append(topicPage + 1) visibleEndSeparator = True visibleEndPages.append(countPages - 2) visibleEndPages.append(countPages - 1) visibleEndPages.append(countPages) admin = methods.isAdmin(users.get_current_user().nickname()) template_values = { 'greetings' : greetings, 'admin' : admin, 'messages': messagesOnPage, 'topic': topic, 'visibleAllPages' : visibleAllPages, 'visibleStartPages' : visibleStartPages, 'visibleStartSeparator' : visibleStartSeparator, 'visibleMiddlePages' : visibleMiddlePages, 'visibleEndPages' : visibleEndPages, 'visibleEndSeparator' : visibleEndSeparator } path = os.path.join(os.path.join(os.path.dirname(__file__), 'templates/forum'), 'topic.html') self.response.out.write(template.render(path, template_values)) else: self.redirect('/forum?page=1') else: self.redirect('/forum?page=1') else: self.redirect('/forum?page=1')