Ejemplo n.º 1
0
 def edit_project(self, name=None, pid=None, user=None, status=None):
     update = []
     where = []
     param = dict()
     if name is not None:
         where.append("p.name=%(name)s")
         param['name'] = name
     elif pid is not None:
         where.append("p.id=%(pid)s")
         param['pid'] = pid
     if user is not None:
         update.append("p.user=%(user)s")
         param['user'] = user
     if status is not None:
         update.append("p.status=%(status)s")
         param['status'] = status
     pj = yield self.get_project(name=name, pid=pid)
     if where and update and pj:
         sql = 'UPDATE t_projects p SET {} WHERE {}'.format(
             ', '.join(update), ' AND '.join(where))
         tx = yield pool.begin()
         try:
             yield tx.execute(sql, param)
         except pymysql.Error as e:
             log.error('项目 {} 编辑失败#{}'.format(pj.name, e))
             yield tx.rollback()
             flag, msg = False, '项目 {} 编辑失败#{}'.format(pj.name, e)
         else:
             yield tx.commit()
             log.info('项目 {} 编辑成功'.format(pj.name))
             flag, msg = True, '项目 {} 编辑成功'.format(pj.name)
         return flag, msg
     else:
         log.error('编辑项目参数不对')
         return False, '编辑项目参数不对'
Ejemplo n.º 2
0
 def delete_project(self, name=None, pid=None):
     pj = yield self.get_project(name=name, pid=pid)
     if pj:
         sql = "DELETE FROM t_projects"
         where = []
         param = dict()
         if name is not None:
             where.append("name=%(name)s")
             param['name'] = name
         elif pid is not None:
             where.append("id=%(pid)s")
             param['pid'] = pid
         if where:
             sql += ' WHERE {}'.format(' AND '.join(where))
             tx = yield pool.begin()
             try:
                 yield tx.execute(sql, param)
             except Exception as e:
                 yield tx.rollback()
                 log.error('删除项目 {} 失败#{}'.format(pj.name, e))
                 flag, msg = False, '项目 {} 有关联设置, 请先删除该项目下的所有设置后再删除该项目'.format(
                     pj.name)
             else:
                 yield tx.commit()
                 log.info('删除项目 {} 成功'.format(pj.name))
                 flag, msg = True, '删除项目 {} 成功'.format(pj.name)
         else:
             flag, msg = False, '请指定删除项目条件, 不能删除所有项目'
     else:
         log.error('没有指定删除的项目')
         flag, msg = False, '没有指定删除的项目'
     return flag, msg
Ejemplo n.º 3
0
 def edit_user(self,
               email,
               password=None,
               username=None,
               nickname=None,
               last_login_time=None,
               role=None,
               status=None):
     user = yield self.get_user_info(email)
     if user:
         update = []
         param = dict(email=email)
         if password is not None:
             update.append("password=%(password)s")
             param['password'] = self.func.encode_password(password)
         if username is not None:
             sql = "SELECT username FROM t_users u WHERE u.email != %(email)s AND u.username = %(username)s"
             param['username'] = username
             cursor = yield pool.execute(sql, param)
             user_info = cursor.fetchone()
             if user_info:
                 log.error('用户名 {} 已存在'.format(username))
                 return False, '用户名 {} 已存在'.format(username)
             else:
                 update.append("username=%(username)s")
         if nickname is not None:
             update.append("nickname=%(nickname)s")
             param['nickname'] = nickname
         if last_login_time is not None:
             update.append("lastLoginTime=%(lastLoginTime)s")
             param['lastLoginTime'] = last_login_time
         if role is not None:
             update.append('role=%(role)s')
             param['role'] = role
         if status is not None:
             update.append('status=%(status)s')
             param['status'] = status
         if update:
             sql = "UPDATE t_users SET {} WHERE email=%(email)s".format(
                 ', '.join(update))
             tx = yield pool.begin()
             try:
                 yield tx.execute(sql, param)
             except pymysql.Error as e:
                 yield tx.rollback()
                 log.error('编辑用户失败#{}'.format(e))
                 flag, msg = False, '用户 {} 资料修改失败'.format(email)
             else:
                 yield tx.commit()
                 log.info('用户 {} 资料修改成功'.format(email))
                 flag, msg = True, '用户 {} 资料修改成功'.format(email)
             return flag, msg
         else:
             log.error('没有可更新的项')
             return False, '没有可更新的项'
     else:
         log.error('没有可编辑的用户#{}'.format(email))
         return False, '没有可编辑的用户#{}'.format(email)
Ejemplo n.º 4
0
 def delete_settings_list(self, s_type, status=None):
     setting = yield self.get_settings_list(s_type=s_type, status=status)
     if setting:
         if status:
             sql = 'DELETE FROM t_settings WHERE type=%(s_type)s AND status=%(status)s'
         else:
             sql = 'DELETE FROM t_settings WHERE type=%(s_type)s'
         tx = yield pool.begin()
         try:
             yield tx.execute(sql, dict(s_type=s_type, status=status))
         except pymysql.Error as e:
             yield tx.rollback()
             log.error('批量删除设置项 {} 失败#{}'.format(s_type, e))
             flag, msg = False, '批量删除设置项 {} 失败#{}'.format(s_type, e)
         else:
             yield tx.commit()
             log.info('批量删除设置项 {} 成功'.format(s_type))
             flag, msg = True, '批量删除设置项 {} 成功'.format(s_type)
     else:
         flag, msg = False, '不存在指定的设置项'
     return flag, msg
Ejemplo n.º 5
0
 def delete_setting(self, sid):
     setting = yield self.get_setting_by_id(sid=sid)
     if setting:
         sql = 'DELETE FROM t_settings WHERE id=%(sid)s'
         tx = yield pool.begin()
         try:
             yield tx.execute(sql, dict(sid=sid))
         except pymysql.Error as e:
             yield tx.rollback()
             log.error('删除 {} 设置项 {} 失败#{}'.format(setting.type,
                                                   setting.name, e))
             flag, msg = False, '删除 {} 设置项 {} 失败#{}'.format(
                 setting.type, setting.name, e)
         else:
             yield tx.commit()
             log.info('删除 {} 设置项 {} 成功'.format(setting.type, setting.name))
             flag, msg = True, '删除 {} 设置项 {} 成功'.format(
                 setting.type, setting.name)
     else:
         flag, msg = False, '不存在指定的设置项'
     return flag, msg
Ejemplo n.º 6
0
 def edit_setting(self, sid, status=None, name=None, value=None, sort=None):
     update = []
     param = dict(sid=sid)
     if status is not None:
         update.append('s.status=%(status)s')
         param['status'] = status
     if name is not None:
         update.append("s.name=%(name)s")
         param['name'] = name
     if value is not None:
         update.append("s.value=%(value)s")
         param['value'] = value
     if sort is not None:
         update.append('s.sort=%(sort)s')
         param['sort'] = sort
     setting = yield self.get_setting_by_id(sid=sid)
     if update and setting:
         sql = 'UPDATE t_settings s SET {} WHERE id=%(sid)s'.format(
             ', '.join(update))
         tx = yield pool.begin()
         try:
             yield tx.execute(sql, param)
         except pymysql.Error as e:
             yield tx.rollback()
             log.error('更新 {} 配置项 {} 失败#{}'.format(setting.type,
                                                   setting.name, e))
             flag, msg = False, '更新 {} 配置项 {} 失败#{}'.format(
                 setting.type, setting.name, e)
         else:
             yield tx.commit()
             log.info('更新 {} 配置项 {} 成功'.format(setting.type, setting.name))
             flag, msg = True, '更新 {} 配置项 {} 成功'.format(
                 setting.type, setting.name)
         return flag, msg
     else:
         log.error('没有指定编辑的配置项')
         return False, '没有指定编辑的配置项'