added api call to edit stop
This commit is contained in:
parent
fe3c276ec7
commit
ebdb732921
|
@ -1,5 +1,6 @@
|
|||
from models import *
|
||||
from ox.django.shortcuts import get_object_or_404_json, render_to_json_response
|
||||
from django.contrib.auth.decorators import login_required
|
||||
|
||||
|
||||
def route(request, alias):
|
||||
|
@ -12,3 +13,10 @@ def route(request, alias):
|
|||
'features': stops
|
||||
}
|
||||
})
|
||||
|
||||
@login_required(request, id):
|
||||
if not id:
|
||||
stop = Stop() #FIXME: should this return an error instead?
|
||||
else:
|
||||
stop = get_object_or_404_json(Stop, id=id)
|
||||
return stop.from_geojson(request.POST)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
from django.contrib.gis.db import models
|
||||
from django.contrib.gis.geos import Point
|
||||
from django import forms
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib.contenttypes import generic
|
||||
|
@ -123,6 +124,16 @@ class Stop(models.Model):
|
|||
'geometry': geom
|
||||
}
|
||||
|
||||
def from_geojson(self, geojson):
|
||||
geom = geojson['geometry']['coordinates']
|
||||
data = geojson['properties']
|
||||
self.point = Point(geom[0], geom[1])
|
||||
self.display_name = data['display_name']
|
||||
self.name_mr = data['name_mr']
|
||||
#FIXME: add alt names logic
|
||||
self.save()
|
||||
return self.get_geojson()
|
||||
|
||||
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
|
Loading…
Reference in New Issue
Block a user