예제 #1
0
    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))
예제 #2
0
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))
예제 #3
0
    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))
예제 #4
0
파일: views.py 프로젝트: octobertech/m
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))
예제 #5
0
    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())
예제 #6
0
    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))
예제 #7
0
    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))
예제 #8
0
    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())
예제 #9
0
    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)
예제 #10
0
    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))