예제 #1
0
    def post(self, request, *args, **kwargs):
        action = request.query_params.get('action')
        if action == 'register':
            staff_name = request.data.get('staff_name')
            password = request.data.get('password')
            email = request.data.get('email')
            department = request.data.get('department')
            dp = Department.objects.get(pk=department)
            is_leader = request.data.get('is_leader')
            staff = Staff()
            staff.staff_name = staff_name
            staff.password = password
            staff.email = email
            staff.department = dp
            if is_leader:
                staff.is_leader = is_leader
            staff.save()

            data = {
                'status': 200,
                'msg': 'create staff success',
                'staff': {
                    'id': staff.id,
                    'staff_name': staff.staff_name,
                    'email': staff.email,
                    'department': staff.department.dp_name,
                    'is_leader': staff.is_leader,
                    'is_delete': staff.is_delete
                }
            }
            return Response(data)
        elif action == 'login':
            return self.login(request, *args, **kwargs)
        else:
            raise ValidationError(detail='请提供正确的请求动作')
예제 #2
0
def add(request):
    if request.POST:
        area_id = int(request.POST.get('area_id'))
        realname = request.POST.get('realname')
        accountname = request.POST.get('accountname')
        is_available_list = request.POST.getlist('is_available')
        phone = request.POST.get('phone')
        weight = int(request.POST.get('weight'))
        email = request.POST.get('email')
        
        # 不允许重复添加
        staff_list = Staff.objects.filter(accountname=accountname, is_deleted=0)
        if staff_list:
            return HttpResponse(simplejson.dumps({"statusCode":400, "message":u'此IT员工已存在,不允许重复添加!'}), mimetype='application/json')
            
        staff = Staff()
        # 一类特殊情况,IT工程师删除以后又被重新加入
        staff_list = Staff.objects.filter(accountname=accountname, is_deleted=1)
        if staff_list:
            staff = staff_list[0]
        
        staff.area_id = area_id
        staff.realname = realname
        staff.accountname = accountname
        staff.phone = phone
        staff.weight = weight
        staff.is_deleted = 0
        staff.email = email
        
        if is_available_list:
            staff.is_available = 1
        else:
            staff.is_available = 0
            
        staff.save()
        
        return HttpResponse(simplejson.dumps({"statusCode":200,"url": "/staff/index", "message":u'添加成功'}), mimetype='application/json')
    else:
        # 区域
        area_list = Area.objects.all()
        return render_to_response('staff/add.html',{'area_list':area_list,'weight_dict':weight_dict})