예제 #1
0
def newTak():
	name = getValue(request, "name", None)
	uid = getValue(request, "userid", None)
	lat = getValue(request, "lat", None)
	lng = getValue(request, "lng", None)
	if not ( name and lat and lng and uid):
		return json_response(code=400)
	mapid = getValue(request, "mapid", None)
	map = None
	if uid is not None:
		user = Account.get_by_id(int(uid))
		if user is None:
			return json_response(code=400)
	if mapid is not None:
		map = Map.get_by_id(int(mapid))
	if map is None:
		map = Map(creator=user.name,creatorId=int(uid),name='Untitled',adminIds=[int(uid)])
		key = map.put()
		mapid = key.id()
		account = Account.get_by_id(int(uid))
		account.adminMaps.append(int(mapid))
		account.put()
	tak  = Tak(lng=lng,lat=lat, creator=user.name, name=name,mapId=int(mapid),creatorId=int(uid))
	key = tak.put()
	map.takIds.append(key.integer_id())
	map.put();
	return json_success(tak.Get())
예제 #2
0
def newTak():
    name = getValue(request, "name", None)
    uid = getValue(request, "userid", None)
    lat = getValue(request, "lat", None)
    lng = getValue(request, "lng", None)
    if not (name and lat and lng and uid):
        return json_response(code=400)
    mapid = getValue(request, "mapid", None)
    map = None
    if uid is not None:
        user = Account.get_by_id(int(uid))
        if user is None:
            return json_response(code=400)
    if mapid is not None:
        map = Map.get_by_id(int(mapid))
    if map is None:
        map = Map(creator=user.name,
                  creatorId=int(uid),
                  name='Untitled',
                  adminIds=[int(uid)])
        key = map.put()
        mapid = key.id()
        account = Account.get_by_id(int(uid))
        account.adminMaps.append(int(mapid))
        account.put()
    tak = Tak(lng=lng,
              lat=lat,
              creator=user.name,
              name=name,
              mapId=int(mapid),
              creatorId=int(uid))
    key = tak.put()
    map.takIds.append(key.integer_id())
    map.put()
    return json_success(tak.Get())
예제 #3
0
def copytak(takid = -1):
	if takid <= 0:
		return json_response(code=400)
	tak = Tak.get_by_id(takid)
	if tak is None:
		return json_response(code=400)
	mapid = getValue(request, "mapid", "")
	if mapid == '':
		return json_response(code=400)
	newmap = Map.get_by_id(int(mapid))
	if newmap is None:
		return json_response(code=400)
	newtak  = Tak(lng=tak.lng,lat=tak.lat, creator=tak.creator, name=tak.name,mapId=newmap.key.integer_id(),creatorId=tak.creatorId)
	newtak.metadata = tak.metadata
	key = newtak.put()
	newmap.takIds.append(key.integer_id())
	newmap.put();
	return json_success(newtak.Get())
예제 #4
0
def api_tak():
	if request.method == 'POST':
		userName = request.args.get("name","")
		mapId = request.args.get("mapId","")
		mapId = str(mapId.encode('utf-8').decode('ascii', 'ignore'))
		userId = request.args.get("id","")
		userId = int(str(userId.encode('utf-8').decode('ascii', 'ignore')))
		name = request.args.get("title","")
		lat = request.args.get("lat","")
		lat = str(lat.encode('utf-8').decode('ascii', 'ignore'))
		lng = request.args.get("lng","")
		lng =str(lng.encode('utf-8').decode('ascii', 'ignore'))
		tak = Tak(name=name,lat=lat,lng=lng,creator=userName,creatorId=int(userId),mapId=int(mapId))
		key = tak.put()
		logging.info("tak added")
		return json_success({"takId":key.integer_id()})
	if request.method == 'GET':
		return '200'
