def set_home_server(): app_state = current_app.config.geobox_state if app_state.new_home_server is None: flash(_('unable to set homeserver'), 'error') db_session = app_state.user_db_session() gbi_server = db_session.query(GBIServer).filter_by( id=app_state.new_home_server.id).first() if gbi_server is None: flash(_('unable to set homeserver'), 'error') gbi_server.context = app_state.new_home_server.context gbi_server.active_home_server = True db_session.commit() context.update_couchdb_sources(gbi_server, app_state) context_user = gbi_server.context.user() if context_user: app_state.config.set('user', 'type', str(context_user['type'])) else: app_state.config.set('user', 'type', '0') # set default to 0 app_state.config.write() flash( _('assigned %(homeserver)s as homeserver', homeserver=gbi_server.title)) app_state.new_home_server = None if app_state.user.is_customer: return redirect(url_for('admin.upload_gml')) return redirect(url_for('main.index'))
def load_context(gbi_server, db_session, form, app_state): try: context.load_context_document(gbi_server, db_session, form.username.data, form.password.data) except context.AuthenticationError: flash(_('username or password not correct'), 'error') return False except (ValueError, NotFound): flash(_('unable to fetch context document'), 'error') return False else: flash(_('load context document successful'), 'sucess') context.update_raster_sources(gbi_server, db_session) context.update_wfs_sources(gbi_server, db_session) context.update_parcel_search_source(gbi_server, db_session) db_session.commit() if gbi_server.home_server and app_state.home_server is None: app_state.new_home_server = gbi_server elif gbi_server.home_server and gbi_server.active_home_server: context.update_couchdb_sources(gbi_server, app_state) return True