def insert(self): u = model.User() u.display_name = 'Global manager' u.email = '*****@*****.**' u.password = '******' self._session.add(u) uapi = UserApi(u) uapi.execute_created_user_actions(u) g1 = model.Group() g1.group_id = 1 g1.group_name = 'users' g1.display_name = 'Users' g1.users.append(u) self._session.add(g1) g2 = model.Group() g2.group_id = 2 g2.group_name = 'managers' g2.display_name = 'Global Managers' g2.users.append(u) self._session.add(g2) g3 = model.Group() g3.group_id = 3 g3.group_name = 'administrators' g3.display_name = 'Administrators' g3.users.append(u) self._session.add(g3)
def post( self, name: str, email: str, password: str, is_tracim_manager: str = 'off', is_tracim_admin: str = 'off', send_email: str = 'off', ): is_tracim_manager = h.on_off_to_boolean(is_tracim_manager) is_tracim_admin = h.on_off_to_boolean(is_tracim_admin) send_email = h.on_off_to_boolean(send_email) current_user = tmpl_context.current_user if current_user.profile.id < Group.TIM_ADMIN: # A manager can't give large rights is_tracim_manager = False is_tracim_admin = False api = UserApi(current_user) if api.user_with_email_exists(email): tg.flash( _('A user with email address "{}" already exists.').format( email), CST.STATUS_ERROR) tg.redirect(self.url()) user = api.create_user() user.email = email user.display_name = name if password: user.password = password elif send_email: # Setup a random password to send email at user password = self.generate_password() user.password = password user.webdav_left_digest_response_hash = '%s:/:%s' % (email, password) api.save(user) # Now add the user to related groups group_api = GroupApi(current_user) user.groups.append(group_api.get_one(Group.TIM_USER)) if is_tracim_manager: user.groups.append(group_api.get_one(Group.TIM_MANAGER)) if is_tracim_admin: user.groups.append(group_api.get_one(Group.TIM_ADMIN)) api.save(user) if send_email: email_manager = get_email_manager() email_manager.notify_created_account(user, password=password) api.execute_created_user_actions(user) tg.flash( _('User {} created.').format(user.get_display_name()), CST.STATUS_OK) tg.redirect(self.url())
def insert(self): u = model.User() u.display_name = 'Global manager' u.email = '*****@*****.**' u.password = '******' self._session.add(u) uapi = UserApi(u) uapi.execute_created_user_actions(u) g1 = model.Group() g1.group_id = 1 g1.group_name = 'users' g1.display_name = 'Users' g1.users.append(u) self._session.add(g1) g2 = model.Group() g2.group_id = 2 g2.group_name = 'managers' g2.display_name = 'Global Managers' g2.users.append(u) self._session.add(g2) g3 = model.Group() g3.group_id = 3 g3.group_name = 'administrators' g3.display_name = 'Administrators' g3.users.append(u) self._session.add(g3)
def _create_user(self, login, password, **kwargs): if not password: if self._password_required(): raise CommandAbortedError("You must provide -p/--password parameter") password = '' try: user = User(email=login, password=password, **kwargs) self._session.add(user) self._session.flush() # We need to enable radicale if it not already done daemons = DaemonsManager() daemons.run('radicale', RadicaleDaemon) user_api = UserApi(user) user_api.execute_created_user_actions(user) except IntegrityError: self._session.rollback() raise AlreadyExistError() return user
def _create_user(self, login, password, **kwargs): if not password: if self._password_required(): raise CommandAbortedError( "You must provide -p/--password parameter") password = '' try: user = User(email=login, password=password, **kwargs) self._session.add(user) self._session.flush() # We need to enable radicale if it not already done daemons = DaemonsManager() daemons.run('radicale', RadicaleDaemon) user_api = UserApi(user) user_api.execute_created_user_actions(user) except IntegrityError: self._session.rollback() raise AlreadyExistError() return user