mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 13:09:18 +08:00
DEV: enforces double quotes ember-template-lint (#9416)
This commit is contained in:
parent
2d122f0393
commit
c4644c61d9
|
@ -43,7 +43,7 @@ module.exports = {
|
|||
"no-unnecessary-concat": true,
|
||||
"no-unnecessary-component-helper": true,
|
||||
"no-unused-block-params": true,
|
||||
"quotes": false,
|
||||
quotes: "double",
|
||||
"require-button-type": false,
|
||||
"require-iframe-title": true,
|
||||
"require-valid-alt-text": false,
|
||||
|
|
|
@ -3,35 +3,35 @@
|
|||
<div class="full-width">
|
||||
<div class="admin-main-nav">
|
||||
<ul class="nav nav-pills">
|
||||
{{nav-item route='admin.dashboard' label='admin.dashboard.title'}}
|
||||
{{nav-item route="admin.dashboard" label="admin.dashboard.title"}}
|
||||
{{#if currentUser.admin}}
|
||||
{{nav-item route='adminSiteSettings' label='admin.site_settings.title'}}
|
||||
{{nav-item route="adminSiteSettings" label="admin.site_settings.title"}}
|
||||
{{/if}}
|
||||
{{nav-item route='adminUsersList' label='admin.users.title'}}
|
||||
{{nav-item route="adminUsersList" label="admin.users.title"}}
|
||||
{{#if showGroups}}
|
||||
{{nav-item route='groups' label='admin.groups.title'}}
|
||||
{{nav-item route="groups" label="admin.groups.title"}}
|
||||
{{/if}}
|
||||
{{#if showBadges}}
|
||||
{{nav-item route='adminBadges' label='admin.badges.title'}}
|
||||
{{nav-item route="adminBadges" label="admin.badges.title"}}
|
||||
{{/if}}
|
||||
{{#if currentUser.admin}}
|
||||
{{nav-item route='adminEmail' label='admin.email.title'}}
|
||||
{{nav-item route="adminEmail" label="admin.email.title"}}
|
||||
{{/if}}
|
||||
{{nav-item route='adminLogs' label='admin.logs.title'}}
|
||||
{{nav-item route="adminLogs" label="admin.logs.title"}}
|
||||
{{#if currentUser.admin}}
|
||||
{{nav-item route='adminCustomize' label='admin.customize.title'}}
|
||||
{{nav-item route='adminApi' label='admin.api.title'}}
|
||||
{{nav-item route="adminCustomize" label="admin.customize.title"}}
|
||||
{{nav-item route="adminApi" label="admin.api.title"}}
|
||||
{{#if siteSettings.enable_backups}}
|
||||
{{nav-item route='admin.backups' label='admin.backups.title'}}
|
||||
{{nav-item route="admin.backups" label="admin.backups.title"}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{nav-item route='adminPlugins' label='admin.plugins.title'}}
|
||||
{{nav-item route="adminPlugins" label="admin.plugins.title"}}
|
||||
{{plugin-outlet name="admin-menu" connectorTagName="" tagName=""}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='boxed white admin-content'>
|
||||
<div class='admin-contents {{adminContentsClassName}}'>
|
||||
<div class="boxed white admin-content">
|
||||
<div class="admin-contents {{adminContentsClassName}}">
|
||||
{{outlet}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -18,14 +18,14 @@
|
|||
{{#each model as |k|}}
|
||||
<tr class={{if k.revoked_at "revoked"}}>
|
||||
<td class="key">
|
||||
{{#if k.revoked_at}}{{d-icon 'times-circle'}}{{/if}}
|
||||
{{#if k.revoked_at}}{{d-icon "times-circle"}}{{/if}}
|
||||
{{k.truncatedKey}}
|
||||
</td>
|
||||
<td class="key-description">
|
||||
{{k.shortDescription}}
|
||||
</td>
|
||||
<td class="key-user">
|
||||
<div class="label">{{i18n 'admin.api.user'}}</div>
|
||||
<div class="label">{{i18n "admin.api.user"}}</div>
|
||||
{{#if k.user}}
|
||||
{{#link-to "adminUser" k.user}}
|
||||
{{avatar k.user imageSize="small"}}
|
||||
|
@ -35,11 +35,11 @@
|
|||
{{/if}}
|
||||
</td>
|
||||
<td class="key-created">
|
||||
<div class="label">{{i18n 'admin.api.created'}}</div>
|
||||
<div class="label">{{i18n "admin.api.created"}}</div>
|
||||
{{format-date k.created_at}}
|
||||
</td>
|
||||
<td class="key-last-used">
|
||||
<div class="label">{{i18n 'admin.api.last_used'}}</div>
|
||||
<div class="label">{{i18n "admin.api.last_used"}}</div>
|
||||
{{#if k.last_used_at}}
|
||||
{{format-date k.last_used_at}}
|
||||
{{else}}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{#link-to 'adminApiKeys.index' class="go-back"}}
|
||||
{{d-icon 'arrow-left'}}
|
||||
{{i18n 'admin.api.all_api_keys'}}
|
||||
{{#link-to "adminApiKeys.index" class="go-back"}}
|
||||
{{d-icon "arrow-left"}}
|
||||
{{i18n "admin.api.all_api_keys"}}
|
||||
{{/link-to}}
|
||||
|
||||
<div class="api-key">
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{{#link-to 'adminApiKeys.index' class="go-back"}}
|
||||
{{d-icon 'arrow-left'}}
|
||||
{{i18n 'admin.api.all_api_keys'}}
|
||||
{{#link-to "adminApiKeys.index" class="go-back"}}
|
||||
{{d-icon "arrow-left"}}
|
||||
{{i18n "admin.api.all_api_keys"}}
|
||||
{{/link-to}}
|
||||
|
||||
<div class="api-key">
|
||||
{{#admin-form-row label="admin.api.key"}}
|
||||
{{#if model.revoked_at}}{{d-icon 'times-circle'}}{{/if}}
|
||||
{{#if model.revoked_at}}{{d-icon "times-circle"}}{{/if}}
|
||||
{{model.truncatedKey}}
|
||||
{{/admin-form-row}}
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
|||
</span>
|
||||
{{/if}}
|
||||
|
||||
<div class='controls'>
|
||||
<div class="controls">
|
||||
{{#if editingDescription}}
|
||||
{{d-button class="ok" action=(action "saveDescription") icon="check"}}
|
||||
{{d-button class="cancel" action=(action "editDescription") icon="times"}}
|
||||
|
@ -58,7 +58,7 @@
|
|||
{{#if model.revoked_at}}
|
||||
{{format-date model.revoked_at leaveAgo="true"}}
|
||||
{{/if}}
|
||||
<div class='controls'>
|
||||
<div class="controls">
|
||||
{{#if model.revoked_at}}
|
||||
{{d-button
|
||||
action=(action "undoRevokeKey")
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{#admin-nav}}
|
||||
{{nav-item route='adminApiKeys' label='admin.api.title'}}
|
||||
{{nav-item route='adminWebHooks' label='admin.web_hooks.title'}}
|
||||
{{nav-item route="adminApiKeys" label="admin.api.title"}}
|
||||
{{nav-item route="adminWebHooks" label="admin.web_hooks.title"}}
|
||||
{{/admin-nav}}
|
||||
|
||||
<div class="admin-container">
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<div class='admin-backups'>
|
||||
<div class="admin-backups">
|
||||
<div class="admin-controls">
|
||||
<nav>
|
||||
<ul class="nav nav-pills">
|
||||
{{nav-item route='admin.backups.index' label='admin.backups.menu.backups'}}
|
||||
{{nav-item route='admin.backups.logs' label='admin.backups.menu.logs'}}
|
||||
{{nav-item route="admin.backups.index" label="admin.backups.menu.backups"}}
|
||||
{{nav-item route="admin.backups.logs" label="admin.backups.menu.logs"}}
|
||||
{{plugin-outlet name="downloader" tagName=""}}
|
||||
<div class="admin-actions">
|
||||
{{#if model.canRollback}}
|
||||
|
|
|
@ -1,39 +1,39 @@
|
|||
{{#d-section class="award-badge"}}
|
||||
<h1>{{i18n 'admin.badges.mass_award.title'}}</h1>
|
||||
<p>{{i18n 'admin.badges.mass_award.description'}}</p>
|
||||
<h1>{{i18n "admin.badges.mass_award.title"}}</h1>
|
||||
<p>{{i18n "admin.badges.mass_award.description"}}</p>
|
||||
|
||||
{{#if model}}
|
||||
<form class="form-horizontal">
|
||||
<div class='badge-preview'>
|
||||
<div class="badge-preview">
|
||||
{{#if model}}
|
||||
{{icon-or-image model}}
|
||||
<span class="badge-display-name">{{model.name}}</span>
|
||||
{{else}}
|
||||
<span class='badge-placeholder'>{{i18n 'admin.badges.mass_award.no_badge_selected'}}</span>
|
||||
<span class="badge-placeholder">{{i18n "admin.badges.mass_award.no_badge_selected"}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div>
|
||||
<h4>{{i18n 'admin.badges.mass_award.upload_csv'}}</h4>
|
||||
<input type='file' id='massAwardCSVUpload' accept='.csv'>
|
||||
<h4>{{i18n "admin.badges.mass_award.upload_csv"}}</h4>
|
||||
<input type="file" id="massAwardCSVUpload" accept=".csv">
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
{{input type="checkbox" checked=replaceBadgeOwners}}
|
||||
{{i18n 'admin.badges.mass_award.replace_owners'}}
|
||||
{{i18n "admin.badges.mass_award.replace_owners"}}
|
||||
</label>
|
||||
</div>
|
||||
{{d-button
|
||||
class="btn-primary"
|
||||
action=(action 'massAward')
|
||||
action=(action "massAward")
|
||||
type="submit"
|
||||
disabled=saving
|
||||
label="admin.badges.mass_award.perform"}}
|
||||
{{#link-to 'adminBadges.index' class="btn btn-danger"}}
|
||||
{{#link-to "adminBadges.index" class="btn btn-danger"}}
|
||||
{{d-icon "times"}}
|
||||
<span>{{i18n 'cancel'}}</span>
|
||||
<span>{{i18n "cancel"}}</span>
|
||||
{{/link-to}}
|
||||
</form>
|
||||
{{else}}
|
||||
<span class='badge-required'>{{i18n 'admin.badges.mass_award.no_badge_selected'}}</span>
|
||||
<span class="badge-required">{{i18n "admin.badges.mass_award.no_badge_selected"}}</span>
|
||||
{{/if}}
|
||||
{{/d-section}}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="badge-intro admin-intro">
|
||||
<img src={{badgeIntroEmoji}} class="badge-intro-emoji">
|
||||
<div class="content-wrapper">
|
||||
<h1>{{i18n 'admin.badges.badge_intro.title'}}</h1>
|
||||
<h1>{{i18n "admin.badges.badge_intro.title"}}</h1>
|
||||
<div class="external-resources">
|
||||
{{#each badgeIntroLinks as |link|}}
|
||||
<a href={{link.href}} class="external-link" target="_blank" rel="noopener">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{{#d-section class="current-badge content-body"}}
|
||||
<form class="form-horizontal">
|
||||
<div>
|
||||
<label for="name">{{i18n 'admin.badges.name'}}</label>
|
||||
<label for="name">{{i18n "admin.badges.name"}}</label>
|
||||
{{#if readOnly}}
|
||||
{{input type="text" name="name" value=buffered.name disabled=true}}
|
||||
{{else}}
|
||||
|
@ -10,7 +10,7 @@
|
|||
</div>
|
||||
|
||||
<div>
|
||||
<label for="icon">{{i18n 'admin.badges.icon'}}</label>
|
||||
<label for="icon">{{i18n "admin.badges.icon"}}</label>
|
||||
{{icon-picker
|
||||
name="icon"
|
||||
value=buffered.icon
|
||||
|
@ -20,17 +20,17 @@
|
|||
onChange=(action (mut buffered.icon))
|
||||
}}
|
||||
|
||||
<p class='help'>{{i18n 'admin.badges.icon_help'}}</p>
|
||||
<p class="help">{{i18n "admin.badges.icon_help"}}</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="image">{{i18n 'admin.badges.image'}}</label>
|
||||
<label for="image">{{i18n "admin.badges.image"}}</label>
|
||||
{{input type="text" name="image" value=buffered.image}}
|
||||
<p class='help'>{{i18n 'admin.badges.image_help'}}</p>
|
||||
<p class="help">{{i18n "admin.badges.image_help"}}</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="badge_type_id">{{i18n 'admin.badges.badge_type'}}</label>
|
||||
<label for="badge_type_id">{{i18n "admin.badges.badge_type"}}</label>
|
||||
{{combo-box
|
||||
name="badge_type_id"
|
||||
value=buffered.badge_type_id
|
||||
|
@ -41,7 +41,7 @@
|
|||
</div>
|
||||
|
||||
<div>
|
||||
<label for="badge_grouping_id">{{i18n 'admin.badges.badge_grouping'}}</label>
|
||||
<label for="badge_grouping_id">{{i18n "admin.badges.badge_grouping"}}</label>
|
||||
|
||||
<div class="badge-grouping-control">
|
||||
{{combo-box
|
||||
|
@ -61,7 +61,7 @@
|
|||
</div>
|
||||
|
||||
<div>
|
||||
<label for="description">{{i18n 'admin.badges.description'}}</label>
|
||||
<label for="description">{{i18n "admin.badges.description"}}</label>
|
||||
{{#if buffered.system}}
|
||||
{{textarea name="description" value=buffered.description disabled=true}}
|
||||
{{else}}
|
||||
|
@ -70,7 +70,7 @@
|
|||
</div>
|
||||
|
||||
<div>
|
||||
<label for="long_description">{{i18n 'admin.badges.long_description'}}</label>
|
||||
<label for="long_description">{{i18n "admin.badges.long_description"}}</label>
|
||||
{{#if buffered.system}}
|
||||
{{textarea name="long_description" value=buffered.long_description disabled=true}}
|
||||
{{else}}
|
||||
|
@ -80,34 +80,34 @@
|
|||
|
||||
{{#if siteSettings.enable_badge_sql}}
|
||||
<div>
|
||||
<label for="query">{{i18n 'admin.badges.query'}}</label>
|
||||
<label for="query">{{i18n "admin.badges.query"}}</label>
|
||||
{{ace-editor content=buffered.query mode="sql" disabled=readOnly}}
|
||||
</div>
|
||||
|
||||
{{#if hasQuery}}
|
||||
<a href {{action "preview" buffered "false"}}>{{i18n 'admin.badges.preview.link_text'}}</a>
|
||||
<a href {{action "preview" buffered "false"}}>{{i18n "admin.badges.preview.link_text"}}</a>
|
||||
|
|
||||
<a href {{action "preview" buffered "true"}}>{{i18n 'admin.badges.preview.plan_text'}}</a>
|
||||
<a href {{action "preview" buffered "true"}}>{{i18n "admin.badges.preview.plan_text"}}</a>
|
||||
{{#if preview_loading}}
|
||||
{{i18n 'loading'}}...
|
||||
{{i18n "loading"}}...
|
||||
{{/if}}
|
||||
|
||||
<div>
|
||||
<label>
|
||||
{{input type="checkbox" checked=buffered.auto_revoke disabled=readOnly}}
|
||||
{{i18n 'admin.badges.auto_revoke'}}
|
||||
{{i18n "admin.badges.auto_revoke"}}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>
|
||||
{{input type="checkbox" checked=buffered.target_posts disabled=readOnly}}
|
||||
{{i18n 'admin.badges.target_posts'}}
|
||||
{{i18n "admin.badges.target_posts"}}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="trigger">{{i18n 'admin.badges.trigger'}}</label>
|
||||
<label for="trigger">{{i18n "admin.badges.trigger"}}</label>
|
||||
{{combo-box
|
||||
name="trigger"
|
||||
value=buffered.trigger
|
||||
|
@ -122,46 +122,46 @@
|
|||
<div>
|
||||
<label>
|
||||
{{input type="checkbox" checked=buffered.allow_title}}
|
||||
{{i18n 'admin.badges.allow_title'}}
|
||||
{{i18n "admin.badges.allow_title"}}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>
|
||||
{{input type="checkbox" checked=buffered.multiple_grant disabled=readOnly}}
|
||||
{{i18n 'admin.badges.multiple_grant'}}
|
||||
{{i18n "admin.badges.multiple_grant"}}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>
|
||||
{{input type="checkbox" checked=buffered.listable disabled=readOnly}}
|
||||
{{i18n 'admin.badges.listable'}}
|
||||
{{i18n "admin.badges.listable"}}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>
|
||||
{{input type="checkbox" checked=buffered.show_posts disabled=readOnly}}
|
||||
{{i18n 'admin.badges.show_posts'}}
|
||||
{{i18n "admin.badges.show_posts"}}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>
|
||||
{{input type="checkbox" checked=buffered.enabled}}
|
||||
{{i18n 'admin.badges.enabled'}}
|
||||
{{i18n "admin.badges.enabled"}}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class='buttons'>
|
||||
<div class="buttons">
|
||||
{{d-button
|
||||
class="btn-primary"
|
||||
action=(action "save")
|
||||
type="submit"
|
||||
disabled=saving
|
||||
label="admin.badges.save"}}
|
||||
<span class='saving'>{{savingStatus}}</span>
|
||||
<span class="saving">{{savingStatus}}</span>
|
||||
{{#unless readOnly}}
|
||||
{{d-button
|
||||
action=(action "destroy")
|
||||
|
@ -176,7 +176,7 @@
|
|||
{{#if grant_count}}
|
||||
<div class="content-body current-badge-actions">
|
||||
<div>
|
||||
{{#link-to 'badges.show' this}}{{i18n 'badges.granted' count=grant_count}}{{/link-to}}
|
||||
{{#link-to "badges.show" this}}{{i18n "badges.granted" count=grant_count}}{{/link-to}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<div class="badges">
|
||||
<div class="badges-header">
|
||||
<h3 class="badges-heading">{{i18n 'admin.badges.title'}}</h3>
|
||||
<h3 class="badges-heading">{{i18n "admin.badges.title"}}</h3>
|
||||
<div class="create-new-badge">
|
||||
{{#link-to 'adminBadges.show' 'new' class="btn btn-primary"}}
|
||||
{{#link-to "adminBadges.show" "new" class="btn btn-primary"}}
|
||||
{{d-icon "plus"}}
|
||||
<span>{{i18n 'admin.badges.new'}}</span>
|
||||
<span>{{i18n "admin.badges.new"}}</span>
|
||||
{{/link-to}}
|
||||
|
||||
{{#link-to 'adminBadges.award' 'new' class="btn"}}
|
||||
{{#link-to "adminBadges.award" "new" class="btn"}}
|
||||
{{d-icon "upload"}}
|
||||
<span>{{i18n 'admin.badges.mass_award.title'}}</span>
|
||||
<span>{{i18n "admin.badges.mass_award.title"}}</span>
|
||||
{{/link-to}}
|
||||
</div>
|
||||
</div>
|
||||
<div class='content-list'>
|
||||
<div class="content-list">
|
||||
<ul class="admin-badge-list">
|
||||
{{#each model as |badge|}}
|
||||
<li class="admin-badge-list-item">
|
||||
{{#link-to selectedRoute badge.id}}
|
||||
{{badge-button badge=badge}}
|
||||
{{#if badge.newBadge}}
|
||||
<span class="list-badge">{{i18n 'filters.new.lower_title'}}</span>
|
||||
<span class="list-badge">{{i18n "filters.new.lower_title"}}</span>
|
||||
{{/if}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
|
|
|
@ -1 +1 @@
|
|||
<div class='ace'>{{content}}</div>
|
||||
<div class="ace">{{content}}</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class='field'>{{i18n name}}</div>
|
||||
<div class='value'>
|
||||
<div class="field">{{i18n name}}</div>
|
||||
<div class="value">
|
||||
{{#if editing}}
|
||||
{{text-field value=buffer autofocus="autofocus" autocomplete="discourse"}}
|
||||
{{else}}
|
||||
|
@ -8,10 +8,10 @@
|
|||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class='controls'>
|
||||
<div class="controls">
|
||||
{{#if editing}}
|
||||
{{d-button class="btn-default" action=(action "save") label="admin.user_fields.save"}}
|
||||
<a href {{action "edit"}}>{{i18n 'cancel'}}</a>
|
||||
<a href {{action "edit"}}>{{i18n "cancel"}}</a>
|
||||
{{else}}
|
||||
{{d-button class="btn-default" action=(action "edit") icon="pencil-alt"}}
|
||||
{{/if}}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<div class='form-element label-area'>
|
||||
<div class="form-element label-area">
|
||||
{{#if label}}
|
||||
<label>{{i18n label}}</label>
|
||||
{{else}}
|
||||
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class='form-element input-area'>
|
||||
<div class="form-element input-area">
|
||||
{{#if wrapLabel}}
|
||||
<label>{{yield}}</label>
|
||||
{{else}}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class='admin-controls'>
|
||||
<div class="admin-controls">
|
||||
<nav>
|
||||
<ul class="nav nav-pills">
|
||||
{{yield}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{{#if showBackupStats}}
|
||||
<div class="backups">
|
||||
<h3 class="storage-stats-title">
|
||||
<a href={{get-url '/admin/backups'}}>{{d-icon "archive"}} {{i18n "admin.dashboard.backups"}}</a>
|
||||
<a href={{get-url "/admin/backups"}}>{{d-icon "archive"}} {{i18n "admin.dashboard.backups"}}</a>
|
||||
</h3>
|
||||
<p>
|
||||
{{#if backupStats.free_bytes}}
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
{{#if showTotalForSample}}
|
||||
<tr class="total-row">
|
||||
<td colspan={{totalsForSample.length}}>
|
||||
{{i18n 'admin.dashboard.reports.totals_for_sample'}}
|
||||
{{i18n "admin.dashboard.reports.totals_for_sample"}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="admin-report-table-row">
|
||||
|
@ -40,7 +40,7 @@
|
|||
{{#if showTotal}}
|
||||
<tr class="total-row">
|
||||
<td colspan="2">
|
||||
{{i18n 'admin.dashboard.reports.total'}}
|
||||
{{i18n "admin.dashboard.reports.total"}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="admin-report-table-row">
|
||||
|
@ -52,7 +52,7 @@
|
|||
{{#if showAverage}}
|
||||
<tr class="total-row">
|
||||
<td colspan="2">
|
||||
{{i18n 'admin.dashboard.reports.average_for_sample'}}
|
||||
{{i18n "admin.dashboard.reports.average_for_sample"}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="admin-report-table-row">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<td class="title">{{report.title}}</td>
|
||||
<td class="value">{{#link-to 'adminUsersList.show' 'newuser'}}{{number (value-at-tl report.data level="0")}}{{/link-to}}</td>
|
||||
<td class="value">{{#link-to 'adminUsersList.show' 'basic'}}{{number (value-at-tl report.data level="1")}}{{/link-to}}</td>
|
||||
<td class="value">{{#link-to 'adminUsersList.show' 'member'}}{{number (value-at-tl report.data level="2")}}{{/link-to}}</td>
|
||||
<td class="value">{{#link-to 'adminUsersList.show' 'regular'}}{{number (value-at-tl report.data level="3")}}{{/link-to}}</td>
|
||||
<td class="value">{{#link-to 'adminUsersList.show' 'leader'}}{{number (value-at-tl report.data level="4")}}{{/link-to}}</td>
|
||||
<td class="value">{{#link-to "adminUsersList.show" "newuser"}}{{number (value-at-tl report.data level="0")}}{{/link-to}}</td>
|
||||
<td class="value">{{#link-to "adminUsersList.show" "basic"}}{{number (value-at-tl report.data level="1")}}{{/link-to}}</td>
|
||||
<td class="value">{{#link-to "adminUsersList.show" "member"}}{{number (value-at-tl report.data level="2")}}{{/link-to}}</td>
|
||||
<td class="value">{{#link-to "adminUsersList.show" "regular"}}{{number (value-at-tl report.data level="3")}}{{/link-to}}</td>
|
||||
<td class="value">{{#link-to "adminUsersList.show" "leader"}}{{number (value-at-tl report.data level="4")}}{{/link-to}}</td>
|
||||
|
|
|
@ -132,7 +132,7 @@
|
|||
{{#if showDatesOptions}}
|
||||
<div class="control">
|
||||
<span class="label">
|
||||
{{i18n 'admin.dashboard.reports.start_date'}}
|
||||
{{i18n "admin.dashboard.reports.start_date"}}
|
||||
</span>
|
||||
|
||||
<div class="input">
|
||||
|
@ -145,7 +145,7 @@
|
|||
|
||||
<div class="control">
|
||||
<span class="label">
|
||||
{{i18n 'admin.dashboard.reports.end_date'}}
|
||||
{{i18n "admin.dashboard.reports.end_date"}}
|
||||
</span>
|
||||
|
||||
<div class="input">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class='edit-main-nav admin-controls'>
|
||||
<div class="edit-main-nav admin-controls">
|
||||
<nav>
|
||||
<ul class='nav nav-pills target'>
|
||||
<ul class="nav nav-pills target">
|
||||
{{#each visibleTargets as |target|}}
|
||||
<li>
|
||||
{{#link-to editRouteName
|
||||
|
@ -9,11 +9,11 @@
|
|||
fieldName
|
||||
replace=true
|
||||
title=field.title
|
||||
class=(if target.edited 'edited' 'blank')
|
||||
class=(if target.edited "edited" "blank")
|
||||
}}
|
||||
{{#if target.error}}{{d-icon 'exclamation-triangle'}}{{/if}}
|
||||
{{#if target.error}}{{d-icon "exclamation-triangle"}}{{/if}}
|
||||
{{#if target.icon}}{{d-icon target.icon}}{{/if}}
|
||||
{{i18n (concat 'admin.customize.theme.' target.name)}}
|
||||
{{i18n (concat "admin.customize.theme." target.name)}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
{{/each}}
|
||||
|
@ -21,9 +21,9 @@
|
|||
{{#if allowAdvanced}}
|
||||
<li>
|
||||
<a {{action "toggleShowAdvanced"}}
|
||||
class='no-text'
|
||||
href
|
||||
title={{i18n (concat "admin.customize.theme." (if showAdvanced "hide_advanced" "show_advanced"))}}>
|
||||
title={{i18n (concat "admin.customize.theme." (if showAdvanced "hide_advanced" "show_advanced"))}}
|
||||
class="no-text">
|
||||
{{d-icon (if showAdvanced "angle-double-left" "angle-double-right")}}
|
||||
</a>
|
||||
</li>
|
||||
|
@ -32,16 +32,16 @@
|
|||
<li>
|
||||
<label>
|
||||
{{input type="checkbox" checked=onlyOverridden click=(action "onlyOverriddenChanged" value="target.checked")}}
|
||||
{{i18n 'admin.customize.theme.hide_unused_fields'}}
|
||||
{{i18n "admin.customize.theme.hide_unused_fields"}}
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class='admin-controls'>
|
||||
<div class="admin-controls">
|
||||
<nav>
|
||||
<ul class='nav nav-pills fields'>
|
||||
<ul class="nav nav-pills fields">
|
||||
{{#each visibleFields as |field|}}
|
||||
<li>
|
||||
{{#link-to editRouteName
|
||||
|
@ -50,9 +50,9 @@
|
|||
field.name
|
||||
replace=true
|
||||
title=field.title
|
||||
class=(if field.edited 'edited' 'blank')
|
||||
class=(if field.edited "edited" "blank")
|
||||
}}
|
||||
{{#if field.error}}{{d-icon 'exclamation-triangle'}}{{/if}}
|
||||
{{#if field.error}}{{d-icon "exclamation-triangle"}}{{/if}}
|
||||
{{#if field.icon}}{{d-icon field.icon}}{{/if}}
|
||||
{{field.translatedName}}
|
||||
{{/link-to}}
|
||||
|
@ -62,7 +62,7 @@
|
|||
{{#if showAddField}}
|
||||
<li>
|
||||
{{#if addingField}}
|
||||
{{input type=text value=newFieldName enter=(action 'addField') escape-press=(action "cancelAddField")}}
|
||||
{{input type=text value=newFieldName enter=(action "addField") escape-press=(action "cancelAddField")}}
|
||||
{{d-button class="ok" action=(action "addField" newFieldName) icon="check"}}
|
||||
{{d-button class="cancel" action=(action "cancelAddField") icon="times"}}
|
||||
{{else}}
|
||||
|
@ -73,7 +73,7 @@
|
|||
</li>
|
||||
{{/if}}
|
||||
|
||||
<li class='spacer'></li>
|
||||
<li class="spacer"></li>
|
||||
<li>
|
||||
<a href {{action "toggleMaximize"}} class="no-text">
|
||||
{{d-icon maximizeIcon}}
|
||||
|
@ -84,7 +84,7 @@
|
|||
</div>
|
||||
|
||||
{{#if error}}
|
||||
<pre class='field-error'>{{error}}</pre>
|
||||
<pre class="field-error">{{error}}</pre>
|
||||
{{/if}}
|
||||
|
||||
{{ace-editor content=activeSection editorId=editorId mode=activeSectionMode autofocus="true"}}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div class="section-title">
|
||||
<h2>
|
||||
{{d-icon "heart"}}
|
||||
{{i18n 'admin.dashboard.problems_found'}}
|
||||
{{i18n "admin.dashboard.problems_found"}}
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
|
||||
<p class="actions">
|
||||
{{d-button action=refreshProblems class="btn-default" icon="sync" label="admin.dashboard.refresh_problems"}}
|
||||
{{i18n 'admin.dashboard.last_checked'}}: {{problemsTimestamp}}
|
||||
{{i18n "admin.dashboard.last_checked"}}: {{problemsTimestamp}}
|
||||
</p>
|
||||
{{/conditional-loading-section}}
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<div class='row'>
|
||||
<div class='admin-controls'>
|
||||
<div class="row">
|
||||
<div class="admin-controls">
|
||||
<nav>
|
||||
<ul class='nav nav-pills'>
|
||||
<li>{{#link-to 'adminCustomizeEmailStyle.edit' 'html' replace=true}}{{i18n 'admin.customize.email_style.html'}}{{/link-to}}</li>
|
||||
<li>{{#link-to 'adminCustomizeEmailStyle.edit' 'css' replace=true}}{{i18n 'admin.customize.email_style.css'}}{{/link-to}}</li>
|
||||
<ul class="nav nav-pills">
|
||||
<li>{{#link-to "adminCustomizeEmailStyle.edit" "html" replace=true}}{{i18n "admin.customize.email_style.html"}}{{/link-to}}</li>
|
||||
<li>{{#link-to "adminCustomizeEmailStyle.edit" "css" replace=true}}{{i18n "admin.customize.email_style.css"}}{{/link-to}}</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
@ -11,10 +11,10 @@
|
|||
|
||||
{{ace-editor content=editorContents mode=currentEditorMode editorId=editorId}}
|
||||
|
||||
<div class='admin-footer'>
|
||||
<div class='buttons'>
|
||||
{{#d-button action=(action "reset") disabled=resetDisabled class='btn-default'}}
|
||||
{{i18n 'admin.customize.email_style.reset'}}
|
||||
<div class="admin-footer">
|
||||
<div class="buttons">
|
||||
{{#d-button action=(action "reset") disabled=resetDisabled class="btn-default"}}
|
||||
{{i18n "admin.customize.email_style.reset"}}
|
||||
{{/d-button}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -30,6 +30,6 @@
|
|||
<td><div class="label">{{i18n "admin.embedding.category"}}</div>{{category-badge host.category}}</td>
|
||||
<td class="controls">
|
||||
{{d-button icon="pencil-alt" action=(action "edit")}}
|
||||
{{d-button icon="far-trash-alt" action=(action "delete") class='btn-danger'}}
|
||||
{{d-button icon="far-trash-alt" action=(action "delete") class="btn-danger"}}
|
||||
</td>
|
||||
{{/if}}
|
||||
|
|
|
@ -8,4 +8,4 @@
|
|||
{{input value=value id=inputId placeholder=placeholder}}
|
||||
{{/if}}
|
||||
|
||||
<div class='clearfix'></div>
|
||||
<div class="clearfix"></div>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<div class='flagged-by'>
|
||||
<div class='user-list-title'>
|
||||
<div class="flagged-by">
|
||||
<div class="user-list-title">
|
||||
{{i18n "admin.flags.flagged_by"}}
|
||||
</div>
|
||||
<div class='flag-users'>
|
||||
<div class="flag-users">
|
||||
{{#each flaggedPost.post_actions as |postAction|}}
|
||||
{{#flag-user user=postAction.user date=postAction.created_at}}
|
||||
<div class='flagger-flag-type'>
|
||||
<div class="flagger-flag-type">
|
||||
{{post-action-title postAction.post_action_type_id postAction.name_key}}
|
||||
</div>
|
||||
{{user-flag-percentage
|
||||
|
@ -18,11 +18,11 @@
|
|||
</div>
|
||||
|
||||
{{#if showResolvedBy}}
|
||||
<div class='flagged-post-resolved-by'>
|
||||
<div class='user-list-title'>
|
||||
<div class="flagged-post-resolved-by">
|
||||
<div class="user-list-title">
|
||||
{{i18n "admin.flags.resolved_by"}}
|
||||
</div>
|
||||
<div class='flag-users'>
|
||||
<div class="flag-users">
|
||||
{{#each flaggedPost.post_actions as |postAction|}}
|
||||
{{#flag-user user=postAction.disposed_by date=postAction.disposed_at}}
|
||||
{{disposition-icon postAction.disposition}}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
<div class='flag-user'>
|
||||
{{#link-to 'adminUser' user.id user.username class='flag-user-avatar'}}
|
||||
<div class="flag-user">
|
||||
{{#link-to "adminUser" user.id user.username class="flag-user-avatar"}}
|
||||
{{avatar user imageSize="small"}}
|
||||
{{/link-to}}
|
||||
<div class='flag-user-details'>
|
||||
<div class='flag-user-who'>
|
||||
{{#link-to 'adminUser' user.id user.username class="flag-user-username"}}
|
||||
<div class="flag-user-details">
|
||||
<div class="flag-user-who">
|
||||
{{#link-to "adminUser" user.id user.username class="flag-user-username"}}
|
||||
{{user.username}}
|
||||
{{/link-to}}
|
||||
<div class='flag-user-date' title={{raw-date date}}>
|
||||
<div title={{raw-date date}} class="flag-user-date">
|
||||
{{format-age date}}
|
||||
</div>
|
||||
</div>
|
||||
<div class='flag-user-extra'>
|
||||
<div class="flag-user-extra">
|
||||
{{yield}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<label class='checkbox-label'>
|
||||
<label class="checkbox-label">
|
||||
{{input type="checkbox" disabled=disabled checked=checkedInternal}}
|
||||
{{label}}
|
||||
</label>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{{radio-button name="install-items" id=value value=value selection=selection}}
|
||||
<label class="radio" for={{value}}>
|
||||
{{#if showIcon}}
|
||||
{{d-icon 'plus'}}
|
||||
{{d-icon "plus"}}
|
||||
{{/if}}
|
||||
{{i18n label}}
|
||||
</label>
|
||||
{{d-icon 'caret-right'}}
|
||||
{{d-icon "caret-right"}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class='penalty-post-controls'>
|
||||
<div class="penalty-post-controls">
|
||||
<label>
|
||||
<div class='penalty-post-label'>
|
||||
{{html-safe (i18n 'admin.user.penalty_post_actions')}}
|
||||
<div class="penalty-post-label">
|
||||
{{html-safe (i18n "admin.user.penalty_post_actions")}}
|
||||
</div>
|
||||
</label>
|
||||
{{combo-box
|
||||
|
@ -12,7 +12,7 @@
|
|||
</div>
|
||||
|
||||
{{#if editing}}
|
||||
<div class='penalty-post-edit'>
|
||||
<div class="penalty-post-edit">
|
||||
{{textarea
|
||||
value=postEdit
|
||||
class="post-editor"}}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{{uploadingIcon}}
|
||||
<span class='ru-label'>{{text}}</span>
|
||||
<span class='ru-progress' style={{progressBar}}></span>
|
||||
<span class="ru-label">{{text}}</span>
|
||||
<span style={{progressBar}} class="ru-progress"></span>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<b>{{i18n 'admin.logs.screened_ips.form.label'}}</b>
|
||||
<b>{{i18n "admin.logs.screened_ips.form.label"}}</b>
|
||||
{{text-field value=ip_address disabled=formSubmitted class="ip-address-input" placeholderKey="admin.logs.screened_ips.form.ip_address" autocorrect="off" autocapitalize="off"}}
|
||||
|
||||
{{combo-box
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="validation-error {{unless message 'hidden'}}">
|
||||
<div class="validation-error {{unless message "hidden"}}">
|
||||
{{d-icon "times"}}
|
||||
{{message}}
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class='reason-controls'>
|
||||
<div class="reason-controls">
|
||||
<label>
|
||||
<div class='silence-reason-label'>
|
||||
{{html-safe (i18n 'admin.user.silence_reason_label')}}
|
||||
<div class="silence-reason-label">
|
||||
{{html-safe (i18n "admin.user.silence_reason_label")}}
|
||||
</div>
|
||||
</label>
|
||||
{{text-field
|
||||
|
@ -12,7 +12,7 @@
|
|||
</div>
|
||||
|
||||
<label>
|
||||
<div class='silence-message-label'>
|
||||
<div class="silence-message-label">
|
||||
{{i18n "admin.user.silence_message"}}
|
||||
</div>
|
||||
</label>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<section class="field">
|
||||
<b>{{i18n 'admin.customize.enabled'}}</b>: {{change.enabled}}
|
||||
<b>{{i18n "admin.customize.enabled"}}</b>: {{change.enabled}}
|
||||
</section>
|
||||
|
||||
{{site-customization-change-field field=change.stylesheet name="admin.customize.css"}}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{#if field}}
|
||||
<section class="field">
|
||||
<b>{{i18n name}}</b>: ({{i18n 'character_count' count=field.length}})
|
||||
<b>{{i18n name}}</b>: ({{i18n "character_count" count=field.length}})
|
||||
<br>
|
||||
{{textarea value=field class="plain"}}
|
||||
</section>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<div class='setting-label'>
|
||||
<div class="setting-label">
|
||||
<h3>{{settingName}}</h3>
|
||||
{{#if defaultIsAvailable}}
|
||||
<a href onClick={{action 'setDefaultValues'}}>{{setting.setDefaultValuesLabel}}</a>
|
||||
<a href onClick={{action "setDefaultValues"}}>{{setting.setDefaultValuesLabel}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="setting-value">
|
||||
{{component componentName setting=setting value=buffered.value validationMessage=validationMessage preview=preview isSecret=isSecret allowAny=allowAny}}
|
||||
</div>
|
||||
{{#if dirty}}
|
||||
<div class='setting-controls'>
|
||||
<div class="setting-controls">
|
||||
{{d-button class="ok" action=(action "update") icon="check"}}
|
||||
{{d-button class="cancel" action=(action "cancel") icon="times"}}
|
||||
</div>
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
onChange=(action "onChangeSelectedCategories")
|
||||
}}
|
||||
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
|
|
|
@ -4,4 +4,4 @@
|
|||
onChange=(action (mut value))
|
||||
}}
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -8,4 +8,4 @@
|
|||
}}
|
||||
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -14,6 +14,6 @@
|
|||
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
|
||||
<div class='desc'>
|
||||
<div class="desc">
|
||||
{{html-safe setting.description}}
|
||||
</div>
|
||||
|
|
|
@ -7,4 +7,4 @@
|
|||
onChange=(action "onChangeGroupListSetting")
|
||||
}}
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{{value-list values=value addKey="admin.site_settings.add_host"}}
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{{value-list values=value inputDelimiter="|" choices=setting.choices}}
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{{secret-value-list setting=setting values=value isSecret=isSecret}}
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -7,4 +7,4 @@
|
|||
{{/if}}
|
||||
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{{tag-chooser tags=selectedTags allowCreate=false}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
{{site-settings-image-uploader imageUrl=value placeholderUrl=setting.placeholder type="site_setting"}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
{{d-button label="admin.site_settings.uploaded_image_list.label" action=(action "showUploadModal") actionParam=(hash value=value setting=setting)}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{{value-list values=value addKey="admin.site_settings.add_url"}}
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{{value-list values=value}}
|
||||
{{setting-validation-message message=validationMessage}}
|
||||
<div class='desc'>{{html-safe setting.description}}</div>
|
||||
<div class="desc">{{html-safe setting.description}}</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{{d-button label="admin.site_text.edit" class='btn-default edit' action=editAction actionParam=siteText}}
|
||||
<h3 class='site-text-id'>{{siteText.id}}</h3>
|
||||
<div class='site-text-value'>{{siteText.value}}</div>
|
||||
{{d-button label="admin.site_text.edit" class="btn-default edit" action=editAction actionParam=siteText}}
|
||||
<h3 class="site-text-id">{{siteText.id}}</h3>
|
||||
<div class="site-text-value">{{siteText.value}}</div>
|
||||
|
||||
<div class='clearfix'></div>
|
||||
<div class="clearfix"></div>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<div class='reason-controls'>
|
||||
<div class="reason-controls">
|
||||
<label>
|
||||
<div class='suspend-reason-label'>
|
||||
<div class="suspend-reason-label">
|
||||
{{#if siteSettings.hide_suspension_reasons}}
|
||||
{{html-safe (i18n 'admin.user.suspend_reason_hidden_label')}}
|
||||
{{html-safe (i18n "admin.user.suspend_reason_hidden_label")}}
|
||||
{{else}}
|
||||
{{html-safe (i18n 'admin.user.suspend_reason_label')}}
|
||||
{{html-safe (i18n "admin.user.suspend_reason_label")}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</label>
|
||||
|
@ -15,7 +15,7 @@
|
|||
</div>
|
||||
|
||||
<label>
|
||||
<div class='suspend-message-label'>
|
||||
<div class="suspend-message-label">
|
||||
{{i18n "admin.user.suspend_message"}}
|
||||
</div>
|
||||
</label>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<label class="btn {{if addDisabled 'disabled'}}">
|
||||
<label class="btn {{if addDisabled "disabled"}}">
|
||||
{{d-icon "upload"}}
|
||||
{{i18n 'admin.watched_words.form.upload'}}
|
||||
{{i18n "admin.watched_words.form.upload"}}
|
||||
<input class="hidden-upload-field" disabled={{addDisabled}} type="file" accept="text/plain,text/csv">
|
||||
</label>
|
||||
<span class="instructions">{{i18n 'tagging.upload_instructions'}}</span>
|
||||
<span class="instructions">{{i18n "tagging.upload_instructions"}}</span>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="inner-wrapper">
|
||||
{{plugin-outlet name="admin-customize-themes-list-item" connectorTagName='span' args=(hash theme=theme)}}
|
||||
{{plugin-outlet name="admin-customize-themes-list-item" connectorTagName="span" args=(hash theme=theme)}}
|
||||
|
||||
<div class="info">
|
||||
<span class="name">
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
{{d-button
|
||||
action=(action "changeView")
|
||||
actionParam=THEMES
|
||||
class=(concat "themes-tab " "tab " (if themesTabActive 'btn-danger active' ''))
|
||||
class=(concat "themes-tab " "tab " (if themesTabActive "btn-danger active" ""))
|
||||
label="admin.customize.theme.title"
|
||||
}}
|
||||
{{d-button
|
||||
action=(action "changeView")
|
||||
actionParam=COMPONENTS
|
||||
class=(concat "components-tab " "tab " (if componentsTabActive 'btn-danger active' ''))
|
||||
class=(concat "components-tab " "tab " (if componentsTabActive "btn-danger active" ""))
|
||||
label="admin.customize.theme.components"
|
||||
icon="puzzle-piece"
|
||||
}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{{#if collection}}
|
||||
<div class='values'>
|
||||
<div class="values">
|
||||
{{#each collection as |value index|}}
|
||||
<div class='value' data-index={{index}}>
|
||||
<div data-index={{index}} class="value">
|
||||
{{d-button
|
||||
action=(action "removeValue")
|
||||
actionParam=value
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<b>{{i18n 'admin.watched_words.form.label'}}</b>
|
||||
<b>{{i18n "admin.watched_words.form.label"}}</b>
|
||||
{{text-field value=word disabled=formSubmitted class="watched-word-input" autocorrect="off" autocapitalize="off" placeholderKey=placeholderKey}}
|
||||
{{d-button class="btn-default" action=(action "submit") disabled=formSubmitted label="admin.watched_words.form.add"}}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<label class="btn btn-default {{if addDisabled 'disabled'}}">
|
||||
<label class="btn btn-default {{if addDisabled "disabled"}}">
|
||||
{{d-icon "upload"}}
|
||||
{{i18n 'admin.watched_words.form.upload'}}
|
||||
{{i18n "admin.watched_words.form.upload"}}
|
||||
<input class="hidden-upload-field" disabled={{addDisabled}} type="file" accept="text/plain">
|
||||
</label>
|
||||
<span class="instructions">{{i18n 'admin.watched_words.one_word_per_line'}}</span>
|
||||
<span class="instructions">{{i18n "admin.watched_words.one_word_per_line"}}</span>
|
||||
|
|
|
@ -1 +1 @@
|
|||
<p class="about">{{i18n 'admin.customize.colors.about'}}</p>
|
||||
<p class="about">{{i18n "admin.customize.colors.about"}}</p>
|
||||
|
|
|
@ -33,16 +33,16 @@
|
|||
label="admin.customize.delete"
|
||||
}}
|
||||
{{/if}}
|
||||
<span class="saving {{unless model.savingStatus 'hidden'}}">{{model.savingStatus}}</span>
|
||||
<span class="saving {{unless model.savingStatus "hidden"}}">{{model.savingStatus}}</span>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class='admin-controls'>
|
||||
<div class='search controls'>
|
||||
<div class="admin-controls">
|
||||
<div class="search controls">
|
||||
<label>
|
||||
{{input type="checkbox" checked=onlyOverridden}}
|
||||
{{i18n 'admin.settings.show_overriden'}}
|
||||
{{i18n "admin.settings.show_overriden"}}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -52,13 +52,13 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th class="hex">{{i18n 'admin.customize.color'}}</th>
|
||||
<th class="hex">{{i18n "admin.customize.color"}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each colors as |c|}}
|
||||
<tr class="{{if c.changed 'changed'}} {{if c.valid 'valid' 'invalid'}}">
|
||||
<tr class="{{if c.changed "changed"}} {{if c.valid "valid" "invalid"}}">
|
||||
<td class="name" title={{c.name}}>
|
||||
<h3>{{c.translatedName}}</h3>
|
||||
<p class="description">{{c.description}}</p>
|
||||
|
@ -83,7 +83,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
{{else}}
|
||||
<p>{{i18n 'search.no_results'}}</p>
|
||||
<p>{{i18n "search.no_results"}}</p>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{{email-styles-editor styles=model fieldName=fieldName}}
|
||||
|
||||
<div class='admin-footer'>
|
||||
<div class='buttons'>
|
||||
{{#d-button action=(action "save") disabled=saveDisabled class='btn-primary'}}
|
||||
<div class="admin-footer">
|
||||
<div class="buttons">
|
||||
{{#d-button action=(action "save") disabled=saveDisabled class="btn-primary"}}
|
||||
{{saveButtonText}}
|
||||
{{/d-button}}
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class='row'>
|
||||
<h2>{{i18n 'admin.customize.email_style.heading'}}</h2>
|
||||
<div class="row">
|
||||
<h2>{{i18n "admin.customize.email_style.heading"}}</h2>
|
||||
|
||||
<p>{{i18n 'admin.customize.email_style.instructions'}}</p>
|
||||
<p>{{i18n "admin.customize.email_style.instructions"}}</p>
|
||||
</div>
|
||||
|
||||
{{outlet}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class='email-template'>
|
||||
<div class="email-template">
|
||||
<label>{{i18n "admin.customize.email_templates.subject"}}</label>
|
||||
{{#if hasMultipleSubjects}}
|
||||
<h3>{{#link-to 'adminSiteText' (query-params q=hasMultipleSubjects)}}{{i18n "admin.customize.email_templates.multiple_subjects"}}{{/link-to}}</h3>
|
||||
<h3>{{#link-to "adminSiteText" (query-params q=hasMultipleSubjects)}}{{i18n "admin.customize.email_templates.multiple_subjects"}}{{/link-to}}</h3>
|
||||
{{else}}
|
||||
{{input value=buffered.subject}}
|
||||
{{/if}}
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
<div class="current-style {{if maximized 'maximized'}}">
|
||||
<div class='wrapper'>
|
||||
<h2>{{i18n 'admin.customize.theme.edit_css_html'}} {{#link-to showRouteName model.id replace=true}}{{model.name}}{{/link-to}}</h2>
|
||||
<div class="current-style {{if maximized "maximized"}}">
|
||||
<div class="wrapper">
|
||||
<h2>{{i18n "admin.customize.theme.edit_css_html"}} {{#link-to showRouteName model.id replace=true}}{{model.name}}{{/link-to}}</h2>
|
||||
|
||||
{{admin-theme-editor
|
||||
theme=model
|
||||
editRouteName=editRouteName
|
||||
currentTargetName=currentTargetName
|
||||
fieldName=fieldName
|
||||
fieldAdded=(action 'fieldAdded')
|
||||
fieldAdded=(action "fieldAdded")
|
||||
maximized=maximized
|
||||
onlyOverriddenChanged=(action 'onlyOverriddenChanged')
|
||||
onlyOverriddenChanged=(action "onlyOverriddenChanged")
|
||||
}}
|
||||
|
||||
<div class='admin-footer'>
|
||||
<div class='status-actions'>
|
||||
<div class="admin-footer">
|
||||
<div class="status-actions">
|
||||
{{#unless model.changed}}
|
||||
<a class='preview-link' href={{previewUrl}} rel="noopener" target='_blank' title={{i18n 'admin.customize.explain_preview'}}>
|
||||
{{i18n 'admin.customize.preview'}}
|
||||
<a href={{previewUrl}} rel="noopener" title={{i18n "admin.customize.explain_preview"}} class="preview-link" target="_blank">
|
||||
{{i18n "admin.customize.preview"}}
|
||||
</a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
|
||||
<div class='buttons'>
|
||||
{{#d-button action=(action "save") disabled=saveDisabled class='btn-primary'}}
|
||||
<div class="buttons">
|
||||
{{#d-button action=(action "save") disabled=saveDisabled class="btn-primary"}}
|
||||
{{saveButtonText}}
|
||||
{{/d-button}}
|
||||
</div>
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
{{i18n "admin.customize.theme.disabled"}}
|
||||
{{/if}}
|
||||
{{d-button
|
||||
class='btn-default'
|
||||
class="btn-default"
|
||||
action=(action "enableComponent")
|
||||
icon="check"
|
||||
label="admin.customize.theme.enable"}}
|
||||
|
@ -97,31 +97,31 @@
|
|||
{{/if}}
|
||||
|
||||
{{#if model.remote_theme.commits_behind}}
|
||||
{{#d-button action=(action "updateToLatest") icon="download" class='btn-primary'}}{{i18n "admin.customize.theme.update_to_latest"}}{{/d-button}}
|
||||
{{#d-button action=(action "updateToLatest") icon="download" class="btn-primary"}}{{i18n "admin.customize.theme.update_to_latest"}}{{/d-button}}
|
||||
{{else}}
|
||||
{{#d-button action=(action "checkForThemeUpdates") icon="sync" class="btn-default"}}{{i18n "admin.customize.theme.check_for_updates"}}{{/d-button}}
|
||||
{{/if}}
|
||||
|
||||
<span class='status-message'>
|
||||
<span class="status-message">
|
||||
{{#if updatingRemote}}
|
||||
{{i18n 'admin.customize.theme.updating'}}
|
||||
{{i18n "admin.customize.theme.updating"}}
|
||||
{{else}}
|
||||
{{#if model.remote_theme.commits_behind}}
|
||||
{{i18n 'admin.customize.theme.commits_behind' count=model.remote_theme.commits_behind}}
|
||||
{{i18n "admin.customize.theme.commits_behind" count=model.remote_theme.commits_behind}}
|
||||
{{#if model.remote_theme.github_diff_link}}
|
||||
<a href={{model.remote_theme.github_diff_link}}>
|
||||
{{i18n 'admin.customize.theme.compare_commits'}}
|
||||
{{i18n "admin.customize.theme.compare_commits"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{#unless showRemoteError}}
|
||||
{{i18n 'admin.customize.theme.up_to_date'}} {{format-date model.remote_theme.updated_at leaveAgo="true"}}
|
||||
{{i18n "admin.customize.theme.up_to_date"}} {{format-date model.remote_theme.updated_at leaveAgo="true"}}
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</span>
|
||||
{{else}}
|
||||
<span class='status-message'>
|
||||
<span class="status-message">
|
||||
{{d-icon "info-circle"}} {{i18n "admin.customize.theme.imported_from_archive"}}
|
||||
</span>
|
||||
{{/if}}
|
||||
|
@ -159,7 +159,7 @@
|
|||
<div class="mini-title">{{i18n "admin.customize.theme.component_of"}}</div>
|
||||
<ul>
|
||||
{{#each parentThemes as |theme|}}
|
||||
<li>{{#link-to 'adminCustomizeThemes.show' theme replace=true}}{{theme.name}}{{/link-to}}</li>
|
||||
<li>{{#link-to "adminCustomizeThemes.show" theme replace=true}}{{theme.name}}{{/link-to}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -203,11 +203,11 @@
|
|||
<div class="control-unit">
|
||||
<div class="mini-title">{{i18n "admin.customize.theme.uploads"}}</div>
|
||||
{{#if model.uploads}}
|
||||
<ul class='removable-list'>
|
||||
<ul class="removable-list">
|
||||
{{#each model.uploads as |upload|}}
|
||||
<li>
|
||||
<span class='col'>${{upload.name}}: <a href={{upload.url}} rel="noopener" target='_blank'>{{upload.filename}}</a></span>
|
||||
<span class='col'>
|
||||
<span class="col">${{upload.name}}: <a href={{upload.url}} rel="noopener" target="_blank">{{upload.filename}}</a></span>
|
||||
<span class="col">
|
||||
{{d-button action=(action "removeUpload") actionParam=upload class="second btn-default btn-default cancel-edit" icon="times"}}
|
||||
</span>
|
||||
</li>
|
||||
|
@ -241,21 +241,21 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
<a href={{previewUrl}} title={{i18n 'admin.customize.explain_preview'}} rel="noopener" target='_blank' class='btn btn-default'>{{d-icon 'desktop'}}{{i18n 'admin.customize.theme.preview'}}</a>
|
||||
<a class="btn btn-default export" rel="noopener" target="_blank" href={{downloadUrl}}>{{d-icon "download"}} {{i18n 'admin.export_json.button_text'}}</a>
|
||||
<a href={{previewUrl}} title={{i18n "admin.customize.explain_preview"}} rel="noopener" target="_blank" class="btn btn-default">{{d-icon "desktop"}}{{i18n "admin.customize.theme.preview"}}</a>
|
||||
<a class="btn btn-default export" rel="noopener" target="_blank" href={{downloadUrl}}>{{d-icon "download"}} {{i18n "admin.export_json.button_text"}}</a>
|
||||
|
||||
{{d-button action=(action "switchType") label="admin.customize.theme.convert" icon=convertIcon class="btn-default btn-normal" title=convertTooltip}}
|
||||
|
||||
{{#if model.component}}
|
||||
{{#if model.enabled}}
|
||||
{{d-button
|
||||
class='btn-default'
|
||||
class="btn-default"
|
||||
action=(action "disableComponent")
|
||||
icon="ban"
|
||||
label="admin.customize.theme.disable"}}
|
||||
{{else}}
|
||||
{{d-button
|
||||
class='btn-default'
|
||||
class="btn-default"
|
||||
action=(action "enableComponent")
|
||||
icon="check"
|
||||
label="admin.customize.theme.enable"}}
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{{#admin-nav}}
|
||||
{{nav-item route='adminCustomizeThemes' label='admin.customize.theme.title'}}
|
||||
{{nav-item route='adminCustomize.colors' label='admin.customize.colors.title'}}
|
||||
{{nav-item route='adminSiteText' label='admin.site_text.title'}}
|
||||
{{nav-item route='adminCustomizeEmailTemplates' label='admin.customize.email_templates.title'}}
|
||||
{{nav-item route='adminCustomizeEmailStyle' label='admin.customize.email_style.title'}}
|
||||
{{nav-item route='adminUserFields' label='admin.user_fields.title'}}
|
||||
{{nav-item route='adminEmojis' label='admin.emoji.title'}}
|
||||
{{nav-item route='adminPermalinks' label='admin.permalink.title'}}
|
||||
{{nav-item route='adminEmbedding' label='admin.embedding.title'}}
|
||||
{{nav-item route="adminCustomizeThemes" label="admin.customize.theme.title"}}
|
||||
{{nav-item route="adminCustomize.colors" label="admin.customize.colors.title"}}
|
||||
{{nav-item route="adminSiteText" label="admin.site_text.title"}}
|
||||
{{nav-item route="adminCustomizeEmailTemplates" label="admin.customize.email_templates.title"}}
|
||||
{{nav-item route="adminCustomizeEmailStyle" label="admin.customize.email_style.title"}}
|
||||
{{nav-item route="adminUserFields" label="admin.user_fields.title"}}
|
||||
{{nav-item route="adminEmojis" label="admin.emoji.title"}}
|
||||
{{nav-item route="adminPermalinks" label="admin.permalink.title"}}
|
||||
{{nav-item route="adminEmbedding" label="admin.embedding.title"}}
|
||||
{{/admin-nav}}
|
||||
|
||||
<div class="admin-container">
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<div class="period-section">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<a href={{get-url '/admin/dashboard/reports'}}>
|
||||
<a href={{get-url "/admin/dashboard/reports"}}>
|
||||
{{i18n "admin.dashboard.community_health"}}
|
||||
</a>
|
||||
</h2>
|
||||
|
@ -76,10 +76,10 @@
|
|||
<div class="counters-list">
|
||||
<div class="counters-header">
|
||||
<div class="counters-cell"></div>
|
||||
<div class="counters-cell">{{i18n 'admin.dashboard.reports.today'}}</div>
|
||||
<div class="counters-cell">{{i18n 'admin.dashboard.reports.yesterday'}}</div>
|
||||
<div class="counters-cell">{{i18n 'admin.dashboard.reports.last_7_days'}}</div>
|
||||
<div class="counters-cell">{{i18n 'admin.dashboard.reports.last_30_days'}}</div>
|
||||
<div class="counters-cell">{{i18n "admin.dashboard.reports.today"}}</div>
|
||||
<div class="counters-cell">{{i18n "admin.dashboard.reports.yesterday"}}</div>
|
||||
<div class="counters-cell">{{i18n "admin.dashboard.reports.last_7_days"}}</div>
|
||||
<div class="counters-cell">{{i18n "admin.dashboard.reports.last_30_days"}}</div>
|
||||
</div>
|
||||
|
||||
{{#each activityMetrics as |metric|}}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div class="moderators-activity section">
|
||||
<div class="section-title">
|
||||
<h2>
|
||||
<a href={{get-url '/admin/reports/moderators_activity'}}>
|
||||
<a href={{get-url "/admin/reports/moderators_activity"}}>
|
||||
{{i18n "admin.dashboard.moderators_activity"}}
|
||||
</a>
|
||||
</h2>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<ul class="reports-list">
|
||||
{{#each filterReports as |report|}}
|
||||
<li class="report">
|
||||
{{#link-to 'adminReports.show' report.type}}
|
||||
{{#link-to "adminReports.show" report.type}}
|
||||
<h3 class="report-title">{{report.title}}</h3>
|
||||
{{#if report.description}}
|
||||
<p class="report-description">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<p>{{i18n 'admin.email.advanced_test.desc'}}</p>
|
||||
<p>{{i18n "admin.email.advanced_test.desc"}}</p>
|
||||
|
||||
<div class='email-advanced-test'>
|
||||
<label for="email">{{i18n 'admin.email.advanced_test.email'}}</label>
|
||||
<div class="email-advanced-test">
|
||||
<label for="email">{{i18n "admin.email.advanced_test.email"}}</label>
|
||||
{{textarea name="email" value=email class="email-body"}}
|
||||
{{d-button
|
||||
action=(action "run")
|
||||
|
@ -13,12 +13,12 @@
|
|||
{{#if format}}
|
||||
<hr>
|
||||
<div class="text">
|
||||
<h3>{{i18n 'admin.email.advanced_test.text'}}</h3>
|
||||
<h3>{{i18n "admin.email.advanced_test.text"}}</h3>
|
||||
<pre class="full-reason">{{html-safe text}}</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="elided">
|
||||
<h3>{{i18n 'admin.email.advanced_test.elided'}}</h3>
|
||||
<h3>{{i18n "admin.email.advanced_test.elided"}}</h3>
|
||||
<pre class="full-reason">{{html-safe elided}}</pre>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{{#load-more selector=".email-list tr" action=(action "loadMore")}}
|
||||
<table class='table email-list'>
|
||||
<table class="table email-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{i18n 'admin.email.time'}}</th>
|
||||
<th>{{i18n 'admin.email.user'}}</th>
|
||||
<th>{{i18n 'admin.email.to_address'}}</th>
|
||||
<th>{{i18n 'admin.email.email_type'}}</th>
|
||||
<th>{{i18n "admin.email.time"}}</th>
|
||||
<th>{{i18n "admin.email.user"}}</th>
|
||||
<th>{{i18n "admin.email.to_address"}}</th>
|
||||
<th>{{i18n "admin.email.email_type"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="filters">
|
||||
<td>{{i18n 'admin.email.logs.filters.title'}}</td>
|
||||
<td>{{i18n "admin.email.logs.filters.title"}}</td>
|
||||
<td>{{text-field value=filter.user placeholderKey="admin.email.logs.filters.user_placeholder"}}</td>
|
||||
<td>{{text-field value=filter.address placeholderKey="admin.email.logs.filters.address_placeholder"}}</td>
|
||||
<td>{{text-field value=filter.type placeholderKey="admin.email.logs.filters.type_placeholder"}}</td>
|
||||
|
@ -21,13 +21,13 @@
|
|||
<td>{{format-date l.created_at}}</td>
|
||||
<td>
|
||||
{{#if l.user}}
|
||||
{{#link-to 'adminUser' l.user}}{{avatar l.user imageSize="tiny"}}{{/link-to}}
|
||||
{{#link-to 'adminUser' l.user}}{{l.user.username}}{{/link-to}}
|
||||
{{#link-to "adminUser" l.user}}{{avatar l.user imageSize="tiny"}}{{/link-to}}
|
||||
{{#link-to "adminUser" l.user}}{{l.user.username}}{{/link-to}}
|
||||
{{else}}
|
||||
—
|
||||
{{/if}}
|
||||
</td>
|
||||
<td><a href='mailto:{{l.to_address}}'>{{l.to_address}}</a></td>
|
||||
<td><a href="mailto:{{l.to_address}}">{{l.to_address}}</a></td>
|
||||
{{#if l.has_bounce_key}}
|
||||
<td><a href {{action "showIncomingEmail" l.id}}>{{l.email_type}}</a></td>
|
||||
{{else}}
|
||||
|
@ -36,7 +36,7 @@
|
|||
</tr>
|
||||
{{else}}
|
||||
{{#unless loading}}
|
||||
<tr><td colspan="4">{{i18n 'admin.email.logs.none'}}</td></tr>
|
||||
<tr><td colspan="4">{{i18n "admin.email.logs.none"}}</td></tr>
|
||||
{{/unless}}
|
||||
{{/each}}
|
||||
</tbody>
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>{{i18n 'admin.email.delivery_method'}}</th>
|
||||
<th>{{i18n "admin.email.delivery_method"}}</th>
|
||||
<td>{{delivery_method}}</td>
|
||||
</tr>
|
||||
|
||||
{{#each model.settings as |s|}}
|
||||
<tr>
|
||||
<th style='width: 25%'>{{s.name}}</th>
|
||||
<th style="width: 25%">{{s.name}}</th>
|
||||
<td>{{s.value}}</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
|
@ -15,21 +15,21 @@
|
|||
</table>
|
||||
|
||||
<form>
|
||||
<div class='admin-controls'>
|
||||
<div class="admin-controls">
|
||||
{{#if sendingEmail}}
|
||||
<div class='controls'>{{i18n 'admin.email.sending_test'}}</div>
|
||||
<div class="controls">{{i18n "admin.email.sending_test"}}</div>
|
||||
{{else}}
|
||||
<div class='controls'>
|
||||
<div class="controls">
|
||||
{{text-field value=testEmailAddress placeholderKey="admin.email.test_email_address"}}
|
||||
</div>
|
||||
<div class='controls'>
|
||||
<div class="controls">
|
||||
{{d-button
|
||||
class="btn-primary"
|
||||
action=(action "sendTestEmail")
|
||||
disabled=sendTestEmailDisabled
|
||||
label="admin.email.send_test"
|
||||
type="submit"}}
|
||||
{{#if sentTestEmailMessage}}<span class='result-message'>{{sentTestEmailMessage}}</span>{{/if}}
|
||||
{{#if sentTestEmailMessage}}<span class="result-message">{{sentTestEmailMessage}}</span>{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<p>{{i18n 'admin.email.preview_digest_desc'}}</p>
|
||||
<p>{{i18n "admin.email.preview_digest_desc"}}</p>
|
||||
|
||||
<div class='admin-controls email-preview'>
|
||||
<div class='controls'>
|
||||
<label for='last-seen'>{{i18n 'admin.email.last_seen_user'}}</label>
|
||||
<div class="admin-controls email-preview">
|
||||
<div class="controls">
|
||||
<label for="last-seen">{{i18n "admin.email.last_seen_user"}}</label>
|
||||
{{date-picker-past value=lastSeen id="last-seen"}}
|
||||
<label>{{i18n 'admin.email.user'}}:</label>
|
||||
<label>{{i18n "admin.email.user"}}:</label>
|
||||
{{user-selector single="true" usernames=username canReceiveUpdates=true}}
|
||||
{{d-button
|
||||
class="btn-primary digest-refresh-button"
|
||||
action=(action "refresh")
|
||||
label="admin.email.refresh"}}
|
||||
<div class="toggle">
|
||||
<label>{{i18n 'admin.email.format'}}</label>
|
||||
<label>{{i18n "admin.email.format"}}</label>
|
||||
{{#if showHtml}}
|
||||
<span>{{i18n 'admin.email.html'}}</span>
|
||||
<span>{{i18n "admin.email.html"}}</span>
|
||||
|
|
||||
<a href {{action "toggleShowHtml"}}>
|
||||
{{i18n 'admin.email.text'}}
|
||||
{{i18n "admin.email.text"}}
|
||||
</a>
|
||||
{{else}}
|
||||
<a href {{action "toggleShowHtml"}}>{{i18n 'admin.email.html'}}</a> |
|
||||
<span>{{i18n 'admin.email.text'}}</span>
|
||||
<a href {{action "toggleShowHtml"}}>{{i18n "admin.email.html"}}</a> |
|
||||
<span>{{i18n "admin.email.text"}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -32,9 +32,9 @@
|
|||
{{#if showSendEmailForm}}
|
||||
<div class="controls">
|
||||
{{#if sendingEmail}}
|
||||
{{i18n 'admin.email.sending_test'}}
|
||||
{{i18n "admin.email.sending_test"}}
|
||||
{{else}}
|
||||
<label>{{i18n 'admin.email.send_digest_label'}}</label>
|
||||
<label>{{i18n "admin.email.send_digest_label"}}</label>
|
||||
{{text-field value=email placeholderKey="admin.email.test_email_address"}}
|
||||
{{d-button
|
||||
class="btn-default"
|
||||
|
@ -42,7 +42,7 @@
|
|||
disabled=sendEmailDisabled
|
||||
label="admin.email.send_digest"}}
|
||||
{{#if sentEmail}}
|
||||
<span class='result-message'>{{i18n 'admin.email.sent_test'}}</span>
|
||||
<span class="result-message">{{i18n "admin.email.sent_test"}}</span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
@ -51,9 +51,9 @@
|
|||
<div class="preview-output">
|
||||
{{#if showHtml}}
|
||||
{{#if htmlEmpty}}
|
||||
<p>{{i18n 'admin.email.no_result'}}</p>
|
||||
<p>{{i18n "admin.email.no_result"}}</p>
|
||||
{{else}}
|
||||
<iframe title={{i18n 'admin.email.html_preview'}} srcdoc={{model.html_content}} />
|
||||
<iframe title={{i18n "admin.email.html_preview"}} srcdoc={{model.html_content}} />
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<pre>{{html-safe model.text_content}}</pre>
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{{#load-more selector=".email-list tr" action=(action "loadMore")}}
|
||||
<table class='table email-list'>
|
||||
<table class="table email-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{i18n 'admin.email.time'}}</th>
|
||||
<th>{{i18n 'admin.email.incoming_emails.from_address'}}</th>
|
||||
<th>{{i18n 'admin.email.incoming_emails.to_addresses'}}</th>
|
||||
<th>{{i18n 'admin.email.incoming_emails.subject'}}</th>
|
||||
<th>{{i18n "admin.email.time"}}</th>
|
||||
<th>{{i18n "admin.email.incoming_emails.from_address"}}</th>
|
||||
<th>{{i18n "admin.email.incoming_emails.to_addresses"}}</th>
|
||||
<th>{{i18n "admin.email.incoming_emails.subject"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr class="filters">
|
||||
<td>{{i18n 'admin.email.logs.filters.title'}}</td>
|
||||
<td>{{i18n "admin.email.logs.filters.title"}}</td>
|
||||
<td>{{text-field value=filter.from placeholderKey="admin.email.incoming_emails.filters.from_placeholder"}}</td>
|
||||
<td>{{text-field value=filter.to placeholderKey="admin.email.incoming_emails.filters.to_placeholder"}}</td>
|
||||
<td>{{text-field value=filter.subject placeholderKey="admin.email.incoming_emails.filters.subject_placeholder"}}</td>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<td class="username">
|
||||
<div>
|
||||
{{#if email.user}}
|
||||
{{#link-to 'adminUser' email.user}}
|
||||
{{#link-to "adminUser" email.user}}
|
||||
{{avatar email.user imageSize="tiny"}}
|
||||
{{email.from_address}}
|
||||
{{/link-to}}
|
||||
|
@ -49,7 +49,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
{{else}}
|
||||
<tr><td colspan="4">{{i18n 'admin.email.incoming_emails.none'}}</td></tr>
|
||||
<tr><td colspan="4">{{i18n "admin.email.incoming_emails.none"}}</td></tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
{{#load-more selector=".email-list tr" action=(action "loadMore")}}
|
||||
<table class='table email-list'>
|
||||
<table class="table email-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{i18n 'admin.email.time'}}</th>
|
||||
<th>{{i18n 'admin.email.incoming_emails.from_address'}}</th>
|
||||
<th>{{i18n 'admin.email.incoming_emails.to_addresses'}}</th>
|
||||
<th>{{i18n 'admin.email.incoming_emails.subject'}}</th>
|
||||
<th>{{i18n 'admin.email.incoming_emails.error'}}</th>
|
||||
<th>{{i18n "admin.email.time"}}</th>
|
||||
<th>{{i18n "admin.email.incoming_emails.from_address"}}</th>
|
||||
<th>{{i18n "admin.email.incoming_emails.to_addresses"}}</th>
|
||||
<th>{{i18n "admin.email.incoming_emails.subject"}}</th>
|
||||
<th>{{i18n "admin.email.incoming_emails.error"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr class="filters">
|
||||
<td>{{i18n 'admin.email.logs.filters.title'}}</td>
|
||||
<td>{{i18n "admin.email.logs.filters.title"}}</td>
|
||||
<td>{{text-field value=filter.from placeholderKey="admin.email.incoming_emails.filters.from_placeholder"}}</td>
|
||||
<td>{{text-field value=filter.to placeholderKey="admin.email.incoming_emails.filters.to_placeholder"}}</td>
|
||||
<td>{{text-field value=filter.subject placeholderKey="admin.email.incoming_emails.filters.subject_placeholder"}}</td>
|
||||
|
@ -25,13 +25,13 @@
|
|||
<td class="username">
|
||||
<div>
|
||||
{{#if email.user}}
|
||||
{{#link-to 'adminUser' email.user}}
|
||||
{{#link-to "adminUser" email.user}}
|
||||
{{avatar email.user imageSize="tiny"}}
|
||||
{{email.from_address}}
|
||||
{{/link-to}}
|
||||
{{else}}
|
||||
{{#if email.from_address}}
|
||||
<a href='mailto:{{email.from_address}}'>{{email.from_address}}</a>
|
||||
<a href="mailto:{{email.from_address}}">{{email.from_address}}</a>
|
||||
{{else}}
|
||||
—
|
||||
{{/if}}
|
||||
|
@ -52,7 +52,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
{{else}}
|
||||
<tr><td colspan="5">{{i18n 'admin.email.incoming_emails.none'}}</td></tr>
|
||||
<tr><td colspan="5">{{i18n "admin.email.incoming_emails.none"}}</td></tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{{#load-more selector=".email-list tr" action=(action "loadMore")}}
|
||||
<table class='table email-list'>
|
||||
<table class="table email-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{i18n 'admin.email.sent_at'}}</th>
|
||||
<th>{{i18n 'admin.email.user'}}</th>
|
||||
<th>{{i18n 'admin.email.to_address'}}</th>
|
||||
<th>{{i18n 'admin.email.email_type'}}</th>
|
||||
<th>{{i18n 'admin.email.reply_key'}}</th>
|
||||
<th>{{i18n "admin.email.sent_at"}}</th>
|
||||
<th>{{i18n "admin.email.user"}}</th>
|
||||
<th>{{i18n "admin.email.to_address"}}</th>
|
||||
<th>{{i18n "admin.email.email_type"}}</th>
|
||||
<th>{{i18n "admin.email.reply_key"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="filters">
|
||||
<td>{{i18n 'admin.email.logs.filters.title'}}</td>
|
||||
<td>{{i18n "admin.email.logs.filters.title"}}</td>
|
||||
<td>{{text-field value=filter.user placeholderKey="admin.email.logs.filters.user_placeholder"}}</td>
|
||||
<td>{{text-field value=filter.address placeholderKey="admin.email.logs.filters.address_placeholder"}}</td>
|
||||
<td>{{text-field value=filter.type placeholderKey="admin.email.logs.filters.type_placeholder"}}</td>
|
||||
|
@ -23,29 +23,29 @@
|
|||
<td>{{format-date l.created_at}}</td>
|
||||
<td>
|
||||
{{#if l.user}}
|
||||
{{#link-to 'adminUser' l.user}}{{avatar l.user imageSize="tiny"}}{{/link-to}}
|
||||
{{#link-to 'adminUser' l.user}}{{l.user.username}}{{/link-to}}
|
||||
{{#link-to "adminUser" l.user}}{{avatar l.user imageSize="tiny"}}{{/link-to}}
|
||||
{{#link-to "adminUser" l.user}}{{l.user.username}}{{/link-to}}
|
||||
{{else}}
|
||||
—
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{#if l.bounced}}{{d-icon "redo" title="admin.email.bounced"}}{{/if}}
|
||||
<a href='mailto:{{l.to_address}}'>{{l.to_address}}</a>
|
||||
<a href="mailto:{{l.to_address}}">{{l.to_address}}</a>
|
||||
</td>
|
||||
<td>{{l.email_type}}</td>
|
||||
<td class='post-link'>
|
||||
<td class="post-link">
|
||||
{{#if l.post_url}}
|
||||
<a href={{l.post_url}}>{{l.post_description}}</a>
|
||||
<span class='reply-key'>{{l.reply_key}}</span>
|
||||
<span class="reply-key">{{l.reply_key}}</span>
|
||||
{{else}}
|
||||
<span class='reply-key'>{{l.reply_key}}</span>
|
||||
<span class="reply-key">{{l.reply_key}}</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
</tr>
|
||||
{{else}}
|
||||
{{#unless loading}}
|
||||
<tr><td colspan="5">{{i18n 'admin.email.logs.none'}}</td></tr>
|
||||
<tr><td colspan="5">{{i18n "admin.email.logs.none"}}</td></tr>
|
||||
{{/unless}}
|
||||
{{/each}}
|
||||
</tbody>
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{{#load-more selector=".email-list tr" action=(action "loadMore")}}
|
||||
<table class='table email-list'>
|
||||
<table class="table email-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{i18n 'admin.email.time'}}</th>
|
||||
<th>{{i18n 'admin.email.user'}}</th>
|
||||
<th>{{i18n 'admin.email.to_address'}}</th>
|
||||
<th>{{i18n 'admin.email.email_type'}}</th>
|
||||
<th>{{i18n 'admin.email.skipped_reason'}}</th>
|
||||
<th>{{i18n "admin.email.time"}}</th>
|
||||
<th>{{i18n "admin.email.user"}}</th>
|
||||
<th>{{i18n "admin.email.to_address"}}</th>
|
||||
<th>{{i18n "admin.email.email_type"}}</th>
|
||||
<th>{{i18n "admin.email.skipped_reason"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="filters">
|
||||
<td>{{i18n 'admin.email.logs.filters.title'}}</td>
|
||||
<td>{{i18n "admin.email.logs.filters.title"}}</td>
|
||||
<td>{{text-field value=filter.user placeholderKey="admin.email.logs.filters.user_placeholder"}}</td>
|
||||
<td>{{text-field value=filter.address placeholderKey="admin.email.logs.filters.address_placeholder"}}</td>
|
||||
<td>{{text-field value=filter.type placeholderKey="admin.email.logs.filters.type_placeholder"}}</td>
|
||||
|
@ -23,13 +23,13 @@
|
|||
<td>{{format-date l.created_at}}</td>
|
||||
<td>
|
||||
{{#if l.user}}
|
||||
{{#link-to 'adminUser' l.user}}{{avatar l.user imageSize="tiny"}}{{/link-to}}
|
||||
{{#link-to 'adminUser' l.user}}{{l.user.username}}{{/link-to}}
|
||||
{{#link-to "adminUser" l.user}}{{avatar l.user imageSize="tiny"}}{{/link-to}}
|
||||
{{#link-to "adminUser" l.user}}{{l.user.username}}{{/link-to}}
|
||||
{{else}}
|
||||
—
|
||||
{{/if}}
|
||||
</td>
|
||||
<td><a href='mailto:{{l.to_address}}'>{{l.to_address}}</a></td>
|
||||
<td><a href="mailto:{{l.to_address}}">{{l.to_address}}</a></td>
|
||||
<td>{{l.email_type}}</td>
|
||||
<td>
|
||||
{{#if l.post_url}}
|
||||
|
@ -41,7 +41,7 @@
|
|||
</tr>
|
||||
{{else}}
|
||||
{{#unless loading}}
|
||||
<tr><td colspan="5">{{i18n 'admin.email.logs.none'}}</td></tr>
|
||||
<tr><td colspan="5">{{i18n "admin.email.logs.none"}}</td></tr>
|
||||
{{/unless}}
|
||||
{{/each}}
|
||||
</tbody>
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{{#admin-nav}}
|
||||
{{nav-item route='adminEmail.index' label='admin.email.settings'}}
|
||||
{{nav-item route='adminEmail.previewDigest' label='admin.email.preview_digest'}}
|
||||
{{nav-item route='adminEmail.advancedTest' label='admin.email.advanced_test.title'}}
|
||||
{{nav-item route='adminCustomizeEmailTemplates' label='admin.email.templates'}}
|
||||
{{nav-item route='adminEmail.sent' label='admin.email.sent'}}
|
||||
{{nav-item route='adminEmail.skipped' label='admin.email.skipped'}}
|
||||
{{nav-item route='adminEmail.bounced' label='admin.email.bounced'}}
|
||||
{{nav-item route='adminEmail.received' label='admin.email.received'}}
|
||||
{{nav-item route='adminEmail.rejected' label='admin.email.rejected'}}
|
||||
{{nav-item route="adminEmail.index" label="admin.email.settings"}}
|
||||
{{nav-item route="adminEmail.previewDigest" label="admin.email.preview_digest"}}
|
||||
{{nav-item route="adminEmail.advancedTest" label="admin.email.advanced_test.title"}}
|
||||
{{nav-item route="adminCustomizeEmailTemplates" label="admin.email.templates"}}
|
||||
{{nav-item route="adminEmail.sent" label="admin.email.sent"}}
|
||||
{{nav-item route="adminEmail.skipped" label="admin.email.skipped"}}
|
||||
{{nav-item route="adminEmail.bounced" label="admin.email.bounced"}}
|
||||
{{nav-item route="adminEmail.received" label="admin.email.received"}}
|
||||
{{nav-item route="adminEmail.rejected" label="admin.email.rejected"}}
|
||||
{{/admin-nav}}
|
||||
|
||||
<div class="admin-container">
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<div class='embeddable-hosts'>
|
||||
<div class="embeddable-hosts">
|
||||
{{#if embedding.embeddable_hosts}}
|
||||
<table class='embedding grid'>
|
||||
<table class="embedding grid">
|
||||
<thead>
|
||||
<th style='width: 25%'>{{i18n "admin.embedding.host"}}</th>
|
||||
<th style='width: 15%'>{{i18n "admin.embedding.class_name"}}</th>
|
||||
<th style='width: 25%'>{{i18n "admin.embedding.path_whitelist"}}</th>
|
||||
<th style='width: 25%'>{{i18n "admin.embedding.category"}}</th>
|
||||
<th style='width: 10%'> </th>
|
||||
<th style="width: 25%">{{i18n "admin.embedding.host"}}</th>
|
||||
<th style="width: 15%">{{i18n "admin.embedding.class_name"}}</th>
|
||||
<th style="width: 25%">{{i18n "admin.embedding.path_whitelist"}}</th>
|
||||
<th style="width: 25%">{{i18n "admin.embedding.category"}}</th>
|
||||
<th style="width: 10%"> </th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each embedding.embeddable_hosts as |host|}}
|
||||
|
@ -22,14 +22,14 @@
|
|||
</div>
|
||||
|
||||
{{#if showSecondary}}
|
||||
<div class='embedding-secondary'>
|
||||
<div class="embedding-secondary">
|
||||
<p>{{html-safe (i18n "admin.embedding.sample")}}</p>
|
||||
{{highlighted-code code=embeddingCode lang="html"}}
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class='embedding-secondary'>
|
||||
<div class="embedding-secondary">
|
||||
<h3>{{i18n "admin.embedding.settings"}}</h3>
|
||||
|
||||
{{embedding-setting field="embed_by_username" value=embedding.embed_by_username}}
|
||||
|
@ -41,7 +41,7 @@
|
|||
{{embedding-setting field="embed_unlisted" value=embedding.embed_unlisted type="checkbox"}}
|
||||
</div>
|
||||
|
||||
<div class='embedding-secondary'>
|
||||
<div class="embedding-secondary">
|
||||
<h3>{{i18n "admin.embedding.crawling_settings"}}</h3>
|
||||
<p class="description">{{i18n "admin.embedding.crawling_description"}}</p>
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
|||
placeholder="emoji, classname"}}
|
||||
</div>
|
||||
|
||||
<div class='embedding-secondary'>
|
||||
<div class="embedding-secondary">
|
||||
{{d-button label="admin.embedding.save"
|
||||
action=(action "saveChanges")
|
||||
class="btn-primary embed-save"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class='admin-emojis'>
|
||||
<h1>{{i18n 'admin.emoji.title'}}</h1>
|
||||
<div class="admin-emojis">
|
||||
<h1>{{i18n "admin.emoji.title"}}</h1>
|
||||
|
||||
<p class="desc">{{i18n "admin.emoji.help"}}</p>
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{{#admin-nav}}
|
||||
{{nav-item route='adminLogs.staffActionLogs' label='admin.logs.staff_actions.title'}}
|
||||
{{nav-item route='adminLogs.screenedEmails' label='admin.logs.screened_emails.title'}}
|
||||
{{nav-item route='adminLogs.screenedIpAddresses' label='admin.logs.screened_ips.title'}}
|
||||
{{nav-item route='adminLogs.screenedUrls' label='admin.logs.screened_urls.title'}}
|
||||
{{nav-item route='adminWatchedWords' label='admin.watched_words.title'}}
|
||||
{{nav-item route='adminSearchLogs' label='admin.logs.search_logs.title'}}
|
||||
{{nav-item route="adminLogs.staffActionLogs" label="admin.logs.staff_actions.title"}}
|
||||
{{nav-item route="adminLogs.screenedEmails" label="admin.logs.screened_emails.title"}}
|
||||
{{nav-item route="adminLogs.screenedIpAddresses" label="admin.logs.screened_ips.title"}}
|
||||
{{nav-item route="adminLogs.screenedUrls" label="admin.logs.screened_urls.title"}}
|
||||
{{nav-item route="adminWatchedWords" label="admin.watched_words.title"}}
|
||||
{{nav-item route="adminSearchLogs" label="admin.logs.search_logs.title"}}
|
||||
{{#if currentUser.admin}}
|
||||
{{nav-item path='/logs' label='admin.logs.logster.title'}}
|
||||
{{nav-item path="/logs" label="admin.logs.logster.title"}}
|
||||
{{/if}}
|
||||
{{/admin-nav}}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<p>
|
||||
{{i18n 'admin.logs.screened_emails.description'}}
|
||||
{{i18n "admin.logs.screened_emails.description"}}
|
||||
</p>
|
||||
|
||||
{{d-button
|
||||
|
@ -14,14 +14,14 @@
|
|||
{{#conditional-loading-spinner condition=loading}}
|
||||
{{#if model.length}}
|
||||
|
||||
<table class='screened-emails grid'>
|
||||
<table class="screened-emails grid">
|
||||
<thead>
|
||||
<th class="first email">{{i18n 'admin.logs.screened_emails.email'}}</th>
|
||||
<th class="action">{{i18n 'admin.logs.action'}}</th>
|
||||
<th class="match_count">{{i18n 'admin.logs.match_count'}}</th>
|
||||
<th class="last_match_at">{{i18n 'admin.logs.last_match_at'}}</th>
|
||||
<th class="created_at">{{i18n 'admin.logs.created_at'}}</th>
|
||||
<th class="ip_address">{{i18n 'admin.logs.ip_address'}}</th>
|
||||
<th class="first email">{{i18n "admin.logs.screened_emails.email"}}</th>
|
||||
<th class="action">{{i18n "admin.logs.action"}}</th>
|
||||
<th class="match_count">{{i18n "admin.logs.match_count"}}</th>
|
||||
<th class="last_match_at">{{i18n "admin.logs.last_match_at"}}</th>
|
||||
<th class="created_at">{{i18n "admin.logs.created_at"}}</th>
|
||||
<th class="ip_address">{{i18n "admin.logs.ip_address"}}</th>
|
||||
<th class="action"></th>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -31,9 +31,9 @@
|
|||
<div class="overflow-ellipsis" title={{item.email}}>{{item.email}}</div>
|
||||
</td>
|
||||
<td class="action">{{item.actionName}}</td>
|
||||
<td class="match_count"><div class="label">{{i18n 'admin.logs.match_count'}}</div>{{item.match_count}}</td>
|
||||
<td class="last_match_at"><div class="label">{{i18n 'admin.logs.last_match_at'}}</div>{{age-with-tooltip item.last_match_at}}</td>
|
||||
<td class="created_at"><div class="label">{{i18n 'admin.logs.created_at'}}</div>{{age-with-tooltip item.created_at}}</td>
|
||||
<td class="match_count"><div class="label">{{i18n "admin.logs.match_count"}}</div>{{item.match_count}}</td>
|
||||
<td class="last_match_at"><div class="label">{{i18n "admin.logs.last_match_at"}}</div>{{age-with-tooltip item.last_match_at}}</td>
|
||||
<td class="created_at"><div class="label">{{i18n "admin.logs.created_at"}}</div>{{age-with-tooltip item.created_at}}</td>
|
||||
<td class="ip_address">{{item.ip_address}}</td>
|
||||
<td class="action">
|
||||
{{d-button action=(action "clearBlock") actionParam=item icon="check" label="admin.logs.screened_emails.actions.allow"}}
|
||||
|
@ -44,6 +44,6 @@
|
|||
</table>
|
||||
|
||||
{{else}}
|
||||
{{i18n 'search.no_results'}}
|
||||
{{i18n "search.no_results"}}
|
||||
{{/if}}
|
||||
{{/conditional-loading-spinner}}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<p>
|
||||
{{i18n 'admin.logs.screened_urls.description'}}
|
||||
{{i18n "admin.logs.screened_urls.description"}}
|
||||
</p>
|
||||
{{d-button
|
||||
class="btn-default"
|
||||
|
@ -11,13 +11,13 @@
|
|||
|
||||
{{#conditional-loading-spinner condition=loading}}
|
||||
{{#if model.length}}
|
||||
<table class='screened-urls grid'>
|
||||
<table class="screened-urls grid">
|
||||
<thead>
|
||||
<th class="first domain">{{i18n 'admin.logs.screened_urls.domain'}}</th>
|
||||
<th class="action">{{i18n 'admin.logs.action'}}</th>
|
||||
<th class="match_count">{{i18n 'admin.logs.match_count'}}</th>
|
||||
<th class="last_match_at">{{i18n 'admin.logs.last_match_at'}}</th>
|
||||
<th class="created_at">{{i18n 'admin.logs.created_at'}}</th>
|
||||
<th class="first domain">{{i18n "admin.logs.screened_urls.domain"}}</th>
|
||||
<th class="action">{{i18n "admin.logs.action"}}</th>
|
||||
<th class="match_count">{{i18n "admin.logs.match_count"}}</th>
|
||||
<th class="last_match_at">{{i18n "admin.logs.last_match_at"}}</th>
|
||||
<th class="created_at">{{i18n "admin.logs.created_at"}}</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each model as |url|}}
|
||||
|
@ -26,14 +26,14 @@
|
|||
<div class="overflow-ellipsis" title={{url.domain}}>{{url.domain}}</div>
|
||||
</td>
|
||||
<td class="col action">{{url.actionName}}</td>
|
||||
<td class="col match_count"><div class="label">{{i18n 'admin.logs.match_count'}}</div>{{url.match_count}}</td>
|
||||
<td class="col last_match_at"><div class="label">{{i18n 'admin.logs.last_match_at'}}</div>{{age-with-tooltip url.last_match_at}}</td>
|
||||
<td class="col created_at"><div class="label">{{i18n 'admin.logs.created_at'}}</div>{{age-with-tooltip url.created_at}}</td>
|
||||
<td class="col match_count"><div class="label">{{i18n "admin.logs.match_count"}}</div>{{url.match_count}}</td>
|
||||
<td class="col last_match_at"><div class="label">{{i18n "admin.logs.last_match_at"}}</div>{{age-with-tooltip url.last_match_at}}</td>
|
||||
<td class="col created_at"><div class="label">{{i18n "admin.logs.created_at"}}</div>{{age-with-tooltip url.created_at}}</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{else}}
|
||||
{{i18n 'search.no_results'}}
|
||||
{{i18n "search.no_results"}}
|
||||
{{/if}}
|
||||
{{/conditional-loading-spinner}}
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
<div class="staff-action-logs-controls">
|
||||
{{#if filtersExists}}
|
||||
<div class='staff-action-logs-filters'>
|
||||
<div class="staff-action-logs-filters">
|
||||
<a href {{action "clearAllFilters"}} class="clear-filters filter">
|
||||
<span class="label">{{i18n 'admin.logs.staff_actions.clear_filters'}}</span>
|
||||
<span class="label">{{i18n "admin.logs.staff_actions.clear_filters"}}</span>
|
||||
</a>
|
||||
{{#if actionFilter}}
|
||||
<a href {{action "clearFilter" "actionFilter"}} class="filter">
|
||||
<span class="label">{{i18n 'admin.logs.action'}}</span>: {{actionFilter}}
|
||||
<span class="label">{{i18n "admin.logs.action"}}</span>: {{actionFilter}}
|
||||
{{d-icon "times-circle"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if filters.acting_user}}
|
||||
<a href {{action "clearFilter" "acting_user"}} class="filter">
|
||||
<span class="label">{{i18n 'admin.logs.staff_actions.staff_user'}}</span>: {{filters.acting_user}}
|
||||
<span class="label">{{i18n "admin.logs.staff_actions.staff_user"}}</span>: {{filters.acting_user}}
|
||||
{{d-icon "times-circle"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if filters.target_user}}
|
||||
<a href {{action "clearFilter" "target_user"}} class="filter">
|
||||
<span class="label">{{i18n 'admin.logs.staff_actions.target_user'}}</span>: {{filters.target_user}}
|
||||
<span class="label">{{i18n "admin.logs.staff_actions.target_user"}}</span>: {{filters.target_user}}
|
||||
{{d-icon "times-circle"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if filters.subject}}
|
||||
<a href {{action "clearFilter" "subject"}} class="filter">
|
||||
<span class="label">{{i18n 'admin.logs.staff_actions.subject'}}</span>: {{filters.subject}}
|
||||
<span class="label">{{i18n "admin.logs.staff_actions.subject"}}</span>: {{filters.subject}}
|
||||
{{d-icon "times-circle"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
|
@ -47,25 +47,25 @@
|
|||
{{#staff-actions}}
|
||||
{{#load-more selector=".staff-logs tr" action=(action "loadMore")}}
|
||||
{{#if model.content}}
|
||||
<table class='table staff-logs grid'>
|
||||
<table class="table staff-logs grid">
|
||||
<thead>
|
||||
<th>{{i18n 'admin.logs.staff_actions.staff_user'}}</th>
|
||||
<th>{{i18n 'admin.logs.action'}}</th>
|
||||
<th>{{i18n 'admin.logs.staff_actions.subject'}}</th>
|
||||
<th>{{i18n 'admin.logs.staff_actions.when'}}</th>
|
||||
<th>{{i18n 'admin.logs.staff_actions.details'}}</th>
|
||||
<th>{{i18n 'admin.logs.staff_actions.context'}}</th>
|
||||
<th>{{i18n "admin.logs.staff_actions.staff_user"}}</th>
|
||||
<th>{{i18n "admin.logs.action"}}</th>
|
||||
<th>{{i18n "admin.logs.staff_actions.subject"}}</th>
|
||||
<th>{{i18n "admin.logs.staff_actions.when"}}</th>
|
||||
<th>{{i18n "admin.logs.staff_actions.details"}}</th>
|
||||
<th>{{i18n "admin.logs.staff_actions.context"}}</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each model.content as |item|}}
|
||||
<tr class='admin-list-item'>
|
||||
<tr class="admin-list-item">
|
||||
<td class="staff-users">
|
||||
<div class="staff-user">
|
||||
{{#if item.acting_user}}
|
||||
{{#link-to 'adminUser' item.acting_user}}{{avatar item.acting_user imageSize="tiny"}}{{/link-to}}
|
||||
{{#link-to "adminUser" item.acting_user}}{{avatar item.acting_user imageSize="tiny"}}{{/link-to}}
|
||||
<a href {{action "filterByStaffUser" item.acting_user}}>{{item.acting_user.username}}</a>
|
||||
{{else}}
|
||||
<span class="deleted-user" title={{i18n 'admin.user.deleted'}}>
|
||||
<span class="deleted-user" title={{i18n "admin.user.deleted"}}>
|
||||
{{d-icon "far-trash-alt"}}
|
||||
</span>
|
||||
{{/if}}
|
||||
|
@ -77,7 +77,7 @@
|
|||
<td class="col value subject">
|
||||
<div class="subject">
|
||||
{{#if item.target_user}}
|
||||
{{#link-to 'adminUser' item.target_user}}{{avatar item.target_user imageSize="tiny"}}{{/link-to}}
|
||||
{{#link-to "adminUser" item.target_user}}{{avatar item.target_user imageSize="tiny"}}{{/link-to}}
|
||||
<a href {{action "filterByTargetUser" item.target_user}}>{{item.target_user.username}}</a>
|
||||
{{/if}}
|
||||
{{#if item.subject}}
|
||||
|
@ -90,10 +90,10 @@
|
|||
<div>
|
||||
{{html-safe item.formattedDetails}}
|
||||
{{#if item.useCustomModalForDetails}}
|
||||
<a href {{action "showCustomDetailsModal" item}}>{{d-icon "info-circle"}} {{i18n 'admin.logs.staff_actions.show'}}</a>
|
||||
<a href {{action "showCustomDetailsModal" item}}>{{d-icon "info-circle"}} {{i18n "admin.logs.staff_actions.show"}}</a>
|
||||
{{/if}}
|
||||
{{#if item.useModalForDetails}}
|
||||
<a href {{action "showDetailsModal" item}}>{{d-icon "info-circle"}} {{i18n 'admin.logs.staff_actions.show'}}</a>
|
||||
<a href {{action "showDetailsModal" item}}>{{d-icon "info-circle"}} {{i18n "admin.logs.staff_actions.show"}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</td>
|
||||
|
@ -105,7 +105,7 @@
|
|||
{{else if model.loadingMore}}
|
||||
{{conditional-loading-spinner condition=model.loadingMore}}
|
||||
{{else}}
|
||||
{{i18n 'search.no_results'}}
|
||||
{{i18n "search.no_results"}}
|
||||
{{/if}}
|
||||
{{/load-more}}
|
||||
{{/staff-actions}}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{{#d-modal-body class='add-upload-modal' title="admin.customize.theme.add_upload"}}
|
||||
{{#d-modal-body class="add-upload-modal" title="admin.customize.theme.add_upload"}}
|
||||
<div class="inputs">
|
||||
<section class="field">
|
||||
<input onchange={{action "updateName"}} type="file" id="file-input" accept='*'>
|
||||
<label for="file-input">{{i18n 'admin.customize.theme.upload_file_tip'}}</label>
|
||||
<input onchange={{action "updateName"}} type="file" id="file-input" accept="*">
|
||||
<label for="file-input">{{i18n "admin.customize.theme.upload_file_tip"}}</label>
|
||||
</section>
|
||||
<section class="field">
|
||||
<label for="theme-variable-name">{{i18n 'admin.customize.theme.variable_name'}}</label>
|
||||
<label for="theme-variable-name">{{i18n "admin.customize.theme.variable_name"}}</label>
|
||||
{{input id="theme-variable-name" value=name}}
|
||||
</section>
|
||||
{{#if fileSelected}}
|
||||
|
@ -17,6 +17,6 @@
|
|||
{{/d-modal-body}}
|
||||
|
||||
<div class="modal-footer">
|
||||
{{d-button action=(action "upload") disabled=disabled class='btn btn-primary' icon='upload' label='admin.customize.theme.upload'}}
|
||||
{{d-button action=(action "upload") disabled=disabled class="btn btn-primary" icon="upload" label="admin.customize.theme.upload"}}
|
||||
{{d-modal-cancel close=(route-action "closeModal")}}
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{{#d-modal-body class='upload-selector install-theme' title="admin.customize.theme.install"}}
|
||||
{{#d-modal-body class="upload-selector install-theme" title="admin.customize.theme.install"}}
|
||||
<div class="install-theme-items">
|
||||
{{install-theme-item value="popular" selection=selection label="admin.customize.theme.install_popular"}}
|
||||
{{install-theme-item value="local" selection=selection label="admin.customize.theme.install_upload"}}
|
||||
|
@ -13,7 +13,7 @@
|
|||
<div class="popular-theme-name">
|
||||
<a href={{theme.meta_url}} rel="noopener" target="_blank">
|
||||
{{#if theme.component}}
|
||||
{{d-icon 'puzzle-piece' title='admin.customize.theme.component'}}
|
||||
{{d-icon "puzzle-piece" title="admin.customize.theme.component"}}
|
||||
{{/if}}
|
||||
{{theme.name}}
|
||||
</a>
|
||||
|
@ -26,7 +26,7 @@
|
|||
{{#if theme.installed}}
|
||||
<span>{{i18n "admin.customize.theme.installed"}}</span>
|
||||
{{else}}
|
||||
{{d-button class='btn-small'
|
||||
{{d-button class="btn-small"
|
||||
label="admin.customize.theme.install"
|
||||
disabled=installDisabled
|
||||
icon="upload"
|
||||
|
@ -44,38 +44,38 @@
|
|||
|
||||
{{#if local}}
|
||||
<div class="inputs">
|
||||
<input onchange={{action "uploadLocaleFile"}} type="file" id="file-input" accept='.dcstyle.json,application/json,.tar.gz,application/x-gzip,.zip,application/zip'><br>
|
||||
<span class="description">{{i18n 'admin.customize.theme.import_file_tip'}}</span>
|
||||
<input onchange={{action "uploadLocaleFile"}} type="file" id="file-input" accept=".dcstyle.json,application/json,.tar.gz,application/x-gzip,.zip,application/zip"><br>
|
||||
<span class="description">{{i18n "admin.customize.theme.import_file_tip"}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if remote}}
|
||||
<div class="inputs">
|
||||
<div class='repo'>
|
||||
<div class="label">{{i18n 'admin.customize.theme.import_web_tip'}}</div>
|
||||
<div class="repo">
|
||||
<div class="label">{{i18n "admin.customize.theme.import_web_tip"}}</div>
|
||||
{{input value=uploadUrl placeholder=urlPlaceholder}}
|
||||
</div>
|
||||
|
||||
{{d-button
|
||||
class="btn-small advanced-repo"
|
||||
action=(action "toggleAdvanced")
|
||||
label='admin.customize.theme.import_web_advanced'}}
|
||||
label="admin.customize.theme.import_web_advanced"}}
|
||||
|
||||
{{#if advancedVisible}}
|
||||
<div class='branch'>
|
||||
<div class="label">{{i18n 'admin.customize.theme.remote_branch'}}</div>
|
||||
<div class="branch">
|
||||
<div class="label">{{i18n "admin.customize.theme.remote_branch"}}</div>
|
||||
{{input value=branch placeholder="master"}}
|
||||
</div>
|
||||
|
||||
<div class='check-private'>
|
||||
<div class="check-private">
|
||||
<label>
|
||||
{{input type="checkbox" checked=privateChecked}}
|
||||
{{i18n 'admin.customize.theme.is_private'}}
|
||||
{{i18n "admin.customize.theme.is_private"}}
|
||||
</label>
|
||||
</div>
|
||||
{{#if showPublicKey}}
|
||||
<div class='public-key'>
|
||||
<div class="label">{{i18n 'admin.customize.theme.public_key'}}</div>
|
||||
<div class="public-key">
|
||||
<div class="label">{{i18n "admin.customize.theme.public_key"}}</div>
|
||||
{{textarea readonly=true value=publicKey}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
@ -103,7 +103,7 @@
|
|||
|
||||
{{#unless popular}}
|
||||
<div class="modal-footer">
|
||||
{{d-button action=(action "installTheme") disabled=installDisabled class='btn btn-primary' label=submitLabel}}
|
||||
{{d-button action=(action "installTheme") disabled=installDisabled class="btn btn-primary" label=submitLabel}}
|
||||
{{d-modal-cancel close=(route-action "closeModal")}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{{#d-modal-body title="admin.user.silence_modal_title"}}
|
||||
{{#conditional-loading-spinner condition=loadingUser}}
|
||||
|
||||
<div class='until-controls'>
|
||||
<div class="until-controls">
|
||||
<label>
|
||||
{{future-date-input
|
||||
class="silence-until"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{{#conditional-loading-spinner condition=loadingUser}}
|
||||
|
||||
{{#if user.canSuspend}}
|
||||
<div class='until-controls'>
|
||||
<div class="until-controls">
|
||||
<label>
|
||||
{{future-date-input
|
||||
class="suspend-until"
|
||||
|
@ -24,7 +24,7 @@
|
|||
{{/if}}
|
||||
|
||||
{{else}}
|
||||
<div class='cant-suspend'>
|
||||
<div class="cant-suspend">
|
||||
{{i18n "admin.user.cant_suspend"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
{{#if theme.installed}}
|
||||
<span>{{i18n "admin.customize.theme.installed"}}</span>
|
||||
{{else}}
|
||||
{{d-button class='btn-small'
|
||||
{{d-button class="btn-small"
|
||||
label="admin.customize.theme.install"
|
||||
disabled=installDisabled
|
||||
icon="upload"
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
{{/d-modal-body}}
|
||||
|
||||
<div class="modal-footer">
|
||||
{{d-button action=(action "updateExistingUsers") class='btn-primary' label='admin.site_settings.default_categories.modal_yes'}}
|
||||
{{d-button action=(action "cancel") label='admin.site_settings.default_categories.modal_no'}}
|
||||
{{d-button action=(action "updateExistingUsers") class="btn-primary" label="admin.site_settings.default_categories.modal_yes"}}
|
||||
{{d-button action=(action "cancel") label="admin.site_settings.default_categories.modal_no"}}
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div class="permalink-title">
|
||||
<h2>{{i18n 'admin.permalink.title'}}</h2>
|
||||
<h2>{{i18n "admin.permalink.title"}}</h2>
|
||||
</div>
|
||||
<div class="permalink-description">
|
||||
<span>{{i18n 'admin.permalink.description'}}</span>
|
||||
<span>{{i18n "admin.permalink.description"}}</span>
|
||||
</div>
|
||||
<div class="permalink-search">
|
||||
{{text-field value=filter class="url-input" placeholderKey="admin.permalink.form.filter" autocorrect="off" autocapitalize="off"}}
|
||||
|
@ -12,10 +12,10 @@
|
|||
|
||||
{{#conditional-loading-spinner condition=loading}}
|
||||
{{#if model.length}}
|
||||
<table class='admin-logs-table permalinks grid'>
|
||||
<table class="admin-logs-table permalinks grid">
|
||||
<thead class="heading-container">
|
||||
<th class="col heading first url">{{i18n 'admin.permalink.url'}}</th>
|
||||
<th class="col heading destination">{{i18n 'admin.permalink.destination'}}</th>
|
||||
<th class="col heading first url">{{i18n "admin.permalink.url"}}</th>
|
||||
<th class="col heading destination">{{i18n "admin.permalink.destination"}}</th>
|
||||
<th class="col heading actions"></th>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -47,6 +47,6 @@
|
|||
</tbody>
|
||||
</table>
|
||||
{{else}}
|
||||
{{i18n 'search.no_results'}}
|
||||
{{i18n "search.no_results"}}
|
||||
{{/if}}
|
||||
{{/conditional-loading-spinner}}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class='admin-controls'>
|
||||
<div class='controls'>
|
||||
<div class="admin-controls">
|
||||
<div class="controls">
|
||||
{{d-button action=(action "toggleMenu") class="menu-toggle" icon="bars"}}
|
||||
|
||||
{{#if currentUser.admin}}
|
||||
|
@ -15,7 +15,7 @@
|
|||
|
||||
<div class="admin-nav pull-left">
|
||||
<ul class="nav nav-stacked">
|
||||
{{nav-item route='adminPlugins.index' label="admin.plugins.title"}}
|
||||
{{nav-item route="adminPlugins.index" label="admin.plugins.title"}}
|
||||
|
||||
{{#each adminRoutes as |route|}}
|
||||
{{nav-item route=route.full_location label=route.label}}
|
||||
|
|
|
@ -11,28 +11,28 @@
|
|||
{{#conditional-loading-spinner condition=loading}}
|
||||
{{#if model.length}}
|
||||
|
||||
<table class='search-logs-list grid'>
|
||||
<table class="search-logs-list grid">
|
||||
<thead>
|
||||
<th class="col heading term">{{i18n 'admin.logs.search_logs.term'}}</th>
|
||||
<th class="col heading">{{i18n 'admin.logs.search_logs.searches'}}</th>
|
||||
<th class="col heading">{{i18n 'admin.logs.search_logs.click_through_rate'}}</th>
|
||||
<th class="col heading term">{{i18n "admin.logs.search_logs.term"}}</th>
|
||||
<th class="col heading">{{i18n "admin.logs.search_logs.searches"}}</th>
|
||||
<th class="col heading">{{i18n "admin.logs.search_logs.click_through_rate"}}</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each model as |item|}}
|
||||
<tr class="admin-list-item">
|
||||
<td class="col term">
|
||||
{{#link-to 'adminSearchLogs.term' (query-params term=item.term period=period) class="test"}}
|
||||
{{#link-to "adminSearchLogs.term" (query-params term=item.term period=period) class="test"}}
|
||||
{{item.term}}
|
||||
{{/link-to}}
|
||||
</td>
|
||||
<td class="col"><div class="label">{{i18n 'admin.logs.search_logs.searches'}}</div>{{item.searches}}</td>
|
||||
<td class="col"><div class="label">{{i18n 'admin.logs.search_logs.click_through_rate'}}</div>{{item.ctr}}%</td>
|
||||
<td class="col"><div class="label">{{i18n "admin.logs.search_logs.searches"}}</div>{{item.searches}}</td>
|
||||
<td class="col"><div class="label">{{i18n "admin.logs.search_logs.click_through_rate"}}</div>{{item.ctr}}%</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{else}}
|
||||
{{i18n 'search.no_results'}}
|
||||
{{i18n "search.no_results"}}
|
||||
{{/if}}
|
||||
{{/conditional-loading-spinner}}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</div>
|
||||
|
||||
<h2>
|
||||
{{#link-to 'full-page-search' (query-params q=term)}}{{term}}{{/link-to}}
|
||||
{{#link-to "full-page-search" (query-params q=term)}}{{term}}{{/link-to}}
|
||||
</h2>
|
||||
|
||||
{{#conditional-loading-spinner condition=refreshing}}
|
||||
|
@ -19,22 +19,22 @@
|
|||
<h2> {{i18n "admin.logs.search_logs.header_search_results"}} </h2>
|
||||
<br>
|
||||
|
||||
<div class='header-search-results'>
|
||||
<div class="header-search-results">
|
||||
{{#each model.search_result.posts as |result|}}
|
||||
<div class='fps-result'>
|
||||
<div class='author'>
|
||||
<div class="fps-result">
|
||||
<div class="author">
|
||||
<a href={{result.userPath}} data-user-card={{result.username}}>
|
||||
{{avatar result imageSize="large"}}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class='fps-topic'>
|
||||
<div class='topic'>
|
||||
<a class='search-link' href={{result.url}}>
|
||||
{{topic-status topic=result.topic disableActions=true}}<span class='topic-title'>{{#highlight-text highlight=term}}{{html-safe result.topic.fancyTitle}}{{/highlight-text}}</span>
|
||||
<div class="fps-topic">
|
||||
<div class="topic">
|
||||
<a href={{result.url}} class="search-link">
|
||||
{{topic-status topic=result.topic disableActions=true}}<span class="topic-title">{{#highlight-text highlight=term}}{{html-safe result.topic.fancyTitle}}{{/highlight-text}}</span>
|
||||
</a>
|
||||
|
||||
<div class='search-category'>
|
||||
<div class="search-category">
|
||||
{{#if result.topic.category.parentCategory}}
|
||||
{{category-link result.topic.category.parentCategory}}
|
||||
{{/if}}
|
||||
|
@ -45,8 +45,8 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class='blurb container'>
|
||||
<span class='date'>
|
||||
<div class="blurb container">
|
||||
<span class="date">
|
||||
{{format-age result.created_at}}
|
||||
{{#if result.blurb}}
|
||||
-
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
{{site-setting setting=setting afterSave=(route-action "refreshAll")}}
|
||||
{{/each}}
|
||||
{{#if category.hasMore}}
|
||||
<p class="warning">{{i18n 'admin.site_settings.more_than_30_results'}}</p>
|
||||
<p class="warning">{{i18n "admin.site_settings.more_than_30_results"}}</p>
|
||||
{{/if}}
|
||||
{{/d-section}}
|
||||
{{else}}
|
||||
<br>
|
||||
{{i18n 'admin.site_settings.no_results'}}
|
||||
{{i18n "admin.site_settings.no_results"}}
|
||||
{{/if}}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<div class='admin-controls'>
|
||||
<div class="admin-controls">
|
||||
|
||||
<div class='controls'>
|
||||
<div class="controls">
|
||||
{{d-button action=(action "toggleMenu") class="menu-toggle" icon="bars"}}
|
||||
{{text-field id="setting-filter" value=filter placeholderKey="type_to_filter" class="no-blur"}}
|
||||
{{d-button class="btn-default" id="clear-filter" action=(action "clearFilter") label="admin.site_settings.clear_filter"}}
|
||||
</div>
|
||||
<div class='search controls'>
|
||||
<div class="search controls">
|
||||
<label>
|
||||
{{input type="checkbox" checked=onlyOverridden}}
|
||||
{{i18n 'admin.settings.show_overriden'}}
|
||||
{{i18n "admin.settings.show_overriden"}}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -17,7 +17,7 @@
|
|||
<ul class="nav nav-stacked">
|
||||
{{#each visibleSiteSettings as |category|}}
|
||||
<li class={{category.nameKey}}>
|
||||
{{#link-to 'adminSiteSettingsCategory' category.nameKey class=category.nameKey}}
|
||||
{{#link-to "adminSiteSettingsCategory" category.nameKey class=category.nameKey}}
|
||||
{{category.name}}
|
||||
{{#if category.count}}<span class="count">({{category.count}})</span>{{/if}}
|
||||
{{/link-to}}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class='edit-site-text'>
|
||||
<div class="edit-site-text">
|
||||
|
||||
<div class='title'>
|
||||
<div class="title">
|
||||
<h3>{{siteText.id}}</h3>
|
||||
</div>
|
||||
|
||||
|
@ -12,9 +12,9 @@
|
|||
{{/if}}
|
||||
{{/save-controls}}
|
||||
|
||||
{{#link-to 'adminSiteText.index' class="go-back"}}
|
||||
{{d-icon 'arrow-left'}}
|
||||
{{i18n 'admin.site_text.go_back'}}
|
||||
{{#link-to "adminSiteText.index" class="go-back"}}
|
||||
{{d-icon "arrow-left"}}
|
||||
{{i18n "admin.site_text.go_back"}}
|
||||
{{/link-to}}
|
||||
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class='search-area'>
|
||||
<div class="search-area">
|
||||
<p>{{i18n "admin.site_text.description"}}</p>
|
||||
|
||||
{{text-field value=q
|
||||
|
@ -18,7 +18,7 @@
|
|||
<p class="filter-options">
|
||||
<label>
|
||||
{{input type="checkbox" checked=overridden click=(action "toggleOverridden")}}
|
||||
{{i18n 'admin.site_text.show_overriden'}}
|
||||
{{i18n "admin.site_text.show_overriden"}}
|
||||
</label>
|
||||
</p>
|
||||
</div>
|
||||
|
@ -33,6 +33,6 @@
|
|||
{{/each}}
|
||||
|
||||
{{#if siteTexts.extras.has_more}}
|
||||
<p class="warning">{{i18n 'admin.site_text.more_than_50_results'}}</p>
|
||||
<p class="warning">{{i18n "admin.site_text.more_than_50_results"}}</p>
|
||||
{{/if}}
|
||||
{{/conditional-loading-spinner}}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
<div class='row site-texts'>
|
||||
<div class="row site-texts">
|
||||
{{outlet}}
|
||||
</div>
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
<div class='admin-controls'>
|
||||
<div class="admin-controls">
|
||||
<nav>
|
||||
<ul class='nav nav-pills'>
|
||||
<li>{{#link-to 'adminUser' user}}{{d-icon "caret-left"}} {{user.username}}{{/link-to}}</li>
|
||||
<ul class="nav nav-pills">
|
||||
<li>{{#link-to "adminUser" user}}{{d-icon "caret-left"}} {{user.username}}{{/link-to}}</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
{{#conditional-loading-spinner condition=loading}}
|
||||
<div class='admin-container user-badges'>
|
||||
<h2>{{i18n 'admin.badges.grant_badge'}}</h2>
|
||||
<div class="admin-container user-badges">
|
||||
<h2>{{i18n "admin.badges.grant_badge"}}</h2>
|
||||
<br>
|
||||
{{#if noGrantableBadges}}
|
||||
<p>{{i18n 'admin.badges.no_badges'}}</p>
|
||||
<p>{{i18n "admin.badges.no_badges"}}</p>
|
||||
{{else}}
|
||||
<form class="form-horizontal">
|
||||
<div>
|
||||
<label>{{i18n 'admin.badges.badge'}}</label>
|
||||
<label>{{i18n "admin.badges.badge"}}</label>
|
||||
{{combo-box
|
||||
filterable=true
|
||||
value=selectedBadgeId
|
||||
|
@ -24,8 +24,8 @@
|
|||
}}
|
||||
</div>
|
||||
<div>
|
||||
<label>{{i18n 'admin.badges.reason'}}</label>
|
||||
{{input type="text" value=badgeReason}}<br><small>{{i18n 'admin.badges.reason_help'}}</small>
|
||||
<label>{{i18n "admin.badges.reason"}}</label>
|
||||
{{input type="text" value=badgeReason}}<br><small>{{i18n "admin.badges.reason_help"}}</small>
|
||||
</div>
|
||||
{{d-button
|
||||
class="btn-primary"
|
||||
|
@ -35,25 +35,25 @@
|
|||
</form>
|
||||
{{/if}}
|
||||
|
||||
<table id='user-badges'>
|
||||
<table id="user-badges">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>{{i18n 'admin.badges.badge'}}</th>
|
||||
<th>{{i18n 'admin.badges.granted_by'}}</th>
|
||||
<th class='reason'>{{i18n 'admin.badges.reason'}}</th>
|
||||
<th>{{i18n 'admin.badges.granted_at'}}</th>
|
||||
<th>{{i18n "admin.badges.badge"}}</th>
|
||||
<th>{{i18n "admin.badges.granted_by"}}</th>
|
||||
<th class="reason">{{i18n "admin.badges.reason"}}</th>
|
||||
<th>{{i18n "admin.badges.granted_at"}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
{{#each groupedBadges as |userBadge|}}
|
||||
<tr>
|
||||
<td>{{user-badge badge=userBadge.badge count=userBadge.count}}</td>
|
||||
<td>
|
||||
{{#link-to 'adminUser' userBadge.badge.granted_by}}
|
||||
{{#link-to "adminUser" userBadge.badge.granted_by}}
|
||||
{{avatar userBadge.granted_by imageSize="tiny"}}
|
||||
{{userBadge.granted_by.username}}
|
||||
{{/link-to}}
|
||||
</td>
|
||||
<td class='reason'>
|
||||
<td class="reason">
|
||||
{{#if userBadge.postUrl}}
|
||||
<a href={{userBadge.postUrl}}>{{userBadge.topic_title}}</a>
|
||||
{{/if}}
|
||||
|
@ -75,7 +75,7 @@
|
|||
{{else}}
|
||||
<tr>
|
||||
<td colspan="5">
|
||||
<p>{{i18n 'admin.badges.no_user_badges' name=user.username}}</p>
|
||||
<p>{{i18n "admin.badges.no_user_badges" name=user.username}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user