Esempio n. 1
0
	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('/')
Esempio n. 2
0
	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('/')
Esempio n. 3
0
	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')