Example #1
0
def create_app(database_uri='sqlite://'):
    app = Flask(__name__)
    app.config['SECRET_KEY'] = 'not secure'

    app.engine = create_engine(database_uri, convert_unicode=True)
    app.db_session = scoped_session(sessionmaker(autocommit=False, autoflush=False,
                                                 bind=app.engine))
    admin_blueprint1 = admin.create_admin_blueprint(
        (Student, Teacher), app.db_session, name='admin1')
    admin_blueprint2 = admin.create_admin_blueprint(
        (Course,), app.db_session, name='admin2')
    app.register_blueprint(admin_blueprint1, url_prefix='/admin1')
    app.register_blueprint(admin_blueprint2, url_prefix='/admin2')
    Base.metadata.create_all(bind=app.engine)
    return app
Example #2
0
def init(app):
    """Initialize the admin integration with the Flask app."""

    datastore = MongoAlchemyDatastore(
        (User, Consumer, Policy),
        mongo.session,
        model_forms={
            'Consumer': ConsumerForm,
            'Policy': PolicyForm,
        }
    )

    admin_blueprint = admin.create_admin_blueprint(
        datastore,
        view_decorator=login_required)

    admin_blueprint.before_request(login_before_request)

    admin_blueprint.add_url_rule(
        '/login/',
        endpoint='login',
        view_func=login_view,
        methods=['GET', 'POST'])

    admin_blueprint.add_url_rule(
        '/logout/',
        endpoint='logout',
        view_func=logout_view,
        methods=['GET',])

    app.register_blueprint(admin_blueprint, url_prefix='/admin')

    @app.route('/')
    def index():
        return redirect(url_for('admin.index'))
Example #3
0
def create_app(database_uri="sqlite://"):
    app = Flask(__name__)
    app.config["SECRET_KEY"] = "not secure"

    app.engine = create_engine(database_uri, convert_unicode=True)
    db_session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=app.engine))

    admin_blueprint = admin.create_admin_blueprint(
        (Course, Student, Teacher), db_session, view_decorator=login_required
    )

    @admin_blueprint.route("/login/", methods=("GET", "POST"))
    def login():
        if request.form.get("username", None):
            session["user"] = request.form["username"]
            return redirect(request.args.get("next", url_for("admin.index")))
        else:
            if request.method == "POST":
                return render_template("login.html", bad_login=True)
            else:
                return render_template("login.html")

    @admin_blueprint.route("/logout/")
    def logout():
        del session["user"]
        return redirect("/")

    @app.route("/")
    def go_to_admin():
        return redirect("/admin/")

    app.register_blueprint(admin_blueprint, url_prefix="/admin")

    return app
Example #4
0
 def create_app(self):
     app = Flask(__name__)
     app.config["SECRET_KEY"] = "not secure"
     engine = sa.create_engine("sqlite://", convert_unicode=True)
     app.db_session = sa.orm.scoped_session(sa.orm.sessionmaker(autocommit=False, autoflush=False, bind=engine))
     admin_blueprint = admin.create_admin_blueprint(
         (simple.Course, simple.Student, simple.Teacher), app.db_session, exclude_pks=False
     )
     app.register_blueprint(admin_blueprint, url_prefix="/admin")
     simple.Base.metadata.create_all(bind=engine)
     return app
def create_app(database_uri="sqlite://"):
    app = Flask(__name__)
    app.config["SQLALCHEMY_DATABASE_URI"] = database_uri
    app.config["SECRET_KEY"] = "not secure"
    db.init_app(app)
    datastore = SQLAlchemyDatastore((Address, Location, Asset), db.session, exclude_pks=False)
    admin_blueprint = admin.create_admin_blueprint(datastore)
    app.register_blueprint(admin_blueprint, url_prefix="/admin")
    db.create_all(app=app)

    @app.route("/")
    def go_to_admin():
        return redirect("/admin")

    return app
def create_app(database_uri='sqlite://'):
    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = database_uri
    app.config['SECRET_KEY'] = 'seeeeecret'

    db.init_app(app)
    admin_blueprint = admin.create_admin_blueprint(
        (User, Post, Category), db.session)
    app.register_blueprint(admin_blueprint, url_prefix='/admin')
    db.create_all(app=app)

    @app.route('/')
    def go_to_admin():
        return redirect('/admin')
    return app
