Esempio n. 1
0
def settings_update():
    form = SettingsForm()
    if form.validate_on_submit():
        g.cursor.execute('BEGIN')
        try:
            SettingsMapper.update(form)
            logger.log('info', 'settings', 'Settings updated')
            g.cursor.execute('COMMIT')
            flash(_('info update'), 'info')
        except Exception as e:  # pragma: no cover
            g.cursor.execute('ROLLBACK')
            logger.log('error', 'database', 'transaction failed', e)
            flash(_('error transaction'), 'error')
        return redirect(url_for('settings_index'))
    for field in SettingsMapper.fields:
        if field.startswith('file_'):
            continue
        if field in ['mail_recipients_feedback']:
            getattr(form, field).data = ';'.join(session['settings'][field])
        elif field in ['default_table_rows', 'log_level']:
            getattr(form, field).data = int(session['settings'][field])
        else:
            getattr(form, field).data = session['settings'][field]
    return render_template('settings/update.html',
                           form=form,
                           settings=session['settings'])
Esempio n. 2
0
def admin_logo(action: Optional[str] = None) -> str:
    if action == 'remove':
        SettingsMapper.set_logo()
        return redirect(url_for('admin_logo'))
    if session['settings']['logo_file_id']:
        path = get_file_path(int(session['settings']['logo_file_id']))
        return render_template('admin/logo.html',
                               filename=os.path.basename(path) if path else False)
    form = LogoForm()
    if form.validate_on_submit():
        SettingsMapper.set_logo(form.file.data)
        return redirect(url_for('admin_logo'))
    return render_template('admin/logo.html', form=form)
Esempio n. 3
0
def before_request():
    debug_model['div sql'] = 0
    from openatlas.models.classObject import ClassMapper
    from openatlas.models.node import NodeMapper
    from openatlas.models.property import PropertyMapper
    from openatlas.models.settings import SettingsMapper
    if request.path.startswith('/static'):  # pragma: no cover
        return  # Only needed if not running with apache and static alias
    debug_model['current'] = time.time()
    g.db = connect()
    g.cursor = g.db.cursor(cursor_factory=psycopg2.extras.NamedTupleCursor)
    g.classes = ClassMapper.get_all()
    g.properties = PropertyMapper.get_all()
    g.nodes = NodeMapper.get_all_nodes()
    session['settings'] = SettingsMapper.get_settings()
    session['language'] = get_locale()
    # Set max file upload in MB
    app.config['MAX_CONTENT_LENGTH'] = session['settings']['file_upload_max_size'] * 1024 * 1024
    debug_model['by codes'] = 0
    debug_model['by id'] = 0
    debug_model['link sql'] = 0
    debug_model['user'] = 0
    debug_model['model'] = time.time() - debug_model['current']
    debug_model['current'] = time.time()

    # Workaround overlay maps for Thanados until #978 is implemented
    session['settings']['overlay_hack'] = False
    if session['settings']['site_name'] == 'Thanados':
        session['settings']['overlay_hack'] = True  # pragma: no cover
Esempio n. 4
0
def before_request():
    from openatlas.models.classObject import ClassMapper
    from openatlas.models.node import NodeMapper
    from openatlas.models.property import PropertyMapper
    from openatlas.models.settings import SettingsMapper
    if request.path.startswith('/static'):  # pragma: no cover
        return  # only needed if not running with apache and static alias
    debug_model['current'] = time.time()
    g.db = connect()
    g.cursor = g.db.cursor(cursor_factory=psycopg2.extras.NamedTupleCursor)
    g.classes = ClassMapper.get_all()
    g.properties = PropertyMapper.get_all()
    g.nodes = NodeMapper.get_all_nodes()
    session['settings'] = SettingsMapper.get_settings()
    session['language'] = get_locale()
    # Set max file upload in MB
    app.config['MAX_CONTENT_LENGTH'] = session['settings'][
        'file_upload_max_size'] * 1024 * 1024
    debug_model['by codes'] = 0
    debug_model['by id'] = 0
    debug_model['by ids'] = 0
    debug_model['linked'] = 0
    debug_model['user'] = 0
    debug_model['div sql'] = 0
    debug_model['model'] = time.time() - debug_model['current']
    debug_model['current'] = time.time()
