示例#1
0
    def post(self, request, *args, **kwargs):
        request_data = request.data.get('data', {})
        validator = ChangeDepartmentValidator(data=request_data)
        if not validator.is_valid():
            return Response(console_response(code=1, msg=validator.errors))

        department_id = validator.validated_data.get('department_id')
        member_list = validator.validated_data.get('member_list')
        accounts = AccountService.get_all_by_owner(member_list)
        members = [account.user for account in accounts]
        ret_set = DepartmentMemberService.join(members, department_id)

        return Response(console_response(ret_set=ret_set))
示例#2
0
def search_cfg_history(payload):
    type = payload.get('type')
    id = payload.get('id')
    items = CfgRecordModel.objects.filter(
        model=type, rid=id).order_by('create_datetime').reverse()
    uids = set()
    for record in items:
        if record.applicant:
            uids.add(record.applicant)
        if record.approve:
            uids.add(record.approve)
    accounts = AccountService.get_all_by_owner(uids)
    names = {account.user.username: account.name for account in accounts}
    dicts = CfgRecordSerializer(items, many=True).data
    for item in dicts:
        applicant = item['applicant']
        item['applicant'] = names.get(applicant, applicant)
        approve = item['approve']
        item['approve'] = names.get(approve, approve)
    return console_response(total_count=len(items), ret_set=dicts)