示例#1
0
 def post(self, request, *args, **kwargs):
     title = request.POST['title']
     description = request.POST['description']
     t = Ticket(title=title, description=description)
     t.save()
     data = serializers.serialize("json", [t])
     return HttpResponse(data, mimetype='application/json')
示例#2
0
def ticket(request):
    token = request.headers.get('token')
    token = Token.objects.filter(token=token)
    if token.exists():
        user = token[0].user
        try:
            if request.method == 'POST':
                info = loads(request.body.decode('utf-8'))
                mess = info['message']
                rate = info['rate']

                t = Ticket(user=user, message=mess, rate=rate)
                t.save()
                return my_response(True, 'success', t.to_json())

            elif request.method == 'GET':
                if token[0].is_admin:
                    ticks = Ticket.objects.all()
                else:
                    ticks = Ticket.objects.filter(user=user)
                _list = []
                for t in ticks:
                    _list.append(t.to_json())
                return my_response(True, 'success', _list)
            else:
                return my_response(False, 'invalid method', {})
        except Exception as e:
            return my_response(False,
                               'error in ticket, check body send, ' + str(e),
                               {})
    else:
        return my_response(False, 'token invalid', {})
示例#3
0
 def post(self, request, *args, **kwargs):
     title = request.POST['title']
     description = request.POST['description']
     t = Ticket(title=title, description=description)
     t.save()
     data = serializers.serialize("json", [t])
     return HttpResponse(data, mimetype='application/json')
示例#4
0
 def add_as_ticket(self, item):
     ticket = Ticket(
         title=item['title'],
         description=item['description'],
         price=item['price'],
         pickup_location=item['location'],
         seller_email_address=item['email'],
         seller_phone=item['phone'],
         external_src='craigslist',
         external_listing_url=item['link']
     )
     ticket.save()
示例#5
0
    def post(self, flight_id):
        """Tickets endpoint
    """
        flight = Flight.get_or_404(flight_id)

        request_data = request.get_json()

        ticket_schema = TicketSchema()
        ticket_data = ticket_schema.load_object_into_schema(request_data)

        ticket_data["user_id"] = request.decoded_token["data"]["id"]
        ticket_data["flight_id"] = flight.id

        ticket = Ticket(**ticket_data)
        ticket.save()

        return {
            "status": "success",
            "message": SUCCESS_MSG["created"].format("Ticket"),
            "data": ticket_schema.dump(ticket).data
        }, 201
    def obtainTicketList(self, ipAddress):
        try:
            tickets = Ticket.objects.all()
            auditoriums = Auditorium.objects.all()
            events = Event.objects.all()
            url = 'https://' + ipAddress + '/api/tickets/'
            print('GET: ' + url)
            response = requests.get(url,
                                    headers=self.headers,
                                    timeout=2,
                                    verify=False)
            f = open('log/GET_TICKET_LIST_INTERNAL.log', 'w')
            f.write('GET: ' + url + '\nResponse\n')
            f.write(response.text)
            f.close()
            tickets_dict = response.json()
            audi_do_not_exist = True
            event_do_not_exist = True
            if tickets_dict and 'NotReady' not in tickets_dict:
                for ticket_dict in tickets_dict:
                    tickets = Ticket.objects.all()
                    auditoriums = Auditorium.objects.all()
                    events = Event.objects.all()

                    ticketHash = ticket_dict.get('ticketHash')
                    owner = ticket_dict.get('owner')
                    ticket_status = ticket_dict.get('status')
                    validationTime = ticket_dict.get('validationTime')
                    event_dict = ticket_dict.get('event')

                    event_name = event_dict.get('name')
                    event_time = event_dict.get('time')
                    auditorium_dict = event_dict.get('auditorium')

                    auditorium_name = auditorium_dict.get('name')
                    auditorium_address = auditorium_dict.get('address')

                    auditorium = Auditorium(name=auditorium_name,
                                            address=auditorium_address)
                    for audi_in_db in auditoriums:
                        if audi_in_db.name == auditorium_name and audi_in_db.address == auditorium_address:
                            audi_do_not_exist = False
                            auditorium = audi_in_db
                            break
                    if audi_do_not_exist:
                        auditorium.save()

                    event = Event(name=event_name,
                                  time=event_time,
                                  auditorium=auditorium)
                    for event_in_db in events:
                        if event_in_db.name == event_name:
                            event_do_not_exist = False
                            event = event_in_db
                            break
                    if event_do_not_exist:
                        event.save()

                    ticket = Ticket(ticketHash=ticketHash,
                                    status=ticket_status,
                                    validationTime=validationTime,
                                    owner=owner,
                                    event=event)
                    for tick in tickets:
                        if tick.ticketHash == ticketHash:
                            ticket = tick
                    ticket.save()
            else:
                print('Received: No event found retry in 1 sec')
                time.sleep(1)
        except requests.exceptions.Timeout:
            print('TIMEOUT INTERNAL OBTAIN TICKET LIST')
    def obtainTicketsFromGestionWebsite(self, ip):
        url = self.heroku_url + 'tickets/'
        headers = self.headers
        headers['ipAddress'] = ip
        try:
            tickets = Ticket.objects.all()
            auditoriums = Auditorium.objects.all()
            events = Event.objects.all()
            print('GET: ' + url)
            response = requests.get(url, headers=self.headers, timeout=10)
            f = open('log/GET_TICKET_LIST_GESTION.log', 'w')
            f.write('GET: ' + url + ' | Headers: ' + str(headers) +
                    '\nResponse\n')
            f.write(response.text)
            f.close()
            tickets_dict = response.json()
            audi_do_not_exist = True
            event_do_not_exist = True
            if not isinstance(tickets_dict, str):
                for ticket_dict in tickets_dict:
                    tickets = Ticket.objects.all()
                    auditoriums = Auditorium.objects.all()
                    events = Event.objects.all()

                    ticketHash = ticket_dict.get('id')
                    owner = ticket_dict.get('owner')
                    ticket_status = 'Non-Validated'
                    event_dict = ticket_dict.get('event')

                    event_name = event_dict.get('name')
                    event_time = event_dict.get('startDate')
                    auditorium_dict = event_dict.get('auditorium')

                    auditorium_name = auditorium_dict.get('name')
                    auditorium_address = auditorium_dict.get('address')

                    auditorium = Auditorium(name=auditorium_name,
                                            address=auditorium_address)
                    for audi_in_db in auditoriums:
                        if audi_in_db.name == auditorium_name and audi_in_db.address == auditorium_address:
                            audi_do_not_exist = False
                            auditorium = audi_in_db
                            break
                    if audi_do_not_exist:
                        auditorium.save()

                    event = Event(name=event_name,
                                  time=event_time,
                                  auditorium=auditorium)
                    for event_in_db in events:
                        if event_in_db.name == event_name:
                            event_do_not_exist = False
                            event = event_in_db
                            break
                    if event_do_not_exist:
                        event.save()

                    ticket = Ticket(ticketHash=ticketHash,
                                    status=ticket_status,
                                    owner=owner,
                                    event=event)
                    for tick in tickets:
                        if tick.ticketHash == ticketHash:
                            ticket = tick
                    ticket.save()
            else:
                print('Received: No event found retry in 1 sec')
                time.sleep(1)
        except requests.exceptions.Timeout:
            print('TIMEOUT OBTAIN TICKET LIST')
        except ValueError:
            print('INVALID JSON FORMAT')
            print(response.text)