diff --git a/src/ralph/data_center/admin.py b/src/ralph/data_center/admin.py index 9c356bf17e..a16f15d4a9 100644 --- a/src/ralph/data_center/admin.py +++ b/src/ralph/data_center/admin.py @@ -698,6 +698,7 @@ def get_queryset(self, request): "data_center_name", "reverse_ordering", "rack_module", + "active" ] list_filter = ["server_room__data_center"] # TODO use fk field in filter search_fields = ["name"] diff --git a/src/ralph/data_center/migrations/0043_rack_active.py b/src/ralph/data_center/migrations/0043_rack_active.py new file mode 100644 index 0000000000..d9381ca581 --- /dev/null +++ b/src/ralph/data_center/migrations/0043_rack_active.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.25 on 2026-06-08 12:55 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('data_center', '0042_rackmodule_rack_rack_module'), + ] + + operations = [ + migrations.AddField( + model_name='rack', + name='active', + field=models.BooleanField(default=True), + ), + ] diff --git a/src/ralph/data_center/models/physical.py b/src/ralph/data_center/models/physical.py index ee4656859e..a880133aa2 100644 --- a/src/ralph/data_center/models/physical.py +++ b/src/ralph/data_center/models/physical.py @@ -344,6 +344,7 @@ class Rack(AdminAbsoluteUrlMixin, NamedMixin.NonUnique, models.Model): ), verbose_name=_("RU order top to bottom"), ) + active = models.BooleanField(default=True) class Meta: unique_together = ("name", "server_room") diff --git a/src/ralph/dc_view/serializers/models_serializer.py b/src/ralph/dc_view/serializers/models_serializer.py index f6ca7395b8..334ecf58c6 100644 --- a/src/ralph/dc_view/serializers/models_serializer.py +++ b/src/ralph/dc_view/serializers/models_serializer.py @@ -149,6 +149,7 @@ class Meta: class RackBaseSerializer(serializers.ModelSerializer): free_u = serializers.IntegerField(source="get_free_u", read_only=True) orientation = serializers.CharField(source="get_orientation_desc") + is_active = serializers.BooleanField(source="active", read_only=True) class Meta: model = Rack @@ -163,6 +164,7 @@ class Meta: "description", "orientation", "reverse_ordering", + "is_active", ) def update(self, data): diff --git a/src/ralph/dc_view/static/partials/server_room/rack.html b/src/ralph/dc_view/static/partials/server_room/rack.html index 694a693223..256628c63a 100644 --- a/src/ralph/dc_view/static/partials/server_room/rack.html +++ b/src/ralph/dc_view/static/partials/server_room/rack.html @@ -1,4 +1,4 @@ -