Add port renaming on existing devices
Device view now has a 'Rename Ports' section with inline inputs for
every port. Port names are no longer immutable after device creation.
Added PortUpdateName to DB layer and POST /devices/{id}/ports/rename.
master
parent
7bcfa73c19
commit
a845b242a2
|
|
@ -49,6 +49,11 @@ func (s *Store) PortGetPaired(deviceID int64, name string, side string) (*models
|
|||
return p, nil
|
||||
}
|
||||
|
||||
func (s *Store) PortUpdateName(id int64, name string) error {
|
||||
_, err := s.DB.Exec(`UPDATE device_ports SET name = ? WHERE id = ?`, name, id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (s *Store) portCreateFromModelTx(tx *sql.Tx, deviceID int64, model *models.DeviceModel) error {
|
||||
for _, mp := range model.Ports {
|
||||
if model.IsPatchPanel || model.IsWallSocket {
|
||||
|
|
|
|||
|
|
@ -148,6 +148,34 @@ func (h *Handlers) DeviceDelete(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
}
|
||||
|
||||
func (h *Handlers) DeviceRenamePorts(w http.ResponseWriter, r *http.Request) {
|
||||
idStr := r.PathValue("id")
|
||||
id, _ := strconv.ParseInt(idStr, 10, 64)
|
||||
|
||||
device, err := h.Store.DeviceGetByID(id)
|
||||
if err != nil || device == nil {
|
||||
http.NotFound(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
r.ParseForm()
|
||||
portIDs := r.Form["port_id"]
|
||||
portNames := r.Form["port_name"]
|
||||
|
||||
for i := range portIDs {
|
||||
if i >= len(portNames) {
|
||||
break
|
||||
}
|
||||
pid, err := strconv.ParseInt(portIDs[i], 10, 64)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
h.Store.PortUpdateName(pid, portNames[i])
|
||||
}
|
||||
|
||||
h.redirect(w, r, "/devices/"+idStr)
|
||||
}
|
||||
|
||||
func (h *Handlers) renderDeviceError(w http.ResponseWriter, device models.Device, errMsg string) {
|
||||
connTypes, _ := h.Store.ConnectionTypeGetAll()
|
||||
if connTypes == nil {
|
||||
|
|
|
|||
1
main.go
1
main.go
|
|
@ -35,6 +35,7 @@ func main() {
|
|||
mux.HandleFunc("POST /racks/{id}/devices/add/unracked", h.RackAddUnrackedDevice)
|
||||
mux.HandleFunc("POST /racks/{id}/devices/{devId}/remove", h.RackRemoveDevice)
|
||||
mux.HandleFunc("POST /devices/{id}/edit", h.DeviceEdit)
|
||||
mux.HandleFunc("POST /devices/{id}/ports/rename", h.DeviceRenamePorts)
|
||||
mux.HandleFunc("POST /devices/{id}/delete", h.DeviceDelete)
|
||||
mux.HandleFunc("POST /devices/add", h.DeviceCreate)
|
||||
mux.HandleFunc("GET /devices/{id}", h.DeviceView)
|
||||
|
|
|
|||
Loading…
Reference in New Issue