Skip to content

Commit 4098a38

Browse files
committed
feat: Add archived flag to Location
1 parent 95a5f46 commit 4098a38

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 4.2.6 on 2025-08-14 09:19
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("location_api", "0001_initial"),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name="location",
15+
name="archived",
16+
field=models.BooleanField(default=False),
17+
),
18+
]

location_api/models.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
from django.urls import reverse
66

77

8+
class ActiveManager(models.Manager):
9+
def get_queryset(self):
10+
return super().get_queryset().filter(archived=False)
11+
12+
813
class SupplierManager(models.Manager):
914
def identify(self, string):
1015
for supplier in Supplier.objects.all():
@@ -56,6 +61,10 @@ class Location(models.Model):
5661
gisprecision = models.CharField(max_length=255, blank=True)
5762

5863
attributes = models.JSONField(blank=True, null=True, default=dict)
64+
archived = models.BooleanField(default=False)
65+
66+
objects = ActiveManager()
67+
objects_with_archived = models.Manager()
5968

6069
def __str__(self):
6170
return self.name
@@ -76,3 +85,8 @@ def save(self, *args, **kwargs):
7685
slug_parts.append(self.supplier.name)
7786
self.slug = slugify(" ".join(slug_parts)[:50])
7887
super().save(*args, **kwargs)
88+
89+
def archive(self):
90+
"""Archive this location"""
91+
self.archived = True
92+
self.save(update_fields=["archived"])

0 commit comments

Comments
 (0)