mirror of
https://github.com/zulip/zulip.git
synced 2025-10-29 11:03:54 +00:00
stats: Show info message in /stats page of newly created realms.
This provides a better user experience for folks joining a new Zulip realm and visiting this page.
This commit is contained in:
@@ -60,8 +60,12 @@ else:
|
||||
|
||||
MAX_TIME_FOR_FULL_ANALYTICS_GENERATION = timedelta(days=1, minutes=30)
|
||||
|
||||
def is_analytics_ready(realm: Realm) -> bool:
|
||||
return (timezone_now() - realm.date_created) > MAX_TIME_FOR_FULL_ANALYTICS_GENERATION
|
||||
|
||||
def render_stats(request: HttpRequest, data_url_suffix: str, target_name: str,
|
||||
for_installation: bool=False, remote: bool=False) -> HttpRequest:
|
||||
for_installation: bool=False, remote: bool=False,
|
||||
analytics_ready: bool=True) -> HttpRequest:
|
||||
page_params = dict(
|
||||
data_url_suffix=data_url_suffix,
|
||||
for_installation=for_installation,
|
||||
@@ -71,7 +75,8 @@ def render_stats(request: HttpRequest, data_url_suffix: str, target_name: str,
|
||||
return render(request,
|
||||
'analytics/stats.html',
|
||||
context=dict(target_name=target_name,
|
||||
page_params=page_params))
|
||||
page_params=page_params,
|
||||
analytics_ready=analytics_ready))
|
||||
|
||||
@zulip_login_required
|
||||
def stats(request: HttpRequest) -> HttpResponse:
|
||||
@@ -80,7 +85,8 @@ def stats(request: HttpRequest) -> HttpResponse:
|
||||
# TODO: Make @zulip_login_required pass the UserProfile so we
|
||||
# can use @require_member_or_admin
|
||||
raise JsonableError(_("Not allowed for guest users"))
|
||||
return render_stats(request, '', realm.name or realm.string_id)
|
||||
return render_stats(request, '', realm.name or realm.string_id,
|
||||
analytics_ready=is_analytics_ready(realm))
|
||||
|
||||
@require_server_admin
|
||||
@has_request_variables
|
||||
@@ -90,7 +96,8 @@ def stats_for_realm(request: HttpRequest, realm_str: str) -> HttpResponse:
|
||||
except Realm.DoesNotExist:
|
||||
return HttpResponseNotFound("Realm %s does not exist" % (realm_str,))
|
||||
|
||||
return render_stats(request, '/realm/%s' % (realm_str,), realm.name or realm.string_id)
|
||||
return render_stats(request, '/realm/%s' % (realm_str,), realm.name or realm.string_id,
|
||||
analytics_ready=is_analytics_ready(realm))
|
||||
|
||||
@require_server_admin
|
||||
@has_request_variables
|
||||
|
||||
Reference in New Issue
Block a user