def fixDefinition(self, id): if id == 1: # add default values if Map.query.count() == 0: # add default map db.session.add(Map('Bing (online)', '', maptype=2, tileserver="//ak.t2.tiles.virtualearth.net/tiles/a{q}?g=1236", default=1)) db.session.commit()
def getAdminContent(self, **params): """ Deliver admin content of module maps :param params: use given parameters of request :return: rendered template as string """ module = request.view_args['module'].split('/') if len(module) > 1: if module[1] == 'position': if request.method == 'POST': if request.form.get( 'action' ) == 'saveposition': # safe default map position and home position Settings.set('defaultLat', request.form.get('default_lat', '')) Settings.set('defaultLng', request.form.get('default_lng', '')) Settings.set('defaultZoom', request.form.get('default_zoom', '')) Settings.set('homeLat', request.form.get('home_lat', '')) Settings.set('homeLng', request.form.get('home_lng', '')) db.session.commit() params.update({'settings': Settings}) return render_template('admin.map.position.html', **params) else: if request.method == 'POST': if request.form.get('action') == 'savemap': # save map if request.form.get('map_id') != 'None': # update _map = Map.getMaps(request.form.get('map_id')) _map.name = request.form.get('map_name') _map.path = request.form.get('map_path') _map.maptype = int(request.form.get('map_type')) _map.tileserver = request.form.get('map_tileserver') _map.default = request.form.get('map_default') else: # add map _map = Map(request.form.get('map_name'), request.form.get('map_path'), int(request.form.get('map_type')), request.form.get('map_tileserver'), int(request.form.get('map_default'))) db.session.add(_map) db.session.commit() elif request.form.get('action') == 'createmap': # add map params.update({ 'map': Map('', '', 0, '', 0), 'tilebase': current_app.config.get('PATH_TILES'), 'settings': Settings }) return render_template('admin.map_actions.html', **params) elif request.form.get('action').startswith( 'detailmap_'): # edit map params.update({ 'map': Map.getMaps(request.form.get('action').split('_')[-1]), 'settings': Settings, 'tilebase': current_app.config.get('PATH_TILES'), 'tiles': '\', \''.join( Settings.getMapTiles( int(request.form.get('action').split('_')[-1]))) }) return render_template('admin.map_actions.html', **params) elif request.form.get('action').startswith( 'deletemap_'): # delete map db.session.delete( Map.getMaps(int( request.form.get('action').split('_')[-1]))) db.session.commit() elif request.form.get( 'action') == 'ordersetting': # change map order maps = [] for _id in request.form.getlist('mapids'): _map = Map.getMaps(int(_id)) maps.append( dict(name=_map.__dict__['name'], path=_map.__dict__['path'], maptype=_map.__dict__['maptype'], tileserver=_map.__dict__['tileserver'], default=_map.__dict__['default'])) Map.query.delete() # delete all maps for _map in maps: # add maps in new order db.session.add( Map(_map['name'], _map['path'], _map['maptype'], _map['tileserver'], _map['default'])) db.session.commit() params.update({'maps': Map.getMaps()}) return render_template('admin.map.html', **params)