@@ -261,8 +261,24 @@ 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
+ class ScheduleAdmin (admin .ModelAdmin ):
278
+ inlines = [PeriodicTaskInline ]
279
+
264
280
@admin .register (ClockedSchedule )
265
- class ClockedScheduleAdmin (admin . ModelAdmin ):
281
+ class ClockedScheduleAdmin (ScheduleAdmin ):
266
282
"""Admin-interface for clocked schedules."""
267
283
268
284
fields = (
@@ -272,13 +288,21 @@ class ClockedScheduleAdmin(admin.ModelAdmin):
272
288
'clocked_time' ,
273
289
)
274
290
275
-
276
291
@admin .register (CrontabSchedule )
277
- class CrontabScheduleAdmin (admin . ModelAdmin ):
292
+ class CrontabScheduleAdmin (ScheduleAdmin ):
278
293
"""Admin class for CrontabSchedule."""
279
294
280
295
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