Exemplo n.º 1
0
def db_create(session, desc):
    t = models.Tenant()

    session.add(t)

    # required to generate the tenant id
    session.flush()

    appdata = load_appdata()

    db_load_defaults(session)

    models.config.initialize_config(session, t.id, desc['mode'])

    for var in ['mode', 'name', 'subdomain']:
        db_set_config_variable(session, t.id, var, desc[var])

    models.config.add_new_lang(session, t.id, 'en', appdata)

    db_initialize_tenant_submission_statuses(session, t.id)

    if desc['mode'] == 'default':
        file_descs = [('favicon', 'data/favicon.ico')]

        for file_desc in file_descs:
            with open(os.path.join(Settings.client_path, file_desc[1]),
                      'rb') as f:
                data = base64.b64encode(f.read()).decode()
                file.db_add_file(session, t.id, file_desc[0], '', data)

    return t
Exemplo n.º 2
0
def db_create(session, desc):
    appdata = load_appdata()

    t = models.db_forge_obj(session, models.Tenant, desc)

    # required to generate/retrive the id
    session.flush()

    db_update_defaults(session)

    models.config.system_cfg_init(session, tid=t.id)

    models.config.add_new_lang(session, t.id, u'en', appdata)

    file_descs = [
      (u'logo', 'data/logo.png'),
      (u'favicon', 'data/favicon.ico')
    ]

    for file_desc in file_descs:
        with open(os.path.join(Settings.client_path, file_desc[1]), 'r') as f:
            data = base64.b64encode(f.read())
            file.db_add_file(session, t.id, file_desc[0], u'', data)

    db_refresh_memory_variables(session, [t.id])

    return t
Exemplo n.º 3
0
def db_initialize(session, tid):
    appdata = load_appdata()

    models.config.system_cfg_init(session, tid=tid)

    models.config.add_new_lang(session, tid, u'en', appdata)

    initialize_submission_statuses(session, tid)

    file_descs = [
      (u'logo', 'data/logo.png'),
      (u'favicon', 'data/favicon.ico')
    ]

    for file_desc in file_descs:
        with open(os.path.join(Settings.client_path, file_desc[1]), 'rb') as f:
            data = base64.b64encode(f.read())
            file.db_add_file(session, tid, file_desc[0], u'', data)
Exemplo n.º 4
0
def db_initialize(session, tenant, mode):
    tenant.active = True

    appdata = load_appdata()

    models.config.initialize_config(session, tenant.id, mode)

    models.config.add_new_lang(session, tenant.id, u'en', appdata)

    initialize_submission_statuses(session, tenant.id)

    if tenant.id == 1:
        file_descs = [(u'logo', 'data/logo.png'),
                      (u'favicon', 'data/favicon.ico')]

        for file_desc in file_descs:
            with open(os.path.join(Settings.client_path, file_desc[1]),
                      'rb') as f:
                data = base64.b64encode(f.read()).decode()
                file.db_add_file(session, tenant.id, file_desc[0], u'', data)
Exemplo n.º 5
0
def db_initialize(session, tenant, mode):
    tenant.active = True

    appdata = load_appdata()

    models.config.initialize_config(session, tenant.id, mode)

    models.config.add_new_lang(session, tenant.id, u'en', appdata)

    initialize_submission_statuses(session, tenant.id)

    if mode == 'default':
        file_descs = [
          (u'logo', 'data/logo.png'),
          (u'favicon', 'data/favicon.ico')
        ]

        for file_desc in file_descs:
            with open(os.path.join(Settings.client_path, file_desc[1]), 'rb') as f:
                data = base64.b64encode(f.read()).decode()
                file.db_add_file(session, tenant.id, file_desc[0], u'', data)
Exemplo n.º 6
0
def db_initialize_tenant(session, tenant, mode):
    tenant.active = True

    appdata = load_appdata()

    db_load_defaults(session)

    models.config.initialize_config(session, tenant.id, mode)

    models.config.add_new_lang(session, tenant.id, 'en', appdata)

    db_initialize_tenant_submission_statuses(session, tenant.id)

    if mode == 'default':
        file_descs = [('favicon', 'data/favicon.ico')]

        for file_desc in file_descs:
            with open(os.path.join(Settings.client_path, file_desc[1]),
                      'rb') as f:
                data = base64.b64encode(f.read()).decode()
                file.db_add_file(session, tenant.id, file_desc[0], '', data)