예제 #1
0
def boss_create_project(request):
    uuid = UseAes(SECRET_KEY).decodebytes(request.COOKIES.get('uuid'))
    user = Staff.objects.filter(telephone=uuid).first()
    if (not user) or (user.department_id != 1):
        return JsonResponse(data={
            "code": 0,
            "msg": "违规操作"
        },
                            json_dumps_params={'ensure_ascii': False})

    if request.method == 'GET':
        # uuid = UseAes(SECRET_KEY).decodebytes(request.COOKIES.get('uuid'))
        pro_leader = [
            staff for staff in Staff.objects.filter(
                ~Q(staff_id=user.staff_id),
                department__department_id__in=LEADER).values()
        ]
        all_pro = [pro for pro in Project.objects.all().values()]
        for pro in all_pro:
            pro['pro_leader_name'] = Staff.objects.get(
                staff_id=pro['project_leader_id']).username
            pro['pro_leader_telephone'] = Staff.objects.get(
                staff_id=pro['project_leader_id']).telephone
        data = {
            'pro_leader': pro_leader,
            'all_pro': all_pro,
        }
        return JsonResponse({
            'code': 1,
            'msg': '请求成功',
            'data': data
        },
                            json_dumps_params={'ensure_ascii': False})
    elif request.method == 'POST':
        try:
            pro_name = request.POST.get('pro_name')
            pro_leader = request.POST.get('pro_leader')
            overtime = request.POST.get('overtime')
            remarks = request.POST.get('remarks')
            new_pro = Project()
            new_pro.project_name = pro_name
            new_pro.project_leader = Staff.objects.get(staff_id=pro_leader)
            new_pro.overtime = overtime
            new_pro.note = remarks
            new_pro.save()
        except:
            return JsonResponse({
                'code': 0,
                'msg': '创建任务失败'
            },
                                json_dumps_params={'ensure_ascii': False})
        return JsonResponse({'code': 1, 'msg': '创建任务成功'})
예제 #2
0
def create_new_project(name: str, creator: str) -> Optional[str]:
    """
    Create a new project
    :param name: a name of the project
    :param creator: a creator of the project
    :return: an id of the project
    """

    if not (name and creator):
        return None
    try:
        project = Project(name=name, managers=[creator])
        project.save()
        return str(project.id)
    except Exception as e:
        logger.exception(f'Failed to create Project. Error: {e}')

    return None