def create_app(database_uri='sqlite://'):
    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = database_uri
    app.config['SECRET_KEY'] = 'not secure'
    db.init_app(app)
    datastore = SQLAlchemyDatastore(
        (Course, Student, Teacher), db.session)
    admin_blueprint = admin.create_admin_blueprint(datastore)
    app.register_blueprint(admin_blueprint, url_prefix='/admin')
    db.create_all(app=app)

    @app.route('/')
    def go_to_admin():
        return redirect('/admin')
    return app
Example #8
0
def create_app(database_uri='sqlite://'):
    app = Flask(__name__)
    app.config['SECRET_KEY'] = 'not secure'
    engine = create_engine(database_uri, convert_unicode=True)
    db_session = scoped_session(sessionmaker(
        autocommit=False, autoflush=False,
        bind=engine))
    admin_blueprint = admin.create_admin_blueprint(
        (User,), db_session, model_forms={'User': UserForm})
    app.register_blueprint(admin_blueprint, url_prefix='/admin')
    Base.metadata.create_all(bind=engine)

    @app.route('/')
    def go_to_admin():
        return redirect('/admin')

    return app
def create_app(database_uri='sqlite://'):
    app = Flask(__name__)
    app.config['SECRET_KEY'] = 'not secure'
    engine = create_engine(database_uri, convert_unicode=True)
    app.db_session = scoped_session(sessionmaker(
        autocommit=False, autoflush=False, bind=engine))
    datastore = SQLAlchemyDatastore(
        (TestModel,), app.db_session)
    admin_blueprint = admin.create_admin_blueprint(datastore)
    app.register_blueprint(admin_blueprint, url_prefix='/admin')
    Base.metadata.create_all(bind=engine)

    @app.route('/')
    def go_to_admin():
        return redirect('/admin')

    return app
Example #10
0
def create_app(config_path=None, name=None):
    """Creates a flask application instance and loads its config from config_path

    :param config_path: A string representing either a file path or an import path
    :returns: An instance of `flask.Flask`."""

    app = Flask(name or __name__)
    app.config.from_object('server.config.DebugConfig')
    app.config.from_envvar(config_path or '', silent=True)

    db.init_app(app)

    admin_blueprint = admin.create_admin_blueprint(MANAGED_MODELS, db.session)
    app.register_blueprint(admin_blueprint, url_prefix="/tables")

    autoload(app)

    return app
Example #11
0
def create_app(database_uri='sqlite://', pagination=25):
    app = Flask(__name__)
    app.config['SECRET_KEY'] = 'not secure'
    engine = create_engine(database_uri, convert_unicode=True)
    app.db_session = scoped_session(sessionmaker(
        autocommit=False, autoflush=False,
        bind=engine))
    admin_blueprint = admin.create_admin_blueprint(
        (Course, Student, Teacher), app.db_session,
        list_view_pagination=pagination)
    app.register_blueprint(admin_blueprint, url_prefix='/admin')
    Base.metadata.create_all(bind=engine)

    @app.route('/')
    def go_to_admin():
        return redirect('/admin')

    return app
Example #12
0
def create_app(database_uri='sqlite://'):
    app = Flask(__name__)
    app.config['SECRET_KEY'] = 'not secure'

    app.engine = create_engine(database_uri, convert_unicode=True)
    db_session = scoped_session(sessionmaker(
        autocommit=False, autoflush=False, bind=app.engine))
    datastore = SQLAlchemyDatastore(
        (Course, Student, Teacher), db_session)
    admin_blueprint = admin.create_admin_blueprint(
        datastore, view_decorator=login_required)

    @admin_blueprint.route('/login/', methods=('GET', 'POST'))
    def login():
        if request.form.get('username', None):
            session['user'] = request.form['username']
            return redirect(request.args.get('next', url_for('admin.index')))
        else:
            if request.method == 'POST':
                return render_template("login.html",
                                       bad_login=True)
            else:
                return render_template("login.html")

    @admin_blueprint.route('/logout/')
    def logout():
        del session['user']
        return redirect('/')

    @app.route('/')
    def go_to_admin():
        return redirect('/admin/')

    app.register_blueprint(admin_blueprint, url_prefix='/admin')

    return app
