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 = 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 = 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))
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, )