Add queue name to serializer, filterset, detail view

This commit is contained in:
Arthur
2026-01-27 11:42:47 -08:00
parent 731c0a9e08
commit baf3939ddb
5 changed files with 22 additions and 4 deletions
+2 -1
View File
@@ -31,7 +31,8 @@ class JobSerializer(BaseModelSerializer):
model = Job model = Job
fields = [ fields = [
'id', 'url', 'display_url', 'display', 'object_type', 'object_id', 'object', 'name', 'status', 'created', 'id', 'url', 'display_url', 'display', 'object_type', 'object_id', 'object', 'name', 'status', 'created',
'scheduled', 'interval', 'started', 'completed', 'user', 'data', 'error', 'job_id', 'log_entries', 'scheduled', 'interval', 'started', 'completed', 'user', 'data', 'error', 'job_id', 'queue_name',
'log_entries',
] ]
brief_fields = ('url', 'created', 'completed', 'user', 'status') brief_fields = ('url', 'created', 'completed', 'user', 'status')
+7 -1
View File
@@ -129,10 +129,16 @@ class JobFilterSet(BaseFilterSet):
choices=JobStatusChoices, choices=JobStatusChoices,
null_value=None null_value=None
) )
queue_name = django_filters.CharFilter(
lookup_expr='icontains'
)
class Meta: class Meta:
model = Job model = Job
fields = ('id', 'object_type', 'object_type_id', 'object_id', 'name', 'interval', 'status', 'user', 'job_id') fields = (
'id', 'object_type', 'object_type_id', 'object_id', 'name', 'interval', 'status', 'user', 'job_id',
'queue_name',
)
def search(self, queryset, name, value): def search(self, queryset, name, value):
if not value.strip(): if not value.strip():
+5 -1
View File
@@ -71,7 +71,7 @@ class JobFilterForm(SavedFiltersMixin, FilterForm):
model = Job model = Job
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id'), FieldSet('q', 'filter_id'),
FieldSet('object_type_id', 'status', name=_('Attributes')), FieldSet('object_type_id', 'status', 'queue_name', name=_('Attributes')),
FieldSet( FieldSet(
'created__before', 'created__after', 'scheduled__before', 'scheduled__after', 'started__before', 'created__before', 'created__after', 'scheduled__before', 'scheduled__after', 'started__before',
'started__after', 'completed__before', 'completed__after', 'user', name=_('Creation') 'started__after', 'completed__before', 'completed__after', 'user', name=_('Creation')
@@ -87,6 +87,10 @@ class JobFilterForm(SavedFiltersMixin, FilterForm):
choices=JobStatusChoices, choices=JobStatusChoices,
required=False required=False
) )
queue_name = forms.CharField(
label=_('Queue'),
required=False
)
created__after = forms.DateTimeField( created__after = forms.DateTimeField(
label=_('Created after'), label=_('Created after'),
required=False, required=False,
+4 -1
View File
@@ -42,6 +42,9 @@ class JobTable(NetBoxTable):
completed = columns.DateTimeColumn( completed = columns.DateTimeColumn(
verbose_name=_('Completed'), verbose_name=_('Completed'),
) )
queue_name = tables.Column(
verbose_name=_('Queue'),
)
log_entries = tables.Column( log_entries = tables.Column(
verbose_name=_('Log Entries'), verbose_name=_('Log Entries'),
) )
@@ -53,7 +56,7 @@ class JobTable(NetBoxTable):
model = Job model = Job
fields = ( fields = (
'pk', 'id', 'object_type', 'object', 'name', 'status', 'created', 'scheduled', 'interval', 'started', 'pk', 'id', 'object_type', 'object', 'name', 'status', 'created', 'scheduled', 'interval', 'started',
'completed', 'user', 'error', 'job_id', 'completed', 'user', 'queue_name', 'log_entries', 'error', 'job_id',
) )
default_columns = ( default_columns = (
'pk', 'id', 'object_type', 'object', 'name', 'status', 'created', 'started', 'completed', 'user', 'pk', 'id', 'object_type', 'object', 'name', 'status', 'created', 'started', 'completed', 'user',
+4
View File
@@ -59,6 +59,10 @@
<th scope="row">{% trans "Completed" %}</th> <th scope="row">{% trans "Completed" %}</th>
<td>{{ object.completed|isodatetime|placeholder }}</td> <td>{{ object.completed|isodatetime|placeholder }}</td>
</tr> </tr>
<tr>
<th scope="row">{% trans "Queue" %}</th>
<td>{{ object.queue_name|placeholder }}</td>
</tr>
</table> </table>
</div> </div>
</div> </div>