Exemplo n.º 1
0
    def create(self):
        params = parse_request(self.request)

        tag_csv = ','.join(params['tags'])
        group = DBSession.query(Group).filter(Group.id.in_(params['groups'])).first()
        for user_dict in params['users']:
            new_user = User(**user_dict)
            if tag_csv:
                new_user.tags = tag_csv
            if group:
                new_user.group_id = group.id
            try:
                DBSession.begin_nested()
                DBSession.add(new_user)
                DBSession.flush()
                # print 'Adding user', user_dict['email']
            except sqlalchemy.exc.IntegrityError, exc:
                DBSession.rollback()
                self.flash(str(exc), success=False)
                user = DBSession.query(User).filter(User.email==user_dict['email']).first()
                user.merge(new_user)
                DBSession.flush()
Exemplo n.º 2
0
            argd[key] = arg2

config = ConfigParser(dict(here=os.getcwd()))
config.read([arg for arg in sys.argv if arg.endswith('.ini')][0])
app_config = dict(config.items('app:main'))

engine = engine_from_config(app_config)
DBSession.configure(bind=engine)
metadata.bind = engine

from confrm.models import Organization, User, OrganizationUser

user = None
org = None
if 'user-email' in argd:
    user = User(email=argd['user-email'], root=True)
    user.set_password(argd['user-password'])
    DBSession.add(user)
    DBSession.flush()
    print 'Added email'

if 'org-slug' in argd:
    org = Organization(slug=argd['org-slug'], name=argd['org-name'])
    DBSession.add(org)
    DBSession.flush()
    print 'Added organization'

if user and org:
    org_user = OrganizationUser(user_id=user.id, organization_id=org.id, owner=True)
    DBSession.add(org_user)
    DBSession.flush()