1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

Merge pull request #5 from fimtitzgerald/select_status

Select status
This commit is contained in:
Tim Fitzgerald 2018-07-25 10:00:05 -07:00 committed by GitHub
commit 444e5815e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 8 deletions

View File

@ -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)
}
}

View File

@ -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
}
}