def get(self, request_id): template = jinja_environment.get_template('feedback.html') user = users.get_current_user() template_values = { 'feedback': {}, 'show_summary': False, 'saved': False, 'show_delete': False, } request = models.read(request_id) template_values['request'] = request template_values['feedback'] = models.current_feedback(user, request) if request.requester == user: template_values['show_summary'] = True status = self.request.get('status') if status == 'saved': template_values['saved'] = True if models.respondents_count(request) < 1: template_values['show_delete'] = True self.response.out.write(template.render(template_values))
def userline(request, username): try: user = models.get_user_by_username(username) except models.DatabaseError: raise Http404 # Query for the reading users ids reading_usernames = [] if request.user['is_authenticated']: reading_usernames = models.get_reading_usernames(username) + [username] # Adds a property on the user to indicate whether the currently # logged in user is reading some user is_reading = username in reading_usernames if request.user['is_authenticated'] and request.method == "POST": if user['reading']: models.unread(request.session['username'], username) else: models.read(request.session['username'], username) return HttpResponseRedirect(reverse('userline')) start = request.GET.get('start') mikis, next_timeuuid = models.get_userline(username, start=start, limit=NUM_PER_PAGE) #profile = models.get_profile(username) context = { 'user': user, 'username': username, #'profile': profile, 'mikis': mikis, 'next': next_timeuuid, 'is_reading': is_reading, 'reading_usernames': reading_usernames, } return render_to_response('userline.html', context, context_instance=RequestContext(request))
def get(self, person_id): template = jinja_environment.get_template('feedback/create.html') user = users.get_current_user() person = models.read(person_id) template_values = { 'person': person, } self.response.out.write(template.render(template_values))
def post(self): user = users.get_current_user() person_id = self.request.POST.get('person_key') description = self.request.POST.get('description') person = models.read(person_id) request = models.feedback_request(user, person, description, feedback.standard_questions) request.put() return webapp2.redirect('/request/' + request.key.urlsafe())
def post(self, request_id): user = users.get_current_user() request = models.read(request_id) for q in request.questions: feedback = self.request.POST.get(q) if not feedback: continue saved_feedback = models.feedback(user, request, q, feedback) saved_feedback.feedback = feedback saved_feedback.put() return webapp2.redirect('/request/{0}?status=saved'.format(request_id))
def get(self, request_id): user = users.get_current_user() request = models.read(request_id) if request.requester != user: return webapp2.redirect('/dashboard') template = jinja_environment.get_template('feedback/summary.txt') responses = models.all_feedback(request) template_values = { 'summary': feedback.summarise_feedback(responses), } headers.text(self.response) self.response.out.write(template.render(template_values))
def post(self, person_id): user = users.get_current_user() description = self.request.POST.get('description') due_date = self.request.POST.get('due_date') if due_date: due_date = isodate.parse_date(due_date) person = models.read(person_id) request = models.feedback_request(user, person, description, feedback.standard_questions, due_date) request.put() return webapp2.redirect('/request/' + request.key.urlsafe())
def post(self, request_id): user = users.get_current_user() feedback_request = models.read(request_id) emails = self.request.POST.get('emails') if emails: emails = emails.split(",") emails = map(lambda s: s.strip(), emails) email_template = jinja_environment.get_template( 'emails/invitation.txt') feedback_recipient = feedback_request.subject.get() for email in emails: email_template_values = { 'feedback_request': feedback_request, 'subject': feedback_recipient, } message = email_template.render(email_template_values) logging.info(message) payload = { 'to': email, 'subject': "Feedback request for {0.name}".format(feedback_recipient), 'message': message, } taskqueue.add(url='/tasks/email/feedback/invite', queue_name='email', params=payload) feedback_request.invited.extend(emails) feedback_request.put() return webapp2.redirect('/request/' + request_id)
def get(self, request_id): user = users.get_current_user() request = models.read(request_id) if request.requester != user: return webapp2.redirect('/dashboard') template = jinja_environment.get_template('feedback/summary.html') responses = models.active_feedback(request) template_values = { 'request': request, 'responses': responses, 'respondees': {r.provider for r in responses}, 'summary': feedback.summarise_feedback(responses), } self.response.out.write(template.render(template_values))