Example #1
0
def create_app(config_name):
    app = Flask(__name__)

    bootstrap.init_app(app)
    db.init_app(app)
    admin = Admin(app)
    admin.add_view(SecureView(User, db.session))
    admin.add_view(SecureView(Question, db.session))
    admin.add_view(SecureView(TestCase, db.session))
    admin.add_view(SecureView(Submission, db.session))
    app.config.from_object(config[config_name])
    from app.auth import auth as auth_blueprint

    app.register_blueprint(auth_blueprint, url_prefix='/auth')
    from app.questions import questions as questions_blueprint

    app.register_blueprint(questions_blueprint, url_prefix="")
    login_manager.init_app(app)
    return app
Example #2
0
def create_app(config_name):
    app = Flask(__name__)

    bootstrap.init_app(app)
    db.init_app(app)
    admin = Admin(app)
    admin.add_view(SecureView(User, db.session))
    admin.add_view(SecureView(Question, db.session))
    admin.add_view(SecureView(TestCase, db.session))
    admin.add_view(SecureView(Submission, db.session))
    app.config.from_object(config[config_name])
    from app.auth import auth as auth_blueprint

    app.register_blueprint(auth_blueprint, url_prefix='/auth')
    from app.questions import questions as questions_blueprint

    app.register_blueprint(questions_blueprint, url_prefix="")
    login_manager.init_app(app)
    return app
Example #3
0
from flask import Flask
from flask.ext.admin.base import Admin
# from flask.ext.api import FlaskAPI
from flask.ext.mongoengine import MongoEngine

# import config

# Flask
app = Flask(__name__)
app.config.from_object('config')

# MongoDB
db = MongoEngine(app)

# Flask-Admin
admin = Admin(app, name='Lariatsoft', template_mode='bootstrap3')

import views, api
Example #4
0
    return redirect(url_for('admin.index'))


login_manager = login.LoginManager()
login_manager.init_app(app)


# Create user loader function
@login_manager.user_loader
def load_user(user_id):
    return User(user_id)


if __name__ == '__main__':
    # Create admin interface
    admin = Admin(name='Example: Menu')
    admin.add_view(MyAdminView(name='Authenticated'))

    # Add home link by url
    admin.add_link(MenuLink(name='Back Home', url='/'))

    # Add login link by endpoint
    admin.add_link(
        NotAuthenticatedMenuLink(name='Login', endpoint='login_view'))

    # Add links with categories
    admin.add_link(
        MenuLink(name='Google', category='Links',
                 url='http://www.google.com/'))
    admin.add_link(
        MenuLink(name='Mozilla', category='Links', url='http://mozilla.org/'))
Example #5
0
    return redirect(url_for('admin.index'))


login_manager = login.LoginManager()
login_manager.init_app(app)


# Create user loader function
@login_manager.user_loader
def load_user(user_id):
    return User(user_id)


if __name__ == '__main__':
    # Create admin interface
    admin = Admin()
    admin.add_view(MyAdminView(name='Authenticated'))

    # Add home link by url
    admin.add_link(MenuLink(name='Back Home', url='/'))

    # Add login link by endpoint
    admin.add_link(
        NotAuthenticatedMenuLink(name='Login', endpoint='login_view'))

    # Add logout link by endpoint
    admin.add_link(AuthenticatedMenuLink(name='Logout',
                                         endpoint='logout_view'))

    admin.init_app(app)
Example #6
0
from flask.ext.assets import Environment, Bundle
from admin.utils import My_ModelView, UsersView
from admin.index import GeneralView
from admin.settings import SettingsView
from admin.auth import *

def rel(*x):
    return os.path.join(os.path.abspath(os.path.dirname(__file__)), *x)

login_manager.setup_app(app)

UPLOAD_FOLDER = os.path.join(rel('static'), 'uploads')
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
SETTINGS_PATH = rel('settings.cfg')

admin = Admin(index_view=GeneralView())

admin.init_app(app)

from admin.file_upload import *
from frontend.controllers import index


@app.context_processor
def teardown_request(exception=None):
    general_meta_k = ''
    general_meta_d = ''
    menu = Menu.select()
    try:
        general_meta_k = GeneralMeta.get(id=1).meta_k
        general_meta_d = GeneralMeta.get(id=1).meta_d
Example #7
0

@app.route('/login', methods=['POST'])
def login():
    username = request.args['username']
    password = request.args['password']
    registered_user = User.query.filter_by(username=username,
                                           password=password).first()
    if registered_user is None:
        resp = jsonify(success=False)
        return resp
    login_user(registered_user, remember=True)
    resp = jsonify(success=True)
    return resp


@app.route('/logout', methods=['POST', 'GET'])
def logout():
    #logout_user()
    resp = jsonify(success=True)
    return resp


if __name__ == '__main__':
    admin = Admin(app, 'OneDir')
    admin.add_view(sqla.ModelView(User, db.session))
    admin.add_view(sqla.ModelView(SavedFile, db.session))
    # app.debug = True
    app.run()
    # app.run(host='0.0.0.0')
Example #8
0
def create_app(object_name=None):
    """
    An flask application factory, as explained here:
    http://flask.pocoo.org/docs/patterns/appfactories/

    Arguments:r
        object_name: Name of the config object.
                     ex) ticketplace.settings.ProductionConfig
    """

    app = Flask(__name__)

    # Configuration loading:
    #
    # ^ (High Priority)
    # | Set directly via envrionment variables.
    # |     ex) SQLALCHEMY_DATABASE_URI = os.environ['DATABASE_URL']
    # | Set in Config object selected by environment variable `CONFIG` or via `object_name` argument
    # |     ex) app.config.from_object(os.environ.get('CONFIG'))
    # | Set in default Config
    # |     ex) `HerokuConfig` inherits `Config`
    # | (Low Priority)

    configuration_object_name = object_name or os.environ.get('CONFIG', None)
    if not configuration_object_name:
        raise Exception('No Configuration selected!')
    app.config.from_object(configuration_object_name)
    print('%s: App configs set with %s.' % (__file__, configuration_object_name))

    # initialize the cache
    cache.init_app(app)

    # initialize the debug tool bar
    debug_toolbar.init_app(app)

    # initialize flask-bootstrap
    Bootstrap(app)

    # initialize SQLAlchemy
    db.init_app(app)

    # initialize flask-login
    # login_manager.init_app(app)

    # initialize flask-admin
    admin = Admin(app,
                  name='틴트라넷',
                  index_view=IndexView(),
                  template_mode='bootstrap3')

    # Import and register the different asset bundles
    assets_env.init_app(app)
    assets_loader = PythonAssetsLoader(assets)
    for name, bundle in assets_loader.load_bundles().items():
        assets_env.register(name, bundle)

    # register our blueprints
    app.register_blueprint(main)

    # register admin views
    admin.add_view(CompanyView(Company, db.session))
    admin.add_view(ContentView(Content, db.session))
    admin.add_view(ContentImageView(Content, db.session, name='Image', endpoint='image'))
    admin.add_view(TagView(Tag, db.session))

    # register filters
    register_filters(app)

    return app
Example #9
0
    orig_user.password = request.args['password']
    db.session.commit()
    resp = jsonify(success=True)
    return resp

@app.route('/login', methods=['POST'])
def login():
    username = request.args['username']
    password = request.args['password']
    registered_user = User.query.filter_by(username=username, password=password).first()
    if registered_user is None:
        resp = jsonify(success=False)
        return resp
    login_user(registered_user, remember=True)
    resp = jsonify(success=True)
    return resp

@app.route('/logout', methods=['POST', 'GET'])
def logout():
    #logout_user()
    resp = jsonify(success=True)
    return resp

if __name__ == '__main__':
    admin = Admin(app, 'OneDir')
    admin.add_view(sqla.ModelView(User, db.session))
    admin.add_view(sqla.ModelView(SavedFile, db.session))
    # app.debug = True
    app.run()
    # app.run(host='0.0.0.0')
Example #10
0
            # the existing password in the database will be retained.
            model._password = utils.encrypt_password(model.password2)


# Customized Role model for SQL-Admin
class RoleAdmin(sqla.ModelView):

    # Automatically display human-readable names for the current and available Roles when creating or editing a User
    column_auto_select_related = True

    # Prevent administration of Roles unless the currently logged-in user has the "admin" role
    def is_accessible(self):
        return current_user.has_role('admin')

