Пример #1
0
def save(request, icao):
    """
    Create airport commit.
    @param request: The HttpRequest; it has to contain new airport data.
    @param icao: The airport ICAO code.
    @return: The JsonResponse.
    """
    try:
        airport = Airport.objects.get(icao=icao)
        commit = Commit.create(airport)
        commit.email = request.POST['email']
        commit.description = request.POST['description']
        commit.url = '/airports/details/' + airport.icao
        commit.save()

        fields = ['iata', 'name', 'city', 'country', 'latitude', 'longitude', 'altitude']
        for f in fields:
            try:
                old = unicode(getattr(airport, f))
                new = request.POST[f].strip()
            except AttributeError:
                return {'result': 0, 'reason': 'Invalid request'}

            if old != new:
                data = CommitData.create(commit, f, old, new)
                data.save()

        return {'result': 1}
    except KeyError:
        return {'result': 0, 'reason': 'Invalid request'}
Пример #2
0
def save(request, icao):
    """
    Create airline commit.
    @param request: The HttpRequest; has to store new airline values in POST.
    @param icao: The airline ICAO code.
    @return: The JsonResponse.
    """
    try:
        airline = Airline.objects.get(icao=icao)
        commit = Commit.create(airline)
        commit.email = request.POST['email']
        commit.description = request.POST['description']
        commit.url = '/airlines/details/' + airline.icao
        commit.save()

        fields = ['name', 'country', 'website', 'logo']
        for f in fields:
            try:
                old = unicode(getattr(airline, f))
                new = request.POST[f].strip()
            except AttributeError:
                return {'result': 0, 'reason': 'Invalid request'}

            if old != new:
                data = CommitData.create(commit, f, old, new)
                data.save()

        return {'result': 1}
    except KeyError:
        return {'result': 0, 'reason': 'Invalid request'}