Add notification banners about upcoming Public Avatar change
This commit is contained in:
parent
4f04323d5a
commit
91a3cc27ba
|
@ -125,6 +125,7 @@ const (
|
|||
// NOTE: search code base for PublicAvatar or "public avatar" for related feature code.
|
||||
var (
|
||||
PublicAvatarEnforcementDate = time.Date(2024, time.August, 30, 12, 0, 0, 0, time.UTC)
|
||||
PublicAvatarForumThread = "https://www.nonshy.com/forum/thread/667"
|
||||
)
|
||||
|
||||
// Forum settings
|
||||
|
|
|
@ -18,11 +18,7 @@ func PublicAvatarConsent(user *models.User, w http.ResponseWriter, r *http.Reque
|
|||
}
|
||||
|
||||
// If the current user has a non-public avatar and has not consented.
|
||||
if user.ProfilePhoto.ID > 0 && user.ProfilePhoto.Visibility != models.PhotoPublic {
|
||||
if user.GetProfileField("public_avatar_consent") == "true" {
|
||||
return
|
||||
}
|
||||
|
||||
if user.NeedsPublicAvatarConsent() {
|
||||
templates.Redirect(w, "/settings/public-avatar-consent?next="+url.QueryEscape(r.URL.String()))
|
||||
return true
|
||||
}
|
||||
|
|
|
@ -97,6 +97,13 @@ func (um ShyMap) Get(id uint64) bool {
|
|||
return um[id]
|
||||
}
|
||||
|
||||
// NeedsPublicAvatarConsent returns true if the user will be impacted by the Public Avatar policy.
|
||||
//
|
||||
// That is, their default profile picture is non-public and they have not answered the consent form.
|
||||
func (u *User) NeedsPublicAvatarConsent() bool {
|
||||
return u.ProfilePhoto.ID > 0 && u.ProfilePhoto.Visibility != PhotoPublic && u.GetProfileField("public_avatar_consent") != "true"
|
||||
}
|
||||
|
||||
// MapPublicAvatarConsent checks a set of users if they have answered the public avatar consent form.
|
||||
func MapPublicAvatarConsent(users []*User) (map[uint64]bool, error) {
|
||||
var (
|
||||
|
|
|
@ -25,6 +25,7 @@ func MergeVars(r *http.Request, m map[string]interface{}) {
|
|||
|
||||
// Temporary? variables for migration efforts on PublicAvatar consent.
|
||||
m["PublicAvatarEnforcementDate"] = config.PublicAvatarEnforcementDate
|
||||
m["PublicAvatarForumThread"] = config.PublicAvatarForumThread
|
||||
|
||||
if r == nil {
|
||||
return
|
||||
|
|
|
@ -13,6 +13,48 @@
|
|||
<div class="block p-4">
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<!-- Public Avatar Consent notice -->
|
||||
{{if and (.CurrentUser.Certified) (.CurrentUser.NeedsPublicAvatarConsent)}}
|
||||
<div class="card block">
|
||||
<header class="card-header has-background-danger">
|
||||
<p class="card-header-title has-text-light">
|
||||
<i class="fa fa-info-circle mr-2"></i>
|
||||
<span>Notification about an upcoming change in Profile Picture policy</span>
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<div class="card-content content">
|
||||
<p>
|
||||
Beginning on <strong>{{.PublicAvatarEnforcementDate.Format "January 2, 2006"}}</strong>,
|
||||
{{PrettyTitle}} will begin to require that your square cropped profile picture (your "avatar" image)
|
||||
will need be visible to all members of the website.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please see the <a href="{{.PublicAvatarForumThread}}">announcement thread in the forum</a>
|
||||
about the upcoming change, and visit the <a href="/settings/public-avatar-consent">Public Avatar Consent page</a>
|
||||
for more information.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You are seeing this message because your default profile picture is set to
|
||||
{{if eq .CurrentUser.ProfilePhoto.Visibility "friends"}}
|
||||
"Friends-only"
|
||||
{{else if eq .CurrentUser.ProfilePhoto.Visibility "private"}}
|
||||
"Private"
|
||||
{{else if eq .CurrentUser.ProfilePhoto.Visibility "circle"}}
|
||||
"Inner circle only"
|
||||
{{else}}
|
||||
"{{.CurrentUser.ProfilePhoto.Visibility}}"
|
||||
{{end}} and your avatar currently shows as a placeholder image to members
|
||||
who are not allowed to see it. This message will disappear after you have
|
||||
<a href="/settings/public-avatar-consent#consent">accepted the upcoming change in policy</a>
|
||||
or you set a "Public" photo as your profile picture.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<!-- Onboarding Checklist -->
|
||||
{{if or (not .CurrentUser.Certified) (not .CurrentUser.ProfilePhoto.ID)}}
|
||||
<div class="card block">
|
||||
|
|
|
@ -42,6 +42,12 @@
|
|||
have responded to this consent form by answering the prompt at the bottom of this page.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If your profile picture is already set to "Public" visibility: no action is needed from
|
||||
you at this time. However, you may be asked to respond to this consent form in the future
|
||||
if you set a non-public photo to be your default profile picture.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#summary">Summary of the change</a>
|
||||
|
|
|
@ -56,6 +56,19 @@
|
|||
</div>
|
||||
{{end}}
|
||||
|
||||
<!-- Public Avatar Consent notification -->
|
||||
{{if Now.Before .PublicAvatarEnforcementDate}}
|
||||
<div class="notification is-info is-light">
|
||||
<i class="fa fa-info-circle mr-2"></i>
|
||||
<strong>Notice of an upcoming website policy change:</strong> beginning on {{.PublicAvatarEnforcementDate.Format "January 2, 2006"}},
|
||||
all square cropped default profile pictures will need to be made visible to all {{PrettyTitle}} members. The
|
||||
<img src="/static/img/shy-friends.png" width="16" height="16" alt=""> yellow and
|
||||
<img src="/static/img/shy-private.png" width="16" height="16" alt=""> purple placeholder avatars
|
||||
that you sometimes see in the chat room will be going away after that time.<br><br>
|
||||
Please <a href="{{.PublicAvatarForumThread}}">see the announcement post on the forum</a> for more information.
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<div class="content">
|
||||
<p>
|
||||
{{PrettyTitle}} has a chat room! Come and check it out. It features some public rooms, direct
|
||||
|
|
Loading…
Reference in New Issue
Block a user