def savePaths(request, paths, strokeWidth, strokeColor, object_type, fillColor=None):
	# if not request.user.is_authenticated():
	# 	return simplejson.dumps({'state': 'not_logged_in'})
	
	print "hih"
	print request.user.username

	pIDs = []
	pks = []

	for path in paths:
		pID = path['pID']
		points = path['points']
		planet = str(path['planet']['x'])+','+str(path['planet']['y'])

		lockedAreas = Box.objects(planet=planet, box__geo_intersects={"type": "LineString", "coordinates": points } )
		if lockedAreas.count()>0:
			return simplejson.dumps( {'state': 'error', 'message': 'Your drawing intersects with a locked area'} )

		p = Path(planet=planet, points=points, owner=request.user.username, strokeColor=strokeColor, fillColor=fillColor, strokeWidth=strokeWidth, object_type=object_type, pID=pID )
		p.save()

		pIDs.append(pID)
		pks.append(p.pk)

	return simplejson.dumps( {'state': 'success', 'pIDs': pIDs, 'pk': pks} )
def load(request, areasToLoad):

	paths = []
	boxes = []

	for area in areasToLoad:
				
		tlX = area['pos']['x']
		tlY = area['pos']['y']

		planet = str(area['planet']['x'])+','+str(area['planet']['y'])

		p = Path.objects(planet=planet, points__geo_intersects=makeBox(tlX, tlY, tlX+1, tlY+1) )
		b = Box.objects(planet=planet, box__geo_intersects=makeBox(tlX, tlY, tlX+1, tlY+1) )

		paths.append(p.to_json())
		boxes.append(b.to_json())

	return simplejson.dumps( {'paths': paths, 'boxes': boxes, 'user': request.user.username} )
def saveBoxes(request, boxes, bb, object_type, message, name="", url="", modify=None, pk=None):
	if not request.user.is_authenticated():
		return simplejson.dumps({'state': 'not_logged_in'})

	validate = URLValidator()
	if object_type=='link' and url != "":
		try:
			validate(url)
		except ValidationError, e:
			print e
			return simplejson.dumps({'state': 'error', 'message': 'invalid_url'})
	elif object_type=='link' and url == "":
		return simplejson.dumps({'state': 'system_error', 'message': 'invalid_data'})

	if modify:
		boxes = Box.objects(pk=pk, owner=request.user.username)
		if not boxes:
			return simplejson.dumps({'state': 'error', 'message': 'Element does not exist for this user'})
		for box in boxes:
			box.name = name
			box.url = url
			box.message = message
			box.save()
			return simplejson.dumps( {'state': 'success', 'bb': bb, 'object_type':object_type, 'message': message, 'name': name, 'url': url, 'owner': request.user.username, 'pk':str(box.pk), 'box':box.box, 'planet': box.planet,  'modified': True } )

	for box in boxes:
		
		points = box['points']
		planet = str(box['planet']['x'])+','+str(box['planet']['y'])
		lockedAreas = Box.objects(planet=planet, box__geo_intersects=makeBox(points[0][0], points[0][1], points[2][0], points[2][1]) )
		if lockedAreas.count()>0: