Пример #1
0
 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()
Пример #2
0
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)