fix: make the shelf menus actually work
This commit is contained in:
@@ -50,13 +50,13 @@ func (a *Shelves) cdelete() {
|
||||
func (a *Shelves) cedit() {
|
||||
selectedItem := a.getSelectedItem()
|
||||
if selectedItem == nil {
|
||||
a.displayError("DELETE SHELF ERROR", fmt.Errorf("no shelves to edit"))
|
||||
a.displayError("SHELF EDIT ERROR", fmt.Errorf("no shelves to edit"))
|
||||
return
|
||||
}
|
||||
|
||||
shelf, err := a.client.RetrieveShelfByID(selectedItem.id)
|
||||
if err != nil {
|
||||
a.displayError("DELETE SHELF ERROR", fmt.Errorf("unable to retrieve shelf from server"))
|
||||
a.displayError("SHELF EDIT ERROR", fmt.Errorf("unable to retrieve shelf from server"))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -72,6 +72,11 @@ func (a *Shelves) edit() {
|
||||
return
|
||||
}
|
||||
|
||||
if createReq.BuildingID == nil {
|
||||
a.displayError("SHELF EDIT ERROR", fmt.Errorf("shelf building cannot be empty"))
|
||||
return
|
||||
}
|
||||
|
||||
_, err := a.client.UpdateShelf(selectedItem.id, createReq)
|
||||
if err != nil {
|
||||
a.displayError("SHELF EDIT ERROR", err)
|
||||
@@ -111,12 +116,12 @@ func (a *Shelves) delete() {
|
||||
}
|
||||
|
||||
func (a *Shelves) crefresh() {
|
||||
a.progressDialog.SetTitle("refreshing shelfs")
|
||||
a.progressDialog.SetTitle("refreshing shelves")
|
||||
a.progressDialog.Display()
|
||||
|
||||
ref := func() {
|
||||
a.UpdateShelfData()
|
||||
a.UpdateShelfData()
|
||||
a.UpdateBuildingData()
|
||||
|
||||
a.progressDialog.Hide()
|
||||
|
||||
@@ -137,6 +142,11 @@ func (a *Shelves) create() {
|
||||
return
|
||||
}
|
||||
|
||||
if createReq.BuildingID == nil {
|
||||
a.displayError("SHELF CREATE ERROR", fmt.Errorf("shelf building cannot be empty"))
|
||||
return
|
||||
}
|
||||
|
||||
_, err := a.client.CreateShelf(createReq)
|
||||
if err != nil {
|
||||
a.displayError("SHELF CREATE ERROR", err)
|
||||
|
||||
@@ -42,7 +42,7 @@ func (a *Shelves) refresh() {
|
||||
SetExpansion(a.shelfTableExpansions[2]).
|
||||
SetAlign(tview.AlignLeft))
|
||||
|
||||
a.shelfTable.SetCell(row, 2,
|
||||
a.shelfTable.SetCell(row, 3,
|
||||
tview.NewTableCell(shelf.RoomNumber).
|
||||
SetExpansion(a.shelfTableExpansions[3]).
|
||||
SetAlign(tview.AlignLeft))
|
||||
|
||||
@@ -136,6 +136,20 @@ func NewShelves(logger *zap.Logger, client *api.APIClient) *Shelves {
|
||||
shelves.edit()
|
||||
})
|
||||
|
||||
shelves.SetShelfListFunc(func() ([]types.ShelfLocation, error) {
|
||||
if shlvr, err := shelves.client.RetrieveAllShelves(); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
var shlvo []types.ShelfLocation
|
||||
|
||||
for _, shelf := range shlvr {
|
||||
shlvo = append(shlvo, *shelf)
|
||||
}
|
||||
|
||||
return shlvo, nil
|
||||
}
|
||||
})
|
||||
|
||||
shelves.SetBuildingListFunc(func() (map[uint64]types.Building, error) {
|
||||
if resp, err := shelves.client.RetrieveAllBuildings(); err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -47,7 +47,8 @@ type ShelfEditDialog struct {
|
||||
logger *zap.Logger
|
||||
client *api.APIClient
|
||||
shelf *types.ShelfLocation
|
||||
buildingList []*types.Building
|
||||
|
||||
buildingList []*types.Building
|
||||
|
||||
shelfNameField *tview.InputField
|
||||
shelfRoomField *tview.InputField
|
||||
|
||||
Reference in New Issue
Block a user