def delete(self, *args, **kwargs): """docstring for delete""" from issues.models import Issue from resources.models import Resource, Curation res = Resource.objects(owner=self) curs = Curation.objects(owner=self) if curs.count() or res.count(): raise Exception('This account owns resources/curations.') Collection.objects(owner=self).delete() Issue.objects(reporter=self).delete() User.objects.get(pk=self.local_id).delete() self.reindex(remove=True) super(Account, self).delete(*args, **kwargs)
def delete(self, *args, **kwargs): """docstring for delete""" from issues.models import Issue from resources.models import Resource, Curation res = Resource.objects(owner=self) curs = Curation.objects(owner=self) if curs.count() or res.count(): raise Exception('This account owns resources/curations.') Collection.objects(owner=self).delete() Issue.objects(reporter=self).delete() User.objects.get(pk=self.local_id).delete() self.reindex(remove=True) super(Account, self).delete(*args, **kwargs)
def resource_report(request, object_id, template_name='depot/resource_report.html'): """ View for reporting a report when a user finds a problem with it. """ resource = get_one_or_404(Resource, id=ObjectId(object_id)) reporter = get_account(request.user.id) # if 'next' in request.GET: # url = request.GET['next'] # else: # url = None # url = url or reverse('resource', args=[resource.id]) if Issue.objects(reporter=reporter, related_document=resource).count(): messages.warning(request, 'You have already reported this resource.') return HttpResponseRedirect(reverse('resource', args=[resource.id])) if request.method == 'POST': form = ResourceReportForm(request.POST) if form.is_valid(): severity = int(form.cleaned_data['severity']) message = form.cleaned_data['message'] issue = Issue(message=message, severity=severity, reporter=reporter) issue.related_document = resource issue.save() issue.notify_created() # only moderate as STATUS_BAD if SEVERITY_CRITICAL if severity == SEVERITY_CRITICAL: resource.moderate_as_bad(reporter) return HttpResponseRedirect( reverse('issue_detail', args=[issue.id])) else: form = ResourceReportForm() return render_to_response( template_name, { 'next': urlquote_plus(request.GET.get('next', '')), 'form': form, 'object': resource, }, RequestContext(request))
def resource_report(request, object_id, template_name='depot/resource_report.html'): """ View for reporting a report when a user finds a problem with it. """ resource = get_one_or_404(Resource, id=ObjectId(object_id)) reporter=get_account(request.user.id) # if 'next' in request.GET: # url = request.GET['next'] # else: # url = None # url = url or reverse('resource', args=[resource.id]) if Issue.objects(reporter=reporter, related_document=resource).count(): messages.warning(request, 'You have already reported this resource.') return HttpResponseRedirect(reverse('resource', args=[resource.id])) if request.method == 'POST': form = ResourceReportForm(request.POST) if form.is_valid(): severity=int(form.cleaned_data['severity']) message=form.cleaned_data['message'] issue = Issue( message=message, severity=severity, reporter=reporter) issue.related_document = resource issue.save() issue.notify_created() # only moderate as STATUS_BAD if SEVERITY_CRITICAL if severity == SEVERITY_CRITICAL: resource.moderate_as_bad(reporter) return HttpResponseRedirect(reverse('issue_detail', args=[issue.id])) else: form = ResourceReportForm() return render_to_response(template_name, { 'next': urlquote_plus(request.GET.get('next', '')), 'form': form, 'object': resource, }, RequestContext(request))
def issue_status(resource): result = -1 for issue in Issue.objects(related_document=resource, resolved=0): result = issue.severity if issue.severity > result else result return result
def issue_status(resource): result = -1 for issue in Issue.objects(related_document=resource, resolved=0): result = issue.severity if issue.severity > result else result return result