Add ability to view individual newsletters in admin UI (#39271)
This commit is contained in:
parent
a5e763c330
commit
ea5b613796
@ -0,0 +1,36 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class Admin::EmailSubscriptions::AccountsController < Admin::BaseController
|
||||||
|
before_action :require_enabled!
|
||||||
|
before_action :set_account
|
||||||
|
|
||||||
|
def show
|
||||||
|
authorize :email_subscription, :show?
|
||||||
|
@email_subscriptions_count = EmailSubscription.where(account: @account).count
|
||||||
|
@email_subscriptions = EmailSubscription.where(account: @account).page(params[:page])
|
||||||
|
end
|
||||||
|
|
||||||
|
def enable
|
||||||
|
authorize :email_subscription, :enable?
|
||||||
|
@account.user.settings['email_subscriptions'] = true
|
||||||
|
@account.user.save!
|
||||||
|
redirect_to admin_email_subscriptions_account_path(@account.id)
|
||||||
|
end
|
||||||
|
|
||||||
|
def disable
|
||||||
|
authorize :email_subscription, :disable?
|
||||||
|
@account.user.settings['email_subscriptions'] = false
|
||||||
|
@account.user.save!
|
||||||
|
redirect_to admin_email_subscriptions_account_path(@account.id)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def require_enabled!
|
||||||
|
raise ActionController::RoutingError, 'Feature disabled' unless Rails.application.config.x.email_subscriptions
|
||||||
|
end
|
||||||
|
|
||||||
|
def set_account
|
||||||
|
@account = Account.find(params[:id])
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -1,6 +1,8 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class Admin::EmailSubscriptionsController < Admin::BaseController
|
class Admin::EmailSubscriptionsController < Admin::BaseController
|
||||||
|
before_action :set_email_subscription, only: :destroy
|
||||||
|
|
||||||
def index
|
def index
|
||||||
authorize :email_subscription, :index?
|
authorize :email_subscription, :index?
|
||||||
|
|
||||||
@ -9,6 +11,12 @@ class Admin::EmailSubscriptionsController < Admin::BaseController
|
|||||||
@accounts = Account.local.where.associated(:email_subscriptions).includes(:user)
|
@accounts = Account.local.where.associated(:email_subscriptions).includes(:user)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def destroy
|
||||||
|
authorize :email_subscription, :destroy?
|
||||||
|
@email_subscription.destroy!
|
||||||
|
redirect_to admin_email_subscriptions_account_path(@email_subscription.account_id)
|
||||||
|
end
|
||||||
|
|
||||||
def disable
|
def disable
|
||||||
authorize :email_subscription, :disable?
|
authorize :email_subscription, :disable?
|
||||||
Setting.email_subscriptions = false
|
Setting.email_subscriptions = false
|
||||||
@ -20,4 +28,10 @@ class Admin::EmailSubscriptionsController < Admin::BaseController
|
|||||||
Admin::EmailSubscriptionsPurgeWorker.perform_async
|
Admin::EmailSubscriptionsPurgeWorker.perform_async
|
||||||
redirect_to admin_email_subscriptions_path, notice: I18n.t('admin.email_subscriptions.purged_msg')
|
redirect_to admin_email_subscriptions_path, notice: I18n.t('admin.email_subscriptions.purged_msg')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def set_email_subscription
|
||||||
|
@email_subscription = EmailSubscription.find(params[:id])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -468,6 +468,22 @@ $content-width: 840px;
|
|||||||
background-color: var(--color-bg-brand-soft);
|
background-color: var(--color-bg-brand-soft);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.variantWarning {
|
||||||
|
background-color: var(--color-bg-warning-softest);
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
background-color: var(--color-bg-warning-soft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.variantError {
|
||||||
|
background-color: var(--color-bg-error-softest);
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
background-color: var(--color-bg-error-soft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@ -2451,4 +2467,46 @@ a.sparkline {
|
|||||||
background: var(--color-bg-success-softest);
|
background: var(--color-bg-success-softest);
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
|
||||||
|
&.positive {
|
||||||
|
background: var(--color-bg-success-softest);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.negative {
|
||||||
|
background: var(--color-bg-error-softest);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.metadata {
|
||||||
|
display: flex;
|
||||||
|
gap: 40px;
|
||||||
|
margin: 16px 0;
|
||||||
|
|
||||||
|
& > div {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 4px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dt {
|
||||||
|
font-size: 13px;
|
||||||
|
color: var(--color-text-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 600;
|
||||||
|
line-height: 22.4px;
|
||||||
|
|
||||||
|
.status-badge {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 4px;
|
||||||
|
font-size: inherit;
|
||||||
|
height: 24px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -129,6 +129,10 @@
|
|||||||
color: var(--color-text-primary);
|
color: var(--color-text-primary);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.status-badge {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.batch-table {
|
&.batch-table {
|
||||||
@ -194,6 +198,12 @@ a.table-action-link {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
aspect-ratio: 1;
|
aspect-ratio: 1;
|
||||||
|
|
||||||
|
&.table-icon-link--danger {
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid var(--color-border-primary);
|
||||||
|
color: var(--color-text-error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.batch-table {
|
.batch-table {
|
||||||
|
|||||||
@ -10,4 +10,8 @@ class EmailSubscriptionPolicy < ApplicationPolicy
|
|||||||
alias disable? index?
|
alias disable? index?
|
||||||
|
|
||||||
alias purge? index?
|
alias purge? index?
|
||||||
|
|
||||||
|
alias show? index?
|
||||||
|
|
||||||
|
alias destroy? index?
|
||||||
end
|
end
|
||||||
|
|||||||
@ -32,14 +32,13 @@
|
|||||||
%strong
|
%strong
|
||||||
%bdi= display_name(account)
|
%bdi= display_name(account)
|
||||||
%td.valign-middle
|
%td.valign-middle
|
||||||
- if account.user_can?(:manage_email_subscriptions) && account.user_email_subscriptions_enabled?
|
= render 'status', account: account
|
||||||
%span.status-badge.positive= t('.active')
|
|
||||||
- else
|
|
||||||
%span.status-badge.negative= t('.inactive')
|
|
||||||
%td.valign-middle
|
%td.valign-middle
|
||||||
= account.email_subscriptions.count
|
= account.email_subscriptions.count
|
||||||
%td.valign-middle
|
%td.valign-middle
|
||||||
- if account.last_status_at.present?
|
- if account.last_status_at.present?
|
||||||
= l account.last_status_at
|
= l account.last_status_at
|
||||||
|
- else
|
||||||
|
\-
|
||||||
%td.valign-middle.align-end
|
%td.valign-middle.align-end
|
||||||
= link_to material_symbol('chevron_right'), admin_account_path(account.id), class: 'table-icon-link'
|
= link_to material_symbol('chevron_right'), admin_email_subscriptions_account_path(account.id), class: 'table-icon-link'
|
||||||
|
|||||||
8
app/views/admin/email_subscriptions/_status.html.haml
Normal file
8
app/views/admin/email_subscriptions/_status.html.haml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
- if account.user_can?(:manage_email_subscriptions) && account.user_email_subscriptions_enabled?
|
||||||
|
%span.status-badge.positive= t('email_subscriptions.active')
|
||||||
|
- elsif account.user_can?(:manage_email_subscriptions) && !account.user_email_subscriptions_enabled?
|
||||||
|
%span.status-badge.negative= t('email_subscriptions.disabled')
|
||||||
|
- elsif account.user_email_subscriptions_enabled? && !account.user_can?(:manage_email_subscriptions)
|
||||||
|
%span.status-badge.negative= t('email_subscriptions.no_access')
|
||||||
|
- else
|
||||||
|
%span.status-badge.negative= t('email_subscriptions.inactive')
|
||||||
84
app/views/admin/email_subscriptions/accounts/show.html.haml
Normal file
84
app/views/admin/email_subscriptions/accounts/show.html.haml
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
- content_for :page_title do
|
||||||
|
= t('.title', name: display_name(@account))
|
||||||
|
|
||||||
|
- content_for :heading do
|
||||||
|
.content__heading__row
|
||||||
|
.heading-with-lead
|
||||||
|
%h1= display_name(@account)
|
||||||
|
%p.lead= acct(@account)
|
||||||
|
.content__heading__actions
|
||||||
|
= link_to t('.view_account'), admin_account_path(@account.id), class: 'button button-secondary'
|
||||||
|
- if @account.user_can?(:manage_email_subscriptions)
|
||||||
|
- if @account.user_email_subscriptions_enabled?
|
||||||
|
= link_to t('.disable_feature'),
|
||||||
|
disable_admin_email_subscriptions_account_path(@account.id),
|
||||||
|
class: 'button button-secondary button--destructive',
|
||||||
|
data: { method: 'post', confirm: t('.confirm_disable_feature', name: display_name(@account)) }
|
||||||
|
- else
|
||||||
|
= link_to t('.enable_feature'), enable_admin_email_subscriptions_account_path(@account.id), class: 'button button-secondary', data: { method: 'post' }
|
||||||
|
|
||||||
|
%dl.metadata
|
||||||
|
%div
|
||||||
|
%dt= t('email_subscriptions.status')
|
||||||
|
%dd= render 'admin/email_subscriptions/status', account: @account
|
||||||
|
%div
|
||||||
|
%dt= t('email_subscriptions.subscribers')
|
||||||
|
%dd= number_with_delimiter @email_subscriptions_count
|
||||||
|
%div
|
||||||
|
%dt= t('admin.email_subscriptions.accounts.last_email')
|
||||||
|
%dd
|
||||||
|
- if @account.last_status_at.present?
|
||||||
|
= l(@account.last_status_at)
|
||||||
|
- else
|
||||||
|
\-
|
||||||
|
|
||||||
|
- if !@account.user_email_subscriptions_enabled?
|
||||||
|
%aside.callout.variantError
|
||||||
|
= material_symbol 'info'
|
||||||
|
.content
|
||||||
|
.body
|
||||||
|
%p= t('.disabled')
|
||||||
|
- elsif @account.user_email_subscriptions_enabled? && !@account.user_can?(:manage_email_subscriptions)
|
||||||
|
%aside.callout.variantError
|
||||||
|
= material_symbol 'info'
|
||||||
|
.content
|
||||||
|
.body
|
||||||
|
%p= t('.no_access_html', roles_path: admin_roles_path)
|
||||||
|
- else
|
||||||
|
%aside.callout.variantWarning
|
||||||
|
= material_symbol 'warning'
|
||||||
|
.content
|
||||||
|
.body
|
||||||
|
%p= t('.consent')
|
||||||
|
|
||||||
|
.table-wrapper
|
||||||
|
- if @email_subscriptions.empty?
|
||||||
|
.empty-state
|
||||||
|
= emptyphaunt
|
||||||
|
|
||||||
|
.empty-state__title-and-description
|
||||||
|
.empty-state__title-and-description__title
|
||||||
|
= t('.empty.no_subscribers_yet')
|
||||||
|
.empty-state__title-and-description__description
|
||||||
|
= t('.empty.hint')
|
||||||
|
- else
|
||||||
|
%table.table
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th= t('.email')
|
||||||
|
%th= t('.date')
|
||||||
|
%th
|
||||||
|
%tbody
|
||||||
|
- @email_subscriptions.each do |email_subscription|
|
||||||
|
%tr
|
||||||
|
%td.valign-middle
|
||||||
|
= email_subscription.email
|
||||||
|
%td.valign-middle
|
||||||
|
= l(email_subscription.created_at)
|
||||||
|
%td.valign-middle.align-end
|
||||||
|
= link_to material_symbol('delete'),
|
||||||
|
admin_email_subscription_path(email_subscription),
|
||||||
|
data: { method: 'delete', confirm: t('.confirm_remove_subscriber', email: email_subscription.email, name: display_name(@account)) },
|
||||||
|
class: 'table-icon-link table-icon-link--danger'
|
||||||
|
|
||||||
|
= paginate @email_subscriptions
|
||||||
@ -57,7 +57,11 @@
|
|||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%th= t('email_subscriptions.status')
|
%th= t('email_subscriptions.status')
|
||||||
%td= @account.user_email_subscriptions_enabled? ? t('email_subscriptions.active') : t('email_subscriptions.inactive')
|
%td
|
||||||
|
- if @account.user_email_subscriptions_enabled?
|
||||||
|
%span.status-badge.positive= t('email_subscriptions.active')
|
||||||
|
- else
|
||||||
|
%span.status-badge.negative= t('email_subscriptions.inactive')
|
||||||
%tr
|
%tr
|
||||||
%th= t('email_subscriptions.subscribers')
|
%th= t('email_subscriptions.subscribers')
|
||||||
%td= number_with_delimiter @email_subscriptions_count
|
%td= number_with_delimiter @email_subscriptions_count
|
||||||
|
|||||||
@ -520,11 +520,9 @@ be:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Уліковы запіс
|
account: Уліковы запіс
|
||||||
active: Актыўны
|
|
||||||
empty:
|
empty:
|
||||||
hint: У ніводнага ўліковага запісу няма падпісчыкаў.
|
hint: У ніводнага ўліковага запісу няма падпісчыкаў.
|
||||||
no_lists_yet: Пакуль няма спісаў
|
no_lists_yet: Пакуль няма спісаў
|
||||||
inactive: Неактыўны
|
|
||||||
last_email: Апошняя электронная пошта
|
last_email: Апошняя электронная пошта
|
||||||
lead: Уліковыя запісы, якія ўключылі гэту функцыю і маюць падпісчыкаў, будуць паказаныя знізу.
|
lead: Уліковыя запісы, якія ўключылі гэту функцыю і маюць падпісчыкаў, будуць паказаныя знізу.
|
||||||
status: Стан
|
status: Стан
|
||||||
|
|||||||
@ -508,7 +508,6 @@ cs:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Účet
|
account: Účet
|
||||||
inactive: Neaktivní
|
|
||||||
last_email: Poslední e-mail
|
last_email: Poslední e-mail
|
||||||
status: Status
|
status: Status
|
||||||
compliance_settings:
|
compliance_settings:
|
||||||
|
|||||||
@ -540,11 +540,9 @@ cy:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Cyfrif
|
account: Cyfrif
|
||||||
active: Gweithredol
|
|
||||||
empty:
|
empty:
|
||||||
hint: Does gan unrhyw gyfrifon ddim tanysgrifwyr eto.
|
hint: Does gan unrhyw gyfrifon ddim tanysgrifwyr eto.
|
||||||
no_lists_yet: Dim rhestrau eto
|
no_lists_yet: Dim rhestrau eto
|
||||||
inactive: Anweithredol
|
|
||||||
last_email: E-bost diwethaf
|
last_email: E-bost diwethaf
|
||||||
lead: Bydd cyfrifon sydd wedi galluogi'r nodwedd ac sydd â thanysgrifwyr yn ymddangos isod.
|
lead: Bydd cyfrifon sydd wedi galluogi'r nodwedd ac sydd â thanysgrifwyr yn ymddangos isod.
|
||||||
status: Statws
|
status: Statws
|
||||||
|
|||||||
@ -500,11 +500,9 @@ da:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Konto
|
account: Konto
|
||||||
active: Aktive
|
|
||||||
empty:
|
empty:
|
||||||
hint: Ingen konti har abonnenter endnu.
|
hint: Ingen konti har abonnenter endnu.
|
||||||
no_lists_yet: Ingen lister endnu
|
no_lists_yet: Ingen lister endnu
|
||||||
inactive: Inaktive
|
|
||||||
last_email: Seneste e-mail
|
last_email: Seneste e-mail
|
||||||
lead: Nedenfor vises de konti, der har aktiveret funktionen og har abonnenter.
|
lead: Nedenfor vises de konti, der har aktiveret funktionen og har abonnenter.
|
||||||
status: Status
|
status: Status
|
||||||
|
|||||||
@ -500,11 +500,9 @@ de:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Konto
|
account: Konto
|
||||||
active: Aktiviert
|
|
||||||
empty:
|
empty:
|
||||||
hint: Bisher wurden keine Konten abonniert.
|
hint: Bisher wurden keine Konten abonniert.
|
||||||
no_lists_yet: Noch keine Listen vorhanden
|
no_lists_yet: Noch keine Listen vorhanden
|
||||||
inactive: Deaktiviert
|
|
||||||
last_email: Letzte E-Mail
|
last_email: Letzte E-Mail
|
||||||
lead: Konten, die die Funktion aktiviert haben und abonniert wurden, werden unten angezeigt.
|
lead: Konten, die die Funktion aktiviert haben und abonniert wurden, werden unten angezeigt.
|
||||||
status: Status
|
status: Status
|
||||||
|
|||||||
@ -500,11 +500,9 @@ el:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Λογαριασμός
|
account: Λογαριασμός
|
||||||
active: Ενεργός
|
|
||||||
empty:
|
empty:
|
||||||
hint: Κανένας λογαριασμός δεν έχει συνδρομητές ακόμη.
|
hint: Κανένας λογαριασμός δεν έχει συνδρομητές ακόμη.
|
||||||
no_lists_yet: Καμία λίστα ακόμη
|
no_lists_yet: Καμία λίστα ακόμη
|
||||||
inactive: Ανενεργός
|
|
||||||
last_email: Τελευταίο email
|
last_email: Τελευταίο email
|
||||||
lead: Λογαριασμοί που έχουν ενεργοποιήσει τη λειτουργία και έχουν συνδρομητές θα εμφανίζονται παρακάτω.
|
lead: Λογαριασμοί που έχουν ενεργοποιήσει τη λειτουργία και έχουν συνδρομητές θα εμφανίζονται παρακάτω.
|
||||||
status: Κατάσταση
|
status: Κατάσταση
|
||||||
|
|||||||
@ -500,13 +500,26 @@ en:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Account
|
account: Account
|
||||||
active: Active
|
|
||||||
empty:
|
empty:
|
||||||
hint: No accounts have subscribers yet.
|
hint: No accounts have subscribers yet.
|
||||||
no_lists_yet: No lists yet
|
no_lists_yet: No lists yet
|
||||||
inactive: Inactive
|
|
||||||
last_email: Last email
|
last_email: Last email
|
||||||
lead: Accounts who have enabled the feature and have subscribers will show below.
|
lead: Accounts who have enabled the feature and have subscribers will show below.
|
||||||
|
show:
|
||||||
|
confirm_disable_feature: Disable email newsletters for %{name}? Email updates will no longer be sent for this account. The user will still be able to re-enable the feature in their account settings. To permanently remove access to this feature, edit the account’s permission in Roles.
|
||||||
|
confirm_remove_subscriber: "%{email} will no longer receive emails from %{name}. This action cannot be undone."
|
||||||
|
consent: Subscribers have only consented to receiving posts via email. Do not use this list for other purposes.
|
||||||
|
date: Date of sign-up
|
||||||
|
disable_feature: Disable feature
|
||||||
|
disabled: The feature was disabled and emails are no longer being sent to this list.
|
||||||
|
email: Email address
|
||||||
|
empty:
|
||||||
|
hint: Nobody has subscribed to this account yet.
|
||||||
|
no_subscribers_yet: No subscribers yet
|
||||||
|
enable_feature: Enable feature
|
||||||
|
no_access_html: This account no longer has the permissions required to enable the feature. Change this in <a href="%{roles_path}">Roles</a>.
|
||||||
|
title: Email newsletters of %{name}
|
||||||
|
view_account: View account
|
||||||
status: Status
|
status: Status
|
||||||
subscribers: Subscribers
|
subscribers: Subscribers
|
||||||
title: Mailing lists
|
title: Mailing lists
|
||||||
@ -1534,7 +1547,9 @@ en:
|
|||||||
success_html: You'll now start receiving emails when %{name} publishes new posts. Add %{sender} to your contacts so these posts don't end up in your Spam folder.
|
success_html: You'll now start receiving emails when %{name} publishes new posts. Add %{sender} to your contacts so these posts don't end up in your Spam folder.
|
||||||
title: You're signed up
|
title: You're signed up
|
||||||
unsubscribe: Unsubscribe
|
unsubscribe: Unsubscribe
|
||||||
|
disabled: Disabled
|
||||||
inactive: Inactive
|
inactive: Inactive
|
||||||
|
no_access: No access
|
||||||
status: Status
|
status: Status
|
||||||
subscribers: Subscribers
|
subscribers: Subscribers
|
||||||
emoji_styles:
|
emoji_styles:
|
||||||
|
|||||||
@ -500,11 +500,9 @@ es-AR:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Cuenta
|
account: Cuenta
|
||||||
active: Activa
|
|
||||||
empty:
|
empty:
|
||||||
hint: Aún no hay cuentas con suscriptores.
|
hint: Aún no hay cuentas con suscriptores.
|
||||||
no_lists_yet: Aún no hay listas
|
no_lists_yet: Aún no hay listas
|
||||||
inactive: Inactiva
|
|
||||||
last_email: Último correo electrónico
|
last_email: Último correo electrónico
|
||||||
lead: Las cuentas que habilitaron la función y tienen suscriptores se mostrarán a continuación.
|
lead: Las cuentas que habilitaron la función y tienen suscriptores se mostrarán a continuación.
|
||||||
status: Estado
|
status: Estado
|
||||||
|
|||||||
@ -500,11 +500,9 @@ es-MX:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Cuenta
|
account: Cuenta
|
||||||
active: Activa
|
|
||||||
empty:
|
empty:
|
||||||
hint: Ninguna cuenta tiene suscriptores todavía.
|
hint: Ninguna cuenta tiene suscriptores todavía.
|
||||||
no_lists_yet: No hay listas todavía
|
no_lists_yet: No hay listas todavía
|
||||||
inactive: Inactiva
|
|
||||||
last_email: Último correo electrónico
|
last_email: Último correo electrónico
|
||||||
lead: A continuación se mostrarán las cuentas que hayan activado la función y tengan suscriptores.
|
lead: A continuación se mostrarán las cuentas que hayan activado la función y tengan suscriptores.
|
||||||
status: Estado
|
status: Estado
|
||||||
|
|||||||
@ -500,11 +500,9 @@ es:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Cuenta
|
account: Cuenta
|
||||||
active: Activa
|
|
||||||
empty:
|
empty:
|
||||||
hint: Aún no hay cuentas con suscriptores.
|
hint: Aún no hay cuentas con suscriptores.
|
||||||
no_lists_yet: Aún no hay listas
|
no_lists_yet: Aún no hay listas
|
||||||
inactive: Inactiva
|
|
||||||
last_email: Último correo electrónico
|
last_email: Último correo electrónico
|
||||||
lead: Las cuentas que han habilitado la función y tienen suscriptores se mostrarán a continuación.
|
lead: Las cuentas que han habilitado la función y tienen suscriptores se mostrarán a continuación.
|
||||||
status: Estado
|
status: Estado
|
||||||
|
|||||||
@ -500,11 +500,9 @@ et:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Konto
|
account: Konto
|
||||||
active: Aktiivne
|
|
||||||
empty:
|
empty:
|
||||||
hint: Ühelgi kontol pole veel tellijaid.
|
hint: Ühelgi kontol pole veel tellijaid.
|
||||||
no_lists_yet: Veel pole loetelusid
|
no_lists_yet: Veel pole loetelusid
|
||||||
inactive: Mitteaktiivne
|
|
||||||
last_email: Viimane e-post
|
last_email: Viimane e-post
|
||||||
lead: Allpool kuvatakse kontod, kus see funktsioon on aktiveeritud ja millel on tellijaid.
|
lead: Allpool kuvatakse kontod, kus see funktsioon on aktiveeritud ja millel on tellijaid.
|
||||||
status: Olek
|
status: Olek
|
||||||
|
|||||||
@ -499,11 +499,9 @@ fa:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: حساب
|
account: حساب
|
||||||
active: فعّال
|
|
||||||
empty:
|
empty:
|
||||||
hint: هنوز هیچ حسابی مشترک نشده.
|
hint: هنوز هیچ حسابی مشترک نشده.
|
||||||
no_lists_yet: هنوز سیاههای وجود ندارد
|
no_lists_yet: هنوز سیاههای وجود ندارد
|
||||||
inactive: غیرفعّال
|
|
||||||
last_email: آخرین رایانامه
|
last_email: آخرین رایانامه
|
||||||
status: وضعیت
|
status: وضعیت
|
||||||
subscribers: مشترکان
|
subscribers: مشترکان
|
||||||
|
|||||||
@ -500,11 +500,9 @@ fi:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Tili
|
account: Tili
|
||||||
active: Käytössä
|
|
||||||
empty:
|
empty:
|
||||||
hint: Millään tilillä ei ole vielä tilaajia.
|
hint: Millään tilillä ei ole vielä tilaajia.
|
||||||
no_lists_yet: Ei vielä listoja
|
no_lists_yet: Ei vielä listoja
|
||||||
inactive: Poissa käytöstä
|
|
||||||
last_email: Viimeisin sähköpostiviesti
|
last_email: Viimeisin sähköpostiviesti
|
||||||
lead: Alla näkyvät tilit, jotka ovat ottaneet ominaisuuden käyttöön ja joilla on tilaajia.
|
lead: Alla näkyvät tilit, jotka ovat ottaneet ominaisuuden käyttöön ja joilla on tilaajia.
|
||||||
status: Tila
|
status: Tila
|
||||||
|
|||||||
@ -500,11 +500,9 @@ fr-CA:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Compte
|
account: Compte
|
||||||
active: Actif
|
|
||||||
empty:
|
empty:
|
||||||
hint: Aucun compte n'a d'abonné·e·s pour l'instant.
|
hint: Aucun compte n'a d'abonné·e·s pour l'instant.
|
||||||
no_lists_yet: Aucune liste pour l'instant
|
no_lists_yet: Aucune liste pour l'instant
|
||||||
inactive: Inactif
|
|
||||||
last_email: Dernier courriel
|
last_email: Dernier courriel
|
||||||
lead: Les comptes ayant activé la fonctionnalité et qui ont des abonné·e·s apparaîtront ci-dessous.
|
lead: Les comptes ayant activé la fonctionnalité et qui ont des abonné·e·s apparaîtront ci-dessous.
|
||||||
status: État
|
status: État
|
||||||
|
|||||||
@ -500,11 +500,9 @@ fr:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Compte
|
account: Compte
|
||||||
active: Actif
|
|
||||||
empty:
|
empty:
|
||||||
hint: Aucun compte n'a d'abonné·e·s pour l'instant.
|
hint: Aucun compte n'a d'abonné·e·s pour l'instant.
|
||||||
no_lists_yet: Aucune liste pour l'instant
|
no_lists_yet: Aucune liste pour l'instant
|
||||||
inactive: Inactif
|
|
||||||
last_email: Dernier courriel
|
last_email: Dernier courriel
|
||||||
lead: Les comptes ayant activé la fonctionnalité et qui ont des abonné·e·s apparaîtront ci-dessous.
|
lead: Les comptes ayant activé la fonctionnalité et qui ont des abonné·e·s apparaîtront ci-dessous.
|
||||||
status: État
|
status: État
|
||||||
|
|||||||
@ -530,11 +530,9 @@ ga:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Cuntas
|
account: Cuntas
|
||||||
active: Gníomhach
|
|
||||||
empty:
|
empty:
|
||||||
hint: Níl aon síntiúsóirí ag aon chuntas go fóill.
|
hint: Níl aon síntiúsóirí ag aon chuntas go fóill.
|
||||||
no_lists_yet: Gan aon liostaí fós
|
no_lists_yet: Gan aon liostaí fós
|
||||||
inactive: Neamhghníomhach
|
|
||||||
last_email: Ríomhphost deireanach
|
last_email: Ríomhphost deireanach
|
||||||
lead: Taispeánfar thíos cuntais a bhfuil an ghné cumasaithe acu agus a bhfuil síntiúsóirí acu.
|
lead: Taispeánfar thíos cuntais a bhfuil an ghné cumasaithe acu agus a bhfuil síntiúsóirí acu.
|
||||||
status: Stádas
|
status: Stádas
|
||||||
|
|||||||
@ -500,11 +500,9 @@ gl:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Conta
|
account: Conta
|
||||||
active: Activa
|
|
||||||
empty:
|
empty:
|
||||||
hint: Aínda non hai contas con subscritoras.
|
hint: Aínda non hai contas con subscritoras.
|
||||||
no_lists_yet: Aínda non hai listas
|
no_lists_yet: Aínda non hai listas
|
||||||
inactive: Inactiva
|
|
||||||
last_email: Último correo
|
last_email: Último correo
|
||||||
lead: Aquí móstranse as contas que activaron esta ferramenta e teñen subscritoras.
|
lead: Aquí móstranse as contas que activaron esta ferramenta e teñen subscritoras.
|
||||||
status: Estado
|
status: Estado
|
||||||
|
|||||||
@ -520,11 +520,9 @@ he:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: חשבון
|
account: חשבון
|
||||||
active: פעילים
|
|
||||||
empty:
|
empty:
|
||||||
hint: עדיין אין מנוי לאף חשבון.
|
hint: עדיין אין מנוי לאף חשבון.
|
||||||
no_lists_yet: אין רשימות עדיין
|
no_lists_yet: אין רשימות עדיין
|
||||||
inactive: לא פעילים
|
|
||||||
last_email: הודעת דואל אחרונה
|
last_email: הודעת דואל אחרונה
|
||||||
lead: חשבונות שבהם הופעלה האפשרות ויש להם מנויים יופיעו להלן.
|
lead: חשבונות שבהם הופעלה האפשרות ויש להם מנויים יופיעו להלן.
|
||||||
status: מצב
|
status: מצב
|
||||||
|
|||||||
@ -500,11 +500,9 @@ hu:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Fiók
|
account: Fiók
|
||||||
active: Aktív
|
|
||||||
empty:
|
empty:
|
||||||
hint: Egyik fióknak sincs feliratkozója.
|
hint: Egyik fióknak sincs feliratkozója.
|
||||||
no_lists_yet: Még nincsenek listák
|
no_lists_yet: Még nincsenek listák
|
||||||
inactive: Inaktív
|
|
||||||
last_email: Legutóbbi e-mail
|
last_email: Legutóbbi e-mail
|
||||||
lead: A fiókok, melyek bekapcsolták a funkciót, és vannak feliratkozóik, itt fognak megjelenni alább.
|
lead: A fiókok, melyek bekapcsolták a funkciót, és vannak feliratkozóik, itt fognak megjelenni alább.
|
||||||
status: Állapot
|
status: Állapot
|
||||||
|
|||||||
@ -500,11 +500,9 @@ is:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Aðgangur
|
account: Aðgangur
|
||||||
active: Virkur
|
|
||||||
empty:
|
empty:
|
||||||
hint: Engir aðgangar eru ennþá með neina áskrifendur.
|
hint: Engir aðgangar eru ennþá með neina áskrifendur.
|
||||||
no_lists_yet: Ennþá engir listar
|
no_lists_yet: Ennþá engir listar
|
||||||
inactive: Óvirkur
|
|
||||||
last_email: Síðasti tölvupóstur
|
last_email: Síðasti tölvupóstur
|
||||||
lead: Aðgangar sem hafa virkjað eiginleikann og eru með áskrifendur munu birtast hér fyrir neðan.
|
lead: Aðgangar sem hafa virkjað eiginleikann og eru með áskrifendur munu birtast hér fyrir neðan.
|
||||||
status: Staða
|
status: Staða
|
||||||
|
|||||||
@ -500,11 +500,9 @@ it:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Account
|
account: Account
|
||||||
active: Attivo
|
|
||||||
empty:
|
empty:
|
||||||
hint: Non ci sono ancora account con iscritti.
|
hint: Non ci sono ancora account con iscritti.
|
||||||
no_lists_yet: Non ci sono ancora liste
|
no_lists_yet: Non ci sono ancora liste
|
||||||
inactive: Inattivo
|
|
||||||
last_email: Ultima email
|
last_email: Ultima email
|
||||||
lead: Di seguito verranno visualizzati gli account che hanno attivato la funzionalità e che hanno degli iscritti.
|
lead: Di seguito verranno visualizzati gli account che hanno attivato la funzionalità e che hanno degli iscritti.
|
||||||
status: Stato
|
status: Stato
|
||||||
|
|||||||
@ -290,8 +290,6 @@ kab:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Amiḍan
|
account: Amiḍan
|
||||||
active: D urmid
|
|
||||||
inactive: D arurmid
|
|
||||||
last_email: Imayl aneggaru
|
last_email: Imayl aneggaru
|
||||||
status: Addad
|
status: Addad
|
||||||
compliance_settings:
|
compliance_settings:
|
||||||
|
|||||||
@ -471,7 +471,6 @@ lad:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Kuento
|
account: Kuento
|
||||||
active: Aktivo
|
|
||||||
danger_zone:
|
danger_zone:
|
||||||
disable_feature:
|
disable_feature:
|
||||||
action: Inkapasita
|
action: Inkapasita
|
||||||
|
|||||||
@ -490,11 +490,9 @@ nan-TW:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: 口座
|
account: 口座
|
||||||
active: 有效ê
|
|
||||||
empty:
|
empty:
|
||||||
hint: Iáu無半ê口座有訂ê lâng。
|
hint: Iáu無半ê口座有訂ê lâng。
|
||||||
no_lists_yet: Iáu無列單
|
no_lists_yet: Iáu無列單
|
||||||
inactive: 停止使用ah
|
|
||||||
last_email: 上新ê電子phue箱
|
last_email: 上新ê電子phue箱
|
||||||
lead: 有啟用tsit ê功能koh有訂ê lâng ê口座ē展示佇下kha。
|
lead: 有啟用tsit ê功能koh有訂ê lâng ê口座ē展示佇下kha。
|
||||||
status: 狀態
|
status: 狀態
|
||||||
|
|||||||
@ -500,11 +500,9 @@ nl:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Account
|
account: Account
|
||||||
active: Actief
|
|
||||||
empty:
|
empty:
|
||||||
hint: Geen enkel account heeft nog abonnees.
|
hint: Geen enkel account heeft nog abonnees.
|
||||||
no_lists_yet: Nog geen lijsten
|
no_lists_yet: Nog geen lijsten
|
||||||
inactive: Inactief
|
|
||||||
last_email: Meest recente e-mail
|
last_email: Meest recente e-mail
|
||||||
lead: Accounts die deze functionaliteit hebben ingeschakeld en abonnees hebben, worden hieronder getoond.
|
lead: Accounts die deze functionaliteit hebben ingeschakeld en abonnees hebben, worden hieronder getoond.
|
||||||
status: Status
|
status: Status
|
||||||
|
|||||||
@ -500,11 +500,9 @@ nn:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Konto
|
account: Konto
|
||||||
active: Aktiv
|
|
||||||
empty:
|
empty:
|
||||||
hint: Ingen brukarkontoar har abonnentar enno.
|
hint: Ingen brukarkontoar har abonnentar enno.
|
||||||
no_lists_yet: Ingen lister enno
|
no_lists_yet: Ingen lister enno
|
||||||
inactive: Ikkje aktiv
|
|
||||||
last_email: Siste epost
|
last_email: Siste epost
|
||||||
lead: Nedanfor vil du sjå brukarkontoar som har skrudd på dette og som har abonnentar.
|
lead: Nedanfor vil du sjå brukarkontoar som har skrudd på dette og som har abonnentar.
|
||||||
status: Status
|
status: Status
|
||||||
|
|||||||
@ -500,11 +500,9 @@ pt-BR:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Conta
|
account: Conta
|
||||||
active: Ativas
|
|
||||||
empty:
|
empty:
|
||||||
hint: Não há contas com inscritos ainda.
|
hint: Não há contas com inscritos ainda.
|
||||||
no_lists_yet: Não há listas ainda
|
no_lists_yet: Não há listas ainda
|
||||||
inactive: Inativas
|
|
||||||
last_email: Último email
|
last_email: Último email
|
||||||
lead: Contas que ativaram o recurso e têm inscritos aparecerão abaixo.
|
lead: Contas que ativaram o recurso e têm inscritos aparecerão abaixo.
|
||||||
status: Estado
|
status: Estado
|
||||||
|
|||||||
@ -506,7 +506,6 @@ ru:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Аккаунт
|
account: Аккаунт
|
||||||
active: Актив
|
|
||||||
status: Статус
|
status: Статус
|
||||||
subscribers: Подписчики
|
subscribers: Подписчики
|
||||||
danger_zone:
|
danger_zone:
|
||||||
|
|||||||
@ -500,11 +500,9 @@ sq:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Llogari
|
account: Llogari
|
||||||
active: Aktive
|
|
||||||
empty:
|
empty:
|
||||||
hint: Ende s’ka llogari me pajtimtarë.
|
hint: Ende s’ka llogari me pajtimtarë.
|
||||||
no_lists_yet: Ende pa lista
|
no_lists_yet: Ende pa lista
|
||||||
inactive: Joaktive
|
|
||||||
last_email: Email-i i fundit
|
last_email: Email-i i fundit
|
||||||
lead: Llogaritë që kanë aktivizuar veçorinë dhe kanë pajtimtarë do të shfaqen më poshtë.
|
lead: Llogaritë që kanë aktivizuar veçorinë dhe kanë pajtimtarë do të shfaqen më poshtë.
|
||||||
status: Gjendje
|
status: Gjendje
|
||||||
|
|||||||
@ -500,11 +500,9 @@ sv:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Konto
|
account: Konto
|
||||||
active: Aktiv
|
|
||||||
empty:
|
empty:
|
||||||
hint: Inga konton har prenumeranter ännu.
|
hint: Inga konton har prenumeranter ännu.
|
||||||
no_lists_yet: Inga listor ännu
|
no_lists_yet: Inga listor ännu
|
||||||
inactive: Inaktiv
|
|
||||||
last_email: Senaste e-post
|
last_email: Senaste e-post
|
||||||
lead: Konton som har aktiverat funktionen och har prenumeranter kommer att visas nedan.
|
lead: Konton som har aktiverat funktionen och har prenumeranter kommer att visas nedan.
|
||||||
status: Status
|
status: Status
|
||||||
|
|||||||
@ -500,11 +500,9 @@ tr:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Hesap
|
account: Hesap
|
||||||
active: Etkin
|
|
||||||
empty:
|
empty:
|
||||||
hint: Henüz hiçbir hesabın abonesi yok.
|
hint: Henüz hiçbir hesabın abonesi yok.
|
||||||
no_lists_yet: Henüz liste yok
|
no_lists_yet: Henüz liste yok
|
||||||
inactive: Etkin değil
|
|
||||||
last_email: Son e-posta
|
last_email: Son e-posta
|
||||||
lead: Bu özelliği etkinleştirmiş ve abonesi olan hesaplar aşağıda gösterilecektir.
|
lead: Bu özelliği etkinleştirmiş ve abonesi olan hesaplar aşağıda gösterilecektir.
|
||||||
status: Durum
|
status: Durum
|
||||||
|
|||||||
@ -490,11 +490,9 @@ vi:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: Tài khoản
|
account: Tài khoản
|
||||||
active: Hoạt động
|
|
||||||
empty:
|
empty:
|
||||||
hint: Hiện chưa có tài khoản nào có người đăng ký đọc.
|
hint: Hiện chưa có tài khoản nào có người đăng ký đọc.
|
||||||
no_lists_yet: Chưa có danh sách nào
|
no_lists_yet: Chưa có danh sách nào
|
||||||
inactive: Không hoạt động
|
|
||||||
last_email: Email gần nhất
|
last_email: Email gần nhất
|
||||||
lead: Các tài khoản đã kích hoạt tính năng này và có người đăng ký sẽ hiển thị bên dưới.
|
lead: Các tài khoản đã kích hoạt tính năng này và có người đăng ký sẽ hiển thị bên dưới.
|
||||||
status: Trạng thái
|
status: Trạng thái
|
||||||
|
|||||||
@ -490,11 +490,9 @@ zh-CN:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: 账号
|
account: 账号
|
||||||
active: 已生效
|
|
||||||
empty:
|
empty:
|
||||||
hint: 目前还没有账号拥有订阅者。
|
hint: 目前还没有账号拥有订阅者。
|
||||||
no_lists_yet: 尚无列表
|
no_lists_yet: 尚无列表
|
||||||
inactive: 未生效
|
|
||||||
last_email: 最新电子邮件
|
last_email: 最新电子邮件
|
||||||
lead: 已启用此功能并拥有订阅者的账号会在下方显示。
|
lead: 已启用此功能并拥有订阅者的账号会在下方显示。
|
||||||
status: 状态
|
status: 状态
|
||||||
|
|||||||
@ -492,11 +492,9 @@ zh-TW:
|
|||||||
email_subscriptions:
|
email_subscriptions:
|
||||||
accounts:
|
accounts:
|
||||||
account: 帳號
|
account: 帳號
|
||||||
active: 生效中
|
|
||||||
empty:
|
empty:
|
||||||
hint: 尚無任何擁有訂閱者之帳號。
|
hint: 尚無任何擁有訂閱者之帳號。
|
||||||
no_lists_yet: 尚無列表
|
no_lists_yet: 尚無列表
|
||||||
inactive: 已停用
|
|
||||||
last_email: 最新電子郵件地址
|
last_email: 最新電子郵件地址
|
||||||
lead: 已啟用此功能並擁有訂閱者之帳號將於下方顯示。
|
lead: 已啟用此功能並擁有訂閱者之帳號將於下方顯示。
|
||||||
status: 狀態
|
status: 狀態
|
||||||
|
|||||||
@ -26,7 +26,7 @@ namespace :admin do
|
|||||||
|
|
||||||
resources :email_domain_blocks, only: [:index, :new, :create], concerns: :batch
|
resources :email_domain_blocks, only: [:index, :new, :create], concerns: :batch
|
||||||
|
|
||||||
resources :email_subscriptions, only: [:index] do
|
resources :email_subscriptions, only: [:index, :destroy] do
|
||||||
collection do
|
collection do
|
||||||
post :purge
|
post :purge
|
||||||
post :disable
|
post :disable
|
||||||
@ -36,6 +36,13 @@ namespace :admin do
|
|||||||
namespace :email_subscriptions do
|
namespace :email_subscriptions do
|
||||||
resource :setup, only: [:show, :create]
|
resource :setup, only: [:show, :create]
|
||||||
resource :additional_footer_text, only: [:show, :update]
|
resource :additional_footer_text, only: [:show, :update]
|
||||||
|
|
||||||
|
resources :accounts, only: :show do
|
||||||
|
member do
|
||||||
|
post :enable
|
||||||
|
post :disable
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :action_logs, only: [:index]
|
resources :action_logs, only: [:index]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user