def post(self): user = self.getuser() if (user is not None): jirgaName = self.request.get('jirgaName') privacyOption = self.request.get('privacyOption') if privacyOption == "option1": i = uuid.uuid1() newJirga = Jirga(title=jirgaName, owner=user.username, publicJirga=1, jirgaId=str(i)) newJirga.put() user.jirgas.append(newJirga.key()) user.put() self.redirect("/") elif privacyOption == "option2": i = uuid.uuid1() newJirga = Jirga(title=jirgaName, owner=user.username, publicJirga=0, jirgaId=str(i)) newJirga.put() user.jirgas.append(newJirga.key()) user.put() self.redirect("/") else: self.response.write("FAIL - privacy not selected") else: self.response.write("FAIL - not logged in")
def get(self, jirgaId): loggedIn = False user = self.getuser() if (user is not None): jirga = Jirga.all().filter('jirgaId', jirgaId).get() public = jirga.publicJirga if (public == 0): #private jirga template_params = { 'public': public, } else: #public if (user in jirga.members): #user is a member member = 1 else: #user is not a member member = 0 template_params = {'public': public, 'member': member} member = User.get(jirga.members) obj2 = {'members': member} template_params.update(obj2) template_params.update({'user': user}) template_params.update({'jirga': jirga}) render_template(self, "jirgaSettings.html", template_params) else: self.response.write("FAIL - you need to be logged in for this")
def post(self): user = self.getuser() if user is not None: jirgaId = self.request.get('jirgaId') questionId = self.request.get('questionId') answerString = self.request.get('answerString') jirga = Jirga.all().filter('jirgaId', jirgaId).get() question = Question.all().filter('qId', questionId).get() relNum = self.request.get('relNum') if jirga is not None and question is not None: if answerString != "" and answerString is not None: if question.author == user.username: vote = Vote( answer=answerString, number=len(question.votes) + 1 + int(relNum), ) vote.put() print("vote: " + answerString) question.votes.append(vote.key()) question.put() self.response.write("OK") else: self.response.write("FAIL") else: self.response.write("FAIL") else: self.response.write("FAIL") else: self.response.write("FAIL - not logged in")
def get(self,jirgaId): loggedIn= False user = self.getuser() if(user is not None): jirga = Jirga.all().filter('jirgaId', jirgaId).get() public = jirga.publicJirga if(public == 0): #private jirga template_params = { 'public':public, } else: #public if(user in jirga.members): #user is a member member = 1 else: #user is not a member member = 0 template_params = { 'public':public, 'member':member } member = User.get(jirga.members) obj2={'members':member} template_params.update(obj2) template_params.update({'user':user}) template_params.update({'jirga':jirga}) render_template(self,"jirgaSettings.html",template_params) else: self.response.write("FAIL - you need to be logged in for this")
def post(self): user = self.getuser() if user is not None: jirgaId = self.request.get('jirgaId') questionId = self.request.get('questionId') answerString = self.request.get('answerString') jirga = Jirga.all().filter('jirgaId', jirgaId).get() question = Question.all().filter('qId',questionId).get() relNum = self.request.get('relNum') if jirga is not None and question is not None: if answerString != "" and answerString is not None: if question.author == user.username: vote = Vote(answer=answerString,number=len(question.votes)+1+int(relNum),) vote.put() print("vote: " + answerString) question.votes.append(vote.key()) question.put() self.response.write("OK") else: self.response.write("FAIL") else: self.response.write("FAIL") else: self.response.write("FAIL") else: self.response.write("FAIL - not logged in")
def post(self): user = self.getuser() if user is not None: jirgaId = self.request.get('jirgaId') print(self.request) questionString = self.request.get('question') print(jirgaId) jirga = Jirga.all().filter('jirgaId', jirgaId).get() votes = [] for x in range(1,6): curr = self.request.get("vote"+str(x)) if curr is not None and curr != "": vote = Vote(answer=curr,number=x,count=0) print vote.answer vote.put() votes.append(vote.key()) if jirga is not None: if questionString != "" and questionString is not None and votes.count > 1: if jirga.publicJirga == 1 or jirga.owner == user.username: i = uuid.uuid1() question = Question(questionString=questionString, author=user.username,qId=(str(i)),votes=votes) question.put() jirga.questions.append(question.key()) jirga.put() time.sleep(.5) self.redirect("/viewQuestion/"+question.qId) else: self.response.write("FAIL - insufficient permissions") else: self.response.write("FAIL - invalid question - " + questionString) else: self.response.write("FAIL - invalid jirga") else: self.response.write("FAIL - not logged in")
def get(self): user = self.getuser() if(user is not None): jirgas = Jirga.all() newlist = [] for jirga in jirgas: if jirga is not None and (user.key() in jirga.members or jirga.owner == user.username): newlist.append(jirga) template_params = {'jirgas':newlist} render_template(self,"askJirga.html",template_params) else: self.response.write("FAIL - not logged in")
def post(self): user = self.getuser() if (user is not None): #check if user has permission to add target user to jirga #user can add if owner of private jirga #user can add if adding self to public jirga targetJirga = self.request.get('jirga') targetJ = Jirga.all().filter('jirgaId', targetJirga).get() if (targetJ is not None): #jirga was found targetUser = self.request.get('user') targetU = User.all().filter('username', targetUser).get() if targetU is not None and targetU.key( ) not in targetJ.members: print(targetU.key) #user was found if (targetJ.publicJirga == 0) and (targetJ.owner == user.username): #private jirga but user owns it flag = True for key in targetU.jirgas: if key == targetJ.key: print(key() + " - " + targetJ.key()) flag = False if flag: targetU.jirgas.append(targetJ.key()) targetJ.members.append(targetU.key()) targetJ.put() targetU.put() #todo get rid of these time.sleeps start having better data routes time.sleep(1) self.redirect("/jirgaSettings/" + targetJ.jirgaId) elif (targetJ.publicJirga == 1) and (targetU.username == user.username): #public jirga, user is adding self user.jirgas.append(targetJ.key()) targetJ.members.append(targetU.key()) user.put() targetJ.put() time.sleep(1) self.redirect("/jirgaSettings/" + targetJ.jirgaId) else: #insufficient permissions self.response.write("FAIL - insufficient permissions") else: #user was not found self.redirect("/jirgaSettings/" + targetJ.jirgaId) else: #jirga was found self.response.write("FAIL - invalid jirga") else: self.response.write("FAIL - not logged in")
def get(self, jirgaId, questionId): loggedIn = False user = self.getuser() if (user is not None): question = Question.all().filter('qId', questionId).get() jirga = Jirga.all().filter('jirgaId', jirgaId).get() votes = Vote.get(question.votes) template_params = { 'question': question, 'votes': votes, 'user': user, 'jirga': jirga } render_template(self, "viewQuestion.html", template_params) else: self.response.write("FAIL - you need to be logged in for this")
def get(self,jirgaId,questionId): loggedIn= False user = self.getuser() if(user is not None): question = Question.all().filter('qId', questionId).get() jirga = Jirga.all().filter('jirgaId', jirgaId).get() votes = Vote.get(question.votes) template_params = { 'question': question, 'votes': votes, 'user':user, 'jirga':jirga } render_template(self,"viewQuestion.html",template_params) else: self.response.write("FAIL - you need to be logged in for this")
def get(self,sessId): sess = Session.all().filter('sessId',sessId).get() if sess is not None: user = User.all().filter('username',sess.user).get() print("user" + user.username) if(user is not None): jirgas = Jirga.get(user.jirgas) result = [] self.response.headers['Content-Type'] = 'application/json' for jirga in jirgas: obj2 = { 'name': jirga.title, 'key': jirga.jirgaId, } result.append(obj2) print(jirga.title) self.response.out.write(json.dumps(result)) else: self.response.write("FAIL - not logged in")
def get(self, sessId): sess = Session.all().filter('sessId', sessId).get() if sess is not None: user = User.all().filter('username', sess.user).get() print("user" + user.username) if (user is not None): jirgas = Jirga.get(user.jirgas) result = [] self.response.headers['Content-Type'] = 'application/json' for jirga in jirgas: obj2 = { 'name': jirga.title, 'key': jirga.jirgaId, } result.append(obj2) print(jirga.title) self.response.out.write(json.dumps(result)) else: self.response.write("FAIL - not logged in")
def post(self): user = self.getuser() if(user is not None): questionKey = self.request.get('questionKey') jirgaKey = self.request.get('jirgaId') question = Question.all().filter('qId',questionKey).get() jirga = Jirga.all().filter('jirgaId',jirgaKey).get() voteNum = int(self.request.get('voteselect')) if question is not None and jirga is not None and user.key not in question.voted and user.key() in jirga.members: for v in question.votes: vc = Vote.get(v) print(vc.number) if vc.number == voteNum: vc.users.append(user.key()) vc.count += 1 vc.put() question.voted.append(user.key()) question.put() self.redirect("/viewResults/"+question.qId) else: self.response.write("FAIL - not logged in")
def get(self): user = self.getuser() if(user is not None): jirgas = Jirga.all() newlist=[] pubJirgas = [] lanks = [] questions = [] for jirga in jirgas: if jirga is not None and (user.key() in jirga.members or jirga.owner == user.username): newlist.append(jirga) for qkey in jirga.questions: question = Question.get(qkey) if question is not None and user.key not in question.voted: question.lank=(str(jirga.jirgaId) +"/" +str(question.qId)) questions.append(question) elif jirga is not None and jirga.publicJirga==1: pubJirgas.append(jirga) #check to avoid throwing unbounderror when no jirgas #todo - make this give a warning when no jirgas if len(newlist) < 1: template_params = { 'jirgasmem':newlist, 'jirgaspub':pubJirgas, 'questions':questions } else: template_params = { 'questions':questions, #throws exception when goodQuestions not initialized (due to no Jirgas) 'jirgasmem':jirgas, 'jirgaspub':pubJirgas } render_template(self,"home.html",template_params) else: self.redirect("/login")
def get(self): user = self.getuser() if(user is not None): jirgas = Jirga.get(user.jirgas) result = {} self.response.headers['Content-Type'] = 'application/json' for jirga in jirgas: obj2 = { 'name': jirga.title, 'key': jirga.jirgaId, } questions = Question.get(jirga.questions) for question in questions: if user.key not in question.voted: obj3 = { 'key':question.key(), 'title':question.questionString, 'author':question.author } votes = Vote.get(question.votes) for vote in votes: if vote is not None: obj4 = { 'vote':vote.number, 'answer':vote.answer, 'count':vote.count } obj3.update(obj4) obj2.update(obj3) result.update(obj2) #else: #user has already voted skip this question self.response.out.write(json.dumps(result)) else: self.response.write("FAIL - not logged in")