def merge_proxy(request, report_id): report = get_object_or_404(Report, id=report_id) ticketNumber = request.GET.get('ticketNumber', '') if ticketNumber: try: reports_nearby = Report.objects.with_distance( report.point).filter( id=ticketNumber).visible().related_fields().exclude( id=report.id).rank(report, ignore_distance=True) except ValueError: # Due to invalid ticketNumber value (for example a string) reports_nearby = [] else: reports_nearby = Report.objects.all().rank(report) for report_nearby in reports_nearby: report_nearby.can_merge = check_responsible_permission( request.fmsuser, report_nearby) return render_to_response("pro/reports/merge.html", { "fms_user": request.fmsuser, "report": report, "reports_nearby": reports_nearby }, context_instance=RequestContext(request))
def merge_proxy(request, report_id): report = get_object_or_404(Report, id=report_id) ticketNumber = request.GET.get('ticketNumber', '') if ticketNumber: try: reports_nearby = Report.objects.with_distance(report.point).filter(id=ticketNumber).visible().related_fields().exclude(id=report.id).rank(report, ignore_distance=True) except ValueError: # Due to invalid ticketNumber value (for example a string) reports_nearby = [] else: reports_nearby = Report.objects.all().rank(report) for report_nearby in reports_nearby: report_nearby.can_merge = check_responsible_permission(request.fmsuser, report_nearby) return render_to_response("pro/reports/merge.html", { "fms_user": request.fmsuser, "report": report, "reports_nearby": reports_nearby }, context_instance=RequestContext(request))
def _user_has_permission(self): return check_responsible_permission(self._user, self._report)