make private annotations private
This commit is contained in:
parent
b41d381866
commit
866d60b467
4 changed files with 38 additions and 8 deletions
|
|
@ -8,6 +8,21 @@ import ox
|
|||
|
||||
import utils
|
||||
|
||||
|
||||
def load_layers(layers):
|
||||
for l in layers:
|
||||
create_or_update_layer(l)
|
||||
|
||||
def create_or_update_layer(data):
|
||||
layer, created = Layer.objects.get_or_create(name=data['id'])
|
||||
for key in ('title', 'type', 'overlap', 'overlay', 'private'):
|
||||
if key in data and getattr(layer, key) != data[key]:
|
||||
setattr(layer, key, data[key])
|
||||
created = True
|
||||
if created:
|
||||
layer.save()
|
||||
return layer
|
||||
|
||||
class Layer(models.Model):
|
||||
|
||||
class Meta:
|
||||
|
|
@ -26,7 +41,7 @@ class Layer(models.Model):
|
|||
|
||||
overlap = models.BooleanField(default=True)
|
||||
overlay = models.BooleanField(default=True)
|
||||
public = models.BooleanField(default=True) #false=users only see there own bins
|
||||
private = models.BooleanField(default=False) #false=users only see there own bins
|
||||
|
||||
#find/sort integration
|
||||
find = models.BooleanField(default=True) #true part of find all
|
||||
|
|
@ -42,7 +57,13 @@ class Layer(models.Model):
|
|||
return p
|
||||
|
||||
def json(self):
|
||||
return {'id': self.name, 'title': self.title, 'type': self.type}
|
||||
return {
|
||||
'id': self.name,
|
||||
'overlap': self.overlap,
|
||||
'private': self.private,
|
||||
'title': self.title,
|
||||
'type': self.type
|
||||
}
|
||||
|
||||
def __unicode__(self):
|
||||
return self.title
|
||||
|
|
|
|||
|
|
@ -6,11 +6,13 @@ from ox.utils import json
|
|||
from ox.django.decorators import login_required_json
|
||||
from ox.django.shortcuts import render_to_json_response, get_object_or_404_json, json_response
|
||||
|
||||
import models
|
||||
from item.models import Item
|
||||
|
||||
from app.models import site_config
|
||||
from item.models import Item
|
||||
from api.actions import actions
|
||||
|
||||
import models
|
||||
|
||||
|
||||
def findAnnotations(request):
|
||||
'''
|
||||
|
|
@ -56,6 +58,9 @@ def addAnnotation(request):
|
|||
return render_to_json_response(json_response(status=400,
|
||||
text='invalid data'))
|
||||
|
||||
#FIXME: this should be only called starting up server
|
||||
models.load_layers(site_config()['layers'])
|
||||
|
||||
item = get_object_or_404_json(Item, itemId=data['item'])
|
||||
layer = get_object_or_404_json(models.Layer, name=data['layer'])
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue