示例#1
0
def logout(req, template_name="rapidsms/loggedout.html"):
    if getattr(settings, 'ENABLE_AUDITLOG', False):
        try:
            from auditlog.utils import audit_log
            log_dict = {'request': req, 'logtype': 'system', 'action':'logout',
                        'detail':'User logged out %s:%s' % (req.user.id, req.user.username) }
            audit_log(log_dict)
        except:
            pass
    return django_logout(req, **{"template_name" : template_name})
示例#2
0
def edit_submission(req, submission_id):
    submission = get_object_or_404(XFormSubmission, pk=submission_id)
    xform = submission.xform
    fields = xform.fields.all().order_by('order')
    values = submission.values.all()

    form_class = make_submission_form(xform)
    if req.method == 'POST':
        form = form_class(req.POST, req.FILES)

        # no errors?  save and redirect
        if form.is_valid():

            # update our submission
            xform.update_submission_from_dict(submission, form.cleaned_data)
            if getattr(settings, 'ENABLE_AUDITLOG', False):
                from auditlog.utils import audit_log
                log_dict = {
                    'request': req,
                    'logtype': 'xform',
                    'action': 'edit',
                    'detail':
                    'Edited report (submission) id:%s' % submission_id
                }
                audit_log(log_dict)
            # redirect to the xform submission page
            return redirect("/xforms/%d/submissions/" % xform.pk)
    else:
        # our hash of bound values
        form_vals = {}
        file_data = {}
        for value in values:
            field = XFormField.objects.get(pk=value.attribute.pk)
            if field.xform_type() == 'binary' and value.value:
                form_vals[field.command] = value.value.binary
            else:
                form_vals[field.command] = value.value

        form = form_class(initial=form_vals)

    breadcrumbs = (('XForms', '/xforms/'),
                   ('Submissions', '/xforms/%d/submissions/' % xform.pk),
                   ('Edit Submission', ''))
    back_url = getattr(settings, 'XFORM_CANCEL_BACKURL', '/hc/reports/')
    return render_to_response("xforms/submission_edit.html", {
        'xform': xform,
        'submission': submission,
        'fields': fields,
        'values': values,
        'form': form,
        'breadcrumbs': breadcrumbs,
        'back_url': back_url
    },
                              context_instance=RequestContext(req))
def delete_report(request, report_pk):
    report = get_object_or_404(AnonymousReport, pk=report_pk)
    if request.method == 'POST':
        if getattr(settings, 'ENABLE_AUDITLOG', False):
            from auditlog.utils import  audit_log
            log_dict = {'request': request, 'logtype': 'anonymous', 'action':'delete',
                        'detail':'deleted anonymous report id:%s' % report_pk,
                        'old_value':'\n'.join(['%s' % m.text for m in report.messages.filter(direction='I')]) }
            audit_log(log_dict)
        report.delete()
    return HttpResponse(status=200)
示例#4
0
def login(req, template_name="rapidsms/login.html"):
    response = django_login(req, **{"template_name" : template_name})
    if getattr(settings, 'ENABLE_AUDITLOG', False):
        try:
            from auditlog.utils import audit_log
            if req.user.is_authenticated():
                log_dict = {'request': req, 'logtype': 'system', 'action':'login',
                            'detail':'User logged in %s:%s' % (req.user.id, req.user.username) }
                audit_log(log_dict)
        except:
            pass
    return response
示例#5
0
def logout(req, template_name="rapidsms/loggedout.html"):
    if getattr(settings, 'ENABLE_AUDITLOG', False):
        try:
            from auditlog.utils import audit_log
            log_dict = {'request': req, 'logtype': 'system', 'action':'logout',
                        'detail':'User logged out %s:%s' % (req.user.id, req.user.username) }
            audit_log(log_dict)
        except ImportError:
            pass
    from django.contrib.auth import logout as user_logout
    user_logout(req)
    return render_to_response(template_name, locals(), context_instance=RequestContext(req))
示例#6
0
def login(req, template_name="rapidsms/login.html"):
    response = django_login(req, **{"template_name" : template_name})
    if getattr(settings, 'ENABLE_AUDITLOG', False):
        try:
            from auditlog.utils import audit_log
            if req.user.is_authenticated():
                log_dict = {'request': req, 'logtype': 'system', 'action':'login',
                            'detail':'User logged in %s:%s' % (req.user.id, req.user.username) }
                audit_log(log_dict)
        except ImportError:
            pass
    return response
def edit_anonymous_report(request, anonymous_report_pk):
    # anonymous_report = get_object_or_404(AnonymousReport, pk=anonymous_report_pk)
    anonymous_report = AnonymousReport.objects.select_related('health_facility__type', 'district__name', 'messages').get(pk=anonymous_report_pk)
    edit_report_form = EditAnonymousReportForm(request.POST, instance=anonymous_report)
    if request.method == "GET":
        return render_to_response('mtrack/partials/anon_edit_row2.html', {'anonymous_report':anonymous_report, 'report_form':EditAnonymousReportForm(
            initial={
                'district':anonymous_report.district,
                'health_facility': anonymous_report.health_facility,
                'action' : anonymous_report.action,
                'comments' : anonymous_report.comments,
                'topic': anonymous_report.topic,
                'action_center':anonymous_report.action_center,
                'action_taken':anonymous_report.action_taken
            }
        ),
        'facilities':[{'id':"-1", 'name':'----'}],  # get_facilities(),
        'pk':getattr(anonymous_report.health_facility, 'pk', '')}, context_instance=RequestContext(request))

    if request.method == 'POST':
        if edit_report_form.is_valid:
            edit_report_form.save()
        else:
            return render_to_response('mtrack/partials/anon_edit_row.html',
                    { 'report_form':edit_report_form, 'anonymous_report':anonymous_report }, context_instance=RequestContext(request))
        # Call Audit log here
        if getattr(settings, 'ENABLE_AUDITLOG', False):
            from auditlog.utils import audit_log
            log_dict = {'request': request, 'logtype': 'anonymous', 'action':'edit',
                        'detail':'Edited anonymous report id:%s' % anonymous_report_pk }
            audit_log(log_dict)
        return render_to_response('mtrack/partials/anon_row.html',
                { 'object':AnonymousReport.objects.select_related('health_facility__type', 'district__name', 'messages').get(pk=anonymous_report_pk), 'selectable':True }, context_instance=RequestContext(request))
    else:
        return render_to_response('mtrack/partials/anon_edit_row.html',
                { 'report_form':edit_report_form, 'anonymous_report':anonymous_report }, context_instance=RequestContext(request))