예제 #5
0
def create_tak():
    if request.method == 'POST':
        # login required
        mapId = getValue(request, "mapId", "")
        logging.info("mapId=" + mapId)
        map = Map.get_by_id(int(mapId))
        if map is None:
            return jsonify(message="Map does not exist", response=400)
        logging.info("mapid %s" % mapId)
        name = getValue(request, "title", "")
        lat = getValue(request, "lat", "")
        lng = getValue(request, "lng", "")
        #user = getValue(request, "user", "")
        #change form to not supply user
        user = session['username']
        uid = session['userId']

        if not (user and lat and lng):
            return jsonify(message="Bad Request", response=400)
            # check if args blank

        logging.info("Add lat %s, lng %s" % (lat, lng))
        tak = Tak(lng=lng,
                  lat=lat,
                  creator=user,
                  name=name,
                  mapId=int(mapId),
                  creatorId=int(uid))
        key = tak.put()
        map.takIds.append(int(key.id()))
        map.put()
        return json_success(tak.to_dict())

    if request.method == 'GET':
        # return list of maps too for selecting
        listOfMaps = []
        mapIds = getMaps(session['userId'])
        for mapid in mapIds:
            ownMap = Map.get_by_id(mapid)
            listOfMaps.append(ownMap)

        return render_template('create_tak.html', uid=session['userId'])
예제 #6
0
def copytak(takid=-1):
    if takid <= 0:
        return json_response(code=400)
    tak = Tak.get_by_id(takid)
    if tak is None:
        return json_response(code=400)
    mapid = getValue(request, "mapid", "")
    if mapid == '':
        return json_response(code=400)
    newmap = Map.get_by_id(int(mapid))
    if newmap is None:
        return json_response(code=400)
    newtak = Tak(lng=tak.lng,
                 lat=tak.lat,
                 creator=tak.creator,
                 name=tak.name,
                 mapId=newmap.key.integer_id(),
                 creatorId=tak.creatorId)
    newtak.metadata = tak.metadata
    key = newtak.put()
    newmap.takIds.append(key.integer_id())
    newmap.put()
    return json_success(newtak.Get())
예제 #7
0
def api_tak():
    if request.method == 'POST':
        userName = request.args.get("name", "")
        mapId = request.args.get("mapId", "")
        mapId = str(mapId.encode('utf-8').decode('ascii', 'ignore'))
        userId = request.args.get("id", "")
        userId = int(str(userId.encode('utf-8').decode('ascii', 'ignore')))
        name = request.args.get("title", "")
        lat = request.args.get("lat", "")
        lat = str(lat.encode('utf-8').decode('ascii', 'ignore'))
        lng = request.args.get("lng", "")
        lng = str(lng.encode('utf-8').decode('ascii', 'ignore'))
        tak = Tak(name=name,
                  lat=lat,
                  lng=lng,
                  creator=userName,
                  creatorId=int(userId),
                  mapId=int(mapId))
        key = tak.put()
        logging.info("tak added")
        return json_success({"takId": key.integer_id()})
    if request.method == 'GET':
        return '200'
예제 #8
0
def create_tak():
	if request.method == 'POST':
		# login required
		mapId = getValue(request, "mapId", "")
		logging.info("mapId="+mapId)
		map = Map.get_by_id(int(mapId))
		if map is None:
			return jsonify(message="Map does not exist", response=400) 
		logging.info("mapid %s" %mapId)
		name = getValue(request, "title", "")
		lat = getValue(request, "lat", "")
		lng = getValue(request, "lng", "")
		#user = getValue(request, "user", "")
		#change form to not supply user
		user = session['username']
		uid = session['userId']
			
		if not ( user and lat and lng ):
			return jsonify(message="Bad Request", response=400)
			# check if args blank

		logging.info("Add lat %s, lng %s" %(lat, lng) )
		tak  = Tak(lng=lng,lat=lat, creator=user, name=name,mapId=int(mapId),creatorId=int(uid))
		key = tak.put()
		map.takIds.append(int(key.id()))
		map.put();
		return json_success(tak.to_dict())

	if request.method == 'GET': 
		# return list of maps too for selecting
		listOfMaps = []
		mapIds = getMaps(session['userId'])
		for mapid in mapIds:
			ownMap = Map.get_by_id(mapid)
			listOfMaps.append(ownMap)

		return render_template('create_tak.html', uid=session['userId'])