updated webclient setttings
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package webui
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// webmailContactsPage lists a mailbox owner's saved contacts — add/edit happens in a
|
||||
// popup (webmail_settings_chrome.html's contact modal), mirroring signatures.
|
||||
func (a *App) webmailContactsPage(w http.ResponseWriter, r *http.Request) {
|
||||
mbox := mailboxFromContext(r)
|
||||
contacts, err := a.DB.ListContacts(mbox.ID)
|
||||
if err != nil {
|
||||
setFlash(w, "error", "Error loading contacts")
|
||||
}
|
||||
a.render(w, r, "webmail_contacts.html", M{
|
||||
"mailbox": mbox, "contacts": contacts,
|
||||
"flashes": popFlashes(w, r), "active_section": "contacts",
|
||||
})
|
||||
}
|
||||
|
||||
// webmailContactSave creates a new contact, or updates one when id (a hidden form
|
||||
// field, not a path segment) is set — mirrors webmailSignatureSave.
|
||||
func (a *App) webmailContactSave(w http.ResponseWriter, r *http.Request) {
|
||||
mbox := mailboxFromContext(r)
|
||||
email := strings.ToLower(strings.TrimSpace(r.FormValue("email")))
|
||||
name := strings.TrimSpace(r.FormValue("name"))
|
||||
phone := strings.TrimSpace(r.FormValue("phone"))
|
||||
if email == "" || name == "" {
|
||||
setFlash(w, "error", "A contact needs at least a name and an email address")
|
||||
http.Redirect(w, r, MailboxPrefix+"/contacts", http.StatusFound)
|
||||
return
|
||||
}
|
||||
|
||||
id := int64(atoi(r.FormValue("id")))
|
||||
var err error
|
||||
if id != 0 {
|
||||
err = a.DB.UpdateContact(mbox.ID, id, email, name, phone)
|
||||
} else {
|
||||
_, err = a.DB.CreateContact(mbox.ID, email, name, phone)
|
||||
}
|
||||
if err != nil {
|
||||
setFlash(w, "error", "Could not save the contact — an entry with that email may already exist")
|
||||
} else {
|
||||
setFlash(w, "success", "Contact saved")
|
||||
}
|
||||
http.Redirect(w, r, MailboxPrefix+"/contacts", http.StatusFound)
|
||||
}
|
||||
|
||||
func (a *App) webmailContactDelete(w http.ResponseWriter, r *http.Request) {
|
||||
mbox := mailboxFromContext(r)
|
||||
id := int64(atoi(r.PathValue("id")))
|
||||
if err := a.DB.DeleteContact(mbox.ID, id); err != nil {
|
||||
setFlash(w, "error", "Could not delete the contact")
|
||||
} else {
|
||||
setFlash(w, "success", "Contact deleted")
|
||||
}
|
||||
http.Redirect(w, r, MailboxPrefix+"/contacts", http.StatusFound)
|
||||
}
|
||||
Reference in New Issue
Block a user