Exemplo n.º 1
0
def editReporter(request, reporter_pk):
    reporter = get_object_or_404(Contact, pk=reporter_pk)
    reporter_form = EditReporterForm(instance=reporter)
    if request.method == 'POST':
        reporter_form = EditReporterForm(instance=reporter, data=request.POST)
        if reporter_form.is_valid():
            reporter_form.save()
        else:
            return render_to_response(
                'ureport/partials/contacts/edit_reporter.html', {
                    'reporter_form': reporter_form,
                    'reporter': reporter
                },
                context_instance=RequestContext(request))
        return render_to_response(
            'ureport/partials/contacts/contacts_row.html', {
                'object': Contact.objects.get(pk=reporter_pk),
                'selectable': True
            },
            context_instance=RequestContext(request))
    else:
        return render_to_response(
            'ureport/partials/contacts/edit_reporter.html', {
                'reporter_form': reporter_form,
                'reporter': reporter
            },
            context_instance=RequestContext(request))
Exemplo n.º 2
0
def editReporter(request, reporter_pk):
    reporter = get_object_or_404(Contact, pk=reporter_pk)
    reporter_form = EditReporterForm(instance=reporter)
    if request.method == 'POST':
        reporter_form = EditReporterForm(instance=reporter,
                                         data=request.POST)
        if reporter_form.is_valid():
            reporter_form.save()
        else:
            return render_to_response('ureport/partials/contacts/edit_reporter.html',
                    {'reporter_form': reporter_form, 'reporter': reporter},
                                      context_instance=RequestContext(request))
        return render_to_response('ureport/partials/contacts/contacts_row.html',
                        {'object': Contact.objects.get(pk=reporter_pk),
                        'selectable': True},
                                  context_instance=RequestContext(request))
    else:
        return render_to_response('ureport/partials/contacts/edit_reporter.html'
            , {'reporter_form': reporter_form,
               'reporter': reporter},
                                  context_instance=RequestContext(request))
Exemplo n.º 3
0
def editReporter(request, reporter_pk):
    reporter = get_object_or_404(Contact, pk=reporter_pk)
    reporter_form = EditReporterForm(instance=reporter)
    if request.method == "POST":
        reporter_form = EditReporterForm(instance=reporter, data=request.POST)
        if reporter_form.is_valid():
            reporter_form.save()
        else:
            return render_to_response(
                "ureport/partials/contacts/edit_reporter.html",
                {"reporter_form": reporter_form, "reporter": reporter},
                context_instance=RequestContext(request),
            )
        return render_to_response(
            "/ureport/partials/contacts/contacts_row.html",
            {"object": Contact.objects.get(pk=reporter_pk), "selectable": True},
            context_instance=RequestContext(request),
        )
    else:
        return render_to_response(
            "ureport/partials/contacts/edit_reporter.html",
            {"reporter_form": reporter_form, "reporter": reporter},
            context_instance=RequestContext(request),
        )
def editReporter(request, reporter_pk):
    reporter = get_object_or_404(Contact, pk=reporter_pk)
    reporter_form = EditReporterForm(instance=reporter)
    if request.method == 'POST':
        reporter_form = EditUreporterForm(request.POST)
        if reporter_form.is_valid():
            reporter_form.save(reporter)
        else:
            return render_to_response('ureport/partials/contacts/edit_reporter.html'
                , {'reporter_form': reporter_form, 'reporter'
                : reporter},
                                      context_instance=RequestContext(request))
        return HttpResponse('saved')

    else:
        return render_to_response('ureport/partials/contacts/edit_reporter.html'
            , {'reporter_form': reporter_form,
               'reporter': reporter},
                                  context_instance=RequestContext(request))
Exemplo n.º 5
0
def ureporter_profile(request, connection_pk):
    from script.models import ScriptSession, ScriptResponse, Script

    connection = get_object_or_404(Connection, pk=connection_pk)
    session = ScriptSession.objects.filter(connection__pk=connection_pk)
    messages = Message.objects.filter(connection=connection).order_by('-date')
    contact = connection.contact
    if contact:
        #get the proxy
        contact = Ureporter.objects.get(pk=connection.contact.pk)

    reporter_form = EditReporterForm(instance=contact)
    total_outgoing = messages.filter(direction='O',
                                     connection__pk=connection_pk).count()
    total_incoming = messages.filter(direction='I',
                                     connection__pk=connection_pk).count()
    try:
        response_rate = contact.responses.values_list(
            'poll').distinct().count() * 100 / float(
                Poll.objects.filter(contacts=contact).distinct().count())
    except (ZeroDivisionError, ValueError):
        response_rate = None


#    gr_poll = Poll.objects.get(pk=121)
    gr_poll = Script.objects.get(slug="autoreg_en").steps.get(order=1).poll
    how_did_u_hear = None
    if session:
        try:
            how_did_u_hear = \
                session[0].responses.filter(response__poll=gr_poll)[0].response.message.text
        except (ScriptResponse.DoesNotExist, IndexError):
            how_did_u_hear = 'N/A'
    if request.GET.get('download', None):
        data = []
        data = messages.values_list(
            'text', 'direction', 'date',
            'connection__contact__reporting_location__name').iterator()
        headers = ['Message', 'Direction', 'Date', 'District']

        return ExcelResponse(data=data, headers=headers)
    columns = [('Message', True, 'text', SimpleSorter()),
               ('connection', True, 'connection', SimpleSorter()),
               ('Date', True, 'date', SimpleSorter()),
               ('Direction', True, 'direction', SimpleSorter())]

    # hack hack send the reply message by hacking the sendmessage form
    if request.method == 'POST':
        if not request.POST.get('text', None) == u'' and request.POST.get(
                'action'
        ) == u'ureport.forms.ReplyTextForm' and not request.POST.get(
                'page_action', None):
            rep_form = ReplyTextForm(request=request)
            Message.objects.create(connection=connection,
                                   direction='O',
                                   status='Q',
                                   text=request.POST.get('text'))
            return generic(
                request,
                model=Message,
                queryset=messages,
                total_outgoing=total_outgoing,
                total_incoming=total_incoming,
                response_rate=response_rate,
                how_did_u_hear=how_did_u_hear,
                contact=contact,
                reporter_form=reporter_form,
                objects_per_page=20,
                status_message='Message sent',
                status_message_type='success',
                results_title='Message History',
                selectable=False,
                partial_row=
                'ureport/partials/messages/message_history_row.html',
                base_template='ureport/message_history_base.html',
                action_forms=[ReplyTextForm],
                columns=columns,
                sort_column='date',
                sort_ascending=False,
            )

    return generic(
        request,
        model=Message,
        queryset=messages,
        contact=contact,
        total_outgoing=total_outgoing,
        total_incoming=total_incoming,
        response_rate=response_rate,
        objects_per_page=20,
        how_did_u_hear=how_did_u_hear,
        reporter_form=reporter_form,
        results_title='Message History',
        selectable=False,
        partial_row='ureport/partials/messages/message_history_row.html',
        base_template='ureport/message_history_base.html',
        action_forms=[ReplyTextForm],
        columns=columns,
        sort_column='date',
        sort_ascending=False,
    )