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)
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()
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()
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)
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'
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'}
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
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
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)
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()
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)
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)
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'))
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)
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
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)
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)
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)
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
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 = '')
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)
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
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)
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)
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) }
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)
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)
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)
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)
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 )
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)