switch to base26 ids
This commit is contained in:
parent
addd1780f1
commit
bc118c67ee
9 changed files with 36 additions and 23 deletions
|
|
@ -40,7 +40,7 @@ def parseCondition(condition, user):
|
|||
else:
|
||||
return q
|
||||
if k == 'id':
|
||||
v = ox.from32(v)
|
||||
v = ox.from26(v)
|
||||
if isinstance(v, bool): #featured and public flag
|
||||
key = k
|
||||
elif k in ('lat', 'lng', 'area', 'south', 'west', 'north', 'east', 'matches', 'id'):
|
||||
|
|
|
|||
|
|
@ -59,9 +59,9 @@ class Place(models.Model):
|
|||
return False
|
||||
|
||||
def get_id(self):
|
||||
return ox.to32(self.id)
|
||||
return ox.to26(self.id)
|
||||
|
||||
def json(self, user=None):
|
||||
def json(self, keys=None, user=None):
|
||||
j = {
|
||||
'id': self.get_id(),
|
||||
'user': self.user.username,
|
||||
|
|
@ -71,7 +71,8 @@ class Place(models.Model):
|
|||
'name', 'alternativeNames', 'geoname', 'countryCode',
|
||||
'south', 'west', 'north', 'east',
|
||||
'lat', 'lng', 'area', 'matches', 'type'):
|
||||
j[key] = getattr(self, key)
|
||||
if not keys or key in keys:
|
||||
j[key] = getattr(self, key)
|
||||
return j
|
||||
|
||||
def get_matches(self):
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ def editPlace(request):
|
|||
can contain any of the allowed keys for place
|
||||
'''
|
||||
data = json.loads(request.POST['data'])
|
||||
place = get_object_or_404_json(models.Place, pk=ox.from32(data['id']))
|
||||
place = get_object_or_404_json(models.Place, pk=ox.from26(data['id']))
|
||||
names = data.get('name', [])
|
||||
if isinstance(names, basestring):
|
||||
names = [names]
|
||||
|
|
@ -111,7 +111,7 @@ def removePlace(request):
|
|||
data = json.loads(request.POST['data'])
|
||||
if isinstance(data, dict):
|
||||
data = data['id']
|
||||
place = get_object_or_404_json(models.Place, pk=ox.from32(data))
|
||||
place = get_object_or_404_json(models.Place, pk=ox.from26(data))
|
||||
if place.editable(request.user):
|
||||
place.delete()
|
||||
response = json_response(status=200, text='deleted')
|
||||
|
|
@ -227,7 +227,7 @@ Positions
|
|||
qs = order_query(query['qs'], query['sort'])
|
||||
if 'keys' in data:
|
||||
qs = qs[query['range'][0]:query['range'][1]]
|
||||
response['data']['items'] = [p.json(request.user) for p in qs]
|
||||
response['data']['items'] = [p.json(data['keys'], request.user) for p in qs]
|
||||
elif 'position' in query:
|
||||
ids = [i.get_id() for i in qs]
|
||||
data['conditions'] = data['conditions'] + {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue