def query_users(self): r = [] for l in self.query('USE mysql; SELECT * FROM user;'): u = User() u.host, u.name = l.split('\t')[:2] r.append(u) return r
def query_users(self): r = [] for l in self.query('\\du'): u = User() u.host, u.name = '', l.split('|')[0] r.append(u) return r
def on_grant(self): for db_cfg in self.config['databases']: db = Database() db.name = db_cfg['name'] for user_cfg in self.config['users']: user = User() user.name = user_cfg['name'] user.password = user_cfg['password'] user.host = '%' self.db.query_grant(user, db) self.context.notify('info', _('Permissions granted.'))
def on_delete_user(self, user_cfg): user = User() user.name = user_cfg['name'] user.host = '%' try: self.db.query_drop_user(user) except Exception, e: if not 'ERROR 1008' in e: self.context.notify('error', str(e)) return
username = self.find('db-username').value password = self.find('db-password').value for user in self.db.query_users(): if user.name == username: self.context.notify('error', _('This username is already used')) return user_cfg = { 'name': username, 'password': password, } user = User() user.name = user_cfg['name'] user.password = user_cfg['password'] user.host = '%' try: self.db.query_create_user(user) except Exception, e: self.context.notify('error', str(e)) return self.config['users'].append(user_cfg) self.on_grant() self.refresh() self.try_save()