Example #1
0
File: views.py Project: winglq/site
 def _show_form(self, request):
     t_form = TicketForm(request.POST)
     context = super(CheckTicketView, self). \
          get_context_data(**kwargs)
     context['form'] = t_form
     if not t_form.is_valid():
         return self.render_to_response(context)
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)
        else:
            response.attr('type', 'invalid')

            # include validation errors in response
            for field, errors in form.errors.items():
                for error in errors:
                    response.append('<error field="%s">%s</error>' % (field, error))

    return HttpResponse(response.outerHtml())
Example #3
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 #4
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 #5
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 #6
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 #7
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 #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
File: views.py Project: winglq/site
 def post(self, request, *args, **kwargs):
     t_form = TicketForm(request.POST)
     if not t_form.is_valid():
         context = super(CheckTicketView, self). \
             get_context_data(**kwargs)
         context['form'] = t_form
         return self.render_to_response(context)
     ticket = t_form.cleaned_data['ticket']
     next = kwargs.get('next')
     return self._use_ticket(request, ticket, next)
Example #10
0
def new_ticket(request, *arg):
    """
    For generating new tickets
    """
    if request.method == 'POST':
        form = TicketForm(request.POST)
        if form.is_valid():
            t = Ticket()
            t.ticket_type = form.cleaned_data['ticket_type']
            t.project = form.cleaned_data['project']
            t.component = form.cleaned_data['component']
            t.summary = form.cleaned_data['summary']
            t.description = form.cleaned_data['description']
            t.created_by = request.user
            t.updated_by = request.user
            # workflow related stuff
            ticket_type = t.ticket_type
            wm = WorkflowManager()
            wm.workflow = ticket_type.workflow
            wm.created_by = request.user
            wm.save()
            r = Role.objects.get(id=settings.ROLE_SUBMITTER)
            p = Participant()
            p.user = request.user
            p.role = r
            p.workflowmanager=wm
            p.save()
            t.workflow_manager=wm
            t.save()
            wm.start(p)
            # Generates a confirmation email to send to the new user
            current_site = Site.objects.get_current() 
            site_name = current_site.name
            domain = current_site.domain
            tplt = loader.get_template(settings.NEW_TICKET_EMAIL_TEMPLATE)
            c = {
                'email': request.user.email,
                'domain': domain,
                'site_name': site_name,
                'user': request.user,
                'protocol': settings.REGISTRATION_USE_HTTPS and 'https' or 'http',
                'ticket': t,
            }
            send_mail(_("Confirmation of new ticket on IssueTracker"),
                tplt.render(Context(c)), None, [request.user.email])
            
            request.user.message_set.create(message=_("The ticket has been"\
                    " successfully created."))
            return HttpResponseRedirect('/ticket/%d'%t.id)
    else:
        form = TicketForm()
    c = RequestContext(request, {'form': form})
    return render_to_response('new.html', c) 
Example #11
0
def editticket(tid):
    user = g.user
    t = Ticket.query.get(tid)
    form = TicketForm(subject=t.subject, body=t.body)
    if form.validate_on_submit():
        import datetime
        form.populate_obj(t)
        t.timestamp = datetime.datetime.utcnow()
        flash("Updated ticket: " + t.subject)
        db.session.commit()
        return redirect('/dashboard')
    return render_template('editticket.html', user=user, ticket=t, form=form)
Example #12
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,
            })
Example #13
0
def newticket():
    user = g.user
    form = TicketForm()
    if form.validate_on_submit():
        import datetime
        t = Ticket()
        form.populate_obj(t)
        t.timestamp = datetime.datetime.utcnow()
        t.created = datetime.datetime.utcnow()
        t.user_id = user.id
        db.session.add(t);
        db.session.commit()

        flash('New ticket submitted: ' + form.subject.data)
        return redirect('/dashboard')
    return render_template('newticket.html', form=form, user=user)
Example #14
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')
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 #16
0
def contact(request):
	data = {}
	if request.method == 'POST':
		form = TicketForm(request.POST)
		if form.is_valid():
			f = form.save(commit=False)
			f.reference = new_id()
			if request.user.is_authenticated():
				f.user = request.user
				f.save()
			else:
				form.save()
			return redirect('shop:frontpage')
		else:
			data['form'] = form
			return render(request, 'helpdesk/contact.html', data)
	else:
		data['form'] = TicketForm()
		return render(request, 'helpdesk/contact.html', data)
Example #17
0
def ticketdetails(request, ticket_id):
    ticket = get_object_or_404(Ticket, pk=ticket_id)
    tickets = Ticket.history.filter(id=ticket_id)
    t = "Edit"

    if request.POST:
        form = TicketForm(request.POST, instance=ticket)
        if form.is_valid():
            form.save()

            return HttpResponseRedirect('/tickets/')

    else:
        form = TicketForm(instance=ticket)

    return render_to_response("ticketdetails.html", {
        'form': form,
        't': t,
        'tickets': tickets,
    }, context_instance=RequestContext(request))
Example #18
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 #19
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 #20
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)
Example #21
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,
    })
Example #22
0
def createticket(request):
    if request.POST:
        form = TicketForm(request.POST)
        if form.is_valid():
            form.save()
            messages.success(request, 'Ticket added!')
            return HttpResponseRedirect('/tickets/')
    else:
        if request.user.is_superuser:
            form = TicketForm()
        else:
            form = UserTicketForm()

    return render(request, 'createticket.html', locals())
Example #23
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)
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 #25
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 #26
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)
Example #27
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)