def start_raster_import(id): proj = g.db.query(model.ImportProject).get(id) if not proj: abort(404) form = forms.SetGBIServerForm(request.form) del form.url source = proj.import_raster_layers[0].source gbi_server = source.gbi_server if source.is_public or gbi_server is None or not gbi_server.auth: create_raster_import_task(proj) return redirect(url_for('tasks.list')) if form.validate_on_submit(): try: context.test_context_document(gbi_server.url, form.username.data, form.password.data) except context.AuthenticationError: flash(_('username or password not correct'), 'error') except ValueError: flash(_('unable to fetch context document'), 'error') else: create_raster_import_task(proj) return redirect(url_for('tasks.list')) return render_template('projects/verify_import_auth.html', form=form, server_title=gbi_server.title)
def start_raster_import(id): proj = g.db.query(model.ImportProject).get(id) if not proj: abort(404) form = forms.SetGBIServerForm(request.form) del form.url source = proj.import_raster_layers[0].source gbi_server = source.gbi_server if source.is_public or gbi_server is None or not gbi_server.auth: create_raster_import_task(proj) return redirect(url_for('tasks.list')) if form.validate_on_submit(): try: context.test_context_document(gbi_server.url, form.username.data, form.password.data) except context.AuthenticationError: flash(_('username or password not correct'), 'error') except ValueError: flash(_('unable to fetch context document'), 'error') else: create_raster_import_task(proj) return redirect(url_for('tasks.list')) return render_template('projects/verify_import_auth.html', form=form, server_title=gbi_server.title)
def add_server(): form, add_server_form, auth_server = prepare_set_server() if request.method == 'GET': add_server_form.next.data = 'admin.add_server' form.next.data = 'admin.server_list' app_state = current_app.config.geobox_state if add_server_form.validate_on_submit(): auth = False try: context.test_context_document(add_server_form.url.data) except (NotFound, MissingSchema, ContextError): flash(_('unable to fetch context document'), 'error') return redirect(url_for(add_server_form.next.data)) except context.AuthenticationError: auth = True gbi_server = GBIServer(title=add_server_form.title.data, url=add_server_form.url.data, auth=auth) db_session = app_state.user_db_session() db_session.add(gbi_server) try: db_session.commit() except IntegrityError: flash(_('server already exists'), 'error') else: flash(_('server added'), 'info') return redirect(url_for(add_server_form.next.data)) elif request.method == 'POST': flash(_('server could not added'), 'error') return redirect(request.referrer) return render_template('admin/add_server.html', form=form, add_server_form=add_server_form, auth_server=json.dumps(auth_server))