Esempio n. 5
0
def admin_map() -> str:
    form = MapForm(obj=session['settings'])
    if form.validate_on_submit():
        g.cursor.execute('BEGIN')
        try:
            SettingsMapper.update_map_settings(form)
            logger.log('info', 'settings', 'Settings updated')
            g.cursor.execute('COMMIT')
            flash(_('info update'), 'info')
        except Exception as e:  # pragma: no cover
            g.cursor.execute('ROLLBACK')
            logger.log('error', 'database', 'transaction failed', e)
            flash(_('error transaction'), 'error')
        return redirect(url_for('admin_index'))
    form.map_cluster_enabled.data = session['settings']['map_cluster_enabled']
    form.map_cluster_max_radius.data = session['settings']['map_cluster_max_radius']
    form.map_cluster_disable_at_zoom.data = session['settings']['map_cluster_disable_at_zoom']
    return render_template('admin/map.html', form=form)
Esempio n. 6
0
def admin_file() -> str:
    form = FileForm()
    if form.validate_on_submit():
        g.cursor.execute('BEGIN')
        try:
            SettingsMapper.update_file_settings(form)
            logger.log('info', 'settings', 'Settings updated')
            g.cursor.execute('COMMIT')
            flash(_('info update'), 'info')
        except Exception as e:  # pragma: no cover
            g.cursor.execute('ROLLBACK')
            logger.log('error', 'database', 'transaction failed', e)
            flash(_('error transaction'), 'error')
        return redirect(url_for('admin_index'))
    form.file_upload_max_size.data = session['settings']['file_upload_max_size']
    form.file_upload_allowed_extension.data = session['settings']['file_upload_allowed_extension']
    form.profile_image_width.data = session['settings']['profile_image_width']
    return render_template('admin/file.html', form=form)
Esempio n. 7
0
def admin_general_update() -> str:
    form = GeneralForm()
    if form.validate_on_submit():
        g.cursor.execute('BEGIN')
        try:
            SettingsMapper.update(form)
            logger.log('info', 'settings', 'Settings updated')
            g.cursor.execute('COMMIT')
            flash(_('info update'), 'info')
        except Exception as e:  # pragma: no cover
            g.cursor.execute('ROLLBACK')
            logger.log('error', 'database', 'transaction failed', e)
            flash(_('error transaction'), 'error')
        return redirect(url_for('admin_general'))
    for field in SettingsMapper.fields:
        if field in ['default_table_rows', 'log_level']:
            getattr(form, field).data = int(session['settings'][field])
        elif field in form:
            getattr(form, field).data = session['settings'][field]
    return render_template('admin/general_update.html', form=form, settings=session['settings'])
Esempio n. 8
0
def admin_mail_update() -> str:
    form = MailForm()
    if form.validate_on_submit():
        g.cursor.execute('BEGIN')
        try:
            SettingsMapper.update(form)
            logger.log('info', 'settings', 'Settings updated')
            g.cursor.execute('COMMIT')
            flash(_('info update'), 'info')
        except Exception as e:  # pragma: no cover
            g.cursor.execute('ROLLBACK')
            logger.log('error', 'database', 'transaction failed', e)
            flash(_('error transaction'), 'error')
        return redirect(url_for('admin_mail'))
    if request.method == 'GET':
        for field in SettingsMapper.fields:
            if field in ['mail_recipients_feedback']:
                getattr(form, field).data = ';'.join(session['settings'][field])
            elif field in form:
                getattr(form, field).data = session['settings'][field]
    return render_template('admin/mail_update.html', form=form, settings=session['settings'])