informar cuando no hay datos
This commit is contained in:
parent
38090d7de7
commit
d2b1220df6
3 changed files with 28 additions and 0 deletions
|
@ -3,6 +3,8 @@
|
|||
# Estadísticas del sitio
|
||||
class StatsController < ApplicationController
|
||||
include Pundit
|
||||
include ActionView::Helpers::DateHelper
|
||||
|
||||
before_action :authenticate_usuarie!
|
||||
before_action :authorize_stats
|
||||
|
||||
|
@ -18,6 +20,7 @@ class StatsController < ApplicationController
|
|||
@chart_params = { interval: interval }
|
||||
hostnames
|
||||
last_stat
|
||||
chart_options
|
||||
end
|
||||
|
||||
# Genera un gráfico de visitas por dominio asociado a este sitio
|
||||
|
@ -51,6 +54,27 @@ class StatsController < ApplicationController
|
|||
@hostnames ||= [@site.hostname, @site.alternative_hostnames].flatten
|
||||
end
|
||||
|
||||
# Opciones por defecto para los gráficos.
|
||||
#
|
||||
# La invitación a volver dentro de X tiempo es para dar un estimado de
|
||||
# cuándo habrá información disponible, porque Rollup genera intervalos
|
||||
# completos (¿aunque dice que no?)
|
||||
#
|
||||
# La diferencia se calcula sumando el intervalo a la hora de última
|
||||
# toma de estadísticas y restando el tiempo que pasó desde ese
|
||||
# momento.
|
||||
def chart_options
|
||||
time = last_stat.created_at + (1.send(interval))
|
||||
please_return_at = { please_return_at: distance_of_time_in_words(Time.now, time) }
|
||||
|
||||
@chart_options ||= {
|
||||
locale: I18n.locale,
|
||||
empty: I18n.t('stats.index.empty', **please_return_at),
|
||||
loading: I18n.t('stats.index.loading'),
|
||||
html: %(<div id="%{id}" class="d-flex align-items-center justify-content-center" style="height: %{height}; width: %{width};">%{loading}</div>)
|
||||
}
|
||||
end
|
||||
|
||||
# Obtiene y valida los intervalos
|
||||
#
|
||||
# @return [Symbol]
|
||||
|
|
|
@ -253,6 +253,8 @@ en:
|
|||
These statistics show information about how your site is generated and
|
||||
how many resources it uses.
|
||||
last_update: 'Updated every hour. Last update on '
|
||||
empty: 'There is no enough information yet. We invite you to come back in %{please_return_at}!'
|
||||
loading: 'Loading...'
|
||||
hour: 'Hourly'
|
||||
day: 'Daily'
|
||||
week: 'Weekly'
|
||||
|
|
|
@ -258,6 +258,8 @@ es:
|
|||
Las estadísticas visibilizan información sobre cómo se genera y
|
||||
cuántos recursos utiliza tu sitio.
|
||||
last_update: 'Actualizadas cada hora. Última actualización hace '
|
||||
empty: 'Todavía no hay información suficiente. Te invitamos a volver en %{please_return_at} :)'
|
||||
loading: 'Cargando...'
|
||||
hour: 'Por hora'
|
||||
day: 'Diarias'
|
||||
week: 'Semanales'
|
||||
|
|
Loading…
Reference in a new issue