Esempio n. 1
0
def create_all_tables(db, verbose=False, add_initial_data=True):
    """Create all tables and required initial objects."""
    from indico.modules.categories import Category
    from indico.modules.designer import TemplateType
    from indico.modules.designer.models.templates import DesignerTemplate
    from indico.modules.oauth.models.applications import OAuthApplication, SystemAppType
    from indico.modules.users import User
    if verbose:
        print(cformat('%{green}Creating tables'))
    db.create_all()
    if add_initial_data:
        if verbose:
            print(cformat('%{green}Creating system user'))
        db.session.add(User(id=0, is_system=True, first_name='Indico', last_name='System'))
        if verbose:
            print(cformat('%{green}Creating root category'))
        cat = Category(id=0, title='Home', protection_mode=ProtectionMode.public)
        db.session.add(cat)
        db.session.flush()
        if verbose:
            print(cformat('%{green}Creating default ticket template for root category '))
        dtt = DesignerTemplate(category_id=0, title='Default ticket', type=TemplateType.badge,
                               data=DEFAULT_TICKET_DATA, is_system_template=True)
        dbt = DesignerTemplate(category_id=0, title='Default badge', type=TemplateType.badge,
                               data=DEFAULT_BADGE_DATA, is_system_template=True)
        cat.default_ticket_template = dtt
        cat.default_badge_template = dbt
        db.session.add(dtt)
        db.session.add(dbt)
        if verbose:
            print(cformat('%{green}Creating system oauth apps'))
        for sat in SystemAppType:
            if sat != SystemAppType.none:
                db.session.add(OAuthApplication(system_app_type=sat, **sat.default_data))
        db.session.commit()
Esempio n. 2
0
 def _create_application(name, **params):
     params.setdefault('client_id', unicode(uuid4()))
     params.setdefault('default_scopes', 'read:user')
     params.setdefault('redirect_uris', 'http://localhost:10500')
     params.setdefault('is_trusted', True)
     application = OAuthApplication(name=name, **params)
     db.session.add(application)
     db.session.flush()
     return application
Esempio n. 3
0
 def _process(self):
     form = ApplicationForm(obj=FormDefaults(is_enabled=True))
     if form.validate_on_submit():
         application = OAuthApplication()
         form.populate_obj(application)
         db.session.add(application)
         db.session.flush()
         logger.info("Application %s created by %s", application, session.user)
         flash(_("Application {} registered successfully").format(application.name), 'success')
         return redirect(url_for('.app_details', application))
     return WPOAuthAdmin.render_template('app_new.html', form=form)
Esempio n. 4
0
def _create_oauth_apps():
    for sat in SystemAppType:
        if sat != SystemAppType.none:
            db.session.add(
                OAuthApplication(system_app_type=sat, **sat.default_data))
    db.session.commit()