save session key
This commit is contained in:
@@ -51,9 +51,10 @@ type Cover struct {
|
|||||||
// User represents the users table
|
// User represents the users table
|
||||||
type User struct {
|
type User struct {
|
||||||
Base
|
Base
|
||||||
Name string `gorm:"not null;unique_index"`
|
Name string `gorm:"not null;unique_index"`
|
||||||
Password string
|
Password string
|
||||||
IsAdmin bool
|
LastFMSession string
|
||||||
|
IsAdmin bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setting represents the settings table
|
// Setting represents the settings table
|
||||||
|
|||||||
@@ -93,14 +93,16 @@ func (c *Controller) ServeLinkLastFMCallback(w http.ResponseWriter, r *http.Requ
|
|||||||
secret.Value,
|
secret.Value,
|
||||||
token,
|
token,
|
||||||
)
|
)
|
||||||
|
session := r.Context().Value("session").(*sessions.Session)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
session := r.Context().Value("session").(*sessions.Session)
|
|
||||||
session.AddFlash(err.Error())
|
session.AddFlash(err.Error())
|
||||||
session.Save(r, w)
|
session.Save(r, w)
|
||||||
http.Redirect(w, r, "/admin/home", 302)
|
http.Redirect(w, r, "/admin/home", 302)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
fmt.Println("THE SESSION KEY", sessionKey)
|
user, _ := session.Values["user"].(*db.User)
|
||||||
|
user.LastFMSession = sessionKey
|
||||||
|
c.DB.Save(&user)
|
||||||
http.Redirect(w, r, "/admin/home", 302)
|
http.Redirect(w, r, "/admin/home", 302)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,30 +16,40 @@
|
|||||||
<u>last.fm</u>
|
<u>last.fm</u>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<a href="/admin/update_lastfm_api_key">update last.fm api key</a><br/>
|
{{ if .User.IsAdmin }}
|
||||||
<a href="https://www.last.fm/api/auth/?api_key={{ .CurrentLastFMAPIKey }}&cb={{ .RequestRoot }}/admin/link_lastfm_callback">link account</a><br/>
|
<a href="/admin/update_lastfm_api_key">update api key</a><br/>
|
||||||
|
{{ end }}
|
||||||
|
{{ if .CurrentLastFMAPIKey }}
|
||||||
|
{{ if .User.LastFMSession }}
|
||||||
|
<span class="light">current status</span> linked
|
||||||
|
{{ else }}
|
||||||
|
<span class="light">current status</span> unlinked <a href="https://www.last.fm/api/auth/?api_key={{ .CurrentLastFMAPIKey }}&cb={{ .RequestRoot }}/admin/link_lastfm_callback">link</a><br/>
|
||||||
|
{{ end }}
|
||||||
|
{{ else if not .User.IsAdmin }}
|
||||||
|
<span class="light">api key not set. please ask your admin to set it</span>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="padded box mono">
|
<div class="padded box mono">
|
||||||
{{ if .User.IsAdmin }}
|
{{ if .User.IsAdmin }}
|
||||||
{{/* admin panel to manage all users */}}
|
{{/* admin panel to manage all users */}}
|
||||||
<div class="box-title">
|
<div class="box-title">
|
||||||
<u>users</u>
|
<u>users</u>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
{{ range $user := .AllUsers }}
|
{{ range $user := .AllUsers }}
|
||||||
{{ $user.Name }} <span class="light">created</span> <u>{{ $user.CreatedAt.Format "Jan 02, 2006" }}</u> <a href="/admin/change_password?user={{ $user.Name }}">change password</a><br/>
|
{{ $user.Name }} <span class="light">created</span> <u>{{ $user.CreatedAt.Format "Jan 02, 2006" }}</u> <a href="/admin/change_password?user={{ $user.Name }}">change password</a><br/>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<a href="/admin/create_user" class="button">create new</a>
|
<a href="/admin/create_user" class="button">create new</a>
|
||||||
</div>
|
</div>
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{/* user panel to manage themselves */}}
|
{{/* user panel to manage themselves */}}
|
||||||
<div class="box-title">
|
<div class="box-title">
|
||||||
<u>your account</u>
|
<u>your account</u>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<a href="/admin/change_own_password" class="button">change password</a>
|
<a href="/admin/change_own_password" class="button">change password</a>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
Reference in New Issue
Block a user