def deleteVehicle(request):
    res = {}

    if request.method == 'POST':
        info = json.loads(request.body)
        if VehicleAccess.getVehicleById(info['id']):
            final = VehicleAccess.deleteVehicleById(info['id'])
            res['result'] = final['result']
            res['message'] = final['message']
        else:
            res['result'] = 0
            res['message'] = 'The vehicle does not exist!'
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
예제 #2
0
def login(request):
    res = {}

    if request.session.session_key:
        res['result'] = 0
        res['message'] = 'The user has logon.'
    elif request.method == 'POST':
        info = json.loads(request.body)
        user_name = info['user_name']
        password = info['password']
        vehicle_id = info['vehicle_id']
        user = UserAccess.getUserByName(user_name)
        vehicle = VehicleAccess.getVehicleById(vehicle_id)
        if user:
            if vehicle['user_id'] != user['id']:
                res['result'] = 0
                res['message'] = 'The user login wrong vehicle or no vehicle assigned to the user.'
            elif hashlib.sha1(
                    info['password']).hexdigest() == user['password']:
                request.session['user_id'] = user['id']
                request.session['vehicle_id'] = vehicle_id
                res['result'] = 1
                res['data'] = {}
                res['data']['user_id'] = user['id']
                res['data']['user_type'] = user['type']
                res['data']['name'] = user['name']
                if vehicle['task']:
                    user['status'] = 3
                    vehicle['status'] = 3
                else:
                    user['status'] = 2
                    vehicle['status'] = 2
                UserAccess.editUser(user)
                VehicleAccess.editVehicle(vehicle)
            else:
                res['result'] = 0
                res['message'] = 'The password is wrong.'
        else:
            res['result'] = 0
            res['message'] = 'The user does not exist.'
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
def assignTask(request):
    res = {}

    if request.method == 'POST':
        info = json.loads(request.body)
        vehicle = VehicleAccess.getVehicleById(info['vehicle_id'])
        user = UserAccess.getUserById(vehicle['user_id'])
        if vehicle:
            path = getPath(info['task'])
            if path:
                task = {
                    'origin' : info['task']['origin'],
                    'dest' : info['task']['dest'],
                    'path' : path
                }

                record = {
                    'id' : uuid.uuid1().hex,
                    'vehicle_id' : vehicle['id'],
                    'user_id' : user['id'],
                    'time' : datetime.now(),
                    'task' : task
                }
                TaskRecordAccess.addTaskRecord(record)
                res['result'] = 1
                res['data'] = path

                vehicle['accept'] = 1
                vehicle['task'] = task
                if user['status'] == 2:
                    user['status'] = 3
                    vehicle['status'] = 3
                UserAccess.editUser(user)
                VehicleAccess.editVehicle(vehicle)
            else:
                res['result'] = 0
                res['message'] = 'Can not get the path from baidu map.'
        else:
            res['result'] = 0
            res['message'] = 'The vehicle does not exist!'
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
def login(request):
    res = {}

    if request.session.session_key:
        res['result'] = 0
        res['message'] = 'The user has logon.'
    elif request.method == 'POST':
        info = json.loads(request.body)
        user_name = info['user_name']
        password = info['password']
        vehicle_id = info['vehicle_id']
        user = UserAccess.getUserByName(user_name)
        vehicle = VehicleAccess.getVehicleById(vehicle_id)
        if user:
            if vehicle['user_id'] != user['id']:
                res['result'] = 0
                res['message'] = 'The user login wrong vehicle or no vehicle assigned to the user.'
            elif  hashlib.sha1(info['password']).hexdigest() == user['password']:
                request.session['user_id'] = user['id']
                request.session['vehicle_id'] = vehicle_id
                res['result'] = 1
                res['data'] = {}
                res['data']['user_id'] = user['id']
                res['data']['user_type'] = user['type']
                res['data']['name'] = user['name']
                if vehicle['task']:
                    user['status'] = 3
                    vehicle['status'] = 3
                else:
                    user['status'] = 2
                    vehicle['status'] = 2
                UserAccess.editUser(user)
                VehicleAccess.editVehicle(vehicle)
            else:
                res['result'] = 0
                res['message'] = 'The password is wrong.'
        else:
            res['result'] = 0
            res['message'] = 'The user does not exist.'
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
def assignProject(request):
    res = {}

    if request.method == 'POST':
        info = json.loads(request.body)
        vehicle = VehicleAccess.getVehicleById(info['vehicle_id'])
        if vehicle:
            if info['op'] == 1:
                vehicle['project_id'] = info['project_id']
                vehicle['status'] = 1

                project_vehicle_record = {
                    "id" : uuid.uuid1().hex,
                    "project_id" : info['project_id'],
                    "vehicle_id" : vehicle["id"],
                    "start_time" : datetime.now(),
                    "end_time" : ""
                }
                ProjectVehicleRecordAccess.addProjectVehicleRecord(project_vehicle_record)
                
            else:
                vehicle['project_id'] = ''
                vehicle['status'] = 0

                vehicle_record_list = ProjectVehicleRecordAccess.getAllProjectVehicleRecord()
                for item in vehicle_record_list:
                    if item['vehicle_id'] == vehicle['id'] and item['end_time'] == "":
                        vehicle_record = item
                        vehicle_record['end_time'] = datetime.now()
                        ProjectVehicleRecordAccess.editProjectVehicleRecord(vehicle_record)
                        break

            final = VehicleAccess.editVehicle(vehicle)
            res['result'] = final['result']
            res['message'] = final['message']
        else:
            res['result'] = 0
            res['message'] = 'The vehicle does not exist!'
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
def logout(request):
    res = {}

    if not request.session.session_key:
        res['result'] = 0
        res['message'] = 'The user does not log in'
    elif request.method == 'GET':
        request.session.flush()
        res['result'] = 1
        user = UserAccess.getUserById(request.session['user_id'])
        vehicle = VehicleAccess.getVehicleById(request.session['vehicle_id'])
        user['status'] = 1
        vehicle['status'] = 1
        UserAccess.editUser(user)
        VehicleAccess.editVehicle(vehicle)
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
예제 #7
0
def logout(request):
    res = {}

    if not request.session.session_key:
        res['result'] = 0
        res['message'] = 'The user does not log in'
    elif request.method == 'GET':
        request.session.flush()
        res['result'] = 1
        user = UserAccess.getUserById(request.session['user_id'])
        vehicle = VehicleAccess.getVehicleById(request.session['vehicle_id'])
        user['status'] = 1
        vehicle['status'] = 1
        UserAccess.editUser(user)
        VehicleAccess.editVehicle(vehicle)
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
def vehicleData(request):
    res = {}

    if request.method == 'POST':
        info = json.loads(request.body)
        vehicle_id = info['vehicle_id']
        vehicle = VehicleAccess.getVehicleById(vehicle_id)
        if vehicle:
            vehicle['data'] = info['data']
            vehicle_record = {
                'id' : uuid.uuid1().hex,
                'vehicle_id' : vehicle_id,
                'time' : datetime.now(),
                'data' : info['data']
            }
            VehicleRecordAccess.addVehicleRecord(vehicle_record)

            if vehicle['status'] == 3 \
                and info['data']['location']['lat'] == vehicle['task']['dest']['lat'] \
                and info['data']['location']['lng'] == vehicle['task']['dest']['lng']:
                vehicle['task'] = {}
                vehicle['status'] = 2
                user = UserAccess.getUserBuId(vehicle['user_id'])
                user['status'] =2
                UserAccess.editUser(user)

            res['data'] = {}
            res['result'] = 1
            VehicleAccess.editVehicle(vehicle)
        else:
            res['result'] = 0
            res['message'] = 'The vehicle does noe exist.'
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
예제 #9
0
def vehicleData(request):
    res = {}

    if request.method == 'POST':
        info = json.loads(request.body)
        vehicle_id = info['vehicle_id']
        vehicle = VehicleAccess.getVehicleById(vehicle_id)
        if vehicle:
            vehicle['data'] = info['data']
            vehicle_record = {
                'id': uuid.uuid1().hex,
                'vehicle_id': vehicle_id,
                'time': datetime.now(),
                'data': info['data']
            }
            VehicleRecordAccess.addVehicleRecord(vehicle_record)

            if vehicle['status'] == 3 \
                and info['data']['location']['lat'] == vehicle['task']['dest']['lat'] \
                and info['data']['location']['lng'] == vehicle['task']['dest']['lng']:
                vehicle['task'] = {}
                vehicle['status'] = 2
                user = UserAccess.getUserBuId(vehicle['user_id'])
                user['status'] = 2
                UserAccess.editUser(user)

            res['data'] = {}
            res['result'] = 1
            VehicleAccess.editVehicle(vehicle)
        else:
            res['result'] = 0
            res['message'] = 'The vehicle does noe exist.'
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
def addVehicle(request):
    res = {}

    if request.method == 'POST':
        info = json.loads(request.body)
        if not VehicleAccess.getVehicleByNumber(info['number']):
            info['id'] = uuid.uuid1().hex
            info['status'] = 0
            info['data'] = {}
            info['task'] = {}
            info['accept']= 0
            info['project_id'] = ""
            info['user_id'] = ""
            final = VehicleAccess.addVehicle(info)
            res['result'] = final['result']
            res['message'] = final['message']
        else:
            res['result'] = 0
            res['message'] = 'The vehicle number has exist!'
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
def vehicleTask(request):
    res = {}

    if request.method == 'GET':
        info = request.GET
        vehicle_id = info['vehicle_id']
        vehicle = VehicleAccess.getVehicleById(vehicle_id)
        if vehicle:
            if  vehicle['accept']== 1:
                res['result'] = 1
                res['data'] = vehicle['task']
                vehicle['accept'] = 0
            else:
                res['result'] = 0
                res['message'] = 'No new task.'
            VehicleAccess.editVehicle(vehicle)
        else:
            res['result'] = 0
            res['message'] = 'The vehicle does not exist.'
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
예제 #12
0
def vehicleTask(request):
    res = {}

    if request.method == 'GET':
        info = request.GET
        vehicle_id = info['vehicle_id']
        vehicle = VehicleAccess.getVehicleById(vehicle_id)
        if vehicle:
            if vehicle['accept'] == 1:
                res['result'] = 1
                res['data'] = vehicle['task']
                vehicle['accept'] = 0
            else:
                res['result'] = 0
                res['message'] = 'No new task.'
            VehicleAccess.editVehicle(vehicle)
        else:
            res['result'] = 0
            res['message'] = 'The vehicle does not exist.'
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
def getAllVehicle(request):
    res = {}

    if not request.session.session_key:
        res['result'] = 0
        res['message'] = 'The user does not log in'
    elif request.method == 'GET':
        vehicleList = VehicleAccess.getAllVehicle()
        if len(vehicleList) == 0:
            res['result'] = 0
            res['message'] = 'No vehicle.'
        else:
            res['result'] = 1
            res['data'] = vehicleList
    else:
        res['result'] = 0
        res['message'] = 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")
def vehicleRegister(request):
    res = {}

    if request.method == 'POST':
        info = json.loads(request.body)
        vehicle_number = info['vehicle_number']
        vehicle = VehicleAccess.getVehicleByNumber(vehicle_number)
        if vehicle:
            res['data'] = {}
            res['data']['vehicle_id'] = vehicle['id'] 
            res['result'] = 1
        else:
            res['result'] = 0
            res['message'] = 'The vehicle does not exist'
    else:
        res['result'] = 0
        res['message'] == 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")    
예제 #15
0
def vehicleRegister(request):
    res = {}

    if request.method == 'POST':
        info = json.loads(request.body)
        vehicle_number = info['vehicle_number']
        vehicle = VehicleAccess.getVehicleByNumber(vehicle_number)
        if vehicle:
            res['data'] = {}
            res['data']['vehicle_id'] = vehicle['id']
            res['result'] = 1
        else:
            res['result'] = 0
            res['message'] = 'The vehicle does not exist'
    else:
        res['result'] = 0
        res['message'] == 'Wrong request.'

    return HttpResponse(json.dumps(res), content_type="application/json")