mirror of
https://github.com/ansible/awx.git
synced 2026-05-10 02:47:36 -02:30
Add search fields to views
Make receptoraddress list views searchable by "address" Other changes: - Add help text to source and target of the InstanceLink model Signed-off-by: Seth Foster <fosterbseth@gmail.com>
This commit is contained in:
@@ -376,31 +376,28 @@ class InstanceUnifiedJobsList(SubListAPIView):
|
|||||||
|
|
||||||
class InstancePeersList(SubListAPIView):
|
class InstancePeersList(SubListAPIView):
|
||||||
name = _("Peers")
|
name = _("Peers")
|
||||||
parent_model = models.Instance
|
|
||||||
model = models.ReceptorAddress
|
model = models.ReceptorAddress
|
||||||
serializer_class = serializers.ReceptorAddressSerializer
|
serializer_class = serializers.ReceptorAddressSerializer
|
||||||
|
parent_model = models.Instance
|
||||||
parent_access = 'read'
|
parent_access = 'read'
|
||||||
relationship = 'peers'
|
relationship = 'peers'
|
||||||
search_fields = 'address'
|
search_fields = ('address',)
|
||||||
|
|
||||||
|
|
||||||
class InstanceReceptorAddressesList(ListCreateAPIView):
|
class InstanceReceptorAddressesList(SubListCreateAPIView):
|
||||||
name = _("Receptor Addresses")
|
name = _("Receptor Addresses")
|
||||||
model = models.ReceptorAddress
|
model = models.ReceptorAddress
|
||||||
|
parent_key = 'instance'
|
||||||
|
parent_model = models.Instance
|
||||||
serializer_class = serializers.ReceptorAddressSerializer
|
serializer_class = serializers.ReceptorAddressSerializer
|
||||||
|
search_fields = ('address',)
|
||||||
def get_queryset(self):
|
|
||||||
return models.ReceptorAddress.objects.filter(instance=self.kwargs['pk'])
|
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
|
||||||
request.data.update({'instance': self.kwargs['pk']})
|
|
||||||
return super().post(request, *args, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
class ReceptorAddressesList(ListCreateAPIView):
|
class ReceptorAddressesList(ListCreateAPIView):
|
||||||
name = _("Receptor Addresses")
|
name = _("Receptor Addresses")
|
||||||
model = models.ReceptorAddress
|
model = models.ReceptorAddress
|
||||||
serializer_class = serializers.ReceptorAddressSerializer
|
serializer_class = serializers.ReceptorAddressSerializer
|
||||||
|
search_fields = ('address',)
|
||||||
|
|
||||||
|
|
||||||
class ReceptorAddressDetail(RetrieveUpdateDestroyAPIView):
|
class ReceptorAddressDetail(RetrieveUpdateDestroyAPIView):
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Generated by Django 4.2.6 on 2023-11-15 17:32
|
# Generated by Django 4.2.6 on 2023-11-16 05:50
|
||||||
|
|
||||||
import django.core.validators
|
import django.core.validators
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
@@ -56,7 +56,7 @@ class Migration(migrations.Migration):
|
|||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name='instancelink',
|
model_name='instancelink',
|
||||||
name='source',
|
name='source',
|
||||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.instance'),
|
field=models.ForeignKey(help_text='The source instance of this peer link.', on_delete=django.db.models.deletion.CASCADE, to='main.instance'),
|
||||||
),
|
),
|
||||||
migrations.AddConstraint(
|
migrations.AddConstraint(
|
||||||
model_name='instancelink',
|
model_name='instancelink',
|
||||||
@@ -80,7 +80,9 @@ class Migration(migrations.Migration):
|
|||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name='instancelink',
|
model_name='instancelink',
|
||||||
name='target',
|
name='target',
|
||||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.receptoraddress'),
|
field=models.ForeignKey(
|
||||||
|
help_text='The target receptor address of this peer link.', on_delete=django.db.models.deletion.CASCADE, to='main.receptoraddress'
|
||||||
|
),
|
||||||
),
|
),
|
||||||
migrations.AddConstraint(
|
migrations.AddConstraint(
|
||||||
model_name='receptoraddress',
|
model_name='receptoraddress',
|
||||||
|
|||||||
@@ -70,8 +70,8 @@ class InstanceLink(BaseModel):
|
|||||||
ordering = ("id",)
|
ordering = ("id",)
|
||||||
constraints = [models.UniqueConstraint(fields=['source', 'target'], name='source_target_unique_together')]
|
constraints = [models.UniqueConstraint(fields=['source', 'target'], name='source_target_unique_together')]
|
||||||
|
|
||||||
source = models.ForeignKey('Instance', on_delete=models.CASCADE)
|
source = models.ForeignKey('Instance', on_delete=models.CASCADE, help_text=_("The source instance of this peer link."))
|
||||||
target = models.ForeignKey('ReceptorAddress', on_delete=models.CASCADE)
|
target = models.ForeignKey('ReceptorAddress', on_delete=models.CASCADE, help_text=_("The target receptor address of this peer link."))
|
||||||
|
|
||||||
class States(models.TextChoices):
|
class States(models.TextChoices):
|
||||||
ADDING = 'adding', _('Adding')
|
ADDING = 'adding', _('Adding')
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ class ReceptorAddress(models.Model):
|
|||||||
'Instance',
|
'Instance',
|
||||||
related_name='receptor_addresses',
|
related_name='receptor_addresses',
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
|
null=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user