Skip to content
Snippets Groups Projects
Verified Commit 1074863e authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Migrate to new SPA

parent cde8e23d
No related branches found
No related tags found
No related merge requests found
export default {
meta: {
inMenu: true,
titleKey: "kort.menu_title",
icon: "mdi-card-account-details-outline",
},
children: [
{
path: "cards/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.cards",
meta: {
inMenu: true,
titleKey: "kort.card.menu_title",
icon: "mdi-card-multiple-outline",
permission: "kort.view_cards_rule",
},
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "cards/create/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.createCard",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "cards/:pk/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.card",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "cards/:pk/generate_pdf/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.generateCardPdf",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "cards/:pk/deactivate/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.deactivateCard",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "cards/:pk/print/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.printCard",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "cards/:pk/delete/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.deleteCard",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "printers/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.cardPrinters",
meta: {
inMenu: true,
titleKey: "kort.printer.menu_title",
icon: "mdi-printer-outline",
permission: "kort.view_cardprinters_rule",
},
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "printers/create/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.createCardPrinter",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "printers/:pk/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.cardPrinter",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "printers/:pk/edit/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.editCardPrinter",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "printers/:pk/delete/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.deleteCardPrinter",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "printers/:pk/config/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.cardPrinterConfig",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "layouts/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.cardLayouts",
meta: {
inMenu: true,
titleKey: "kort.layout.menu_title",
icon: "mdi-card-account-details-star-outline",
permission: "kort.view_cardlayouts_rule",
},
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "layouts/create/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.createCardLayout",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "layouts/:pk/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.cardLayout",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "layouts/:pk/edit/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.editCardLayout",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "layouts/:pk/delete/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "kort.deleteCardLayout",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
],
};
{
"kort": {
"menu_title": "Student ID Cards",
"card": {
"menu_title": "All Cards"
},
"printer": {
"menu_title": "Card Printers"
},
"layout": {
"menu_title": "Card Layouts"
}
}
}
from django.utils.translation import ugettext_lazy as _
MENUS = {
"NAV_MENU_CORE": [
{
"name": _("Student ID Cards"),
"url": "#",
"root": True,
"svg_icon": "mdi:card-account-details-outline",
"validators": [
(
"aleksis.core.util.predicates.permission_validator",
"kort.view_menu_rule",
)
],
"submenu": [
{
"name": _("All Cards"),
"url": "cards",
"svg_icon": "mdi:card-multiple-outline",
"validators": [
(
"aleksis.core.util.predicates.permission_validator",
"kort.view_cards_rule",
)
],
},
{
"name": _("Card Printers"),
"url": "card_printers",
"svg_icon": "mdi:printer-outline",
"validators": [
(
"aleksis.core.util.predicates.permission_validator",
"kort.view_cardprinters_rule",
)
],
},
{
"name": _("Card Layouts"),
"url": "card_layouts",
"svg_icon": "mdi:card-account-details-star-outline",
"validators": [
(
"aleksis.core.util.predicates.permission_validator",
"kort.view_cardlayouts_rule",
)
],
},
],
}
]
}
......@@ -37,6 +37,9 @@ urlpatterns = [
views.CardLayoutDeleteView.as_view(),
name="delete_card_layout",
),
]
api_urlpatterns = [
path("api/v1/printers/", api.CardPrinterDetails.as_view(), name="api_card_printer"),
path(
"api/v1/printers/<int:pk>/status/",
......
......@@ -25,7 +25,7 @@ secondary = true
[tool.poetry.dependencies]
python = "^3.9"
aleksis-core = "^2.12"
aleksis-core = "^3.0b2"
python-barcode = "^0.14.0"
django-formtools = "^2.3"
django-ace = "^1.0.12"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment