def listing(request, repository_name, path='', base_template=FILEBROWSER_BASE_TEMPLATE, url_prefix=None, errornote=''): repository = get_object_or_404(Repository, name=repository_name) if path and not repository.check_dir(path): raise Http404 dirs, files, parents, dirname = repository.list_directory(path) location = path if not location.endswith('/'): location += '/' documents = Document.objects.filter(repository=repository, location=location) edit_permission = is_owner_or_superuser(request) return render_to_response('filebrowser/listing.html', { 'repository': repository, 'base_template': base_template, 'path': path, 'dirs': dirs, 'files': files, 'parents': parents, 'dirname': dirname, 'errornote': errornote, 'documents': documents, 'url_prefix': url_prefix, 'edit_permission': edit_permission }, context_instance=RequestContext(request))
def listing(request, repository_name, path='', base_template=FILEBROWSER_BASE_TEMPLATE, url_prefix=None, errornote=''): repository = get_object_or_404(Repository, name=repository_name) if path and not repository.check_dir(path): raise Http404 dirs, files, parents, dirname = repository.list_directory(path) location = path if not location.endswith('/'): location += '/' documents = Document.objects.filter(repository=repository, location=location) edit_permission = is_owner_or_superuser(request) return render_to_response('filebrowser/listing.html', {'repository': repository, 'base_template': base_template, 'path': path, 'dirs': dirs, 'files': files, 'parents': parents, 'dirname': dirname, 'errornote': errornote, 'documents': documents, 'url_prefix': url_prefix, 'edit_permission': edit_permission}, context_instance=RequestContext(request))
def viewdoc(request, repository_name, doc_slug, base_template=FILEBROWSER_BASE_TEMPLATE, url_prefix=None): repository = get_object_or_404(Repository, name=repository_name) document = get_object_or_404(Document, repository=repository, slug=doc_slug) file_field = None edit_permission = is_owner_or_superuser(request) if edit_permission and request.method == 'POST': if 'addfile' in request.POST: file_field = 'file' model_class = FileDocument elif 'addimage' in request.POST: file_field = 'image' model_class = ImageDocument if edit_permission and file_field and file_field in request.FILES: file = request.FILES[file_field] instance = model_class() instance.document = document instance.file.save(file.name, file) files = FileDocument.objects.filter(document=document) images = ImageDocument.objects.filter(document=document) parents = document.get_parents() return render_to_response('filebrowser/document.html', {'repository': repository, 'base_template': base_template, 'parents': parents, 'document': document, 'doc_files': files, 'doc_images': images, 'edit_permission': edit_permission, 'url_prefix': url_prefix}, context_instance=RequestContext(request))
def viewdoc(request, repository_name, doc_slug, base_template=FILEBROWSER_BASE_TEMPLATE, url_prefix=None): repository = get_object_or_404(Repository, name=repository_name) document = get_object_or_404(Document, repository=repository, slug=doc_slug) file_field = None edit_permission = is_owner_or_superuser(request) if edit_permission and request.method == 'POST': if 'addfile' in request.POST: file_field = 'file' model_class = FileDocument elif 'addimage' in request.POST: file_field = 'image' model_class = ImageDocument if edit_permission and file_field and file_field in request.FILES: file = request.FILES[file_field] instance = model_class() instance.document = document instance.file.save(file.name, file) files = FileDocument.objects.filter(document=document) images = ImageDocument.objects.filter(document=document) parents = document.get_parents() return render_to_response('filebrowser/document.html', { 'repository': repository, 'base_template': base_template, 'parents': parents, 'document': document, 'doc_files': files, 'doc_images': images, 'edit_permission': edit_permission, 'url_prefix': url_prefix }, context_instance=RequestContext(request))
def search(request, base_template=FILEBROWSER_BASE_TEMPLATE): files, documents = (), () if request.method == 'POST': q = request.POST.get('q').encode('utf8') else: q = '' repos = Repository.objects documents = Document.objects section = getattr(request, 'section', None) if section is not None: repos = repos.filter(section=section) documents = documents.filter(repository__in=repos) files = [f for repo in repos.all() for f in repo.search_files(q)] documents = documents.filter(Q(title__regex=q) | Q(content__regex=q)) edit_permission = is_owner_or_superuser(request) return render_to_response('filebrowser/search.html', {'base_template': base_template, 'query': q, 'files': files, 'documents': documents, 'edit_permission': edit_permission}, context_instance=RequestContext(request))
def search(request, base_template=FILEBROWSER_BASE_TEMPLATE): files, documents = (), () if request.method == 'POST': q = request.POST.get('q').encode('utf8') else: q = '' repos = Repository.objects documents = Document.objects section = getattr(request, 'section', None) if section is not None: repos = repos.filter(section=section) documents = documents.filter(repository__in=repos) files = [f for repo in repos.all() for f in repo.search_files(q)] documents = documents.filter(Q(title__regex=q) | Q(content__regex=q)) edit_permission = is_owner_or_superuser(request) return render_to_response('filebrowser/search.html', { 'base_template': base_template, 'query': q, 'files': files, 'documents': documents, 'edit_permission': edit_permission }, context_instance=RequestContext(request))