def tt_make_user(name=None, instance_group=None): if name is not None: name = unicode(name) user = model.meta.Session.query(model.User) user = user.filter(model.User.user_name == name).first() if user: return user if name is None: name = tt_make_str() user = model.User(name, name + u'@test.de', u"test", i18n.get_default_locale()) default_group = model.Group.by_code(model.Group.CODE_DEFAULT) default_membership = model.Membership(user, None, default_group) memberships = [default_membership] if instance_group: instance = tt_get_instance() group_membership = model.Membership(user, instance, instance_group) memberships.append(group_membership) user.memberships = memberships model.meta.Session.add(user) model.meta.Session.flush() # write to db and updated db # generated attributes return user
def tt_make_user(name=None, instance_group=None): if name is not None: name = unicode(name) user = model.meta.Session.query(model.User) user = user.filter(model.User.user_name == name).first() if user: return user if name is None: name = tt_make_str() user = model.User(name, u"*****@*****.**", u"test", i18n.get_default_locale()) default_group = model.Group.by_code(model.Group.CODE_DEFAULT) default_membership = model.Membership(user, None, default_group) memberships = [default_membership] if instance_group: instance = tt_get_instance() group_membership = model.Membership(user, instance, instance_group) memberships.append(group_membership) user.memberships = memberships model.meta.Session.add(user) model.meta.Session.flush() # write to db and updated db # generated attributes return user
def create(cls, user_name, email, password=None, locale=None, openid_identity=None, global_admin=False, display_name=None, autojoin=True, shibboleth_persistent_id=None): """ Create a user. If user_name is None, a random user name is generated. """ from group import Group from membership import Membership import adhocracy.lib.util as util if password is None: password = util.random_token() import adhocracy.i18n as i18n if locale is None: locale = i18n.get_default_locale() while user_name is None: # Note: This can theoretically lead to IntegrityErrors if the same # username is generated at the same time. This is very unlikely # though. from adhocracy.lib.util import random_username try_user_name = random_username() if cls.find(try_user_name) is None: user_name = try_user_name from adhocracy.lib import helpers as h h.flash(_('The random username %s has been assigned to you.') % user_name, 'success') user = User(user_name, email, password, locale, display_name=display_name) meta.Session.add(user) # Add the global default group default_group = Group.by_code(Group.CODE_DEFAULT) default_membership = Membership(user, None, default_group) meta.Session.add(default_membership) # Autojoin the user in instances config_autojoin = config.get('adhocracy.instances.autojoin') if autojoin and config_autojoin: user.fix_autojoin(commit=False) if global_admin: admin_group = Group.by_code(Group.CODE_ADMIN) admin_membership = Membership(user, None, admin_group) meta.Session.add(admin_membership) if openid_identity is not None: from adhocracy.model.openid import OpenID openid = OpenID(unicode(openid_identity), user) meta.Session.add(openid) if shibboleth_persistent_id is not None: from adhocracy.model.shibboleth import Shibboleth shib = Shibboleth(shibboleth_persistent_id, user) meta.Session.add(shib) meta.Session.flush() return user
def create(cls, user_name, email, password=None, locale=None, openid_identity=None, global_admin=False): from group import Group from membership import Membership from openid import OpenID import adhocracy.lib.util as util if password is None: password = util.random_token() import adhocracy.i18n as i18n if locale is None: locale = i18n.get_default_locale() user = User(user_name, email, password, locale) meta.Session.add(user) default_group = Group.by_code(Group.CODE_DEFAULT) default_membership = Membership(user, None, default_group) meta.Session.add(default_membership) if global_admin: admin_group = Group.by_code(Group.CODE_ADMIN) admin_membership = Membership(user, None, admin_group) meta.Session.add(admin_membership) if openid_identity is not None: openid = OpenID(unicode(openid_identity), user) meta.Session.add(openid) meta.Session.flush() return user
def create(cls, user_name, email, password=None, locale=None, openid_identity=None, global_admin=False, display_name=None): from group import Group from membership import Membership from openid import OpenID import adhocracy.lib.util as util if password is None: password = util.random_token() import adhocracy.i18n as i18n if locale is None: locale = i18n.get_default_locale() user = User(user_name, email, password, locale, display_name=display_name) meta.Session.add(user) # Add the global default group default_group = Group.by_code(Group.CODE_DEFAULT) default_membership = Membership(user, None, default_group) meta.Session.add(default_membership) # Autojoin the user in instances config_autojoin = config.get('adhocracy.instances.autojoin') if config_autojoin: instances = Instance.all() if config_autojoin != 'ALL': instance_keys = [ key.strip() for key in config_autojoin.split(",") ] instances = [ instance for instance in instances if instance.key in instance_keys ] for instance in instances: autojoin_membership = Membership(user, instance, instance.default_group) meta.Session.add(autojoin_membership) if global_admin: admin_group = Group.by_code(Group.CODE_ADMIN) admin_membership = Membership(user, None, admin_group) meta.Session.add(admin_membership) if openid_identity is not None: openid = OpenID(unicode(openid_identity), user) meta.Session.add(openid) meta.Session.flush() return user
def create(cls, user_name, email, password=None, locale=None, openid_identity=None, global_admin=False, display_name=None): from group import Group from membership import Membership from openid import OpenID import adhocracy.lib.util as util if password is None: password = util.random_token() import adhocracy.i18n as i18n if locale is None: locale = i18n.get_default_locale() user = User(user_name, email, password, locale, display_name=display_name) meta.Session.add(user) # Add the global default group default_group = Group.by_code(Group.CODE_DEFAULT) default_membership = Membership(user, None, default_group) meta.Session.add(default_membership) # Autojoin the user in instances config_autojoin = config.get('adhocracy.instances.autojoin') if config_autojoin: instances = Instance.all() if config_autojoin != 'ALL': instance_keys = [key.strip() for key in config_autojoin.split(",")] instances = [instance for instance in instances if instance.key in instance_keys] for instance in instances: autojoin_membership = Membership(user, instance, instance.default_group) meta.Session.add(autojoin_membership) if global_admin: admin_group = Group.by_code(Group.CODE_ADMIN) admin_membership = Membership(user, None, admin_group) meta.Session.add(admin_membership) if openid_identity is not None: openid = OpenID(unicode(openid_identity), user) meta.Session.add(openid) meta.Session.flush() return user
def get_body(self): locale = self.language_context() tpl_vars = {'n': self, 'e': self.event, 'u': self.user, 't': self.type} tpl_name = self.TPL_NAME % (str(self.type), locale.language[0:2]) tpl_path = os.path.join(templates.__path__[0], tpl_name) if not os.path.exists(tpl_path): log.warn("Notification body needs to be localized to " "file %s" % (tpl_path)) tpl_name = self.TPL_NAME % ( str(self.type), i18n.get_default_locale().language[0:2]) body = render(tpl_name, extra_vars=tpl_vars).strip() body += _("\r\n\r\nMore info: %(url)s") % dict(url=self.link) return body
def get_body(self): locale = self.language_context() tpl_vars = {'n': self, 'e': self.event, 'u': self.user, 't': self.type} tpl_name = self.TPL_NAME % (str(self.type), locale.language[0:2]) tpl_path = os.path.join(templates.__path__[0], tpl_name) if not os.path.exists(tpl_path): log.warn("Notification body needs to be localized to " "file %s" % (tpl_path)) tpl_name = self.TPL_NAME % (str( self.type), i18n.get_default_locale().language[0:2]) body = render(tpl_name, extra_vars=tpl_vars).strip() body += _("\r\n\r\nMore info: %(url)s") % dict(url=self.link) return body
def all_locales_mult(): if include_preferences: yield c.locale yield i18n.get_default_locale() for l in i18n.LOCALES: yield l
def lookup(self): for locale in [c.locale, i18n.get_default_locale()] + i18n.LOCALES: loaded = self._lookup_lang(locale.language) if loaded is not None: break
def create(cls, user_name, email, password=None, locale=None, openid_identity=None, global_admin=False, display_name=None, autojoin=True, shibboleth_persistent_id=None): """ Create a user. If user_name is None, a random user name is generated. """ from group import Group from membership import Membership import adhocracy.lib.util as util if password is None: password = util.random_token() import adhocracy.i18n as i18n if locale is None: locale = i18n.get_default_locale() while user_name is None: # Note: This can theoretically lead to IntegrityErrors if the same # username is generated at the same time. This is very unlikely # though. from adhocracy.lib.util import random_username try_user_name = random_username() if cls.find(try_user_name) is None: user_name = try_user_name from adhocracy.lib import helpers as h h.flash( _('The random username %s has been assigned to you.') % user_name, 'success') user = User(user_name, email, password, locale, display_name=display_name) meta.Session.add(user) # Add the global default group default_group = Group.by_code(Group.CODE_DEFAULT) default_membership = Membership(user, None, default_group) meta.Session.add(default_membership) # Autojoin the user in instances config_autojoin = config.get('adhocracy.instances.autojoin') if autojoin and config_autojoin: user.fix_autojoin(commit=False) if global_admin: admin_group = Group.by_code(Group.CODE_ADMIN) admin_membership = Membership(user, None, admin_group) meta.Session.add(admin_membership) if openid_identity is not None: from adhocracy.model.openid import OpenID openid = OpenID(unicode(openid_identity), user) meta.Session.add(openid) if shibboleth_persistent_id is not None: from adhocracy.model.shibboleth import Shibboleth shib = Shibboleth(shibboleth_persistent_id, user) meta.Session.add(shib) meta.Session.flush() return user