Example #1
0
def index(request):
    page = get_page(BBS.objects.order_by(Lower('name')),
                    request.GET.get('page', '1'))

    return render(request, 'bbs/index.html', {
        'page': page,
    })
Example #2
0
def index(request):
    queryset = Production.objects.filter(supertype='graphics')

    order = request.GET.get('order', 'date')
    asc = request.GET.get('dir', 'desc') == 'asc'

    queryset = apply_order(queryset, order, asc)

    form = GraphicsIndexFilterForm(request.GET)

    if form.is_valid():
        if form.cleaned_data['platform']:
            queryset = queryset.filter(platforms=form.cleaned_data['platform'])
        if form.cleaned_data['production_type']:
            prod_types = ProductionType.get_tree(
                form.cleaned_data['production_type'])
            queryset = queryset.filter(types__in=prod_types)

    queryset = queryset.prefetch_related('author_nicks__releaser',
                                         'author_affiliation_nicks__releaser',
                                         'platforms', 'types')

    production_page = get_page(queryset, request.GET.get('page', '1'))

    return render(
        request, 'graphics/index.html', {
            'order': order,
            'production_page': production_page,
            'menu_section': "graphics",
            'asc': asc,
            'form': form,
        })
Example #3
0
def search(request):
    form = SearchForm(request.GET)
    if form.is_valid():
        query = form.cleaned_data['q']

        has_real_name_access = request.user.has_perm(
            'demoscene.view_releaser_real_names')
        (name_results, results,
         resultset) = form.search(with_real_names=has_real_name_access)

        if len(name_results) == 1 and len(results) == 0:
            messages.success(request, "One match found for '%s'" % query)
            return HttpResponseRedirect(
                name_results[0].instance.get_absolute_url())
        page = get_page(results, request.GET.get('page', '1'))
    else:
        query = None
        page = None
        name_results = None
        resultset = None
    return render(
        request, 'search/search.html', {
            'form': form,
            'query': query,
            'global_search_query': query,
            'name_results': name_results,
            'page': page,
            'resultset': resultset,
        })
Example #4
0
def index(request):
	queryset = Production.objects.filter(supertype='production')

	order = request.GET.get('order', 'date')
	asc = request.GET.get('dir', 'desc') == 'asc'

	queryset = apply_order(queryset, order, asc)

	form = ProductionIndexFilterForm(request.GET)

	if form.is_valid():
		if form.cleaned_data['platform']:
			queryset = queryset.filter(platforms=form.cleaned_data['platform'])
		if form.cleaned_data['production_type']:
			prod_types = ProductionType.get_tree(form.cleaned_data['production_type'])
			queryset = queryset.filter(types__in=prod_types)

	queryset = queryset.select_related('default_screenshot').prefetch_related('author_nicks__releaser', 'author_affiliation_nicks__releaser', 'platforms', 'types')

	production_page = get_page(
		queryset,
		request.GET.get('page', '1'))

	return render(request, 'productions/index.html', {
		'order': order,
		'production_page': production_page,
		'menu_section': "productions",
		'asc': asc,
		'form': form,
	})
Example #5
0
def tagged(request, tag_name):
    try:
        tag = Tag.objects.get(name=tag_name)
    except Tag.DoesNotExist:
        tag = Tag(name=tag_name)
    queryset = (
        Production.objects.filter(tags__name=tag_name)
        .prefetch_related('author_nicks__releaser', 'author_affiliation_nicks__releaser', 'platforms', 'types')
    )

    order = request.GET.get('order', 'date')
    asc = request.GET.get('dir', 'desc') == 'asc'

    queryset = apply_order(queryset, order, asc)

    production_page = get_page(
        queryset,
        request.GET.get('page', '1'))

    return render(request, 'productions/tagged.html', {
        'tag': tag,
        'production_page': production_page,
        'order': order,
        'asc': asc,
    })
Example #6
0
    def get(self, request):
        queryset = Production.objects.filter(supertype=self.supertype)

        order = request.GET.get('order', 'date')
        asc = request.GET.get('dir', 'desc') == 'asc'

        queryset = apply_order(queryset, order, asc)

        form = self.filter_form_class(request.GET)

        if form.is_valid():
            if form.cleaned_data['platform']:
                queryset = queryset.filter(
                    platforms=form.cleaned_data['platform'])
            if form.cleaned_data['production_type']:
                prod_types = ProductionType.get_tree(
                    form.cleaned_data['production_type'])
                queryset = queryset.filter(types__in=prod_types)

        queryset = queryset.prefetch_related(
            'author_nicks__releaser', 'author_affiliation_nicks__releaser',
            'platforms', 'types')

        production_page = get_page(queryset, request.GET.get('page', '1'))

        return render(
            request, self.template, {
                'order': order,
                'production_page': production_page,
                'menu_section': "productions",
                'asc': asc,
                'form': form,
            })
Example #7
0
def index(request):
    queryset = Production.objects.filter(supertype="production")

    order = request.GET.get("order", "date")
    asc = request.GET.get("dir", "desc") == "asc"

    queryset = apply_order(queryset, order, asc)

    form = ProductionIndexFilterForm(request.GET)

    if form.is_valid():
        if form.cleaned_data["platform"]:
            queryset = queryset.filter(platforms=form.cleaned_data["platform"])
        if form.cleaned_data["production_type"]:
            prod_types = ProductionType.get_tree(form.cleaned_data["production_type"])
            queryset = queryset.filter(types__in=prod_types)

    queryset = queryset.select_related("default_screenshot").prefetch_related(
        "author_nicks__releaser", "author_affiliation_nicks__releaser", "platforms", "types"
    )

    production_page = get_page(queryset, request.GET.get("page", "1"))

    return render(
        request,
        "productions/index.html",
        {"order": order, "production_page": production_page, "menu_section": "productions", "asc": asc, "form": form},
    )
