mirror of
https://gitea.phreedom.club/localhost_frssoft/bloat.git
synced 2025-05-09 13:28:44 +00:00
Editing user profile; Warning! Mastodon compatibility broken and editing may lost your bio
This commit is contained in:
parent
53353c0e64
commit
1160d00ee1
6 changed files with 104 additions and 2 deletions
|
@ -858,6 +858,19 @@ func (s *service) SearchPage(c *client,
|
|||
return s.renderer.Render(c.rctx, c.w, renderer.SearchPage, data)
|
||||
}
|
||||
|
||||
func (s *service) UserEditPage(c *client) (err error) {
|
||||
cdata := s.cdata(c, "useredit", 0, 0, "")
|
||||
u, err := c.GetAccountCurrentUser(c.ctx)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
data := &renderer.UserEditData{
|
||||
CommonData: cdata,
|
||||
User: u,
|
||||
}
|
||||
return s.renderer.Render(c.rctx, c.w, renderer.UserEditPage, data)
|
||||
}
|
||||
|
||||
func (s *service) SettingsPage(c *client) (err error) {
|
||||
cdata := s.cdata(c, "settings", 0, 0, "")
|
||||
data := &renderer.SettingsData{
|
||||
|
@ -1141,6 +1154,11 @@ func (s *service) SaveSettings(c *client, settings *model.Settings) (err error)
|
|||
return s.sessionRepo.Add(sess)
|
||||
}
|
||||
|
||||
func (s *service) UserSave(c *client, usersettings mastodon.Profile) (err error) {
|
||||
_, err = c.AccountUpdate(c.ctx, &usersettings)
|
||||
return
|
||||
}
|
||||
|
||||
func (s *service) MuteConversation(c *client, id string) (err error) {
|
||||
_, err = c.MuteConversation(c.ctx, id)
|
||||
return
|
||||
|
|
|
@ -243,6 +243,43 @@ func NewHandler(s *service, logger *log.Logger, staticDir string) http.Handler {
|
|||
return s.SearchPage(c, sq, qType, offset)
|
||||
}, SESSION, HTML)
|
||||
|
||||
userEditPage := handle(func(c *client) error {
|
||||
return s.UserEditPage(c)
|
||||
}, SESSION, HTML)
|
||||
|
||||
userEdit := handle(func(c *client) error {
|
||||
displayName := c.r.FormValue("display-name")
|
||||
note := c.r.FormValue("note")
|
||||
locked := c.r.FormValue("locked") == "true"
|
||||
bot := c.r.FormValue("bot") == "true"
|
||||
acceptsChatMessages := c.r.FormValue("accepts-chat-messages") == "true"
|
||||
hideFavourites := c.r.FormValue("hide-favourites") == "true"
|
||||
|
||||
pleromaProfile := mastodon.ProfilePleroma{
|
||||
AcceptsChatMessages: &acceptsChatMessages,
|
||||
HideFavourites: &hideFavourites,
|
||||
}
|
||||
|
||||
usersettings := mastodon.Profile{
|
||||
DisplayName: &displayName,
|
||||
Note: ¬e,
|
||||
Locked: &locked,
|
||||
Fields: nil,
|
||||
Source: nil,
|
||||
Avatar: "",
|
||||
Header: "",
|
||||
Bot: &bot,
|
||||
Pleroma: &pleromaProfile,
|
||||
}
|
||||
|
||||
err := s.UserSave(c, usersettings)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
redirect(c, "/user/"+c.r.FormValue("id"))
|
||||
return nil
|
||||
}, SESSION, HTML)
|
||||
|
||||
settingsPage := handle(func(c *client) error {
|
||||
return s.SettingsPage(c)
|
||||
}, SESSION, HTML)
|
||||
|
@ -790,6 +827,8 @@ func NewHandler(s *service, logger *log.Logger, staticDir string) http.Handler {
|
|||
r.HandleFunc("/aboutinstance", aboutInstance).Methods(http.MethodGet)
|
||||
r.HandleFunc("/emojis", emojisPage).Methods(http.MethodGet)
|
||||
r.HandleFunc("/search", searchPage).Methods(http.MethodGet)
|
||||
r.HandleFunc("/useredit", userEditPage).Methods(http.MethodGet)
|
||||
r.HandleFunc("/useredit", userEdit).Methods(http.MethodPost)
|
||||
r.HandleFunc("/settings", settingsPage).Methods(http.MethodGet)
|
||||
r.HandleFunc("/filters", filtersPage).Methods(http.MethodGet)
|
||||
r.HandleFunc("/signin", signin).Methods(http.MethodPost)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue