Fix checked state on edit service with host network

This commit is contained in:
cuigh
2018-03-16 21:06:13 +08:00
parent 326c8084fd
commit 462b6bed2d
5 changed files with 36 additions and 8 deletions

View File

@@ -222,11 +222,15 @@ func serviceEdit(ctx web.Context) error {
return err
}
stack := service.Spec.Labels["com.docker.stack.namespace"]
checkedNetworks := set.StringSet{}
checkedNetworks.AddSlice(service.Endpoint.VirtualIPs, func(i int) string { return service.Endpoint.VirtualIPs[i].NetworkID })
si := model.NewServiceInfo(service)
names, err := docker.NetworkNames(si.Networks...)
if err != nil {
return err
}
checkedNetworks := set.NewStringSet(names...)
m := newModel(ctx).Set("Service", model.NewServiceInfo(service)).Set("Stack", stack).
m := newModel(ctx).Set("Service", si).
Set("Stack", service.Spec.Labels["com.docker.stack.namespace"]).
Set("Networks", networks).Set("CheckedNetworks", checkedNetworks).
Set("Secrets", secrets).Set("Configs", configs)
return ctx.Render("service/edit", m)

View File

@@ -100,6 +100,7 @@ func templateCreate(ctx web.Context) error {
return ajaxResult(ctx, err)
}
// nolint: gocyclo
func templateEdit(ctx web.Context) error {
id := ctx.P("id")
tpl, err := biz.Template.Get(id)
@@ -143,7 +144,11 @@ func templateEdit(ctx web.Context) error {
return err
}
checkedNetworks := set.NewStringSet(service.Networks...)
names, err := docker.NetworkNames(service.Networks...)
if err != nil {
return err
}
checkedNetworks := set.NewStringSet(names...)
m := newModel(ctx).Set("Action", "Edit").Set("Service", service).Set("Registries", registries).
Set("Networks", networks).Set("CheckedNetworks", checkedNetworks).
Set("Secrets", secrets).Set("Configs", configs)