# Initialize Flask-Admin
admin = Admin(app, name='OOI User Admin')

# Add Flask-Admin views for Users and Roles
admin.add_view(UserAdmin(User, db.session))
admin.add_view(RoleAdmin(Role, db.session))


# Create menu links classes with reloaded accessible
class AuthenticatedMenuLink(MenuLink):
    def is_accessible(self):
        return current_user.is_authenticated


class NotAuthenticatedMenuLink(MenuLink):
    def is_accessible(self):
        return not current_user.is_authenticated
Example #11
0
def administration_setup(app):
    """
    Hack to use the backend administration.
    """
    administration = Admin(
        name="Victims Admin", index_view=SafeAdminIndexView())
    administration.init_app(app)

    # Application administration
    administration.add_view(CacheAdminView(name='Cache', endpoint='cache'))

    # Database management
    administration.add_view(AccountView(
        Account, name='Accounts', endpoint='accounts', category='Database')
    )
    administration.add_view(HashView(
        Hash, name='Hashes', endpoint='hashes', category='Database')
    )
    administration.add_view(SubmissionView(
        Submission, name='Submissions', endpoint='submissions',
        category='Database')
    )

    # File Management
    administration.add_view(FileView(
        app.config['UPLOAD_FOLDER'], '/uploads/', endpoint='uploads',
        name='User Uploads', category='Files')
    )
    administration.add_view(FileView(
        app.config['DOWNLOAD_FOLDER'], '/downloads/', endpoint='downloads',
        name='Charon Downloads', category='Files')
    )

    # Add links
    administration.add_link(MenuLink(name='Front End', endpoint='ui.index'))
    administration.add_link(MenuLink(
        name='Logout', endpoint='auth.logout_user'))

    return administration
Example #12
0
from admin.index import GeneralView
from admin.settings import SettingsView
from admin.auth import *


def rel(*x):
    return os.path.join(os.path.abspath(os.path.dirname(__file__)), *x)


login_manager.setup_app(app)

UPLOAD_FOLDER = os.path.join(rel('static'), 'uploads')
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
SETTINGS_PATH = rel('settings.cfg')

admin = Admin(index_view=GeneralView())

admin.init_app(app)

from admin.file_upload import *
from frontend.controllers import index


@app.context_processor
def teardown_request(exception=None):
    general_meta_k = ''
    general_meta_d = ''
    menu = Menu.select()
    try:
        general_meta_k = GeneralMeta.get(id=1).meta_k
        general_meta_d = GeneralMeta.get(id=1).meta_d
Example #13
0
    return redirect(url_for('admin.index'))


login_manager = login.LoginManager()
login_manager.init_app(app)


# Create user loader function
@login_manager.user_loader
def load_user(user_id):
    return User(user_id)


if __name__ == '__main__':
    # Create admin interface
    admin = Admin(name='Example: Menu')
    admin.add_view(MyAdminView(name='Authenticated'))

    # Add home link by url
    admin.add_link(MenuLink(name='Back Home', url='/'))

    # Add login link by endpoint
    admin.add_link(NotAuthenticatedMenuLink(name='Login',
                                            endpoint='login_view'))

    # Add links with categories
    admin.add_link(MenuLink(name='Google', category='Links', url='http://www.google.com/'))
    admin.add_link(MenuLink(name='Mozilla', category='Links', url='http://mozilla.org/'))

    # Add logout link by endpoint
    admin.add_link(AuthenticatedMenuLink(name='Logout',
Example #14
0
    return redirect(url_for('admin.index'))


login_manager = login.LoginManager()
login_manager.init_app(app)


# Create user loader function
@login_manager.user_loader
def load_user(user_id):
    return User(user_id)


if __name__ == '__main__':
    # Create admin interface
    admin = Admin()
    admin.add_view(MyAdminView(name='Authenticated'))

    # Add home link by url
    admin.add_link(MenuLink(name='Back Home', url='/'))

    # Add login link by endpoint
    admin.add_link(NotAuthenticatedMenuLink(name='Login',
                                            endpoint='login_view'))

    # Add logout link by endpoint
    admin.add_link(AuthenticatedMenuLink(name='Logout',
                                         endpoint='logout_view'))

    admin.init_app(app)