def add_project(request):
    """
    创建项目
    :param request:
    :return:
    """
    req = tools.json_to_dict(request.body)
    name = tools.get_request_key(req, "name")
    dec = tools.get_request_key(req, "dec")
    user_id = tools.get_request_key(req, "user_id")

    if (not name) or (not dec) or user_id is None:
        return tools.response_failed()

    user_obj = UsersDao.get_user_by_id(user_id)
    if user_obj is None:
        return tools.response_failed(u"查询用户失败")

    create_time = datetime.datetime.now()
    re = ProjectDao.create_project(name, dec, user_obj, create_time, 0)
    if not re:
        return tools.response_failed(u"创建项目失败")
    content = dict()
    content["name"] = name
    content["dec"] = dec
    content["user_id"] = user_id
    content["create_time"] = str(create_time)
    content["status"] = 0
    return tools.response_by_json(data=content)
Example #2
0
def register(request):
    """
    注册请求
    :param request:
    :return:
    """
    if request.method == "POST":
        #req = tools.json_to_dict(request.body)
        #user_name = tools.get_request_key(req, "user")
        #pwd = tools.get_request_key(req, "pwd")
        user_name = request.POST.get("user", "")
        pwd = request.POST.get("pwd", "")
        if not user_name or not pwd:
            return tools.response_failed(u"账号或者密码不能为空")

        user = UsersDao.get_user_by_name(user_name)
        if user is None:
            token = globalVars.generateToken(user_name)
            date = datetime.datetime.now() + datetime.timedelta(days=30)
            new_user = UsersDao.create_user(user_name, pwd)
            if new_user is None:
                return tools.response_failed(u"创建账号失败")
            new_token = TokenDao.create_token(new_user, token, date)
            if new_token is None:
                return tools.response_failed(u"token创建失败")

            cache.set(token, new_token.expireDate, settings.REDIS_TIMEOUT)
            return tools.response_by_json(
                data={"token": token, "token_name": globalVars.IToken, "token_expird": 30})
        else:
            return tools.response_failed(u"账号已存在,请重新输入!")
    # 访问登录页面
    else:
        return render(request, "register.html", globalVars.responeContent("true", "访问注册页面成功", {}))
def close_project(request):
    """
    关闭项目
    :param request:
    :return:
    """
    req = tools.json_to_dict(request.body)
    status = tools.get_request_key(req, "status")
    project_id = tools.get_request_key(req, "project_id")

    if status is None or project_id is None:
        return tools.response_failed()
    re = ProjectDao.update_project_status(project_id, int(status))
    if not re:
        return tools.response_failed(u"关闭项目失败")
    else:
        content = dict()
        content["status"] = status
        content["project_id"] = project_id
        return tools.response_by_json(data=content)
def update_project(request):
    """
    创建项目
    :param request:
    :return:
    """
    req = tools.json_to_dict(request.body)
    name = tools.get_request_key(req, "name")
    dec = tools.get_request_key(req, "dec")
    project_id = tools.get_request_key(req, "project_id")
    if not name or not dec or project_id is None:
        return tools.response_failed()
    re = ProjectDao.update_project_base(project_id, name, dec)
    if not re:
        return tools.response_failed(u"修改项目失败")
    else:
        content = dict()
        content["name"] = name
        content["dec"] = dec
        content["pId"] = project_id
        return tools.response_by_json(data=content)
def get_project_list(request):
    """
    筛选项目
    :param request:
    :return:
    """
    req = tools.json_to_dict(request.body)
    status = tools.get_request_key(req, "status")
    user_id = tools.get_request_key(req, "user_id")
    exclude = tools.get_request_key(req, "exclude")
    if "true" == exclude:
        exclude = True
    else:
        exclude = False

    projects = ProjectDao.get_projects_list_exclude_status_user(
        status, user_id, exclude)
    content = dict()
    content["len"] = projects.count()
    content["data"] = ProjectDao.transform_projects_content(projects)
    return tools.response_by_json(data=content)
Example #6
0
def reset_pwd(request):
    """
    修改密码
    :param request:
    :return:
    """
    req = tools.json_to_dict(request.body)
    name = tools.get_request_key(req, "name")
    old_pwd = tools.get_request_key(req, "old_pwd")
    new_pwd = tools.get_request_key(req, "new_pwd")
    user_id = tools.get_request_key(req, "user_id")

    if not name or not old_pwd or not new_pwd or not user_id:
        return tools.response_failed()

    user_obj = UsersDao.get_user_by_all(name, old_pwd, user_id)
    if user_obj is None:
        return tools.response_failed(u"账号或者密码错误,请重新输入!")

    re = UsersDao.update_user_pwd(user_obj, new_pwd)
    if re is None:
        return tools.response_failed(u"修改密码失败")
    return tools.response_by_json()
Example #7
0
def login(request):
    """
    登录请求
    :param request:
    :return:
    """
    if request.method == "POST":
        req = tools.json_to_dict(request.body)
        user_name = tools.get_request_key(req, "user")
        pwd = tools.get_request_key(req, "pwd")

        if not user_name or not pwd:
            return tools.response_failed(u"账号或者密码不能为空")

        user = UsersDao.get_user(user_name, pwd)
        if user is None:
            return tools.response_failed(u"账号或者密码错误,请重新输入!")
        else:
            now_30 = datetime.datetime.now() + datetime.timedelta(days=30)  # token有效时间是30天
            new_token = globalVars.generateToken(user_name)  # 生成token

            token = TokenDao.get_token_by_user(user)
            re = False
            if token is None:
                re = TokenDao.create_token(user, new_token, now_30)
            else:
                cache.delete(token.Token)
                re = TokenDao.update_token(token, new_token, now_30)
            if not re:
                return tools.response_failed(u"数据库错误,登录失败")
            else:
                cache.set(token, now_30, settings.REDIS_TIMEOUT)
                return tools.response_by_json(
                    data={"token": new_token, "token_name": globalVars.IToken, "token_expird": 30})
    # get访问登录页面
    else:
        return render(request, "login.html")