use changeset in importhub and importnoc

This commit is contained in:
Laura Klünder 2024-12-26 02:20:25 +01:00
parent 66073ed3ce
commit a2295e80af
4 changed files with 24 additions and 10 deletions

View file

@ -9,7 +9,9 @@ from shapely import Point
from shapely.geometry import shape
from c3nav.api.utils import NonEmptyStr
from c3nav.mapdata.models import Area, LocationGroup, LocationSlug, MapUpdate, Space
from c3nav.editor.models import ChangeSet
from c3nav.editor.views.base import within_changeset
from c3nav.mapdata.models import Area, LocationGroup, LocationSlug, Space
from c3nav.mapdata.models.geometry.space import POI
from c3nav.mapdata.models.report import Report
from c3nav.mapdata.utils.cache.changes import changed_geometries
@ -41,10 +43,14 @@ class Command(BaseCommand):
headers={"Authorization": "Token "+settings.HUB_API_SECRET})
r.raise_for_status()
with MapUpdate.lock():
changed_geometries.reset()
changed_geometries.reset()
changeset = ChangeSet()
changeset.author = self.request.user
changeset.title = 'importhub'
with within_changeset(changeset=changeset, user=None) as locked_changeset:
self.do_import(r.json())
MapUpdate.objects.create(type='importhub')
with changeset.lock_to_edit() as locked_changeset:
locked_changeset.apply(user=None)
def do_report(self, prefix: str, obj_id: str, obj, report: Report):
import_prefix = f"{prefix}:{obj_id}:"