mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
commit
444e5815e9
@ -13,10 +13,6 @@ type TicketArray struct {
|
||||
Tickets []Ticket
|
||||
}
|
||||
|
||||
type SingleTicket struct {
|
||||
Ticket *Ticket `json:"ticket"`
|
||||
}
|
||||
|
||||
type Ticket struct {
|
||||
Id uint64 `json:"id"`
|
||||
URL string `json:"url"`
|
||||
@ -70,14 +66,14 @@ func listTickets(pag ...string) (*TicketArray, error) {
|
||||
|
||||
}
|
||||
|
||||
func newTickets() ([]Ticket, error) {
|
||||
func newTickets(ticketStatus string) ([]Ticket, error) {
|
||||
newTickets := []Ticket{}
|
||||
tickets, err := listTickets()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
for _, Ticket := range tickets.Tickets {
|
||||
if Ticket.Status == "new" {
|
||||
if Ticket.Status == ticketStatus && Ticket.Status != "closed" && Ticket.Status != "solved" {
|
||||
newTickets = append(newTickets, Ticket)
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,8 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/gdamore/tcell"
|
||||
|
||||
"github.com/senorprogrammer/wtf/wtf"
|
||||
)
|
||||
|
||||
@ -13,15 +15,18 @@ type Widget struct {
|
||||
|
||||
func NewWidget() *Widget {
|
||||
widget := Widget{
|
||||
TextWidget: wtf.NewTextWidget(" Zendesk ", "zendesk", false),
|
||||
TextWidget: wtf.NewTextWidget(" Zendesk ", "zendesk", true),
|
||||
}
|
||||
|
||||
widget.View.SetInputCapture(widget.keyboardIntercept)
|
||||
|
||||
return &widget
|
||||
}
|
||||
|
||||
/* -------------------- Exported Functions -------------------- */
|
||||
func (widget *Widget) Refresh() {
|
||||
tickets, err := newTickets()
|
||||
ticketStatus := wtf.Config.UString("wtf.mods.zendesk.status")
|
||||
tickets, err := newTickets(ticketStatus)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@ -66,3 +71,22 @@ func (widget *Widget) parseRequester(ticket Ticket) interface{} {
|
||||
fromName := fromValMap["name"]
|
||||
return fromName
|
||||
}
|
||||
|
||||
func (widget *Widget) openTicket() {
|
||||
wtf.OpenFile("https://" + subdomain + ".zendesk.com")
|
||||
}
|
||||
|
||||
func (widget *Widget) keyboardIntercept(event *tcell.EventKey) *tcell.EventKey {
|
||||
switch string(event.Rune()) {
|
||||
case "f":
|
||||
widget.openTicket()
|
||||
return nil
|
||||
}
|
||||
switch event.Key() {
|
||||
case tcell.KeyEnter:
|
||||
widget.openTicket()
|
||||
return nil
|
||||
default:
|
||||
return event
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user