adjust registered by to managed by on db aslo remove url and api key on adding sites for gm
This commit is contained in:
1 parent
64b37b6b6d
commit
521f36d22d
15 files changed
+112
-75
No files matched your search
@@ -0,0 +1,36 @@
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
("sync", "0003_rename_citysite_to_activesite"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="activesite",
|
||||
name="api_base_url",
|
||||
field=models.URLField(
|
||||
blank=True,
|
||||
default="",
|
||||
help_text="Optional site API root including /api/v1 (for outbound sync/push)",
|
||||
max_length=255,
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="activesite",
|
||||
name="registered_by",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
help_text="GM / GM Admin who registered this site by name and code",
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="registered_active_sites",
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,33 @@
|
||||
# Generated manually: rename ActiveSite.registered_by → managed_by
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
("sync", "0004_activesite_api_base_url_optional"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name="activesite",
|
||||
old_name="registered_by",
|
||||
new_name="managed_by",
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="activesite",
|
||||
name="managed_by",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
help_text="GM / GM Admin who manages this active site",
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="managed_active_sites",
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
),
|
||||
),
|
||||
]
|
||||
@@ -17,20 +17,22 @@ class ActiveSite(models.Model):
|
||||
name = models.CharField(max_length=120)
|
||||
api_base_url = models.URLField(
|
||||
max_length=255,
|
||||
help_text="Site API root including /api/v1, e.g. https://site.example/api/v1",
|
||||
blank=True,
|
||||
default="",
|
||||
help_text="Optional site API root including /api/v1 (for outbound sync/push)",
|
||||
)
|
||||
api_key = models.CharField(
|
||||
max_length=255,
|
||||
blank=True,
|
||||
help_text="X-API-Key for pulling from the site API (keep server-side only)",
|
||||
)
|
||||
registered_by = models.ForeignKey(
|
||||
managed_by = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.SET_NULL,
|
||||
related_name="registered_active_sites",
|
||||
help_text="GM / GM Admin who added this site dashboard URL",
|
||||
related_name="managed_active_sites",
|
||||
help_text="GM / GM Admin who manages this active site",
|
||||
)
|
||||
is_active = models.BooleanField(default=True)
|
||||
last_synced_at = models.DateTimeField(null=True, blank=True)
|
||||
|
||||
@@ -7,8 +7,8 @@ class ActiveSiteSerializer(serializers.ModelSerializer):
|
||||
id = serializers.IntegerField(source="pk", read_only=True)
|
||||
# Never echo the outbound site API key back to the browser by default.
|
||||
has_api_key = serializers.SerializerMethodField()
|
||||
registered_by_name = serializers.CharField(
|
||||
source="registered_by.display_name", read_only=True, allow_null=True
|
||||
managed_by_name = serializers.CharField(
|
||||
source="managed_by.display_name", read_only=True, allow_null=True
|
||||
)
|
||||
|
||||
class Meta:
|
||||
@@ -19,8 +19,8 @@ class ActiveSiteSerializer(serializers.ModelSerializer):
|
||||
"name",
|
||||
"api_base_url",
|
||||
"has_api_key",
|
||||
"registered_by",
|
||||
"registered_by_name",
|
||||
"managed_by",
|
||||
"managed_by_name",
|
||||
"is_active",
|
||||
"last_synced_at",
|
||||
"last_sync_status",
|
||||
@@ -31,8 +31,8 @@ class ActiveSiteSerializer(serializers.ModelSerializer):
|
||||
read_only_fields = [
|
||||
"id",
|
||||
"has_api_key",
|
||||
"registered_by",
|
||||
"registered_by_name",
|
||||
"managed_by",
|
||||
"managed_by_name",
|
||||
"last_synced_at",
|
||||
"last_sync_status",
|
||||
"last_sync_message",
|
||||
|
||||
@@ -22,7 +22,7 @@ class ActiveSiteViewSet(viewsets.ModelViewSet):
|
||||
executive_sync_action = True
|
||||
|
||||
def get_queryset(self):
|
||||
qs = ActiveSite.objects.select_related("registered_by").all()
|
||||
qs = ActiveSite.objects.select_related("managed_by").all()
|
||||
return filter_active_sites_queryset(qs, self.request.user)
|
||||
|
||||
def get_permissions(self):
|
||||
@@ -36,7 +36,7 @@ class ActiveSiteViewSet(viewsets.ModelViewSet):
|
||||
return ActiveSiteSerializer
|
||||
|
||||
def perform_create(self, serializer):
|
||||
active_site = serializer.save(registered_by=self.request.user)
|
||||
active_site = serializer.save(managed_by=self.request.user)
|
||||
ensure_hq_site_for_active_site(active_site)
|
||||
|
||||
def perform_update(self, serializer):
|
||||
|
||||
Reference in new issue
Block a user