Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

vigiboard / vigiboard / websetup.py @ c1ce3d6a

History | View | Annotate | Download (1.99 KB)

1
# -*- coding: utf-8 -*-
2
"""Setup the vigiboard application"""
3

    
4
import logging
5

    
6
import transaction
7
from tg import config
8

    
9
from vigiboard.config.environment import load_environment
10

    
11
__all__ = ['setup_app']
12

    
13
log = logging.getLogger(__name__)
14

    
15

    
16
def setup_app(command, conf, variables):
17
    """Place any commands to setup vigiboard here"""
18
    load_environment(conf.global_conf, conf.local_conf)
19

    
20
    # Load the models
21
    from vigiboard import model
22

    
23
    # Create tables
24
    print "Creating tables"
25
    model.metadata.create_all()
26

    
27
    # Create a test used called "manager".
28
    manager = model.User()
29
    manager.user_name = u'manager'
30
    manager.email = u'manager@somedomain.com'
31
    model.DBSession.add(manager)
32

    
33
    # Create a test group called "managers"
34
    # and add "manager" to that group.
35
    group = model.UserGroup()
36
    group.group_name = u'managers'
37
    group.users.append(manager)
38
    model.DBSession.add(group)
39

    
40
    # Create a test permission called "manage"
41
    # and give it to the group of "managers".
42
    permission = model.Permission()
43
    permission.permission_name = u'manage'
44
    permission.usergroups.append(group)
45
    model.DBSession.add(permission)
46

    
47
    # Create a test user called "editor".
48
    editor = model.User()
49
    editor.user_name = u'editor'
50
    editor.email = u'editor@somedomain.com'
51
    model.DBSession.add(editor)
52

    
53
    # Create a test group called "editors"
54
    # and add "editor" to that group.
55
    group = model.UserGroup()
56
    group.group_name = u'editors'
57
    group.users.append(editor)
58
    model.DBSession.add(group)
59

    
60
    # Create a test permission called "edit"
61
    # and give it to the group of "editors".
62
    permission = model.Permission()
63
    permission.permission_name = u'edit'
64
    permission.usergroups.append(group)
65
    model.DBSession.add(permission)
66

    
67
    version = model.Version()
68
    version.name = u'vigiboard'
69
    version.version = config['vigiboard_version']
70
    model.DBSession.add(version)
71

    
72
    model.DBSession.flush()
73
    transaction.commit()
74
    print "Successfully setup"