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
|
# Estadísticas del sitio
|
||||||
class StatsController < ApplicationController
|
class StatsController < ApplicationController
|
||||||
include Pundit
|
include Pundit
|
||||||
|
include ActionView::Helpers::DateHelper
|
||||||
|
|
||||||
before_action :authenticate_usuarie!
|
before_action :authenticate_usuarie!
|
||||||
before_action :authorize_stats
|
before_action :authorize_stats
|
||||||
|
|
||||||
|
@ -18,6 +20,7 @@ class StatsController < ApplicationController
|
||||||
@chart_params = { interval: interval }
|
@chart_params = { interval: interval }
|
||||||
hostnames
|
hostnames
|
||||||
last_stat
|
last_stat
|
||||||
|
chart_options
|
||||||
end
|
end
|
||||||
|
|
||||||
# Genera un gráfico de visitas por dominio asociado a este sitio
|
# 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
|
@hostnames ||= [@site.hostname, @site.alternative_hostnames].flatten
|
||||||
end
|
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
|
# Obtiene y valida los intervalos
|
||||||
#
|
#
|
||||||
# @return [Symbol]
|
# @return [Symbol]
|
||||||
|
|
|
@ -253,6 +253,8 @@ en:
|
||||||
These statistics show information about how your site is generated and
|
These statistics show information about how your site is generated and
|
||||||
how many resources it uses.
|
how many resources it uses.
|
||||||
last_update: 'Updated every hour. Last update on '
|
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'
|
hour: 'Hourly'
|
||||||
day: 'Daily'
|
day: 'Daily'
|
||||||
week: 'Weekly'
|
week: 'Weekly'
|
||||||
|
|
|
@ -258,6 +258,8 @@ es:
|
||||||
Las estadísticas visibilizan información sobre cómo se genera y
|
Las estadísticas visibilizan información sobre cómo se genera y
|
||||||
cuántos recursos utiliza tu sitio.
|
cuántos recursos utiliza tu sitio.
|
||||||
last_update: 'Actualizadas cada hora. Última actualización hace '
|
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'
|
hour: 'Por hora'
|
||||||
day: 'Diarias'
|
day: 'Diarias'
|
||||||
week: 'Semanales'
|
week: 'Semanales'
|
||||||
|
|
Loading…
Reference in a new issue