def settings_groups_new(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate tmp_group = { 'name':'', 'leader_id':'', 'privileges':'', } if self.request.method == 'POST': tmp_group['name'] = self.request.POST.get('name').strip() # tmp_group['leader_id'] = self.request.POST.get('leader_id').strip() if not self.checkIfGroupnameExists(tmp_group['name']): group = Group(tmp_group['name']) if security.has_permission("settings_users_modify_permissions", self.request.context, self.request): privileges_list = '' if len(self.request.POST.getall('privileges')) > 0: for privilege in DBSession.query(Privilege).filter(Privilege.id.in_(self.request.POST.getall('privileges'))).all(): privileges_list += '|'+privilege.name + '|' group.privileges = privileges_list DBSession.add(group) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = 'Group' userAudit.model_id = group.id userAudit.action = 'Create' userAudit.revision = group.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Group created."), 'success') if group.id != '' and group.id != 0: return HTTPFound(location='/settings/groups/view/'+str(group.id)) else: self.request.session.flash(_(u"Group with that name allready exists."), 'error') privileges = DBSession.query(Privilege).all() self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/groups/', 'text':_('Groups')}) self.request.bread.append({'url':'/settings/groups/new/', 'text':_('New')}) return {'group':tmp_group, 'privileges':privileges}
def main(argv=sys.argv): if len(argv) != 2: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.create_all(engine) with transaction.manager: sudo_user = User('superadmin', '') sudo_user.set_password('password') sudo_user.needs_password_change = True sudo_user.language = 'fi_FI' DBSession.add(sudo_user) DBSession.flush() sudo_group = Group('superadmin') sudo_group.set_leader_id(sudo_user.id) DBSession.add(sudo_group) DBSession.flush() sudo_user.groups = [sudo_group] DBSession.add(sudo_user) DBSession.flush() for setting_key, setting_value in initial_settings.items(): tmp_setting = Setting(setting_key, setting_value, True) DBSession.add(tmp_setting) DBSession.flush() for permission in sorted(permissions_list): tmp_privilege = Privilege(permission) DBSession.add(tmp_privilege) DBSession.flush() print '' print 'login variables: superadmin / password' print ''