# HG changeset patch # User Ludovic Chabant # Date 1455516605 28800 # Node ID 35221f5fe0ddc49f41e176e9ff01bf4d73639dde # Parent 59968ee07a07eff0031c7545de8278c9be89695a admin: Remove settings view. diff -r 59968ee07a07 -r 35221f5fe0dd foodtruck/templates/settings.html --- a/foodtruck/templates/settings.html Sun Feb 14 22:06:32 2016 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -{% set title = 'Settings' %} - -{% extends 'layouts/default.html' %} - -{% block content %} -{% for sec in sections %} -
-

{{sec.title}}

- - - {% for op in sec.options %} -
- {% if op.type == 'checkbox' %} -
- -
- {% else %} -
- {{op.title}} - -
- {% endif %} -
- {% endfor %} - - -
-{% endfor %} -
-

Reload Settings

-

This will reload settings from the configuration file.

- -
-{% endblock %} - - diff -r 59968ee07a07 -r 35221f5fe0dd foodtruck/views/settings.py --- a/foodtruck/views/settings.py Sun Feb 14 22:06:32 2016 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -import logging -import bcrypt -from flask import g, request, abort, render_template, redirect, url_for -from flask.ext.login import login_required -from ..views import with_menu_context -from ..web import app - - -logger = logging.getLogger(__name__) - - -def _hash_password(v): - binpw = v.encode('utf8') - v = bcrypt.hashpw(binpw, bcrypt.gensalt()).decode('utf8') - return v - - -config_meta = { - 'scm.title': 'Source Control', - 'triggers.bake.is_shell.title': 'Use Shell' - } - -config_defaults = { - 'triggers': { - 'bake.is_shell': 'false' - } - } - -config_coercer = { - 'security.password': _hash_password - } - - -@app.route('/settings', methods=['GET', 'POST']) -@login_required -def settings(): - if request.method == 'POST': - if '_do_save' not in request.form: - abort(400) - if not g.config.has(request.form['_section']): - abort(400) - - secname = request.form['_section'] - - defaults = config_defaults.get(secname) - if defaults: - for n, v in defaults.items(): - g.config.set('%s/%s' % (secname, n), v) - - for n, v in request.form.items(): - if n in ['_section', '_do_save']: - continue - - coercer = config_coercer.get('%s.%s' % (secname, n)) - if coercer: - v = coercer(v) - - logger.debug("Setting %s.%s to %s" % (secname, n, v)) - g.config.set('%s/%s' % (secname, n), v) - - g.config.save() - - data = {'sections': []} - for secname, sec in g.config.items(): - if secname in ['DEFAULT', 'foodtruck', 'sites']: - continue - secdata = {} - secdata['name'] = secname - secdata['title'] = config_meta.get( - '%s.title' % secname, secname.title()) - secdata['options'] = [] - for n, v in sec.items(): - opdata = {} - opdata['name'] = n - opdata['title'] = config_meta.get( - '%s.%s.title' % (secname, n), n.title()) - opdata['value'] = v - opdata['type'] = 'text' - if v in ['true', 'false']: - opdata['type'] = 'checkbox' - if secname == 'security' and n == 'password': - opdata['type'] = 'password' - secdata['options'].append(opdata) - data['sections'].append(secdata) - - data['url_settings'] = url_for('settings') - data['url_reload_settings'] = url_for('reload_settings') - with_menu_context(data) - return render_template('settings.html', **data) - - -@app.route('/reload', methods=['POST']) -@login_required -def reload_settings(): - from ..web import reload_foodtruck - reload_foodtruck() - return redirect(url_for('settings')) -