def read(self, request, paste_code): pasteacl = PasteACL.objects.filter(paste__identifier=paste_code) if len(pasteacl) < 1: return rc.NOT_HERE if not is_paste_owner(request, pasteacl[0].paste): return rc.FORBIDDEN return pasteacl
def delete(self, request, paste_code): try: paste = Paste.objects.get(identifier=paste_code) except Paste.DoesNotExist: return rc.NOT_HERE if not is_paste_owner(request, paste): return rc.FORBIDDEN paste.delete() messages.success(request, 'Paste has been removed.') return rc.DELETED
def create(self, request, paste_code): try: paste = Paste.objects.get(identifier=paste_code) except Paste.DoesNotExist: return rc.NOT_HERE if not is_paste_owner(request, paste): return rc.FORBIDDEN try: acl = PasteACL( identifier = uuid.uuid4().hex, paste = paste, ) acl.save() except: raise return acl
def paste_view(request, paste_code, paste_key=None): print request.META paste = get_object_or_404(Paste, identifier=paste_code) if is_paste_owner(request, paste): admin = True else: admin = False if not paste.is_public: if not is_paste_reader(request, paste, paste_key): return HttpResponseForbidden("403 You don't have permission to view this entity") if is_downloader(request.META.get('HTTP_USER_AGENT')): if paste.is_encrypted: return HttpResponseBadRequest("400 You cannot download encrypted pastes.") response = HttpResponse(paste.paste, content_type="text/plain") if paste.filename: response['Content-Disposition'] = 'attachment; filename=%s' % (paste.filename,) return response url_scheme = request.META['wsgi.url_scheme'] return render_to_response("paste_view.html", locals(), context_instance=RequestContext(request))