def _from_vars(self): # TODO: Should we turn the both fields below into Optional[UserId]? self._user_id = html.request.get_unicode_input( "edit") # missing -> new user # This is needed for the breadcrumb computation: # When linking from user notification rules page the request variable is "user" # instead of "edit". We should also change that variable to "user" on this page, # then we can simply use self._user_id. if not self._user_id and html.request.has_var("user"): self._user_id = html.request.get_str_input_mandatory("user") self._cloneid = html.request.get_unicode_input( "clone") # Only needed in 'new' mode # TODO: Nuke the field below? It effectively hides facts about _user_id for mypy. self._is_new_user = self._user_id is None self._users = userdb.load_users(lock=html.is_transaction()) new_user = userdb.new_user_template('htpasswd') if self._user_id is not None: self._user = self._users.get(UserId(self._user_id), new_user) elif self._cloneid: self._user = self._users.get(UserId(self._cloneid), new_user) else: self._user = new_user self._locked_attributes = userdb.locked_attributes( self._user.get('connector'))
def _from_vars(self): self._user_id = html.get_unicode_input("edit") # missing -> new user self._cloneid = html.get_unicode_input("clone") # Only needed in 'new' mode self._is_new_user = self._user_id is None self._users = userdb.load_users(lock=html.is_transaction()) if self._is_new_user: if self._cloneid: self._user = self._users.get(self._cloneid, userdb.new_user_template('htpasswd')) else: self._user = userdb.new_user_template('htpasswd') else: self._user = self._users.get(self._user_id, userdb.new_user_template('htpasswd')) self._locked_attributes = userdb.locked_attributes(self._user.get('connector'))
def _add_users(self, request): users_from_request = request.get("users") new_user_objects = {} for user_id, values in users_from_request.items(): user_template = userdb.new_user_template("htpasswd") if "password" in values: values["password"] = hash_password(values["password"]) values["serial"] = 1 user_template.update(values) new_user_objects[user_id] = {"attributes": user_template, "is_new_user": True} cmk.gui.watolib.users.edit_users(new_user_objects)
def _from_vars(self): # TODO: Should we turn the both fields below into Optional[UserId]? self._user_id = html.request.get_unicode_input("edit") # missing -> new user self._cloneid = html.request.get_unicode_input("clone") # Only needed in 'new' mode # TODO: Nuke the field below? It effectively hides facts about _user_id for mypy. self._is_new_user = self._user_id is None self._users = userdb.load_users(lock=html.is_transaction()) new_user = userdb.new_user_template('htpasswd') if self._user_id is not None: self._user = self._users.get(UserId(self._user_id), new_user) elif self._cloneid: self._user = self._users.get(UserId(self._cloneid), new_user) else: self._user = new_user self._locked_attributes = userdb.locked_attributes(self._user.get('connector'))