Merge branch 'breadcrumbs' into 'rails'
Breadcrumbs See merge request sutty/sutty!26
This commit is contained in:
commit
1e2b2d9de3
30 changed files with 125 additions and 161 deletions
1
Gemfile
1
Gemfile
|
@ -48,6 +48,7 @@ gem 'jekyll-commonmark'
|
||||||
gem 'jekyll-images'
|
gem 'jekyll-images'
|
||||||
gem 'jekyll-include-cache'
|
gem 'jekyll-include-cache'
|
||||||
gem 'sutty-liquid'
|
gem 'sutty-liquid'
|
||||||
|
gem 'loaf'
|
||||||
gem 'lockbox'
|
gem 'lockbox'
|
||||||
gem 'mini_magick'
|
gem 'mini_magick'
|
||||||
gem 'mobility'
|
gem 'mobility'
|
||||||
|
|
|
@ -338,6 +338,8 @@ GEM
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
rb-inotify (~> 0.9, >= 0.9.7)
|
||||||
ruby_dep (~> 1.2)
|
ruby_dep (~> 1.2)
|
||||||
|
loaf (0.10.0)
|
||||||
|
railties (>= 3.2)
|
||||||
lockbox (0.6.4)
|
lockbox (0.6.4)
|
||||||
lograge (0.11.2)
|
lograge (0.11.2)
|
||||||
actionpack (>= 4)
|
actionpack (>= 4)
|
||||||
|
@ -691,6 +693,7 @@ DEPENDENCIES
|
||||||
jekyll-include-cache
|
jekyll-include-cache
|
||||||
letter_opener
|
letter_opener
|
||||||
listen (>= 3.0.5, < 3.2)
|
listen (>= 3.0.5, < 3.2)
|
||||||
|
loaf
|
||||||
lockbox
|
lockbox
|
||||||
lograge
|
lograge
|
||||||
memory_profiler
|
memory_profiler
|
||||||
|
|
|
@ -355,6 +355,13 @@ $bezier: cubic-bezier(0.75, 0, 0.25, 1);
|
||||||
.text-column-#{$size} {
|
.text-column-#{$size} {
|
||||||
column-count: $size;
|
column-count: $size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.line-clamp-#{$size} {
|
||||||
|
overflow: hidden;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: $size;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -7,6 +7,11 @@ class PostsController < ApplicationController
|
||||||
|
|
||||||
before_action :authenticate_usuarie!
|
before_action :authenticate_usuarie!
|
||||||
|
|
||||||
|
# TODO: Traer los comunes desde ApplicationController
|
||||||
|
breadcrumb -> { current_usuarie.email }, :edit_usuarie_registration_path
|
||||||
|
breadcrumb 'sites.index', :sites_path, match: :exact
|
||||||
|
breadcrumb -> { site.title }, -> { site_posts_path(site, locale: locale) }, match: :exact
|
||||||
|
|
||||||
# Las URLs siempre llevan el idioma actual o el de le usuarie
|
# Las URLs siempre llevan el idioma actual o el de le usuarie
|
||||||
def default_url_options
|
def default_url_options
|
||||||
{ locale: params[:locale] || current_usuarie&.lang || I18n.locale }
|
{ locale: params[:locale] || current_usuarie&.lang || I18n.locale }
|
||||||
|
@ -43,44 +48,34 @@ class PostsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@site = find_site
|
authorize post
|
||||||
@post = @site.posts(lang: locale).find params[:id]
|
breadcrumb post.title.value, ''
|
||||||
|
fresh_when post
|
||||||
authorize @post
|
|
||||||
@locale = locale
|
|
||||||
|
|
||||||
fresh_when @post
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Genera una previsualización del artículo.
|
# Genera una previsualización del artículo.
|
||||||
#
|
|
||||||
# TODO: No todos los artículos tienen previsualización!
|
|
||||||
def preview
|
def preview
|
||||||
@site = find_site
|
authorize post
|
||||||
@post = @site.posts(lang: locale).find params[:post_id]
|
|
||||||
|
|
||||||
authorize @post
|
render html: post.render
|
||||||
|
|
||||||
render html: @post.render
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def new
|
def new
|
||||||
authorize Post
|
authorize Post
|
||||||
@site = find_site
|
@post = site.posts.build(lang: locale, layout: params[:layout])
|
||||||
@post = @site.posts.build(lang: locale, layout: params[:layout])
|
|
||||||
@locale = locale
|
breadcrumb I18n.t('loaf.breadcrumbs.posts.new', layout: @post.layout.humanized_name.downcase), ''
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
authorize Post
|
authorize Post
|
||||||
@site = find_site
|
service = PostService.new(site: site,
|
||||||
service = PostService.new(site: @site,
|
|
||||||
usuarie: current_usuarie,
|
usuarie: current_usuarie,
|
||||||
params: params)
|
params: params)
|
||||||
@post = service.create
|
@post = service.create
|
||||||
|
|
||||||
if @post.persisted?
|
if @post.persisted?
|
||||||
@site.touch
|
site.touch
|
||||||
forget_content
|
forget_content
|
||||||
|
|
||||||
redirect_to site_post_path(@site, @post)
|
redirect_to site_post_path(@site, @post)
|
||||||
|
@ -90,30 +85,24 @@ class PostsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
@site = find_site
|
authorize post
|
||||||
@post = @site.posts(lang: locale).find params[:id]
|
breadcrumb post.title.value, site_post_path(site, post, locale: locale), match: :exact
|
||||||
|
breadcrumb 'posts.edit', ''
|
||||||
authorize @post
|
|
||||||
|
|
||||||
@locale = locale
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
@site = find_site
|
authorize post
|
||||||
@post = @site.posts(lang: locale).find params[:id]
|
|
||||||
|
|
||||||
authorize @post
|
service = PostService.new(site: site,
|
||||||
|
post: post,
|
||||||
service = PostService.new(site: @site,
|
|
||||||
post: @post,
|
|
||||||
usuarie: current_usuarie,
|
usuarie: current_usuarie,
|
||||||
params: params)
|
params: params)
|
||||||
|
|
||||||
if service.update.persisted?
|
if service.update.persisted?
|
||||||
@site.touch
|
site.touch
|
||||||
forget_content
|
forget_content
|
||||||
|
|
||||||
redirect_to site_post_path(@site, @post)
|
redirect_to site_post_path(site, post)
|
||||||
else
|
else
|
||||||
render 'posts/edit'
|
render 'posts/edit'
|
||||||
end
|
end
|
||||||
|
@ -121,34 +110,30 @@ class PostsController < ApplicationController
|
||||||
|
|
||||||
# Eliminar artículos
|
# Eliminar artículos
|
||||||
def destroy
|
def destroy
|
||||||
@site = find_site
|
authorize post
|
||||||
@post = @site.posts(lang: locale).find params[:id]
|
|
||||||
|
|
||||||
authorize @post
|
service = PostService.new(site: site,
|
||||||
|
post: post,
|
||||||
service = PostService.new(site: @site,
|
|
||||||
post: @post,
|
|
||||||
usuarie: current_usuarie,
|
usuarie: current_usuarie,
|
||||||
params: params)
|
params: params)
|
||||||
|
|
||||||
# TODO: Notificar si se pudo o no
|
# TODO: Notificar si se pudo o no
|
||||||
service.destroy
|
service.destroy
|
||||||
@site.touch
|
site.touch
|
||||||
redirect_to site_posts_path(@site)
|
redirect_to site_posts_path(site)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Reordenar los artículos
|
# Reordenar los artículos
|
||||||
def reorder
|
def reorder
|
||||||
@site = find_site
|
authorize site
|
||||||
authorize @site
|
|
||||||
|
|
||||||
service = PostService.new(site: @site,
|
service = PostService.new(site: site,
|
||||||
usuarie: current_usuarie,
|
usuarie: current_usuarie,
|
||||||
params: params)
|
params: params)
|
||||||
|
|
||||||
service.reorder
|
service.reorder
|
||||||
@site.touch
|
site.touch
|
||||||
redirect_to site_posts_path(@site)
|
redirect_to site_posts_path(site)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Devuelve el idioma solicitado a través de un parámetro, validando
|
# Devuelve el idioma solicitado a través de un parámetro, validando
|
||||||
|
@ -159,7 +144,7 @@ class PostsController < ApplicationController
|
||||||
# solicite a le usuarie crear el nuevo idioma y que esto lo agregue al
|
# solicite a le usuarie crear el nuevo idioma y que esto lo agregue al
|
||||||
# _config.yml del sitio en lugar de mezclar idiomas.
|
# _config.yml del sitio en lugar de mezclar idiomas.
|
||||||
def locale
|
def locale
|
||||||
@site&.locales&.find(-> { I18n.locale }) do |l|
|
@locale ||= site&.locales&.find(-> { I18n.locale }) do |l|
|
||||||
l.to_s == params[:locale]
|
l.to_s == params[:locale]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -169,4 +154,14 @@ class PostsController < ApplicationController
|
||||||
def forget_content
|
def forget_content
|
||||||
flash[:js] = { target: 'editor', action: 'forget-content', keys: (params[:storage_keys] || []).to_json }
|
flash[:js] = { target: 'editor', action: 'forget-content', keys: (params[:storage_keys] || []).to_json }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def site
|
||||||
|
@site ||= find_site
|
||||||
|
end
|
||||||
|
|
||||||
|
def post
|
||||||
|
@post ||= site.posts(lang: locale).find(params[:post_id] || params[:id])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,6 +7,9 @@ class SitesController < ApplicationController
|
||||||
|
|
||||||
before_action :authenticate_usuarie!
|
before_action :authenticate_usuarie!
|
||||||
|
|
||||||
|
breadcrumb -> { current_usuarie.email }, :edit_usuarie_registration_path
|
||||||
|
breadcrumb 'sites.index', :sites_path, match: :exact
|
||||||
|
|
||||||
# Ver un listado de sitios
|
# Ver un listado de sitios
|
||||||
def index
|
def index
|
||||||
authorize Site
|
authorize Site
|
||||||
|
@ -24,6 +27,8 @@ class SitesController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def new
|
def new
|
||||||
|
breadcrumb 'sites.new', :new_site_path
|
||||||
|
|
||||||
@site = Site.new
|
@site = Site.new
|
||||||
authorize @site
|
authorize @site
|
||||||
|
|
||||||
|
@ -43,6 +48,10 @@ class SitesController < ApplicationController
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
authorize site
|
authorize site
|
||||||
|
|
||||||
|
breadcrumb site.title, site_posts_path(site), match: :exact
|
||||||
|
breadcrumb 'sites.edit', site_path(site)
|
||||||
|
|
||||||
SiteService.new(site: site).build_deploys
|
SiteService.new(site: site).build_deploys
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -7,12 +7,18 @@ class UsuariesController < ApplicationController
|
||||||
include Pundit
|
include Pundit
|
||||||
before_action :authenticate_usuarie!
|
before_action :authenticate_usuarie!
|
||||||
|
|
||||||
|
# TODO: Traer los comunes desde ApplicationController
|
||||||
|
breadcrumb -> { current_usuarie.email }, :edit_usuarie_registration_path
|
||||||
|
breadcrumb 'sites.index', :sites_path, match: :exact
|
||||||
|
breadcrumb -> { site.title }, -> { site_posts_path(site, locale: locale) }, match: :exact
|
||||||
|
|
||||||
# Mostrar todes les usuaries e invitades de un sitio
|
# Mostrar todes les usuaries e invitades de un sitio
|
||||||
def index
|
def index
|
||||||
@site = find_site
|
site_usuarie = SiteUsuarie.new(site, current_usuarie)
|
||||||
site_usuarie = SiteUsuarie.new(@site, current_usuarie)
|
|
||||||
authorize site_usuarie
|
authorize site_usuarie
|
||||||
|
|
||||||
|
breadcrumb 'usuaries.index', ''
|
||||||
|
|
||||||
@policy = policy(site_usuarie)
|
@policy = policy(site_usuarie)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -156,4 +162,8 @@ class UsuariesController < ApplicationController
|
||||||
'invitade'
|
'invitade'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def site
|
||||||
|
@site ||= find_site
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
= render 'layouts/breadcrumb', crumbs: nil
|
|
||||||
|
|
||||||
= content_for :body do
|
= content_for :body do
|
||||||
- 'black-bg'
|
- 'black-bg'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
= render 'layouts/breadcrumb', crumbs: nil
|
|
||||||
|
|
||||||
= content_for :body do
|
= content_for :body do
|
||||||
- 'black-bg'
|
- 'black-bg'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
= render 'layouts/breadcrumb', crumbs: nil
|
|
||||||
|
|
||||||
= content_for :body do
|
= content_for :body do
|
||||||
- 'black-bg'
|
- 'black-bg'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
= render 'layouts/breadcrumb', crumbs: nil
|
|
||||||
|
|
||||||
= content_for :body do
|
= content_for :body do
|
||||||
- 'black-bg'
|
- 'black-bg'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
= render 'layouts/breadcrumb', crumbs: nil
|
|
||||||
|
|
||||||
= content_for :body do
|
= content_for :body do
|
||||||
- 'black-bg'
|
- 'black-bg'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
= render 'layouts/breadcrumb',
|
- breadcrumb 'sites.index', sites_path
|
||||||
crumbs: [link_to(t('.index'), sites_path), t('.title')]
|
|
||||||
|
|
||||||
= content_for :body do
|
= content_for :body do
|
||||||
- 'black-bg'
|
- 'black-bg'
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
= render 'layouts/breadcrumb', crumbs: nil
|
|
||||||
|
|
||||||
= content_for :body do
|
= content_for :body do
|
||||||
- 'black-bg'
|
- 'black-bg'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
= render 'layouts/breadcrumb', crumbs: nil
|
|
||||||
|
|
||||||
= content_for :body do
|
= content_for :body do
|
||||||
- 'black-bg'
|
- 'black-bg'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
= render 'layouts/breadcrumb', crumbs: nil
|
|
||||||
|
|
||||||
= content_for :body do
|
= content_for :body do
|
||||||
- 'black-bg'
|
- 'black-bg'
|
||||||
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
= render 'layouts/breadcrumb',
|
|
||||||
crumbs: [link_to(t('sites.index.title'), sites_path),
|
|
||||||
link_to(@site.name, site_path(@site)),
|
|
||||||
t('i18n.index'),
|
|
||||||
t('i18n.edit')]
|
|
||||||
|
|
||||||
= render 'i18n/form'
|
|
|
@ -3,21 +3,14 @@
|
||||||
= inline_svg_tag 'sutty.svg', class: 'black', aria: true,
|
= inline_svg_tag 'sutty.svg', class: 'black', aria: true,
|
||||||
title: t('svg.sutty.title'), desc: t('svg.sutty.desc')
|
title: t('svg.sutty.title'), desc: t('svg.sutty.desc')
|
||||||
|
|
||||||
- if crumbs
|
%nav{ aria: { label: t('.title') } }
|
||||||
%nav{ aria: { label: t('.title') }, role: 'navigation' }
|
%ol.breadcrumb.m-0.flex-wrap
|
||||||
%ol.breadcrumb
|
- breadcrumb_trail do |crumb|
|
||||||
%li.breadcrumb-item
|
%li.breadcrumb-item{ class: crumb.current? ? 'active' : '' }
|
||||||
= link_to edit_usuarie_registration_path,
|
- if crumb.current?
|
||||||
data: { toggle: 'tooltip' },
|
%span.line-clamp-1{ aria: { current: 'page' } }= crumb.name
|
||||||
title: t('help.usuarie.edit') do
|
|
||||||
= current_usuarie.email
|
|
||||||
|
|
||||||
- crumbs.compact.each do |crumb|
|
|
||||||
- if crumb == crumbs.last
|
|
||||||
%li.breadcrumb-item.active{ aria: { current: 'page' } }
|
|
||||||
= crumb
|
|
||||||
- else
|
- else
|
||||||
%li.breadcrumb-item= crumb
|
%span.line-clamp-1= link_to crumb.name, crumb.url
|
||||||
|
|
||||||
- if current_usuarie
|
- if current_usuarie
|
||||||
%ul.navbar-nav
|
%ul.navbar-nav
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
|
|
||||||
%body{ class: yield(:body) }
|
%body{ class: yield(:body) }
|
||||||
.container-fluid#sutty
|
.container-fluid#sutty
|
||||||
|
= render 'layouts/breadcrumb'
|
||||||
= yield
|
= yield
|
||||||
- if flash[:js]
|
- if flash[:js]
|
||||||
.js-flash.d-none{ data: flash[:js] }
|
.js-flash.d-none{ data: flash[:js] }
|
||||||
|
|
|
@ -1,10 +1,3 @@
|
||||||
= render 'layouts/breadcrumb',
|
|
||||||
crumbs: [link_to(t('sites.index.title'), sites_path),
|
|
||||||
link_to(@site.name, site_posts_path(@site)),
|
|
||||||
link_to(t('posts.index'), site_posts_path(@site)),
|
|
||||||
link_to(@post.title.value, site_post_path(@site, @post.id)),
|
|
||||||
t('posts.edit')]
|
|
||||||
|
|
||||||
.row.justify-content-center
|
.row.justify-content-center
|
||||||
.col-md-8
|
.col-md-8
|
||||||
= render 'posts/form', site: @site, post: @post
|
= render 'posts/form', site: @site, post: @post
|
||||||
|
|
|
@ -1,10 +1,3 @@
|
||||||
= render 'layouts/breadcrumb',
|
|
||||||
crumbs: [link_to(t('sites.index.title'), sites_path),
|
|
||||||
@site.name,
|
|
||||||
link_to(t('posts.index'),
|
|
||||||
site_posts_path(@site)),
|
|
||||||
@category_name]
|
|
||||||
|
|
||||||
%main.row
|
%main.row
|
||||||
%aside.menu.col-md-3
|
%aside.menu.col-md-3
|
||||||
%h1= link_to @site.title, @site.url
|
%h1= link_to @site.title, @site.url
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
= render 'layouts/breadcrumb',
|
|
||||||
crumbs: [link_to(t('sites.index.title'), sites_path),
|
|
||||||
@site.name,
|
|
||||||
link_to(t('posts.index'),
|
|
||||||
site_posts_path(@site)), t('posts.new')]
|
|
||||||
|
|
||||||
.row.justify-content-center
|
.row.justify-content-center
|
||||||
.col-md-8
|
.col-md-8
|
||||||
= render 'posts/form', site: @site, post: @post
|
= render 'posts/form', site: @site, post: @post
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
= render 'layouts/breadcrumb',
|
|
||||||
crumbs: [link_to(t('sites.index.title'), sites_path),
|
|
||||||
@site.name,
|
|
||||||
link_to(t('posts.index'), site_posts_path(@site)),
|
|
||||||
@post.title.value]
|
|
||||||
|
|
||||||
- dir = t("locales.#{@locale}.dir")
|
- dir = t("locales.#{@locale}.dir")
|
||||||
.row.justify-content-center
|
.row.justify-content-center
|
||||||
.col-md-8
|
.col-md-8
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
= render 'layouts/breadcrumb',
|
|
||||||
crumbs: [link_to(t('sites.index.title'), sites_path),
|
|
||||||
t('.title', site: @site.name)]
|
|
||||||
.row.justify-content-center
|
.row.justify-content-center
|
||||||
.col-md-8
|
.col-md-8
|
||||||
%h1= t('.title', site: @site.name)
|
%h1= t('.title', site: @site.name)
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
= render 'layouts/breadcrumb',
|
|
||||||
crumbs: [link_to(t('sites.index.title'), sites_path), t('.title')]
|
|
||||||
|
|
||||||
.row.justify-content-center
|
.row.justify-content-center
|
||||||
.col-md-8#pull
|
.col-md-8#pull
|
||||||
%h1= t('.title')
|
%h1= t('.title')
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
= render 'layouts/breadcrumb', crumbs: [t('sites.index.title')]
|
|
||||||
|
|
||||||
%main.row
|
%main.row
|
||||||
%aside.col-md-3
|
%aside.col-md-3
|
||||||
%h1= t('.title')
|
%h1= t('.title')
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
= render 'layouts/breadcrumb',
|
|
||||||
crumbs: [link_to(t('sites.index.title'), sites_path), t('.title')]
|
|
||||||
|
|
||||||
.row.justify-content-center
|
.row.justify-content-center
|
||||||
.col-md-8
|
.col-md-8
|
||||||
%h1= t('.title')
|
%h1= t('.title')
|
||||||
|
|
|
@ -1,32 +1,24 @@
|
||||||
= render 'layouts/breadcrumb',
|
.row.justify-content-center
|
||||||
crumbs: [link_to(t('sites.index.title'), sites_path),
|
.col.col-md-8
|
||||||
link_to(@site.name, @site),
|
|
||||||
t('.title')]
|
|
||||||
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
%h1= t('.title')
|
%h1= t('.title')
|
||||||
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
-# Una tabla de usuaries y otra de invitades, con acciones
|
-# Una tabla de usuaries y otra de invitades, con acciones
|
||||||
- %i[usuaries invitades].each do |u|
|
- %i[usuaries invitades].each do |u|
|
||||||
%h2
|
%h2.mt-5= t(".#{u}")
|
||||||
= t(".#{u}")
|
.btn-group{ role: 'group', 'aria-label': t('.actions') }
|
||||||
.btn-group{ role: 'group', 'aria-label': t('.actions') }
|
- if @policy.invite?
|
||||||
- if @policy.invite?
|
= link_to t('.invite'),
|
||||||
= link_to t('.invite'),
|
site_usuaries_invite_path(@site, invite_as: u.to_s),
|
||||||
site_usuaries_invite_path(@site, invite_as: u.to_s),
|
class: 'btn',
|
||||||
class: 'btn',
|
data: { toggle: 'tooltip' },
|
||||||
data: { toggle: 'tooltip' },
|
title: t('.help.invite', invite_as: u.to_s)
|
||||||
title: t('.help.invite', invite_as: u.to_s)
|
- if policy(Collaboration.new(@site)).collaborate?
|
||||||
- if policy(Collaboration.new(@site)).collaborate?
|
= link_to t('.public_invite'),
|
||||||
= link_to t('.public_invite'),
|
site_collaborate_path(@site),
|
||||||
site_collaborate_path(@site),
|
class: 'btn',
|
||||||
class: 'btn',
|
data: { toggle: 'tooltip' },
|
||||||
data: { toggle: 'tooltip' },
|
title: t('.help.public_invite')
|
||||||
title: t('.help.public_invite')
|
%p.lead= t(".help.#{u}")
|
||||||
%p= t(".help.#{u}")
|
|
||||||
%table.table.table-condensed
|
%table.table.table-condensed
|
||||||
%tbody
|
%tbody
|
||||||
- @site.send(u).each do |cuenta|
|
- @site.send(u).each do |cuenta|
|
||||||
|
|
|
@ -1,17 +1,9 @@
|
||||||
- invite_as = t("usuaries.invite_as.#{params[:invite_as]}")
|
- invite_as = t("usuaries.invite_as.#{params[:invite_as]}")
|
||||||
|
|
||||||
= render 'layouts/breadcrumb',
|
.row.justify-content-center
|
||||||
crumbs: [link_to(t('sites.index.title'), sites_path),
|
.col.col-md-8
|
||||||
@site.name,
|
|
||||||
link_to(t('posts.index'), site_usuaries_path(@site)),
|
|
||||||
t('.title', invite_as: invite_as)]
|
|
||||||
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
%h1= t('.title', invite_as: invite_as)
|
%h1= t('.title', invite_as: invite_as)
|
||||||
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
= form_with url: site_usuaries_invite_path(@site), local: true do |f|
|
= form_with url: site_usuaries_invite_path(@site), local: true do |f|
|
||||||
= f.hidden_field :invited_as, value: params[:invite_as].singularize
|
= f.hidden_field :invited_as, value: params[:invite_as].singularize
|
||||||
.form-group
|
.form-group
|
||||||
|
|
|
@ -579,3 +579,14 @@ en:
|
||||||
local_invalid: "format is incorrect"
|
local_invalid: "format is incorrect"
|
||||||
not_allowed: "that email provider is not welcome here"
|
not_allowed: "that email provider is not welcome here"
|
||||||
server_not_available: "remote email server not available"
|
server_not_available: "remote email server not available"
|
||||||
|
loaf:
|
||||||
|
breadcrumbs:
|
||||||
|
sites:
|
||||||
|
index: 'My sites'
|
||||||
|
new: 'Create'
|
||||||
|
edit: 'Configure'
|
||||||
|
posts:
|
||||||
|
new: 'New %{layout}'
|
||||||
|
edit: 'Editing'
|
||||||
|
usuaries:
|
||||||
|
index: 'Users'
|
||||||
|
|
|
@ -608,3 +608,14 @@ es:
|
||||||
local_invalid: "el formato es incorrecto"
|
local_invalid: "el formato es incorrecto"
|
||||||
not_allowed: "no es bienvenida"
|
not_allowed: "no es bienvenida"
|
||||||
server_not_available: "el proveedor no está disponible"
|
server_not_available: "el proveedor no está disponible"
|
||||||
|
loaf:
|
||||||
|
breadcrumbs:
|
||||||
|
sites:
|
||||||
|
index: 'Mis sitios'
|
||||||
|
new: 'Crear'
|
||||||
|
edit: 'Configurar'
|
||||||
|
posts:
|
||||||
|
new: 'Nuevo %{layout}'
|
||||||
|
edit: 'Editando'
|
||||||
|
usuaries:
|
||||||
|
index: 'Usuaries'
|
||||||
|
|
Loading…
Reference in a new issue