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", )
"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)
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")
"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)
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)
) 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)