def _create_category(id_=None, **kwargs): kwargs.setdefault( 'title', u'cat#{}'.format(id_) if id_ is not None else u'dummy') kwargs.setdefault('timezone', 'UTC') if 'parent' not in kwargs: kwargs['parent'] = Category.get_root() return Category(id=id_, acl_entries=set(), **kwargs)
def create_all_tables(db, verbose=False, add_initial_data=True): """Create all tables and required initial objects.""" from indico.core.oauth.models.applications import OAuthApplication, SystemAppType from indico.modules.categories import Category from indico.modules.designer import TemplateType from indico.modules.designer.models.templates import DesignerTemplate 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()
def lostandfound_category(self): if self.importer.global_ns.lostandfound_category: return self.importer.global_ns.lostandfound_category root = Category.get_root() category = Category( parent=root, default_event_themes=root.default_event_themes, timezone=root.timezone, title='Lost & Found', protection_mode=ProtectionMode.protected, description='Events that had no category in the old database') db.session.add(category) self.importer.global_ns.lostandfound_category = category return self.importer.global_ns.lostandfound_category
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.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') db.session.add( Category(id=0, title='Home', protection_mode=ProtectionMode.public)) db.session.commit()
def _cat(id_, protection_mode=ProtectionMode.inheriting, children=None): return Category(id=id_, title=f'cat-{id_}', protection_mode=protection_mode, children=children or [])