diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2023-10-17 18:33:11 +0200 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2023-10-17 18:33:11 +0200 |
commit | 4f7cbdd8252f0064729f22929c7ca0e63a10d284 (patch) | |
tree | 52c2418e31f564469ac0f7e06589a198b5f094b3 /garage.go | |
parent | e0fbd16f926e250e8aa2ecb1ce4ec780638946c4 (diff) | |
download | guichet-4f7cbdd8252f0064729f22929c7ca0e63a10d284.tar.gz guichet-4f7cbdd8252f0064729f22929c7ca0e63a10d284.zip |
ajout de la modification du ndd
Diffstat (limited to 'garage.go')
-rw-r--r-- | garage.go | 53 |
1 files changed, 51 insertions, 2 deletions
@@ -270,8 +270,9 @@ func handleWebsiteInspect(w http.ResponseWriter, r *http.Request) { _, processErr = ctrl.Patch(bucketName, &WebsitePatch{Size: &user.Quota.WebsiteSizeBursted}) case "delete_bucket": processErr = ctrl.Delete(bucketName) - http.Redirect(w, r, "/website", http.StatusFound) - return + if processErr == nil { + http.Redirect(w, r, "/website", http.StatusFound) + } default: processErr = fmt.Errorf("Unknown action") } @@ -295,3 +296,51 @@ func handleWebsiteInspect(w http.ResponseWriter, r *http.Request) { tWebsiteInspect := getTemplate("garage_website_inspect.html") tWebsiteInspect.Execute(w, &tpl) } + +func handleWebsiteVhost(w http.ResponseWriter, r *http.Request) { + var processErr error + + user := RequireUserHtml(w, r) + if user == nil { + return + } + + ctrl, err := NewWebsiteController(user) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + bucketName := mux.Vars(r)["bucket"] + + if r.Method == "POST" { + r.ParseForm() + + bucket := strings.Join(r.Form["bucket"], "") + if bucket == "" { + bucket = strings.Join(r.Form["bucket2"], "") + } + + view, processErr := ctrl.Patch(bucketName, &WebsitePatch{Vhost: &bucket}) + if processErr == nil { + http.Redirect(w, r, "/website/inspect/"+view.Name.Pretty, http.StatusFound) + return + } + } + + view, err := ctrl.Inspect(bucketName) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + describe, err := ctrl.Describe() + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + tpl := &WebsiteInspectTpl{describe, view, processErr} + tWebsiteEdit := getTemplate("garage_website_edit.html") + tWebsiteEdit.Execute(w, &tpl) +} |