Skip to content

Commit

Permalink
update: updating fold settings
Browse files Browse the repository at this point in the history
  • Loading branch information
yokwejuste committed Jan 6, 2025
1 parent 619ebfa commit 94af232
Show file tree
Hide file tree
Showing 4 changed files with 118 additions and 15 deletions.
55 changes: 55 additions & 0 deletions app/dj_apps/portfolio/admin.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,62 @@
from django.contrib import admin
from django_celery_beat.admin import ClockedScheduleAdmin as BaseClockedScheduleAdmin
from django_celery_beat.admin import CrontabScheduleAdmin as BaseCrontabScheduleAdmin
from django_celery_beat.admin import PeriodicTaskAdmin as BasePeriodicTaskAdmin
from django_celery_beat.admin import PeriodicTaskForm, TaskSelectWidget
from django_celery_beat.models import (
ClockedSchedule,
CrontabSchedule,
IntervalSchedule,
PeriodicTask,
SolarSchedule,
)
from unfold.admin import ModelAdmin
from unfold.widgets import UnfoldAdminSelectWidget, UnfoldAdminTextInputWidget

from .models import Projects, Categories, Skills

admin.site.unregister(PeriodicTask)
admin.site.unregister(IntervalSchedule)
admin.site.unregister(CrontabSchedule)
admin.site.unregister(SolarSchedule)
admin.site.unregister(ClockedSchedule)


class UnfoldTaskSelectWidget(UnfoldAdminSelectWidget, TaskSelectWidget):
pass


class UnfoldPeriodicTaskForm(PeriodicTaskForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["task"].widget = UnfoldAdminTextInputWidget()
self.fields["regtask"].widget = UnfoldTaskSelectWidget()


@admin.register(PeriodicTask)
class PeriodicTaskAdmin(BasePeriodicTaskAdmin, ModelAdmin):
form = UnfoldPeriodicTaskForm


@admin.register(IntervalSchedule)
class IntervalScheduleAdmin(ModelAdmin):
pass


@admin.register(CrontabSchedule)
class CrontabScheduleAdmin(BaseCrontabScheduleAdmin, ModelAdmin):
pass


@admin.register(SolarSchedule)
class SolarScheduleAdmin(ModelAdmin):
pass


@admin.register(ClockedSchedule)
class ClockedScheduleAdmin(BaseClockedScheduleAdmin, ModelAdmin):
pass

admin.site.register(Projects)
admin.site.register(Categories)
admin.site.register(Skills)
3 changes: 2 additions & 1 deletion app/dj_apps/users/admin.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
from django.contrib import admin

from unfold.admin import ModelAdmin
from .models import UserTag, VisuleoUser

admin.site.register(UserTag)


@admin.register(VisuleoUser)
class VisuleoUserAdmin(admin.ModelAdmin):
class VisuleoUserAdmin(ModelAdmin):
list_display = ("email", "name", "is_active", "is_staff", "is_superuser")
list_filter = ("is_active", "is_staff", "is_superuser")
search_fields = ("email", "name", "username")
Expand Down
70 changes: 56 additions & 14 deletions app/visuleo_port/settings/extra.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@
"passkeys",
"app.dj_apps.portfolio",
"app.dj_apps.users",
'django_celery_beat',
'django_celery_results',
]

AUTHENTICATION_BACKENDS = [
Expand Down Expand Up @@ -147,28 +149,68 @@
],
"TABS": [
{
"models": [
"users.VisuleoUser",
"users.UserTag",
],
"items": [
{
"models": [
"users.VisuleoUser",
"users.UserTag",
],
"label": "Users",
"icon": "people",
"title": _("User Management"),
"link": reverse_lazy("admin:users_visuleouser_changelist"),
"permission": lambda request: request.user.has_perm("users.change_visuleouser"),
},
],
"label": "Users",
"icon": "people",
},
{
"models": [
"portfolio.Projects",
"portfolio.Categories",
"portfolio.Skills",
],
"items": [
{
"models": [
"portfolio.Projects",
"portfolio.Categories",
"portfolio.Skills",
],
"label": "Portfolio",
"icon": "work",
"title": _("Portfolio Management"),
"link": reverse_lazy("admin:portfolio_projects_changelist"),
"permission": lambda request: request.user.has_perm("portfolio.change_projects"),
},
],
}
"label": "Portfolio",
"icon": "work",
},
{
"models": [
"django_celery_beat.ClockedSchedule",
"django_celery_beat.CrontabSchedule",
"django_celery_beat.IntervalSchedule",
"django_celery_beat.PeriodicTask",
"django_celery_beat.SolarSchedule",
],
"items": [
{
"title": _("Manage Celery Beat"),
"link": reverse_lazy("admin:django_celery_beat_periodictask_changelist"),
"permission": lambda request: request.user.has_perm("django_celery_beat.change_clocked_schedule"),
},
],
"label": "Celery Beat",
"icon": "schedule",
},
{
"models": [
"django_celery_results.TaskResult",
],
"items": [
{
"title": _("Task Results"),
"link": reverse_lazy("admin:django_celery_results_taskresult_changelist"),
"permission": lambda request: request.user.has_perm("django_celery_results.change_taskresult"),
},
],
"label": "Celery Results",
"icon": "schedule",
},
],
"EXTENSIONS": {
"modeltranslation": {
Expand Down
5 changes: 5 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ click-didyoumean==0.3.1
click-plugins==1.1.1
click-repl==0.3.0
cookiecutter==2.6.0
cron-descriptor==1.4.5
cryptography==42.0.8
defusedxml==0.7.1
dill==0.3.6
Expand All @@ -34,6 +35,8 @@ django-allauth-ui==1.5.3
django-appconf==1.0.6
django-auditlog==3.0.0
django-browser-reload==1.17.0
django-celery-beat==2.7.0
django-celery-results==2.5.1
django-compressor==4.5.1
django-cors-headers==4.6.0
django-debug-toolbar==4.4.6
Expand All @@ -44,6 +47,7 @@ django-oauth-toolkit==3.0.1
django-passkeys==1.2.7
django-simple-history==3.7.0
django-storages==1.14.4
django-timezone-field==7.0
django-unfold==0.43.0
django-widget-tweaks==1.5.0
dnslib==0.9.25
Expand Down Expand Up @@ -95,6 +99,7 @@ Pygments==2.18.0
PyJWT==2.10.1
pyotp==2.9.0
pyproject_hooks==1.2.0
python-crontab==3.2.0
python-dateutil==2.9.0.post0
python-dotenv==1.0.1
python-jose==3.3.0
Expand Down

0 comments on commit 94af232

Please sign in to comment.