Example #8
0
def search(request):
	form = SearchForm(request.GET)
	if form.is_valid():
		query = form.cleaned_data['q']

		has_real_name_access = request.user.has_perm('demoscene.view_releaser_real_names')
		(name_results, results, resultset) = form.search(with_real_names=has_real_name_access)

		if len(name_results) == 1 and len(results) == 0:
			messages.success(request, "One match found for '%s'" % query)
			return HttpResponseRedirect(name_results[0].instance.get_absolute_url())
		page = get_page(results, request.GET.get('page', '1'))
	else:
		query = None
		page = None
		name_results = None
		resultset = None
	return render(request, 'search/search.html', {
		'form': form,
		'query': query,
		'global_search_query': query,
		'name_results': name_results,
		'page': page,
		'resultset': resultset,
	})
Example #9
0
def recent_edits(request):
    edits = Edit.objects.order_by('-timestamp').select_related('user')
    if not request.user.is_staff:
        edits = edits.filter(admin_only=False)
    edits_page = get_page(edits, request.GET.get('page', '1'))

    return render(request, 'recent_edits.html', {
        'edits_page': edits_page,
    })
Example #10
0
def index(request):
    nick_page = get_page(
        Nick.objects.filter(releaser__is_group=True).extra(
            select={
                'lower_name': 'lower(demoscene_nick.name)'
            }).order_by('lower_name'), request.GET.get('page', '1'))

    return render(request, 'groups/index.html', {
        'nick_page': nick_page,
    })
Example #11
0
def index(request):
	nick_page = get_page(
		Nick.objects.filter(releaser__is_group=True).extra(
			select={'lower_name': 'lower(demoscene_nick.name)'}
		).order_by('lower_name'),
		request.GET.get('page', '1'))

	return render(request, 'groups/index.html', {
		'nick_page': nick_page,
	})
Example #12
0
def recent_edits(request):
	edits = Edit.objects.order_by('-timestamp').select_related('user', 'focus')
	if not request.user.is_staff:
		edits = edits.filter(admin_only=False)
	edits_page = get_page(
		edits,
		request.GET.get('page', '1'))

	return render(request, 'recent_edits.html', {
		'edits_page': edits_page,
	})
Example #13
0
def show(request, user_id):
    user = get_object_or_404(User, id=user_id)

    edits = user.edits.order_by('-timestamp').select_related(
        'user', 'focus_content_type', 'focus2_content_type')
    if not request.user.is_staff:
        edits = edits.filter(admin_only=False)
    edits_page = get_page(edits, request.GET.get('page', '1'))

    return render(request, 'users/show.html', {
        'user': user,
        'edits_page': edits_page,
    })
Example #14
0
def tagged(request, tag_name):
    try:
        tag = Tag.objects.get(name=tag_name)
    except Tag.DoesNotExist:
        tag = Tag(name=tag_name)
    queryset = BBS.objects.filter(tags__name=tag_name).order_by('name')

    page = get_page(queryset, request.GET.get('page', '1'))

    return render(request, 'bbs/tagged.html', {
        'tag': tag,
        'page': page,
    })
Example #15
0
def show(request, user_id):
	user = get_object_or_404(User, id=user_id)

	edits = user.edits.order_by('-timestamp').select_related('user', 'focus', 'focus2')
	if not request.user.is_staff:
		edits = edits.filter(admin_only=False)
	edits_page = get_page(
		edits,
		request.GET.get('page', '1'))

	return render(request, 'users/show.html', {
		'user': user,
		'edits_page': edits_page,
	})
Example #16
0
def tagged(request, tag_name):
    try:
        tag = Tag.objects.get(name=tag_name)
    except Tag.DoesNotExist:
        tag = Tag(name=tag_name)
    queryset = Production.objects.filter(tags__name=tag_name).prefetch_related(
        "author_nicks__releaser", "author_affiliation_nicks__releaser", "platforms", "types"
    )

    order = request.GET.get("order", "date")
    asc = request.GET.get("dir", "desc") == "asc"

    queryset = apply_order(queryset, order, asc)

    production_page = get_page(queryset, request.GET.get("page", "1"))

    return render(
        request, "productions/tagged.html", {"tag": tag, "production_page": production_page, "order": order, "asc": asc}
    )
Example #17
0
def tagged(request, tag_name):
	try:
		tag = Tag.objects.get(name=tag_name)
	except Tag.DoesNotExist:
		tag = Tag(name=tag_name)
	queryset = Production.objects.filter(tags__name=tag_name).prefetch_related('author_nicks__releaser', 'author_affiliation_nicks__releaser', 'platforms', 'types')

	order = request.GET.get('order', 'date')
	asc = request.GET.get('dir', 'desc') == 'asc'

	queryset = apply_order(queryset, order, asc)

	production_page = get_page(
		queryset,
		request.GET.get('page', '1'))

	return render(request, 'productions/tagged.html', {
		'tag': tag,
		'production_page': production_page,
		'order': order,
		'asc': asc,
	})