Пример #1
0
def list_albums(request, album):
    albums = Album.objects.filter(parent=album).order_by("name")
    parents = []
    images = None
    current_album = None
    if album is not None:
        current_album = Album.objects.get(id=album)
        images = Image.objects.filter(album=album)
        parents = list_parents(current_album)

    fotokonkurranse_album = Fotokonkurranse.objects.get().album
    context = {
        "album": album,
        "albums": albums,
        "albumpath": parents,
        "current_album": current_album,
        "images": images,
        "origin": request.get_full_path(),
        "all_users": sorted(User.sherpa_users(), key=lambda u: u.get_first_name()),
        "current_navigation": "albums",
        "image_search_length": settings.IMAGE_SEARCH_LENGTH,
        "fotokonkurranse_album": fotokonkurranse_album,
        "album_download_part_count": Album.DOWNLOAD_PART_COUNT,
    }
    return render(request, "central/admin/images/list_albums.html", context)
Пример #2
0
def list_albums(request, album):
    albums = Album.objects.filter(parent=album).order_by('name')
    parents = []
    images = None
    current_album = None
    if album is not None:
        current_album = Album.objects.get(id=album)
        images = Image.objects.filter(album=album)
        parents = list_parents(current_album)

    fotokonkurranse_album = Fotokonkurranse.objects.get().album
    context = {
        'album': album,
        'albums': albums,
        'albumpath': parents,
        'current_album': current_album,
        'images': images,
        'origin': request.get_full_path(),
        'all_users': sorted(User.sherpa_users(), key=lambda u: u.get_first_name()),
        'current_navigation': 'albums',
        'image_search_length': settings.IMAGE_SEARCH_LENGTH,
        'fotokonkurranse_album': fotokonkurranse_album,
        'album_download_part_count': Album.DOWNLOAD_PART_COUNT,
    }
    return render(request, 'common/admin/images/list_albums.html', context)
Пример #3
0
def search(request):
    context = {
        "origin": request.get_full_path(),
        "all_users": sorted(User.sherpa_users(), key=lambda u: u.get_first_name()),
    }
    if len(request.GET.get("q", "")) < settings.IMAGE_SEARCH_LENGTH:
        context.update({"too_short_query": True, "image_search_length": settings.IMAGE_SEARCH_LENGTH})
        return render(request, "central/admin/images/search.html", context)
    albums, images = full_archive_search(request.GET["q"])
    context.update({"albums": albums, "images": images, "search_query": request.GET["q"]})
    return render(request, "central/admin/images/search.html", context)
Пример #4
0
def edit(request, site, version):
    active_site = Site.objects.get(id=site)
    version = Version.objects.get(id=version)
    users = sorted(User.sherpa_users(), key=lambda u: u.get_first_name())
    context = {
        'active_site': active_site,
        'version': version,
        'users': users,
        'image_search_length': settings.IMAGE_SEARCH_LENGTH,
        'widget_data': admin_context(active_site),
    }
    context.update(url_picker_context(active_site))

    # Fake request.site to the edited site; this will make context processors behave accordingly
    request.site = active_site
    return render(request, 'common/admin/sites/articles/edit.html', context)
Пример #5
0
def search(request):
    context = {
        'origin': request.get_full_path(),
        'all_users': sorted(User.sherpa_users(), key=lambda u: u.get_first_name())
    }
    if len(request.GET.get('q', '')) < settings.IMAGE_SEARCH_LENGTH:
        context.update({
            'too_short_query': True,
            'image_search_length': settings.IMAGE_SEARCH_LENGTH,
        })
        return render(request, 'common/admin/images/search.html', context)
    albums, images = full_archive_search(request.GET['q'])
    context.update({
        'albums': albums,
        'images': images,
        'search_query': request.GET['q']})
    return render(request, 'common/admin/images/search.html', context)
Пример #6
0
def user_images(request, user):
    user = User.get_users().get(id=user)
    images = Image.objects.filter(uploader=user)
    if user == request.user:
        current_navigation = 'personal'
    else:
        current_navigation = ''

    context = {
        'active_user': user,
        'images': images,
        'origin': request.get_full_path(),
        'all_users': sorted(User.sherpa_users(), key=lambda u: u.get_first_name()),
        'current_navigation': current_navigation,
        'image_search_length': settings.IMAGE_SEARCH_LENGTH
    }
    return render(request, 'common/admin/images/user_images.html', context)
Пример #7
0
def user_images(request, user):
    user = User.get_users(include_pending=True).get(id=user)
    images = Image.objects.filter(uploader=user)
    if user == request.user:
        current_navigation = "personal"
    else:
        current_navigation = ""

    context = {
        "active_user": user,
        "images": images,
        "origin": request.get_full_path(),
        "all_users": sorted(User.sherpa_users(), key=lambda u: u.get_first_name()),
        "current_navigation": current_navigation,
        "image_search_length": settings.IMAGE_SEARCH_LENGTH,
    }
    return render(request, "central/admin/images/user_images.html", context)
Пример #8
0
def edit(request, site, version):
    try:
        active_site = Site.get_cached_by_id(site)
        version = Version.objects.get(id=version)
        users = sorted(User.sherpa_users(), key=lambda u: u.get_first_name())
        context = {
            'active_site': active_site,
            'version': version,
            'users': users,
            'image_search_length': settings.IMAGE_SEARCH_LENGTH,
            'widget_data': admin_context(active_site),
            'category_choices': Article.CATEGORY_CHOICES,
        }
        context.update(url_picker_context(active_site))

        # Fake request.site to the edited site; this will make context processors behave accordingly
        request.site = active_site
        return render(request, 'central/admin/sites/articles/edit.html', context)
    except Version.DoesNotExist:
        messages.warning(request, 'article_does_not_exist')
        return redirect('admin:sites.articles.list', active_site.id)
Пример #9
0
def image_details(request, image):
    image = Image.objects.get(id=image)
    parents = [] if image.album is None else list_parents(image.album)
    exif = json.loads(image.exif)
    try:
        taken = datetime.strptime(exif['DateTime'], '%Y:%m:%d %H:%M:%S')
    except Exception:
        taken = None
    tags = image.tags.all()
    context = {
        'image': image,
        'albumpath': parents,
        'exif': exif,
        'taken': taken,
        'tags': tags,
        'origin': request.get_full_path(),
        'all_users': sorted(User.sherpa_users(), key=lambda u: u.get_first_name()),
        'current_navigation': 'albums',
        'thumb_sizes': settings.THUMB_SIZES,
    }
    return render(request, 'common/admin/images/image_details.html', context)
Пример #10
0
def image_details(request, image):
    image = Image.objects.get(id=image)
    parents = [] if image.album is None else list_parents(image.album)
    exif = json.loads(image.exif)
    try:
        taken = datetime.strptime(exif["DateTime"], "%Y:%m:%d %H:%M:%S")
    except Exception:
        taken = None
    tags = image.tags.all()
    context = {
        "image": image,
        "albumpath": parents,
        "exif": exif,
        "taken": taken,
        "tags": tags,
        "origin": request.get_full_path(),
        "all_users": sorted(User.sherpa_users(), key=lambda u: u.get_first_name()),
        "current_navigation": "albums",
        "thumb_sizes": settings.THUMB_SIZES,
    }
    return render(request, "central/admin/images/image_details.html", context)