Ejemplo n.º 1
0
def test_public_app():
    public_app = PublicApp("my_open_house", ("beverage", "snack"))
    assert public_app.name == "my_open_house"
    assert public_app.permissions == (
        "my_open_house.view_beverage",
        "my_open_house.view_snack",
    )
Ejemplo n.º 2
0
        "revenue_type",
        "modality",
        "description",
        "value",
        "legal_status",
        "destination",
    )


class MariaQuiteriaPublicAdminSite(PublicAdminSite):
    site_title = "Dados Abertos de Feira"
    site_header = "Dados Abertos de Feira"
    index_title = "Painel de buscas"


public_app = PublicApp("datasets", models=())
public_admin = MariaQuiteriaPublicAdminSite(public_apps=public_app)
models_and_admins = [
    (CityCouncilAgenda, CityCouncilAgendaAdmin),
    (CityCouncilAttendanceList, CityCouncilAttendanceListAdmin),
    (CityCouncilBid, CityCouncilBidAdmin),
    (CityCouncilContract, CityCouncilContractAdmin),
    (CityCouncilExpense, CityCouncilExpenseAdmin),
    (CityCouncilMinute, CityCouncilMinuteAdmin),
    (CityCouncilRevenue, CityCouncilRevenueAdmin),
    (Gazette, GazetteAdmin),
    (CityHallBid, CityHallBidAdmin),
]

for model, admin_class in models_and_admins:
    public_admin.register(model, admin_class)
Ejemplo n.º 3
0
from public_admin.sites import DummyUser, PublicApp


PUBLIC_APPS = (
    PublicApp("my_open_house", ("beverage", "snack")),
    PublicApp("library", ("book", "journal")),
)


def test_has_module_permissions():
    user = DummyUser(PUBLIC_APPS)
    assert user.has_module_perms("my_open_house")
    assert user.has_module_perms("library")
    assert not user.has_module_perms("core")


def test_has_permissions():
    user = DummyUser(PUBLIC_APPS)
    assert user.has_perm("my_open_house.view_beverage")
    assert user.has_perm("my_open_house.view_snack")
    assert not user.has_perm("my_open_house.view_bedroom")
    assert user.has_perm("library.view_book")
    assert user.has_perm("library.view_journal")
    assert not user.has_perm("library.view_fine")
Ejemplo n.º 4
0
        "unit",
        "category",
    )


class MariaQuiteriaPublicAdminSite(PublicAdminSite):
    site_title = "Dados Abertos de Feira"
    site_header = "Dados Abertos de Feira"
    index_title = "Painel de buscas"


models_and_admins = [
    (CityCouncilAgenda, CityCouncilAgendaAdmin),
    (CityCouncilAttendanceList, CityCouncilAttendanceListAdmin),
    (CityCouncilBid, CityCouncilBidAdmin),
    (CityCouncilContract, CityCouncilContractAdmin),
    (CityCouncilExpense, CityCouncilExpenseAdmin),
    (CityCouncilRevenue, CityCouncilRevenueAdmin),
    (CityCouncilMinute, CityCouncilMinuteAdmin),
    (Gazette, GazetteAdmin),
    (CityHallBid, CityHallBidAdmin),
    (TCMBADocument, TCMBADocumentAdmin),
]
public_app = PublicApp("datasets",
                       models=(model[0].__name__
                               for model in models_and_admins))
public_admin = MariaQuiteriaPublicAdminSite(public_apps=public_app)

for model, admin_class in models_and_admins:
    public_admin.register(model, admin_class)
Ejemplo n.º 5
0
from public_admin.admin import PublicModelAdmin
from public_admin.sites import PublicAdminSite, PublicApp

from example.my_open_house.models import Beverage, Snack


class BeverageModelAdmin(PublicModelAdmin):
    list_display = ("name", "amount", "alcoholic")
    list_filter = ("alcoholic",)


class SnackModelAdmin(PublicModelAdmin):
    list_display = ("name", "amount", "vegan")
    list_filter = ("vegan",)


public_app = PublicApp("my_open_house", models=("Beverage", "Snack"))
public_admin = PublicAdminSite("dashboard", public_app)
public_admin.register(Beverage, BeverageModelAdmin)
public_admin.register(Snack, SnackModelAdmin)
Ejemplo n.º 6
0
        )

    def title_ukr(self, obj) -> str:
        return obj.title_ukr

    def title_not_ukr(self, obj) -> str:
        return obj.title_eng or obj.title_not_ukr

    def max_year(self, obj):
        return obj.max_year

    def max_season(self, obj):
        return obj.max_season

    max_year.admin_order_field = 'max_year'

    def max_registered_on(self, obj):
        return obj.max_registered_on

    max_registered_on.admin_order_field = 'max_registered_on'

    def link(self, obj):
        return format_html(
            f"<a href='https://toloka.to/tracker.php?nm={obj.title_eng or obj.title_ukr}' target='_blank'>link</a>"
        )


public_app = PublicApp("posts", models=("MediaItem", ))
public_admin = PublicAdminSite("dashboard", public_app)
public_admin.register(MediaItem, PublicMediaItemAdmin)