Skip to content

Commit 797dbf1

Browse files
committed
Adding inline to each schedule admin to show PeriodicTasks using the schedule
For issue #742
1 parent 9ea17af commit 797dbf1

File tree

1 file changed

+31
-7
lines changed

1 file changed

+31
-7
lines changed

django_celery_beat/admin.py

+31-7
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,24 @@ def run_tasks(self, request, queryset):
261261
)
262262

263263

264+
class PeriodicTaskInline(admin.TabularInline):
265+
model = PeriodicTask
266+
fields = ('name', 'task', 'args', 'kwargs')
267+
readonly_fields = fields
268+
can_delete = False
269+
extra = 0
270+
show_change_link = True
271+
verbose_name = "Periodic Tasks Using This Schedule"
272+
verbose_name_plural = verbose_name
273+
274+
def has_add_permission(self, request, obj):
275+
return False
276+
277+
class ScheduleAdmin(admin.ModelAdmin):
278+
inlines = [PeriodicTaskInline]
279+
264280
@admin.register(ClockedSchedule)
265-
class ClockedScheduleAdmin(admin.ModelAdmin):
281+
class ClockedScheduleAdmin(ScheduleAdmin):
266282
"""Admin-interface for clocked schedules."""
267283

268284
fields = (
@@ -272,13 +288,21 @@ class ClockedScheduleAdmin(admin.ModelAdmin):
272288
'clocked_time',
273289
)
274290

275-
276291
@admin.register(CrontabSchedule)
277-
class CrontabScheduleAdmin(admin.ModelAdmin):
292+
class CrontabScheduleAdmin(ScheduleAdmin):
278293
"""Admin class for CrontabSchedule."""
279294

280295
list_display = ('__str__', 'human_readable')
281-
282-
283-
admin.site.register(IntervalSchedule)
284-
admin.site.register(SolarSchedule)
296+
fields = ('human_readable', 'minute', 'hour', 'day_of_month',
297+
'month_of_year', 'day_of_week', 'timezone')
298+
readonly_fields = ('human_readable', )
299+
300+
@admin.register(SolarSchedule)
301+
class SolarScheduleAdmin(ScheduleAdmin):
302+
"""Admin class for SolarSchedule."""
303+
pass
304+
305+
@admin.register(IntervalSchedule)
306+
class IntervalScheduleAdmin(ScheduleAdmin):
307+
"""Admin class for IntervalSchedule."""
308+
pass

0 commit comments

Comments
 (0)