Skip to content

Commit 32ac983

Browse files
committed
wip
1 parent e8c8764 commit 32ac983

File tree

2 files changed

+43
-5
lines changed

2 files changed

+43
-5
lines changed

scheduler/admin/task_admin.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212

1313
class HiddenMixin(object):
1414
class Media:
15-
js = [
16-
"admin/js/jquery.init.js",
17-
]
15+
js = ("admin/js/jquery.init.js",)
1816

1917

2018
class JobArgInline(HiddenMixin, GenericStackedInline):
@@ -33,6 +31,9 @@ class JobKwargInline(HiddenMixin, GenericStackedInline):
3331
class TaskAdmin(admin.ModelAdmin):
3432
"""TaskAdmin admin view for all task models."""
3533

34+
class Media:
35+
js = ("admin/js/jquery.init.js", "admin/js/select-fields.js",)
36+
3637
save_on_top = True
3738
change_form_template = "admin/scheduler/change_form.html"
3839
actions = [
@@ -69,7 +70,7 @@ class TaskAdmin(admin.ModelAdmin):
6970
"failed_runs",
7071
"last_failed_run",
7172
)
72-
radio_fields = {"task_type": admin.HORIZONTAL}
73+
# radio_fields = {"task_type": admin.HORIZONTAL}
7374
fieldsets = (
7475
(
7576
None,
@@ -79,10 +80,20 @@ class TaskAdmin(admin.ModelAdmin):
7980
"callable",
8081
"task_type",
8182
("enabled", "timeout", "result_ttl"),
82-
("scheduled_time", "cron_string", "interval", "interval_unit", "repeat"),
8383
)
8484
),
8585
),
86+
(
87+
None,
88+
dict(fields=("scheduled_time",), classes=("tasktype-OnceTask",)),
89+
),
90+
(
91+
None,
92+
dict(fields=("cron_string",), classes=("tasktype-CronTask",)),
93+
), (
94+
None,
95+
dict(fields=("interval", "interval_unit", "repeat"), classes=("tasktype-RepeatableTask",)),
96+
),
8697
(_("RQ Settings"), dict(fields=(("queue", "at_front"), "job_id"))),
8798
(
8899
_("Previous runs info"),
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
(function ($) {
2+
$(function () {
3+
const tasktypes = {
4+
"CronTask": $(".tasktype-CronTask"),
5+
"RepeatableTask": $(".tasktype-RepeatableTask"),
6+
"OnceTask": $(".tasktype-OnceTask"),
7+
};
8+
var taskTypeField = $('#id_task_type');
9+
10+
function toggleVerified(value) {
11+
console.log(value);
12+
for (const [k, v] of Object.entries(tasktypes)) {
13+
if (k === value) {
14+
v.show();
15+
} else {
16+
v.hide();
17+
}
18+
}
19+
}
20+
21+
toggleVerified(taskTypeField.val());
22+
23+
taskTypeField.change(function () {
24+
toggleVerified($(this).val());
25+
});
26+
});
27+
})(django.jQuery);

0 commit comments

Comments
 (0)