byceps/byceps

View on GitHub
byceps/blueprints/admin/more/views.py

Summary

Maintainability
A
0 mins
Test Coverage
A
91%
"""
byceps.blueprints.admin.more.views
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:Copyright: 2014-2024 Jochen Kupperschmidt
:License: Revised BSD (see `LICENSE` file for details)
"""

from flask import abort

from byceps.services.brand import brand_service
from byceps.services.party import party_service
from byceps.services.site import site_service
from byceps.util.framework.blueprint import create_blueprint
from byceps.util.framework.templating import templated
from byceps.util.views import permission_required


blueprint = create_blueprint('more_admin', __name__)


@blueprint.get('/global')
@permission_required('admin.access')
@templated
def view_global():
    """Show more global admin items."""
    return {}


@blueprint.get('/brands/<brand_id>')
@permission_required('admin.access')
@templated
def view_brand(brand_id):
    """Show more brand admin items."""
    brand = brand_service.find_brand(brand_id)
    if brand is None:
        abort(404)

    return {'brand': brand}


@blueprint.get('/parties/<party_id>')
@permission_required('admin.access')
@templated
def view_party(party_id):
    """Show more party admin items."""
    party = party_service.find_party(party_id)
    if party is None:
        abort(404)

    return {'party': party}


@blueprint.get('/sites/<site_id>')
@permission_required('admin.access')
@templated
def view_site(site_id):
    """Show more site admin items."""
    site = site_service.find_site(site_id)
    if site is None:
        abort(404)

    return {'site': site}