use changeset in importhub and importnoc
This commit is contained in:
parent
66073ed3ce
commit
a2295e80af
4 changed files with 24 additions and 10 deletions
|
@ -78,7 +78,7 @@
|
|||
{% elif update.type == 'changeset' %}
|
||||
{% url 'control.users.detail' user=update.user.pk as user_url %}
|
||||
{% url 'control.users.detail' user=update.changeset.author.pk as author_url %}
|
||||
{% blocktrans with changeset_id=update.changeset.pk changeset_url=update.changeset.get_absolute_url user_name=update.user.username author_name=update.changeset.author.username %}Changeset <a href="{{ changeset_url }}">#{{ changeset_id }}</a> by <a href="{{ author_url }}">{{ author_name }}</a> applied by <a href="{{ user_url }}">{{ user_name }}</a>{% endblocktrans %}
|
||||
{% blocktrans with changeset_id=update.changeset.pk changeset_url=update.changeset.get_absolute_url changeset_title=update.changeset.title user_name=update.user.username author_name=update.changeset.author.username %}Changeset <a href="{{ changeset_url }}">#{{ changeset_id }} ({{ changeset_title }})</a> by <a href="{{ author_url }}">{{ author_name }}</a> applied by <a href="{{ user_url }}">{{ user_name }}</a>{% endblocktrans %}
|
||||
{% else %}
|
||||
{{ update.type }}
|
||||
{% endif %}
|
||||
|
|
|
@ -416,6 +416,8 @@ def create_editor_form(editor_model):
|
|||
|
||||
|
||||
editor_form_cache = {}
|
||||
|
||||
|
||||
def get_editor_form(model):
|
||||
form = editor_form_cache.get(model, None)
|
||||
if form is None:
|
||||
|
|
|
@ -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}:"
|
||||
|
|
|
@ -5,13 +5,15 @@ from django.conf import settings
|
|||
from django.core.management.base import BaseCommand
|
||||
from pydantic import BaseModel
|
||||
from shapely import distance
|
||||
from shapely.ops import nearest_points, unary_union
|
||||
|
||||
from c3nav.mapdata.models import MapUpdate, Space, Level
|
||||
from c3nav.editor.models import ChangeSet
|
||||
from c3nav.editor.views.base import within_changeset
|
||||
from c3nav.mapdata.models import Space, Level
|
||||
from c3nav.mapdata.models.geometry.space import RangingBeacon
|
||||
from c3nav.mapdata.models.report import Report
|
||||
from c3nav.mapdata.utils.cache.changes import changed_geometries
|
||||
from c3nav.mapdata.utils.geometry import unwrap_geom
|
||||
from shapely.ops import nearest_points, unary_union
|
||||
|
||||
|
||||
class NocImportItem(BaseModel):
|
||||
|
@ -34,10 +36,14 @@ class Command(BaseCommand):
|
|||
for name, item in r.json()["markers"].items()
|
||||
if not name.startswith("__polyline")}
|
||||
|
||||
with MapUpdate.lock():
|
||||
changed_geometries.reset()
|
||||
changed_geometries.reset()
|
||||
changeset = ChangeSet()
|
||||
changeset.author = self.request.user
|
||||
changeset.title = 'importnoc'
|
||||
with within_changeset(changeset=changeset, user=None) as locked_changeset:
|
||||
self.do_import(items)
|
||||
MapUpdate.objects.create(type='importnoc')
|
||||
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}:"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue