Example #1
0
def new_item(request):
    ret = check_auth(request)
    if ret:
        return ret

    if request.method == 'POST':
        print request.POST
        if request.GET["new"] == "ticket":
            form = TicketForm(request.POST)
            print "valid", form.errors
            if form.is_valid():
                a = Ticket()
                a.title = form.cleaned_data["title"]
                a.text = form.cleaned_data["text"]
                a.priority = form.cleaned_data["priority"]
                a.author = request.user
                a.save()
                send_mail_ticket(a.group, "new_ticket")
                return show_item(request, a.id)

    form = {"ticket": TicketForm(),
            "comment": CommentForm()}

    return render_to_response('ticket_new.html',
                              {'forms': form, },
                              context_instance=RequestContext(request))
Example #2
0
def ticket_edit(request, ticket_id, response_format='html'):
    "Ticket edit"

    context = _get_default_context(request)
    agent = context['agent']

    ticket = get_object_or_404(Ticket, pk=ticket_id)
    if not request.user.profile.has_permission(ticket, mode='w'):
        return user_denied(request,
                           message="You don't have access to this Ticket")

    if request.POST:
        if 'cancel' not in request.POST:
            form = TicketForm(request.user.profile,
                              None,
                              agent,
                              request.POST,
                              instance=ticket)
            if form.is_valid():
                ticket = form.save()
                return HttpResponseRedirect(
                    reverse('services_ticket_view', args=[ticket.id]))
        else:
            return HttpResponseRedirect(
                reverse('services_ticket_view', args=[ticket.id]))
    else:
        form = TicketForm(request.user.profile, None, agent, instance=ticket)

    context.update({'form': form, 'ticket': ticket})

    return render_to_response('services/ticket_edit',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Example #3
0
def edit_ticket(request,  ticket_id=None, template="operations/edit_ticket.html", context=None):

    context = context or {}
    ticket = None

    if ticket_id:
        ticket = BaseTicket.objects.get(pk=ticket_id)
        ticket_form = TicketForm(
            request.POST or None, instance=ticket)
    else:
        ticket_form = TicketForm(request.POST or None)

    if ticket_form.is_valid():
        ticket = ticket_form.save(commit=False)
        if ticket_id:      
            ticket.created_by = request.user
            ticket.save()
            obj = BaseTicket.objects.get(pk=ticket_id)
            messages.success(request, 'Ticket %s is updated' %(obj.number))
        else:
            ticket.created_by = request.user
            ticket.number = generate_ticket_ref()
            ticket.save()
            objj = BaseTicket.objects.latest('id')
            messages.success(request, 'Ticket %s is created' %(objj.number))


        return redirect(reverse('view_tickets'))

    context['form'] = ticket_form
    context['ticket'] = ticket
    
    return render(request, template, context)
Example #4
0
def forms(request):
    try:
        choices, initial = utils.get_priorities()
        form = TicketForm(choices, initial)
    except utils.GadgetError as e:
        mail.mail_admins('FogBugz Gadget Error', e.msg)
        form = TicketForm()

    return {'ticket_form': form}
Example #5
0
def editar_ticket(request, id):
    ticket = Ticket.objects.get(id=id)
    if request.method == "POST":

        form = TicketForm(request.POST, instance=ticket)
        if form.is_valid():
            form.save()
            return redirect("ticket-detalle", id=id)
    else:
        form = TicketForm(instance=ticket)

    return render(request, "ticket_editar.html", {
        "ticket": ticket,
        "form": form,
    })
def place_reservation(request, event_id):
    tickets = Tickets.objects.filter(event_id = event_id)
    if request.method == 'POST':
        form = TicketForm(event_id, request.POST)
        if form.is_valid():
            ticket = form.save(commit=False)
            ticket.user = request.user
            ticket.save()
            ticket.generate_qrcode()
            mail = EmailMessage('Event entry ticket', ticket.get_reservation_info(), '*****@*****.**', [ticket.guest_email])
            mail.attach_file(ticket.qrcode.url)
            mail.send()
            return render(request, 'success_res.html')
    else:
        form = TicketForm(event_id)
    return render(request, 'place_reservation.html', {'form': form, 'tickets': tickets})
Example #7
0
def ticketmaker():
    form = TicketForm()
    if form.is_submitted():
        ticket = {}
        result = request.form
        print(result)
        alph = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        ticket["FID"] = rd.choice(alph) + rd.choice(alph) + rd.choice(
            alph) + str(random_with_N_digits(4))
        ticket["lastname"] = result["name"].split(" ")[1].upper()
        ticket["firstname"] = result["name"].split(" ")[0].upper()
        ticket["namecode"] = str(
            random_with_N_digits(5)) + "-" + ticket["lastname"]
        img = qrcode.make(ticket["namecode"])
        img.save(f"{os.getcwd()}/static/images/pict0.png", "PNG")
        if result["radio"] == "bills":
            ticket["bills"] = "X"
        else:
            ticket["coins"] = "X"
        ticket["money"] = format(float(result["money"]), '.2f')
        ticket["date"] = convertdate(result["date"]).upper()
        return render_template("tooth_ticket.html",
                               result=result,
                               ticket=ticket)
    return render_template("make_ticket.html", form=form)
Example #8
0
def individual_ticket(ticket_id):
    ticket = get_ticket(int(ticket_id))
    form = TicketForm(request.form, ticket)

    if request.method == 'POST' and form.validate():
        update_ticket(form)
        return redirect(url_for('pending_tickets'))

    return render_template("ticket.html", form=form)
Example #9
0
def support(request):
    if request.method == 'POST':
        form = TicketForm(request.POST)
        if form.is_valid():
            form = form.save(commit=False)
            form.user_id = request.user.id
            form.save()
            return redirect(reverse('support'))
    tickets = Ticket.objects.all()
    comments = Comment.objects.all()
    form = TicketForm()
    form2 = CommentForm()
    args = {
        'tickets': tickets,
        'form': form,
        'comments': comments,
        'form2': form2
    }
    return render(request, "support.html", args)
def submit_bug(request):
    response = pq('<response></response>')

    if request.method == 'POST':
        try:
            choices, initial = utils.get_priorities()
            form = TicketForm(choices, initial, request.POST) 
        except utils.GadgetError as e:
            mail.mail_admins('FogBugz Gadget Error', e.msg)
            form = TicketForm(data=request.POST) 

        if form.is_valid():
            try:
                case = utils.submit_ticket(form.cleaned_data)
            except utils.GadgetError as e:
                mail.mail_admins('FogBugz Gadget Error', e.msg)
                raise RuntimeError(e.msg)

            response.attr('type', 'success').html(case)
Example #11
0
def new_ticket(event_id):
    event = get_event(event_id=event_id)
    form = TicketForm()
    if form.validate_on_submit():
        if ticket_already_added(event, form.kind.data):
            form.kind.errors.append('O bilhete {} já foi adicionado'.format(
                form.kind.data))
        else:
            create_ticket(event=event.id,
                          name=form.kind.data,
                          price=form.price.data,
                          total=form.total.data)
            flash('Bilhete criado com sucesso', 'success')
            return redirect(url_for('web.event', event_id=event.id))

    return render_template('tickets/form.html',
                           form=form,
                           title='Novo bilhete',
                           action='Criar')
Example #12
0
File: app.py Project: lamak/utmr
def get_tickets():
    form = TicketForm()
    form.fsrar.choices = Utm.utm_choices()
    form.search.data = request.args.get('res')
    form.limit.data = int(request.args.get('limit', 1000))
    form.fsrar.data = int(request.args.get('fsrar', 0))

    params = {
        'template_name_or_list': 'ticket.html',
        'title': 'Поиск квитанций обмена',
        'description': 'Показывает квитанции из обмена по названию документа',
        'form': form,
    }

    if request.method == 'POST':

        results = list()
        doc = request.form['search'].strip()
        limit = request.form['limit'].strip()
        limit = int(limit) if limit.isdigit() and int(limit) < 5000 else 1000
        utm = Utm.get_one(fsrar=request.form['fsrar'])
        form.fsrar.data = int(utm.fsrar)

        for root, dirs, files in os.walk(utm.path):
            files = [fi for fi in files if fi.find("Ticket") > 0]
            files.sort(reverse=True)

            for reply_rests in files[:limit]:
                with open(os.path.join(root, reply_rests),
                          encoding="utf8") as f:
                    raw_data = f.read()
                    if doc in raw_data:
                        ticket_dict = xmltodict.parse(raw_data)
                        ticket_data = ticket_dict.get('ns:Documents').get(
                            'ns:Document').get('ns:Ticket')
                        if ticket_data is not None:
                            results.append(ticket_data)

        params['results'] = results

    return render_template(**params)
Example #13
0
def show_item(request, id):
    ret = check_auth(request)
    if ret:
        return ret

    ticket = Ticket.objects.get(id=id)

    if request.method == 'POST':
        if request.GET.has_key("new") and request.GET["new"] == "comment":
            form = CommentForm(request.POST, files=request.FILES)
            if form.is_valid():
                a = Comment()
                a.text = form.cleaned_data["text"]
                a.is_public = form.cleaned_data["is_public"]
                a.upload_file = form.cleaned_data["upload_file"]
                a.author_id = request.user.id
                a.ticket_id = ticket.id
                a.save()
                # send_mail_ticket(a.group,"new_comment")
                # TODO errot
                # print form.errors

        if request.GET.has_key("edit") and request.GET["edit"] == "ticket":
            form = TicketFormEdit(request.POST, files=request.FILES)
            if form.is_valid():
                ticket.status = form.cleaned_data["status"]
                ticket.priority = form.cleaned_data["priority"]
                ticket.save()
                send_mail_ticket(ticket.group, "edit_ticket")
            # TODO errot print form.errors

    form = {"ticket": TicketForm(instance=ticket),
            "comment": CommentForm()}

    comments = Comment.objects.filter(ticket=ticket.id)

    return render_to_response('ticket_item.html',
                              {'ticket': ticket, 'forms':
                               form, 'comments': comments},
                              context_instance=RequestContext(request))
Example #14
0
def ticket_add(request, queue_id=None, response_format='html'):
    "Ticket add"

    context = _get_default_context(request)
    agent = context['agent']
    profile = request.user.profile

    queue = None
    if queue_id:
        queue = get_object_or_404(TicketQueue, pk=queue_id)
        if not profile.has_permission(queue, mode='x'):
            queue = None

    if request.POST:
        if 'cancel' not in request.POST:
            ticket = Ticket(creator=profile)
            if not agent:
                if queue:
                    ticket.queue = queue
                    if queue.default_ticket_status:
                        ticket.status = queue.default_ticket_status
                    else:
                        try:
                            conf = ModuleSetting.get_for_module(
                                'anaf.services', 'default_ticket_status')[0]
                            ticket.status = TicketStatus.objects.get(
                                pk=long(conf.value))
                        except:
                            if 'statuses' in context:
                                try:
                                    ticket.status = context['statuses'][0]
                                except:
                                    pass
                    ticket.priority = queue.default_ticket_priority
                    ticket.service = queue.default_service
                else:
                    try:
                        conf = ModuleSetting.get_for_module(
                            'anaf.services', 'default_ticket_status')[0]
                        ticket.status = TicketStatus.objects.get(
                            pk=long(conf.value))
                    except:
                        if 'statuses' in context:
                            try:
                                ticket.status = context['statuses'][0]
                            except:
                                pass
                    try:
                        conf = ModuleSetting.get_for_module(
                            'anaf.services', 'default_ticket_queue')[0]
                        ticket.queue = TicketQueue.objects.get(
                            pk=long(conf.value))
                    except:
                        if 'queues' in context:
                            try:
                                ticket.queue = context['queues'][0]
                            except:
                                pass
                try:
                    ticket.caller = profile.get_contact()
                except:
                    pass
            form = TicketForm(profile,
                              queue,
                              agent,
                              request.POST,
                              instance=ticket)
            if form.is_valid():
                ticket = form.save()
                ticket.set_user_from_request(request)
                return HttpResponseRedirect(
                    reverse('services_ticket_view', args=[ticket.id]))
        else:
            return HttpResponseRedirect(reverse('services'))
    else:
        form = TicketForm(request.user.profile, queue, agent)

    context.update({'form': form, 'queue': queue})

    return render_to_response('services/ticket_add',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)