Example #13
0
assets = Environment(app)

# Second, setup assets

js = Bundle('js/libs/jquery-1.6.4.js',
            'js/libs/jquery.form.js',
            'js/scripts.js',
            filters='jsmin',
            output='js/packed.js')

assets.register('js_all', js)

# Third, after config, import the models and views

import geekup.models
import geekup.views
if environ.get('GEEKUP_ENV') == 'prod':
    import geekup.loghandler

# Fourth, setup admin for the models

from flask.ext import admin
from flask.ext.admin.datastore.sqlalchemy import SQLAlchemyDatastore
from geekup.views.login import lastuser

admin_datastore = SQLAlchemyDatastore(geekup.models, geekup.models.db.session)
admin_blueprint = admin.create_admin_blueprint(
    admin_datastore, view_decorator=lastuser.requires_permission('siteadmin'))

app.register_blueprint(admin_blueprint, url_prefix='/admin')
Example #14
0
from www.menu import register
from werkzeug.utils import import_string
from flask.ext import admin
from flask.ext.admin.datastore.sqlalchemy import SQLAlchemyDatastore

'''
example config line:
WWW_BLUEPRINTS=[('www.blog',{'url_prefix': '/blog'}, ('blog', '/blog')),\
				('www.contact',{'url_prefix': '/contact'}, ('contact', '/contact')]
'''

admin_forms = {}
admin_models = []

for module, blueprint_options, menu_options in www.config['WWW_BLUEPRINTS']:
	m = import_string(module)
	www.register_blueprint(m.blueprint, **blueprint_options)
	admin_models.extend(m.admin_models)
	admin_forms.update(m.admin_forms)
	register(*menu_options)

admin_datastore = SQLAlchemyDatastore(tuple(admin_models), db.session, model_forms=admin_forms)
admin_blueprint = admin.create_admin_blueprint(admin_datastore)

def check_auth_for_admin():
	if not current_user.is_authenticated():
		return redirect(url_for('login', next=request.url))

admin_blueprint.before_request(check_auth_for_admin)
www.register_blueprint(admin_blueprint, url_prefix='/admin')
Example #15
0
mail.init_app(app)
assets = Environment(app)

# Second, setup assets

js = Bundle('js/libs/jquery-1.6.4.js',
            'js/libs/jquery.form.js',
            'js/scripts.js',
            filters='jsmin', output='js/packed.js')

assets.register('js_all', js)

# Third, after config, import the models and views

import geekup.models
import geekup.views
if environ.get('GEEKUP_ENV') == 'prod':
    import geekup.loghandler

# Fourth, setup admin for the models

from flask.ext import admin
from flask.ext.admin.datastore.sqlalchemy import SQLAlchemyDatastore
from geekup.views.login import lastuser

admin_datastore = SQLAlchemyDatastore(geekup.models, geekup.models.db.session)
admin_blueprint = admin.create_admin_blueprint(admin_datastore,
    view_decorator=lastuser.requires_permission('siteadmin'))

app.register_blueprint(admin_blueprint, url_prefix='/admin')
Example #16
0
#coding: utf-8
from collections import defaultdict
from datetime import datetime

import colander
from flask import Flask, g, request, render_template, abort, flash, json
from flask import url_for, redirect, jsonify
from flask.ext import admin
from flask.ext.admin.datastore.sqlalchemy import SQLAlchemyDatastore

from stundencheck.core import app, db
from stundencheck.model import Event, Report, School

admin_datastore = SQLAlchemyDatastore((School, Event, Report), db.session)
admin_blueprint = admin.create_admin_blueprint(admin_datastore)
app.register_blueprint(admin_blueprint, url_prefix='/admin')


class SchoolType(colander.SchemaType):
    def serialize(self, node, struct):
        return struct.id

    def deserialize(self, node, struct):
        return db.session.query(School).filter_by(id=struct).first()


class ReportSchema(colander.MappingSchema):
    school = colander.SchemaNode(SchoolType())
    group = colander.SchemaNode(colander.String())
    course = colander.SchemaNode(colander.String())
    session = colander.SchemaNode(colander.String())