"Basic menu management"
This commit is contained in:
parent
9d723deb3a
commit
d9ecf3bb5a
@ -3,7 +3,7 @@
|
|||||||
<article class='right'>
|
<article class='right'>
|
||||||
<h3>TODO list</h3>
|
<h3>TODO list</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Menu management</li>
|
<li><strike>Basic menu management</strike></li>
|
||||||
<li>Installation wizard</li>
|
<li>Installation wizard</li>
|
||||||
<li>Back office for basic content management</li>
|
<li>Back office for basic content management</li>
|
||||||
<li>Basic Ajax support</li>
|
<li>Basic Ajax support</li>
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
# -*- coding: utf-8
|
# -*- coding: utf-8
|
||||||
|
|
||||||
# Required modules
|
# Required modules
|
||||||
|
import inspect
|
||||||
from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash
|
from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
@ -24,6 +25,32 @@ app.secret_key = 'ce1d1c9ff0ff388a838b3a1e3207dd27'
|
|||||||
# Feel free to use SQLAlchemy (or not)
|
# Feel free to use SQLAlchemy (or not)
|
||||||
db = SQLAlchemy(app)
|
db = SQLAlchemy(app)
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Menu management
|
||||||
|
########################################################################
|
||||||
|
|
||||||
|
def get_menu(page):
|
||||||
|
menu = [['Accueil', '/', 0],
|
||||||
|
['Articles', '/articles', 0],
|
||||||
|
['Basics', '/basics', 0],
|
||||||
|
['Inputs', '/inputs', 0],
|
||||||
|
['Database', '/database', 0],
|
||||||
|
['Todo', '/todo', 0],
|
||||||
|
]
|
||||||
|
# This is index page
|
||||||
|
if page == 'index':
|
||||||
|
menu[0][2] = 1
|
||||||
|
return menu
|
||||||
|
|
||||||
|
# Let's look for the actual page
|
||||||
|
page = '/%s' % page
|
||||||
|
for item in menu:
|
||||||
|
if item[1] == page:
|
||||||
|
item[2] = 1
|
||||||
|
return menu
|
||||||
|
# This should never happen
|
||||||
|
return menu
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Routes
|
# Routes
|
||||||
########################################################################
|
########################################################################
|
||||||
@ -35,70 +62,40 @@ def page_not_found(e):
|
|||||||
|
|
||||||
@app.route("/", methods=['GET', 'POST'])
|
@app.route("/", methods=['GET', 'POST'])
|
||||||
def index():
|
def index():
|
||||||
app.menu = [('Accueil', '/', 1),
|
page = inspect.currentframe().f_code.co_name
|
||||||
('Articles', '/articles', 0),
|
menu = get_menu(page)
|
||||||
('Basics', '/basics', 0),
|
return render_template('index.html', menu=menu)
|
||||||
('Inputs', '/inputs', 0),
|
|
||||||
('Database', '/database', 0),
|
|
||||||
('Todo', '/todo', 0),
|
|
||||||
]
|
|
||||||
return render_template('index.html', menu=app.menu)
|
|
||||||
|
|
||||||
@app.route("/articles", methods=['GET', 'POST'])
|
@app.route("/articles", methods=['GET', 'POST'])
|
||||||
def articles():
|
def articles():
|
||||||
app.menu = [('Accueil', '/', 0),
|
page = inspect.currentframe().f_code.co_name
|
||||||
('Articles', '/articles', 1),
|
menu = get_menu(page)
|
||||||
('Basics', '/basics', 0),
|
return render_template('articles.html', menu=menu)
|
||||||
('Inputs', '/inputs', 0),
|
|
||||||
('Database', '/database', 0),
|
|
||||||
('Todo', '/todo', 0),
|
|
||||||
]
|
|
||||||
return render_template('articles.html', menu=app.menu)
|
|
||||||
|
|
||||||
@app.route("/basics", methods=['GET', 'POST'])
|
@app.route("/basics", methods=['GET', 'POST'])
|
||||||
def basics():
|
def basics():
|
||||||
app.menu = [('Accueil', '/', 0),
|
page = inspect.currentframe().f_code.co_name
|
||||||
('Articles', '/articles', 0),
|
menu = get_menu(page)
|
||||||
('Basics', '/basics', 1),
|
return render_template('basics.html', menu=menu)
|
||||||
('Inputs', '/inputs', 0),
|
|
||||||
('Database', '/database', 0),
|
|
||||||
('Todo', '/todo', 0),
|
|
||||||
]
|
|
||||||
return render_template('basics.html', menu=app.menu)
|
|
||||||
|
|
||||||
|
|
||||||
@app.route("/inputs", methods=['GET', 'POST'])
|
@app.route("/inputs", methods=['GET', 'POST'])
|
||||||
def inputs():
|
def inputs():
|
||||||
app.menu = [('Accueil', '/', 0),
|
page = inspect.currentframe().f_code.co_name
|
||||||
('Articles', '/articles', 0),
|
menu = get_menu(page)
|
||||||
('Basics', '/basics', 0),
|
return render_template('inputs.html', menu=menu)
|
||||||
('Inputs', '/inputs', 1),
|
|
||||||
('Database', '/database', 0),
|
|
||||||
('Todo', '/todo', 0),
|
|
||||||
]
|
|
||||||
return render_template('inputs.html', menu=app.menu)
|
|
||||||
|
|
||||||
@app.route("/database", methods=['GET', 'POST'])
|
@app.route("/database", methods=['GET', 'POST'])
|
||||||
def database():
|
def database():
|
||||||
app.menu = [('Accueil', '/', 0),
|
page = inspect.currentframe().f_code.co_name
|
||||||
('Articles', '/articles', 0),
|
menu = get_menu(page)
|
||||||
('Basics', '/basics', 0),
|
return render_template('database.html', menu=menu)
|
||||||
('Inputs', '/inputs', 0),
|
|
||||||
('Database', '/database', 1),
|
|
||||||
('Todo', '/todo', 0),
|
|
||||||
]
|
|
||||||
return render_template('database.html', menu=app.menu)
|
|
||||||
|
|
||||||
@app.route("/todo", methods=['GET', 'POST'])
|
@app.route("/todo", methods=['GET', 'POST'])
|
||||||
def todo():
|
def todo():
|
||||||
app.menu = [('Accueil', '/', 0),
|
page = inspect.currentframe().f_code.co_name
|
||||||
('Articles', '/articles', 0),
|
menu = get_menu(page)
|
||||||
('Basics', '/basics', 0),
|
return render_template('todo.html', menu=menu)
|
||||||
('Inputs', '/inputs', 0),
|
|
||||||
('Database', '/database', 0),
|
|
||||||
('Todo', '/todo', 1),
|
|
||||||
]
|
|
||||||
return render_template('todo.html', menu=app.menu)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user