@@ -261,8 +261,26 @@ def run_tasks(self, request, queryset):
261
261
)
262
262
263
263
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
+
278
+ class ScheduleAdmin (admin .ModelAdmin ):
279
+ inlines = [PeriodicTaskInline ]
280
+
281
+
264
282
@admin .register (ClockedSchedule )
265
- class ClockedScheduleAdmin (admin . ModelAdmin ):
283
+ class ClockedScheduleAdmin (ScheduleAdmin ):
266
284
"""Admin-interface for clocked schedules."""
267
285
268
286
fields = (
@@ -274,11 +292,22 @@ class ClockedScheduleAdmin(admin.ModelAdmin):
274
292
275
293
276
294
@admin .register (CrontabSchedule )
277
- class CrontabScheduleAdmin (admin . ModelAdmin ):
295
+ class CrontabScheduleAdmin (ScheduleAdmin ):
278
296
"""Admin class for CrontabSchedule."""
279
297
280
298
list_display = ('__str__' , 'human_readable' )
299
+ fields = ('human_readable' , 'minute' , 'hour' , 'day_of_month' ,
300
+ 'month_of_year' , 'day_of_week' , 'timezone' )
301
+ readonly_fields = ('human_readable' , )
302
+
303
+
304
+ @admin .register (SolarSchedule )
305
+ class SolarScheduleAdmin (ScheduleAdmin ):
306
+ """Admin class for SolarSchedule."""
307
+ pass
281
308
282
309
283
- admin .site .register (IntervalSchedule )
284
- admin .site .register (SolarSchedule )
310
+ @admin .register (IntervalSchedule )
311
+ class IntervalScheduleAdmin (ScheduleAdmin ):
312
+ """Admin class for IntervalSchedule."""
313
+ pass
0 commit comments