def create_ticket(description,
                  reclamation,
                  delay,
                  customer_service=False,
                  is_open=False):
    if customer_service:
        assigned = User.query.get(random.randint(22, 31))
    else:
        assigned = User.query.get(random.randint(2, 21))
    requester = assigned.team.team_leader
    if is_open:
        finished_date = None
    else:
        finished_date = reclamation.informed_date + timedelta(
            days=delay + random.randint(0, 2))
    ticket = Ticket(
        ticket_requester=requester,
        ticket_assigned=assigned,
        description_ticket=description,
        reclamation=reclamation,
        due_date=reclamation.informed_date + timedelta(days=20),
        finished_date=finished_date,
    )
    db.session.add(ticket)
    ticket.creation_date = reclamation.informed_date
    db.session.commit()
    create_notification(ticket.id, assigned, requester, ticket.creation_date,
                        reclamation)
Exemplo n.º 2
0
 def test_models(self):
     new_ticket = Ticket.from_json(self.ticket_json)
     created_ticket = self.db.add_ticket(new_ticket)
     db_ticket = Ticket.from_db(self.db.get_ticket(created_ticket.id))
     ticket_id = created_ticket.id
     self.assertEqual(created_ticket.created_at, db_ticket.created_at)
     db_ticket.state = TicketState.get_next_state(db_ticket.state)
     self.db.save_ticket(db_ticket)
     updated_ticket = Ticket.from_db(self.db.get_ticket(db_ticket.id))
     self.assertEqual(db_ticket.state, updated_ticket.state)
     self.assertEqual(TicketState.string_state(updated_ticket.state), 'отвечен')
     for ticket in self.db.get_tickets():
         self.assertTrue(isinstance(ticket, Ticket))
     new_comment = Comment.from_json(self.comment_json % ticket_id)
     created_comment = self.db.add_comment(new_comment)
     db_comment = Comment.from_db(self.db.get_comment(created_comment.id))
     self.assertEqual(created_comment.created_at, db_comment.created_at)
     self.db.delete_comments()
     for item in range(10):
         self.db.add_comment(new_comment)
     comments_count = self.db.get_comments_count(ticket_id)
     for comment in self.db.get_comments(ticket_id):
         self.assertTrue(isinstance(comment, Comment))
     self.assertEqual(comments_count, 10)
     self.db.delete_comments()
     self.db.delete_tickets()
Exemplo n.º 3
0
def populate_tickets():
	#This will make every screening have 7,22 and 44 seats taken.
	for each in Screening.query.all():
		ticket1 = Ticket(customer_id=1,screening_id=each.screening_id,seat_id=7)
		ticket2 = Ticket(customer_id=2,screening_id=each.screening_id,seat_id=22)
		ticket3 = Ticket(customer_id=3,screening_id=each.screening_id,seat_id=45)
		db.session.add(ticket1)
		db.session.add(ticket2)
		db.session.add(ticket3)
	db.session.commit()
Exemplo n.º 4
0
def build_ticket():
    form = Add_ticket()
    if form.validate_on_submit():
        info = Ticket(number=form.number.data,
                      summary=form.summary.data,
                      ticket_type=form.ticket_type.data,
                      assinge_date=form.assigne_date.data,
                      assigne_id=form.assigne_id.data)
        info.save()
        return redirect(url_for('main.index'))
    return render_template('main/build_ticket.html', form=form)
Exemplo n.º 5
0
    def setUp(self):
        TestFactory.setUp(self)
        data = []
        data.append(State(descripcion="abierto"))
        data.append(State(descripcion="cerrado"))
        data.append(Priority(descripcion="baja"))
        data.append(Priority(descripcion="Alta"))
        data.append(Department(descripcion="default"))
        data.append(Client(nombre="default"))
        db.session.add_all(data)
        db.session.commit()
        data = Ticket(
            titulo="prueba",
            content=
            """My money's in that office, right? If she start giving me some bullshit about it ain't there, and we got to go someplace 
			else and get it, I'm gonna shoot you in the head then and there. Then I'm gonna shoot that bitch in the kneecaps, find out where my 
			goddamn money is. She gonna tell me too. Hey, look at me when I'm talking to you, m**********r. You listen: we go in there, and that
			 n***a Winston or anybody else is in there, you the first m**********r to get shot. You understand?""",
            email="*****@*****.**",
            client_id=1,
            department_id=1,
            priority_id=1,
            state_id=1,
            user_id=1)
        db.session.add(data)
        db.session.commit()
        self.path = '/tickets'
