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})
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)
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
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))
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))