From ad8bfcc54af41b4d54c893b096152a7cb8dccd4f Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Wed, 18 Jan 2023 21:55:35 +0100 Subject: [PATCH 1/5] Add SPA support --- aleksis/apps/hjelp/frontend/index.js | 84 ++++++++++++++++++++ aleksis/apps/hjelp/frontend/messages/de.json | 5 ++ aleksis/apps/hjelp/frontend/messages/en.json | 15 ++++ aleksis/apps/hjelp/views.py | 2 + 4 files changed, 106 insertions(+) create mode 100644 aleksis/apps/hjelp/frontend/index.js create mode 100644 aleksis/apps/hjelp/frontend/messages/de.json create mode 100644 aleksis/apps/hjelp/frontend/messages/en.json diff --git a/aleksis/apps/hjelp/frontend/index.js b/aleksis/apps/hjelp/frontend/index.js new file mode 100644 index 0000000..04ab0ae --- /dev/null +++ b/aleksis/apps/hjelp/frontend/index.js @@ -0,0 +1,84 @@ +export default + { + meta: { + inMenu: true, + titleKey: "hjelp.menu_title", + icon: "mdi-help-circle-outline", + }, + children: [ + { + path: "issues/report/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "hjelp.reportIssue", + meta: { + inMenu: true, + titleKey: "hjelp.issues.menu_title", + icon: "mdi-bug-outline", + permission: "hjelp.report_issue_rule", + }, + }, + { + path: "feedback/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "hjelp.feedback", + meta: { + inMenu: true, + titleKey: "hjelp.feedback.menu_title", + icon: "mdi-message-text-outline", + permission: "hjelp.send_feedback_rule", + }, + }, + { + path: "faq/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "hjelp.faq", + meta: { + inMenu: true, + titleKey: "hjelp.faq.menu_title_list", + icon: "mdi-forum-outline", + permission: "hjelp.view_faq_rule", + }, + }, + { + path: "faq/ask/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "hjelp.askFaq", + }, + { + path: "faq/order/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "hjelp.orderFaq", + meta: { + inMenu: true, + titleKey: "hjelp.faq.menu_title_manage", + icon: "mdi-priority-low", + permission: "hjelp.change_faq_rule", + }, + }, + { + path: "faq/section/create/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "hjelp.createFaqSection", + }, + { + path: "faq/section/:pk/delete/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "hjelp.deleteFaqSection", + }, + { + path: "faq/question/create/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "hjelp.createFaqQuestion", + }, + { + path: "faq/question/:pk/update/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "hjelp.updateFaqQuestion", + }, + { + path: "faq/question/:pk/delete/", + component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), + name: "hjelp.deleteFaqQuestion", + }, + ], + } diff --git a/aleksis/apps/hjelp/frontend/messages/de.json b/aleksis/apps/hjelp/frontend/messages/de.json new file mode 100644 index 0000000..f3a78a6 --- /dev/null +++ b/aleksis/apps/hjelp/frontend/messages/de.json @@ -0,0 +1,5 @@ +{ + "hjelp": { + "menu_title": "Support" + } +} diff --git a/aleksis/apps/hjelp/frontend/messages/en.json b/aleksis/apps/hjelp/frontend/messages/en.json new file mode 100644 index 0000000..2e63596 --- /dev/null +++ b/aleksis/apps/hjelp/frontend/messages/en.json @@ -0,0 +1,15 @@ +{ + "hjelp": { + "menu_title": "Support", + "issues": { + "menu_title": "Report an issue" + }, + "feedback": { + "menu_title": "Give feedback" + }, + "faq": { + "menu_title_list": "FAQ", + "menu_title_manage": "Manage FAQ" + } + } +} diff --git a/aleksis/apps/hjelp/views.py b/aleksis/apps/hjelp/views.py index 20e9a26..4da079d 100644 --- a/aleksis/apps/hjelp/views.py +++ b/aleksis/apps/hjelp/views.py @@ -14,6 +14,7 @@ from material import Layout, Row from rules.contrib.views import permission_required from templated_email import send_templated_mail +from aleksis.core.decorators import pwa_cache from aleksis.core.mixins import AdvancedCreateView, AdvancedDeleteView, AdvancedEditView from aleksis.core.models import Activity from aleksis.core.util.core_helpers import get_site_preferences @@ -22,6 +23,7 @@ from .forms import FAQForm, FAQOrderFormSet, FAQQuestionForm, FeedbackForm, Issu from .models import FAQQuestion, FAQSection, IssueCategory +@pwa_cache @permission_required("hjelp.view_faq_rule") def faq(request): """Show the FAQ page.""" -- GitLab From 704ffb1d7fbed34f837cf66d2673c2765ea275dc Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Thu, 26 Jan 2023 12:54:21 +0100 Subject: [PATCH 2/5] Bow to the almighty Aleksolotl in order to gain consent for using the LegacyBaseTemplate --- aleksis/apps/hjelp/frontend/index.js | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/aleksis/apps/hjelp/frontend/index.js b/aleksis/apps/hjelp/frontend/index.js index 04ab0ae..22f72f5 100644 --- a/aleksis/apps/hjelp/frontend/index.js +++ b/aleksis/apps/hjelp/frontend/index.js @@ -5,6 +5,9 @@ export default titleKey: "hjelp.menu_title", icon: "mdi-help-circle-outline", }, + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, children: [ { path: "issues/report/", @@ -16,6 +19,9 @@ export default icon: "mdi-bug-outline", permission: "hjelp.report_issue_rule", }, + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, }, { path: "feedback/", @@ -27,6 +33,9 @@ export default icon: "mdi-message-text-outline", permission: "hjelp.send_feedback_rule", }, + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, }, { path: "faq/", @@ -38,11 +47,17 @@ export default icon: "mdi-forum-outline", permission: "hjelp.view_faq_rule", }, + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, }, { path: "faq/ask/", component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), name: "hjelp.askFaq", + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, }, { path: "faq/order/", @@ -54,31 +69,49 @@ export default icon: "mdi-priority-low", permission: "hjelp.change_faq_rule", }, + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, }, { path: "faq/section/create/", component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), name: "hjelp.createFaqSection", + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, }, { path: "faq/section/:pk/delete/", component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), name: "hjelp.deleteFaqSection", + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, }, { path: "faq/question/create/", component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), name: "hjelp.createFaqQuestion", + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, }, { path: "faq/question/:pk/update/", component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), name: "hjelp.updateFaqQuestion", + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, }, { path: "faq/question/:pk/delete/", component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"), name: "hjelp.deleteFaqQuestion", + props: { + byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true, + }, }, ], } -- GitLab From fb926204b34e06e56a95b8ae003bfc46f8c19d33 Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Thu, 26 Jan 2023 12:54:31 +0100 Subject: [PATCH 3/5] Add changelog entry --- CHANGELOG.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 37b0837..c36f7e9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,6 +9,11 @@ and this project adheres to `Semantic Versioning`_. Unreleased ---------- +Added +~~~~~ + +* Add SPA support. + `2.1`_ - 2022-06-25 ------------------- -- GitLab From 62bdc7bb3011a91f55c02a6d3da61cb3876199cb Mon Sep 17 00:00:00 2001 From: Julian Leucker <leuckerj@gmail.com> Date: Tue, 31 Jan 2023 19:49:33 +0100 Subject: [PATCH 4/5] Bump version of Hjelp and core requirement --- docs/conf.py | 4 ++-- pyproject.toml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index f010a10..55f206f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -29,9 +29,9 @@ copyright = "2018-2022 The AlekSIS team" author = "The AlekSIS Team" # The short X.Y version -version = "2.1" +version = "3.0" # The full version, including alpha/beta/rc tags -release = "2.1.1.dev0" +release = "3.0.0.dev0" # -- General configuration --------------------------------------------------- diff --git a/pyproject.toml b/pyproject.toml index d1a4c77..ae37216 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "AlekSIS-App-Hjelp" -version = "2.1.1.dev0" +version = "3.0.0.dev0" packages = [ { include = "aleksis" } ] @@ -38,7 +38,7 @@ secondary = true [tool.poetry.dependencies] python = "^3.9" -aleksis-core = "^2.10" +aleksis-core = "^3.0.dev3" [tool.poetry.dev-dependencies] aleksis-builddeps = "*" -- GitLab From 2eed677339e0c8ad90809d8cefde7003516a6a81 Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Wed, 1 Feb 2023 21:42:29 +0000 Subject: [PATCH 5/5] Remove unused legacy menus.py file --- CHANGELOG.rst | 8 +++++ aleksis/apps/hjelp/menus.py | 64 ------------------------------------- 2 files changed, 8 insertions(+), 64 deletions(-) delete mode 100644 aleksis/apps/hjelp/menus.py diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c36f7e9..b5b44a5 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,14 @@ All notable changes to this project will be documented in this file. The format is based on `Keep a Changelog`_, and this project adheres to `Semantic Versioning`_. +Breaking changes +---------------- + +Removed +~~~~~~~ + +* Remove legacy menu entries. + Unreleased ---------- diff --git a/aleksis/apps/hjelp/menus.py b/aleksis/apps/hjelp/menus.py deleted file mode 100644 index 1f27f11..0000000 --- a/aleksis/apps/hjelp/menus.py +++ /dev/null @@ -1,64 +0,0 @@ -from django.utils.translation import gettext_lazy as _ - -MENUS = { - "NAV_MENU_CORE": [ - { - "name": _("Support"), - "url": "#", - "icon": "help", - "root": True, - "validators": [ - ( - "aleksis.core.util.predicates.permission_validator", - "hjelp.show_menu_rule", - ), - ], - "submenu": [ - { - "name": _("Report an issue"), - "url": "report_issue", - "icon": "bug_report", - "validators": [ - ( - "aleksis.core.util.predicates.permission_validator", - "hjelp.report_issue_rule", - ), - ], - }, - { - "name": _("Give feedback"), - "url": "feedback", - "icon": "message_alert", - "validators": [ - ( - "aleksis.core.util.predicates.permission_validator", - "hjelp.send_feedback_rule", - ), - ], - }, - { - "name": _("FAQ"), - "url": "faq", - "icon": "question_answer", - "validators": [ - ( - "aleksis.core.util.predicates.permission_validator", - "hjelp.view_faq_rule", - ), - ], - }, - { - "name": _("Manage FAQ"), - "url": "order_faq", - "icon": "low_priority", - "validators": [ - ( - "aleksis.core.util.predicates.permission_validator", - "hjelp.change_faq_rule", - ), - ], - }, - ], - } - ] -} -- GitLab