Exemplo n.º 6
0
def book_ticket(data):

    user_name = data['userName']
    phone_no = data['phoneNo']
    show_time = data['showTime']

	#Condition for Expiry : curTime - showTime < 8hr
    if not isActive(show_time):
        return {'result' : 'Enter valid Time'}
	#Checking Ticket count
    count = Ticket.query.filter_by(showTime = show_time).count()
    if count > 20:
        return { 'result' : 'Failure - Housefull!! More than 20 Tickets Exist!'} 
		
    user = User.query.filter_by(userName = user_name , phoneNo = phone_no).first()
    if not user:
        new_user = User(userName = user_name , phoneNo = phone_no)
        db.session.add(new_user)
        db.session.commit()
        user = User.query.filter_by(userName = user_name , phoneNo = phone_no).first()	
			

    new_entry = Ticket(userId = user.userId ,showTime = show_time)
    db.session.add(new_entry)
    db.session.commit()
		
    return { 'result' : 'Success - Ticket booked'}
Exemplo n.º 7
0
def create_ticket(old_id=None,
                  event_id=None,
                  order_id=None,
                  eventdate_id=None,
                  ticket_type=None,
                  name=None,
                  price=None,
                  status=None,
                  ticket_number=None):
    data = {
        'old_id': old_id,
        'event_id': event_id,
        'order_id': order_id,
        'ticket_type': ticket_type,
        'eventdate_id': eventdate_id,
        'name': name,
        'price': price,
        'status': status,
        'ticket_number': ticket_number,
    }

    ticket = Ticket(**data)

    dao_create_record(ticket)

    return ticket
Exemplo n.º 8
0
	def post(self):
		args = post_parser.parse_args()
		keys = Key.query.all()
		result = ''
		for row in keys:
			if(args.content.find(row.word) > -1):
				result = result + ' ' + row.word
		ticket = Ticket(
			titulo        = args.titulo,
			content       = args.content,
			keys          = result,
			email         = args.email,
			telefono      = args.telefono,
			celular       = args.celular,
			client_id     = args.client_id,
			department_id = args.department_id,
			priority_id   = args.priority_id,
			state_id      = 1,
			user_id	      = args.user_id
		)
		db.session.add(ticket)
		db.session.commit()
		text_body  = render_template('email/new_ticket.txt',ticket=ticket)
		html_body=render_template('email/new_ticket.html',ticket=ticket)
		#send_email("[{}] Nueva solicitud".format(Config.SITENAME),Config.MAILSYS,[args.email],text_body, html_body)
		return ticket,201
Exemplo n.º 9
0
def createticket():
    form = TicketCreate()
    title = 'Ticket'
    user = User.query.filter_by(username=current_user.username)
    if request.method == 'POST':
        try:
            acctid = request.form['cx_id']
            acctname = request.form['cx_name']
            sql = text('ALTER TABLE Ticket AUTO_INCREMENT = 80000000')
            db.engine.execute(sql)
            db.session.commit()
            ticket = Ticket(account_id=acctid,
                            contact_name=acctname,
                            description=form.description.data,
                            version=form.version.data,
                            priority=form.priority.data,
                            status=form.status.data,
                            o365=form.o365.data,
                            o365status=form.o365status.data,
                            assigned_to=form.assigned_to.data)
            db.session.add(ticket)
            t = Ticket.query.all()
            for x in t:
                print(x.id)
            db.session.commit()
        except:
            print("I failed during create ticket")
    return render_template('createticket.html',
                           month=month,
                           user=user,
                           title=title,
                           form=form)
Exemplo n.º 10
0
    def setUp(self):
        """
        Will be called before every test
        """

        db.create_all()

        # create test admin user
        user = User(name="Rohit", password="******",position="Stuccan",department="controls")


        # save users to database
        db.session.add(user)
        db.session.commit()
        #create static data
        if User.query.count()==1:
            user_id = user.id
            location = Location(description="ABQ-First")
            db.session.add(location)
            db.session.commit()
            inventory = Inventory(inventory_type="Fist Inv",purchased_by=user_id,location=location.id)
            db.session.add(inventory)
            db.session.commit()
            ticket_types = TicketType(description="First ticket_type")
            db.session.add(ticket_types)
            db.session.commit()
            ticket = Ticket(ticket_type=ticket_types.id,opened_by=user_id,updated_by=user_id,description="First Ticket")
            db.session.add(ticket)
            db.session.commit()
Exemplo n.º 11
0
def user_page():
    ticket = Ticket(
        requester_id=current_user.id,
        status=TicketStatus.OPEN,
        create_date=datetime.now(),
    )
    form = TicketForm(request.form, obj=ticket)

    print(current_user)
    print(current_user.__dict__)
    print(current_user.id)
    if form.validate_on_submit():
        # Copy form fields to user_profile fields
        form.populate_obj(ticket)

        # Save ticket
        db.session.add(ticket)
        db.session.commit()

        # reset form and      flash success

        flash("Successfully created ticket", "success")
    else:
        for field, errors in form.errors.items():
            for error in errors:
                flash(
                    "Error in the %s field - %s" %
                    (getattr(form, field).label.text, error),
                    "error",
                )

    # Pull all tickets requested by this user for display
    tickets = current_user.requested_tickets

    return render_template("main/user_page.html", form=form, tickets=tickets)
Exemplo n.º 12
0
def buy(id=None):
    form = TicketForm()
    flight = Flight.query.filter_by(flight_num=id).first_or_404()
    if session['type'] == 1:
        email= session['username']
        booking_agent_ID = ''
    elif session['type'] == 2:
        email = ''
        agent = Agent.query.filter(Agent.email == session['username']).first()
        booking_agent_ID = agent.booking_agent_id
    if flight.rest_seat == 0:
        flash("The rest ticket are zero and cannot be purchased.")
        return redirect(url_for("home.index"))
    if form.validate_on_submit():
        data = form.data
        ticket = Ticket(
            ticket_id=''.join(random.sample(string.ascii_letters + string.digits, 6)),
            user_email = data["email"],
            airline_name = flight.airline_name,
            flight_num = data["flight_num"],
            price = data["price"],
            booking_agent_ID = booking_agent_ID
        )
        db.session.add(ticket)
        flight.rest_seat = flight.rest_seat-1
        db.session.add(flight)
        db.session.commit()
        flash("Buy success!")
        return redirect(url_for("home.index"))
    return render_template("home/buy-flight.html",form=form,flight=flight,email=email)
Exemplo n.º 13
0
def new_ticket():
    if request.method == 'GET':
        clients = Client.query.all()
        products = ProductArea.query.all()
        users = TicketUser.query.all()
        return render_template('new_ticket.html',
                               clients=clients,
                               products=products,
                               users=users)
    else:
        title = request.form['title']
        description = request.form['description']
        top_queue = False
        if request.form.get('top_queue'):
            top_queue = True if request.form['top_queue'].lower(
            ) == 'on' else False
        target_date = request.form['target_date']
        client_id = request.form['client']
        product_area_id = request.form['product_area']
        ticket_url = request.form['ticket_url']
        user_id = request.form['assigned_to']

        client = Client.query.get(int(client_id))
        product_area = ProductArea.query.get(int(product_area_id))
        user = TicketUser.query.get(int(user_id))

        if top_queue == True:
            for ticket in client.tickets:
                ticket.decrease_priority()

        ticket = Ticket(
            title=title,
            description=description,
            priority=1 if top_queue == True else len(client.tickets) + 1,
            target=parse_date(target_date),
            ticket_url=ticket_url,
            client=client,
            product_area=product_area,
            assigned_to=user)
        db.session.add(ticket)
        db.session.commit()

        ticket.add_log(constants.TICKET_LOG_TYPE_STATUS_CHANGE)

        return redirect(url_for('tickets'))
Exemplo n.º 14
0
def create_ticket():
    form = SupportForm()
    if form.validate_on_submit():
        ticket = Ticket(body=form.message.data, author=current_user)
        db.session.add(ticket)
        db.session.commit()
        flash(_('Thanks for contributing the issue. You ticket has been submitted!'))
        return redirect(url_for('tips.get_tip'))
    return render_template('support/new_ticket.html', title='Create new ticket', form=form)
Exemplo n.º 15
0
    def create(self, validated_data):
        log.debug("TicketCreateSerializer:create")
        instance = Ticket()
        title = validated_data.get('title', "No Title")
        description = validated_data.get('description', "No Description")
        user = validated_data.get('user', None)
        speed_test = validated_data.get("speed_test", None)
        wifi_points = validated_data.get("wifi_points", None)
        location_point = validated_data.get("location_point", None)

        instance.title = title
        instance.description = description
        instance.user = user if user else None
        instance.speed_test = speed_test
        instance.wifi_points = wifi_points
        instance.location_point = location_point
        instance.save()
        return instance
Exemplo n.º 16
0
def ticket():
    form = TicketForm()
    if form.validate_on_submit():
        ticket = Ticket(description=form.description.data, author=current_user, priority=form.priority.data, link=form.link.data, tag='open')
        db.session.add(ticket)
        db.session.commit()
        flash('Your ticket is now live!')
        return redirect(url_for('index'))
    return render_template('ticket.html', title='Home', form=form)
Exemplo n.º 17
0
def home():
    form = TicketForm()
    if form.validate_on_submit():
        ticket = Ticket(requester=form.requester.data,
                        request=form.request.data,
                        urgency=form.urgency.data)
        db.session.add(ticket)
        db.session.commit()
        flash('Your ticket has been sent')
    return render_template('tickets.html', title='Home', form=form)
Exemplo n.º 18
0
def tickets(request):
    logged_user = request.user.username
    user = User.objects.get(username=logged_user)

    if request.method == 'POST':
        trip_id = request.POST.get('trip_id')

        trip = Trip.objects.get(id=trip_id)
        seats = trip.seats
        if seats:
            trip.seats = seats - 1
            trip.save()

        t = Ticket(trip=trip, user=user, ticket_number=(randint(1000, 9999)))
        t.save()

    all_tickets = Ticket.objects.all().filter(user=user)
    context_dict = {'tickets': all_tickets}
    return render(request, 'app/tickets.html', context_dict)
Exemplo n.º 19
0
    def post(self):

        ticket = Ticket()
        args = parser.parse_args()
        merge(ticket, args)

        with safe_session(db):
            db.session.add(ticket)

        return {Const.MESSAGE_KEY: '工单表创建成功'}, Const.STATUS_OK
Exemplo n.º 20
0
def insert_tickets(user,no_tickets):
        events = Event.objects.all()
        for e in events:
            ticket = Ticket()
            ticket.event = e
            ticket.price = e.price
            ticket.quantity = no_tickets
            ticket.user = User.objects.get(username=user.username)
            ticket.save()
def store():
    if request.method == 'POST':
        fname = request.form['fname']
        lname = request.form['lname']
        from1 = request.form['from1']
        to1 = request.form['to1']
        date = request.form['date']
        type1 = request.form['type1']
        count = request.form['count']
        class1 = request.form['class1']
        email = request.form['email']
        tel = request.form['tel']
        payment = request.form.getlist('payment')
        payment = payment[0]
        l = [fname, lname, from1, to1, date, type1, count, class1, email, tel, payment]

        pnr = randint(1000000000,10000000000)
        pnr_list = []
        for ele in Ticket.query.all():
            pnr_list.append(ele.pnr)
        while pnr in pnr_list:
            pnr = randint(1000000000,10000000000)

        try:
            try:
                db.session.add(Ticket(pnr=pnr, fname=fname, lname=lname, from1=from1, to1=to1, date=date, 
                                        type1=type1, count=count, class1=class1, email=email, 
                                        tel=tel, payment=payment))
                db.session.commit()
                return render_template('index.html',response = 'Ticked Booked Sucessfully')
            except:
                db.create_all()
                db.session.add(Ticket(pnr=pnr, fname=fname, lname=lname, from1=from1, to1=to1, date=date, 
                                        type1=type1, count=count, class1=class1, email=email, 
                                        tel=tel, payment=payment))
                db.session.commit()
                return render_template('index.html',response = 'Ticked Booked Sucessfully')
        except:
            return render_template('index.html',response = 'Something Went Wrong')
    elif request.method == 'GET':
        return render_template('index.html',response = '')
Exemplo n.º 22
0
    def post(self, id):
        json_data = request.get_json()
        if not json_data:
            response = jsonify({'error': 'Invalid Input'})
            response.status_code = 400
            return response

        #deserialising json_data
        data = ticket_schema.load(json_data)

        project = Project.query.get_or_404(id)
        if not project:
            response = {'error': 'Project not found'}
            return resoponse, 400

        ticket = Ticket()
        ticket.project_id = project.id
        ticket.subject = data['subject']
        ticket.description = data['description']
        ticket.priority = data['priority']

        db.session.add(ticket)
        db.session.commit()

        return make_response(jsonify(data), 200)
Exemplo n.º 23
0
def generate_random_ticket(capacity):
    """
    Randomly generate tickets based on plane's capacity
    """
    tickets = []
    col = 6
    rows = int(capacity/col)
    for row in range(rows):
        for col in range(1, col+1):
            ticket = Ticket(seat_number=plane_rows[row] + str(col), available=True, price=random.choice(prices))
            tickets.append(ticket)

    return tickets
Exemplo n.º 24
0
def createticket_form(idd):
  project = Project.query.get(int(idd))

  #only admin and pm allowed
  if current_user.role != "Developer":
    if request.method == "POST":
      title=request.form.get("title")
      description = request.form.get("description")
      assigned = request.form.get("assigned")
      priority = request.form.get("priority")
      status = request.form.get("status")
      ticket_type = request.form.get("type")

      #create ref num
      ref_n = []
      for _ in range(6):
        n = random.randint(0, 9)
        ref_n.append(str(n))
      ref_num = "".join(ref_n)
      
      #check assigned developer
      check_assigned_dev = User.query.filter_by(email=assigned).first()
      if check_assigned_dev:
        #save ticket to database
        new_ticket = Ticket(title = title, description = description,assigned_dev = assigned,ticket_type = ticket_type, priority = priority,status = status, ref_num = int(ref_num), user_ticket= current_user, project_ticket = project)

        db.session.add(new_ticket)
        db.session.commit()

        #add log to ticket history
        get_ticket = Ticket.query.filter_by(title=title).first()
        log = "created this ticket"
        add_log(current_user.name, get_ticket, log)

        #add notifictaion
        details = "%s created a ticket and assigned to %s " % (
            current_user.name, check_assigned_dev.name)
        a_dev = check_assigned_dev.name
        link = "/mytickets"
        add_notification(details, a_dev, link)

        flash("Ticket Created")
        return redirect(url_for("main.mytickets")) 
      else:
        flash("Assigned developer not found")
        return redirect(url_for("main.createticket_form", idd = idd)) 

    users =project.team
    return(render_template("createticket.html", project= project, users=users))
  else:
    abort(404)
Exemplo n.º 25
0
 def test_post_new_ticket_and_reply(self):
     #create user and ticket
     author = self.create_dummy_user("*****@*****.**")
     ticket = Ticket(tickettitle="test title", ticketrequest="test body", user=author)
     response = self.client.post(url_for("main.new_ticket"), data={
         "tickettitle": "test title",
         "ticketrequest": "test ticket body"}, follow_redirects=True)
     self.assertIn(b"test ticket body", response.data)
     self.assertIn(b"john", response.data)
     #create ticket comment
     response = self.client.post(url_for("main.ticket", ticketnum=ticket.id), data={
         "commentbody": "test comment body"
     }, follow_redirects=True)
     self.assertIn(b"test comment body", response.data)
Exemplo n.º 26
0
def new_ticket_comment(id):
    try:
        ticket = Ticket.from_db(g.db.get_ticket(id))
    except ModelNotFound as e:
        return not_found(str(e))
    else:
        if ticket.state == TicketState.CLOSED:
            return ticket_closed(ticket_id=id)
        else:
            comment = Comment.from_json(request.get_json(), ticket_id=id)
            g.db.add_comment(comment)
            return jsonify(comment.get_attrs()), 201, {
                'Location':
                url_for('api.get_comment', id=comment.id, _external=True)
            }
Exemplo n.º 27
0
def new_ticket(rec_id=0):
    if rec_id == 0:
        form = TicketForm()
        if form.validate_on_submit():
            new_ticket = Ticket(
                ticket_requester=current_user,
                ticket_assigned=form.assigned_employee.data,
                due_date=form.due_date.data,
                description_ticket=form.description_ticket.data,
                reclamation=form.reclamation.data,
            )
            db.session.add(new_ticket)
            db.session.commit()
            send_message(Ticket, new_ticket.id, new_ticket.ticket_assigned)
            return redirect(
                url_for("ticket_bp.ticket", ticket_number=str(new_ticket.id)))
    else:
        form = TicketFromReclamationForm()
        reclamation = Reclamation.query.filter_by(
            id=int(rec_id)).first_or_404()

        form.reclamation.data = reclamation
        if form.validate_on_submit():
            new_ticket = Ticket(
                ticket_requester=current_user,
                ticket_assigned=form.assigned_employee.data,
                due_date=form.due_date.data,
                description_ticket=form.description_ticket.data,
                reclamation=reclamation,
            )
            db.session.add(new_ticket)
            db.session.commit()
            send_message(Ticket, new_ticket.id, new_ticket.ticket_assigned)
            return redirect(
                url_for("ticket_bp.ticket", ticket_number=str(new_ticket.id)))
        return render_template("ticket/new_ticket.html", form=form)
Exemplo n.º 28
0
def ticket():
    form = TicketForm(current_user.username)
    if form.validate_on_submit():
        tickets = Ticket(c_num=form.c_num.data,
                         m_num=form.m_num.data,
                         p_person=form.p_person.data,
                         p_role=form.p_role.data,
                         t_date=form.t_date.data,
                         p_price=form.p_price.data,
                         t_payment=form.t_payment.data)
        db.session.add(tickets)
        db.session.commit()
        flash(_('Submit Success!'))
        return redirect(url_for('main.user'))
    return render_template('ticket.html', title=_('Ticket'), form=form)
Exemplo n.º 29
0
def add_tickets():
    form = TicketSetForm()
    admin_list = [1]
    if int(current_user.get_id()) in admin_list:
        if form.validate_on_submit():
            if Train.query.get(form.train_number.data):
                data = Ticket(cost=form.cost.data, train_id=form.train_number.data, user_id=form.owner.data)
                db.session.add(data)
                db.session.commit()
                return redirect(url_for('add_tickets'))
            else:
                flash('Такого поезда не существует!')
                return redirect(url_for('add_tickets'))
    else:
        return redirect(url_for('tickets'))
    return render_template('admin_panel_ticket.html', title='Добавление билетов', form=form)
Exemplo n.º 30
0
def CreateTicket():
    form = forms.RegisterTicket()
    if form.validate_on_submit():
        expireDate = form.departureDate.data - timedelta(days=7)
        if form.arrivalDate.data < form.departureDate.data:
            errorMessage = (
                '%s must be greater than %s' %
                (form.arrivalDate.label.text, form.departureDate.label.text))
            form.arrivalDate.errors.append(errorMessage)
            return render_template('employee/flights/addTicket.html',
                                   form=form)
        if form.returnDate.data < form.arrivalDate.data:
            errorMessage = (
                '%s must be greater than %s' %
                (form.returnDate.label.text, form.arrivalDate.label.text))
            form.returnDate.errors.append(errorMessage)
            return render_template('employee/flights/addTicket.html',
                                   form=form)
        newTicket = Ticket(origin=form.origin.data,
                           arrival=form.arrival.data,
                           flightNo=form.flightNo.data,
                           departureDate=form.departureDate.data,
                           departureTime=form.departureTime.data,
                           arrivalDate=form.arrivalDate.data,
                           arrivalTime=form.arrivalTime.data,
                           returnDate=form.returnDate.data,
                           returnTime=form.returnTime.data,
                           expirationDate=expireDate,
                           remainingSlots=form.slots.data,
                           isPackaged=form.isPackaged.data,
                           price=form.price.data)
        db.session.add(newTicket)
        user = current_user
        fullName = user.firstName + ' ' + user.lastName
        if user.role == "AD":
            role = "Admin"
        elif user.role == "RO":
            role = "Reservation Officer"
        else:
            role = "Financial Officer"
        event = (fullName + ' (' + role + ') created ' + form.flightNo.data +
                 ' (' + form.origin.data + '-' + form.arrival.data + ')')
        newLogTrail = LogTrail(event=event)
        db.session.add(newLogTrail)
        db.session.commit()
        return redirect(url_for('main.UserHomeRO'))
    return render_template('employee/flights/addTicket.html', form=form)
Exemplo n.º 31
0
def create_user_ticket(user_id):
    data = request.get_json(force=True)
    ticket = Ticket(
        price=float(data["price"]),
        flight_id=data["flight_id"],
        type_id=data["type_id"],
        user_id=user_id
    )
    db.session.add(ticket)
    db.session.commit()
    ticket = Ticket.query.filter_by(id=ticket.id).first()
    return jsonify(
        id=ticket.id,
        price=float(ticket.price),
        flight_id=ticket.flight_id,
        type_id=ticket.type_id,
        user_id=ticket.user_id
    )
Exemplo n.º 32
0
def tickets():
    form = CreateTicketForm()
    if form.validate_on_submit():
        ticket = Ticket(title=form.title.data,
                        content=form.content.data,
                        department=form.department.data,
                        file=form.file.data,
                        priority=form.priority.data,
                        email=form.email.data,
                        name=form.name.data)
        db.session.add(ticket)
        db.session.commit()
        user = Ticket.query.filter_by(email=form.email.data).first()
        if user:
            send_ticket_details(user)
        flash('Ticket submitted successfully')
        return redirect(url_for('index'))
    return render_template('ticket.html', title='Tickets', form=form)