Esempio n. 1
0
def case_details(request, domain, case_id):
    timezone = util.get_timezone(request.couch_user.user_id, domain)

    try:
        case = CommCareCase.get(case_id)
        report_name = 'Details for Case "%s"' % case.name
    except ResourceNotFound:
        messages.info(request, "Sorry, we couldn't find that case. If you think this is a mistake plase report an issue.")
        return HttpResponseRedirect(inspect.SubmitHistory.get_url(domain))


    form_lookups = dict((form.get_id,
                         "%s: %s" % (form.received_on.date(), 
                                     xmlns_to_name(domain, form.xmlns, get_app_id(form)))) \
                        for form in case.get_forms())
    return render_to_response(request, "reports/reportdata/case_details.html", {
        "domain": domain,
        "case_id": case_id,
        "form_lookups": form_lookups,
        "slug":inspect.CaseListReport.slug,
        "report": dict(
            name=report_name,
            slug=inspect.CaseListReport.slug,
            is_async=False,
        ),
        "layout_flush_content": True,
        "timezone": timezone
    })
Esempio n. 2
0
def case_details(request, domain, case_id):
    timezone = util.get_timezone(request.couch_user.user_id, domain)

    try:
        case = CommCareCase.get(case_id)
    except ResourceNotFound:
        case = None
    
    if case == None or case.doc_type != "CommCareCase" or case.domain != domain:
        messages.info(request, "Sorry, we couldn't find that case. If you think this is a mistake plase report an issue.")
        return HttpResponseRedirect(inspect.CaseListReport.get_url(domain=domain))

    report_name = 'Details for Case "%s"' % case.name
    form_lookups = dict((form.get_id,
                         "%s: %s" % (form.received_on.date(), 
                                     xmlns_to_name(domain, form.xmlns, get_app_id(form)))) \
                        for form in case.get_forms())


                        
    try:
        owner_name = CommCareUser.get_by_user_id(case.owner_id, domain).raw_username
    except Exception:
        try:
            owning_group = Group.get(case.owner_id)
            owner_name = owning_group.display_name if owning_group.domain == domain else ''
        except Exception:
            owner_name = None

    try:
        username = CommCareUser.get_by_user_id(case.user_id, domain).raw_username
    except Exception:
        username = None

    return render(request, "reports/reportdata/case_details.html", {
        "domain": domain,
        "case_id": case_id,
        "username": username, 
        "owner_name": owner_name,
        "form_lookups": form_lookups,
        "slug":inspect.CaseListReport.slug,
        "report": dict(
            name=report_name,
            slug=inspect.CaseListReport.slug,
            is_async=False,
        ),
        "layout_flush_content": True,
        "timezone": timezone
    })