Improved wording.
This commit is contained in:
parent
97d14a93b3
commit
110d60dd30
30 changed files with 57 additions and 60 deletions
|
@ -32,7 +32,7 @@ class App.ManageKnowledgeBase extends App.ControllerTabs
|
||||||
@ajax(
|
@ajax(
|
||||||
id: 'knowledge_bases_init_admin'
|
id: 'knowledge_bases_init_admin'
|
||||||
type: 'GET'
|
type: 'GET'
|
||||||
url: @apiPath + '/knowledge_bases/manage/init'
|
url: "#{@apiPath}/knowledge_bases/manage/init"
|
||||||
processData: true
|
processData: true
|
||||||
success: (data, status, xhr) =>
|
success: (data, status, xhr) =>
|
||||||
App.Collection.loadAssets(data)
|
App.Collection.loadAssets(data)
|
||||||
|
@ -93,7 +93,7 @@ class App.ManageKnowledgeBase extends App.ControllerTabs
|
||||||
|
|
||||||
@tabs = [
|
@tabs = [
|
||||||
{
|
{
|
||||||
name: 'Style'
|
name: 'Theme'
|
||||||
target: 'style'
|
target: 'style'
|
||||||
controller: App.KnowledgeBaseForm
|
controller: App.KnowledgeBaseForm
|
||||||
params: _.extend({}, params, { screen: 'style', split: true })
|
params: _.extend({}, params, { screen: 'style', split: true })
|
||||||
|
@ -117,7 +117,7 @@ class App.ManageKnowledgeBase extends App.ControllerTabs
|
||||||
|
|
||||||
if !App.Config.get('system_online_service')
|
if !App.Config.get('system_online_service')
|
||||||
@tabs.splice(-1, 0, {
|
@tabs.splice(-1, 0, {
|
||||||
name: 'Custom Address'
|
name: 'Custom URL'
|
||||||
target: 'custom_address'
|
target: 'custom_address'
|
||||||
controller: App.KnowledgeBaseCustomAddressForm,
|
controller: App.KnowledgeBaseCustomAddressForm,
|
||||||
params: _.extend({}, params, { screen: 'custom_address' })
|
params: _.extend({}, params, { screen: 'custom_address' })
|
||||||
|
|
|
@ -93,7 +93,7 @@ class App.KnowledgeBaseContentCanBePublishedForm extends App.ControllerForm
|
||||||
model:
|
model:
|
||||||
configure_attributes: [
|
configure_attributes: [
|
||||||
name: 'visibility'
|
name: 'visibility'
|
||||||
display: 'Visibility'
|
display: 'Permissions'
|
||||||
tag: 'radio'
|
tag: 'radio'
|
||||||
default: false
|
default: false
|
||||||
options: [
|
options: [
|
||||||
|
@ -103,7 +103,7 @@ class App.KnowledgeBaseContentCanBePublishedForm extends App.ControllerForm
|
||||||
,
|
,
|
||||||
value: 'internal'
|
value: 'internal'
|
||||||
name: 'Internal'
|
name: 'Internal'
|
||||||
note: 'Only visible to agents & editors'
|
note: 'Visible to agents & editors'
|
||||||
,
|
,
|
||||||
value: 'published'
|
value: 'published'
|
||||||
name: 'Public'
|
name: 'Public'
|
||||||
|
@ -119,7 +119,7 @@ class App.KnowledgeBaseContentCanBePublishedForm extends App.ControllerForm
|
||||||
default: 'now'
|
default: 'now'
|
||||||
options: [
|
options: [
|
||||||
value: 'now'
|
value: 'now'
|
||||||
name: 'Now'
|
name: 'now'
|
||||||
,
|
,
|
||||||
value: 'scheduled'
|
value: 'scheduled'
|
||||||
name: 'Schedule for'
|
name: 'Schedule for'
|
||||||
|
|
|
@ -6,7 +6,7 @@ class App.KnowledgeBaseDeleteAction
|
||||||
if @object instanceof App.KnowledgeBaseCategory and !@object.isEmpty()
|
if @object instanceof App.KnowledgeBaseCategory and !@object.isEmpty()
|
||||||
@showCannotDelete(
|
@showCannotDelete(
|
||||||
'Cannot delete category',
|
'Cannot delete category',
|
||||||
'Please delete all children categories and answers first.'
|
'Delete all child categories and answers, then try again.'
|
||||||
)
|
)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
@ -19,7 +19,7 @@ class App.KnowledgeBaseDeleteAction
|
||||||
|
|
||||||
@dialog = new App.ControllerConfirm(
|
@dialog = new App.ControllerConfirm(
|
||||||
head: 'Delete'
|
head: 'Delete'
|
||||||
message: "Are you sure to delete \"#{translation?.title}\"?"
|
message: "Are you sure you want to delete \"#{translation?.title}\"?"
|
||||||
callback: @doDelete
|
callback: @doDelete
|
||||||
container: @parentController.el
|
container: @parentController.el
|
||||||
onSubmit: ->
|
onSubmit: ->
|
||||||
|
|
|
@ -51,7 +51,6 @@ class Show extends App.ControllerModal
|
||||||
super
|
super
|
||||||
|
|
||||||
content: ->
|
content: ->
|
||||||
console.log('cont')
|
|
||||||
App.view('widget/http_log_show')(
|
App.view('widget/http_log_show')(
|
||||||
record: @record
|
record: @record
|
||||||
)
|
)
|
||||||
|
|
|
@ -161,7 +161,6 @@ class App.TicketStatsList extends App.Controller
|
||||||
ticket_ids_show = @ticket_ids
|
ticket_ids_show = @ticket_ids
|
||||||
|
|
||||||
tickets = (App.Ticket.fullLocal(id) for id in ticket_ids_show)
|
tickets = (App.Ticket.fullLocal(id) for id in ticket_ids_show)
|
||||||
console.log tickets
|
|
||||||
|
|
||||||
@html App.view('widget/ticket_stats_list')(
|
@html App.view('widget/ticket_stats_list')(
|
||||||
user: @user
|
user: @user
|
||||||
|
|
|
@ -34,7 +34,7 @@ class App.MultiLocalesRow extends App.Controller
|
||||||
name: name
|
name: name
|
||||||
value: value
|
value: value
|
||||||
null: false
|
null: false
|
||||||
placeholder: 'Select locale:'
|
placeholder: 'Select locale...'
|
||||||
options: [] #formattedLocales
|
options: [] #formattedLocales
|
||||||
class: 'form-control--small'
|
class: 'form-control--small'
|
||||||
)
|
)
|
||||||
|
|
|
@ -128,11 +128,10 @@ class App.KnowledgeBase extends App.Model
|
||||||
shown: true
|
shown: true
|
||||||
}, {
|
}, {
|
||||||
name: 'color_highlight'
|
name: 'color_highlight'
|
||||||
display: 'Highlight Color'
|
display: 'Icon & Link Color'
|
||||||
tag: 'color'
|
tag: 'color'
|
||||||
style: 'block'
|
style: 'block'
|
||||||
null: false
|
null: false
|
||||||
help: 'The highlight color is used to make elements of the interface stand out. For example the links and icons.'
|
|
||||||
screen:
|
screen:
|
||||||
admin_style_color_highlight:
|
admin_style_color_highlight:
|
||||||
display: false
|
display: false
|
||||||
|
@ -199,7 +198,7 @@ class App.KnowledgeBase extends App.Model
|
||||||
display: 'Icon Set'
|
display: 'Icon Set'
|
||||||
tag: 'iconset_picker'
|
tag: 'iconset_picker'
|
||||||
style: 'block'
|
style: 'block'
|
||||||
help: "Pick an iconset that fits your style. The icons from this set can be assigned to categories. Choose wisely because the icon sets don't match with each other. If you change it later on you'll have to reset every icon."
|
help: 'Every category in your knowledge base should be given a unique icon for maximum visual clarity. Each set below provides a wide range of icons to choose from, but beware-you can\'t mix and match different icons from different sets. Choose carefully!'
|
||||||
null: false
|
null: false
|
||||||
screen:
|
screen:
|
||||||
admin_style_iconset:
|
admin_style_iconset:
|
||||||
|
@ -210,7 +209,7 @@ class App.KnowledgeBase extends App.Model
|
||||||
tag: 'multi_locales'
|
tag: 'multi_locales'
|
||||||
style: 'block'
|
style: 'block'
|
||||||
null: false
|
null: false
|
||||||
help: 'Set up the languages for the Knowledge Base. Zammad detects the prefered language of the visitor. When its not available it will fall back to the primary language.'
|
help: 'You can provide different versions of your knowledge base for different locales. Add a language below, then select it in the Knowledge Base Editor to add your translations.'
|
||||||
screen:
|
screen:
|
||||||
admin_languages:
|
admin_languages:
|
||||||
shown: true
|
shown: true
|
||||||
|
@ -218,11 +217,11 @@ class App.KnowledgeBase extends App.Model
|
||||||
shown: true
|
shown: true
|
||||||
}, {
|
}, {
|
||||||
name: 'custom_address'
|
name: 'custom_address'
|
||||||
display: 'Custom Address'
|
display: 'Custom URL'
|
||||||
tag: 'input'
|
tag: 'input'
|
||||||
style: 'block'
|
style: 'block'
|
||||||
null: true
|
null: true
|
||||||
help: 'Fill in full domain (e.g. example.com or example.com/help) or path (e.g. /support) to use custom address. See Apache or Nginx for further instructions'
|
help: 'The default URL for your knowledge base is e.g. example.com or example.com/help. To serve it from a custom URL instead, enter the destination below (e.g., "/support", "example.com", or "example.com/support"). Then, follow the directions under "Web Server Configuration" to complete the process.'
|
||||||
screen:
|
screen:
|
||||||
admin_custom_address:
|
admin_custom_address:
|
||||||
shown: true
|
shown: true
|
||||||
|
|
|
@ -2,6 +2,6 @@
|
||||||
<%- @icon %>
|
<%- @icon %>
|
||||||
<h2><% if @status isnt undefined: %><%- @T('Status Code') %>: <%= @status %>. <% end %><%- @T(@detail) %></h2>
|
<h2><% if @status isnt undefined: %><%- @T('Status Code') %>: <%= @status %>. <% end %><%- @T(@detail) %></h2>
|
||||||
<% if @action: %>
|
<% if @action: %>
|
||||||
<div class="btn btn--action js-action"><%= @T(@action) %></div>
|
<div class="btn btn--action js-action"><%- @T(@action) %></div>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
|
@ -6,7 +6,7 @@
|
||||||
<%- @Icon('arrow-down', 'dropdown-arrow') %>
|
<%- @Icon('arrow-down', 'dropdown-arrow') %>
|
||||||
</div>
|
</div>
|
||||||
<div class="dropdown-menu dropdown-menu-left js-dropdown">
|
<div class="dropdown-menu dropdown-menu-left js-dropdown">
|
||||||
<input type="search" class="dropdown-filter js-filter-icons" placeholder="<%= @T('Filter icons') %>">
|
<input type="search" class="dropdown-filter js-filter-icons" placeholder="<%- @T('Search...') %>">
|
||||||
<ul class="js-iconGrid dropdown-grid" role="menu"></ul>
|
<ul class="js-iconGrid dropdown-grid" role="menu"></ul>
|
||||||
<div class="dropdown-filter-placeholder">
|
<div class="dropdown-filter-placeholder">
|
||||||
<span class="js-noMatch">¯\_(ツ)_/¯</span>
|
<span class="js-noMatch">¯\_(ツ)_/¯</span>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th width="85%"><%- @T('Language') %>
|
<th width="85%"><%- @T('Language') %>
|
||||||
<th width="5%"><%- @T('Primary') %>
|
<th width="5%"><%- @T('Default') %>
|
||||||
<th width="10%"><%- @T('Delete') %>
|
<th width="10%"><%- @T('Delete') %>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
|
@ -13,6 +13,6 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% if @object.active is false: %>
|
<% if @object.active is false: %>
|
||||||
<div class="recipientList-status"><%= @Ti('inactive') %></div>
|
<div class="recipientList-status"><%- @Ti('inactive') %></div>
|
||||||
<% end %>
|
<% end %>
|
||||||
</li>
|
</li>
|
|
@ -11,7 +11,7 @@
|
||||||
<span class="recipientList-detail">- <%= @objectCount %> <%- @T(@objectSingels) %></span>
|
<span class="recipientList-detail">- <%= @objectCount %> <%- @T(@objectSingels) %></span>
|
||||||
</div>
|
</div>
|
||||||
<% if @organization.active is false: %>
|
<% if @organization.active is false: %>
|
||||||
<div class="recipientList-status"><%= @Ti('inactive') %></div>
|
<div class="recipientList-status"><%- @Ti('inactive') %></div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%- @Icon('arrow-right', 'recipientList-arrow') %>
|
<%- @Icon('arrow-right', 'recipientList-arrow') %>
|
||||||
</li>
|
</li>
|
|
@ -1,6 +1,6 @@
|
||||||
<% if @attachments: %>
|
<% if @attachments: %>
|
||||||
<div class="knowledge-base-article-attachments">
|
<div class="knowledge-base-article-attachments">
|
||||||
<h2><%= @Ti('Attachments') %></h2>
|
<h2><%- @Ti('Attachments') %></h2>
|
||||||
<ul class="knowledge-base-article-attachments-list">
|
<ul class="knowledge-base-article-attachments-list">
|
||||||
<% for attachment in @attachments: %>
|
<% for attachment in @attachments: %>
|
||||||
<li>
|
<li>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<%= @T(@answer.can_be_published_state()) %>
|
<%- @T(@answer.can_be_published_state()) %>
|
||||||
|
|
||||||
<% if user = @answer.can_be_published_by(): %>
|
<% if user = @answer.can_be_published_by(): %>
|
||||||
<%= @T('by') %>
|
<%- @T('by') %>
|
||||||
<%= user.displayName() %>
|
<%= user.displayName() %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<% if @missingTranslation(): %>
|
<% if @missingTranslation(): %>
|
||||||
<div class="js-alert alert alert--warning alert--square"><%= @T('No translation for this locale available') %></div>
|
<div class="js-alert alert alert--warning alert--square"><%- @T('No translation for this locale available') %></div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div class="main flex vertical end">
|
<div class="main flex vertical end">
|
||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
<div class="page-header-title">
|
<div class="page-header-title">
|
||||||
<h2><%= @object.objectActionName() %></h2>
|
<h2><%- @T(@object.objectActionName()) %></h2>
|
||||||
<% if @object.constructor.canBePublished?(): %>
|
<% if @object.constructor.canBePublished?(): %>
|
||||||
<%- @V('knowledge_base/content_can_be_published_header_suffix', object: @object) %>
|
<%- @V('knowledge_base/content_can_be_published_header_suffix', object: @object) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
@ -15,14 +15,14 @@
|
||||||
|
|
||||||
<div class="horizontal">
|
<div class="horizontal">
|
||||||
<a class="btn btn js-discard hide">
|
<a class="btn btn js-discard hide">
|
||||||
<%= @T('Discard your unsaved changes') %>
|
<%- @T('Discard your unsaved changes.') %>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<% if @object.constructor.canBePublished?(): %>
|
<% if @object.constructor.canBePublished?(): %>
|
||||||
<div class="js-submitContainer"></div>
|
<div class="js-submitContainer"></div>
|
||||||
<% else: %>
|
<% else: %>
|
||||||
<a class="btn btn--primary js-submit">
|
<a class="btn btn--primary js-submit">
|
||||||
<%= @T('Update') %>
|
<%- @T('Update') %>
|
||||||
</a>
|
</a>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<span class="suffix js-published-header-suffix">
|
<span class="suffix js-published-header-suffix">
|
||||||
<span class="<%= @object.can_be_published_state_css() %>"><span class="label-text"><%= @T(@object.can_be_published_state()) %></span></span>
|
<span class="<%= @object.can_be_published_state_css() %>"><span class="label-text"><%- @T(@object.can_be_published_state()) %></span></span>
|
||||||
|
|
||||||
<% if @object.can_be_published_internal_in_future(): %>
|
<% if @object.can_be_published_internal_in_future(): %>
|
||||||
<span class="label-warning"><span class="label-text"><%= @T('Will be internal') %> <%= @humanTime @object.internal_at %></span></span>
|
<span class="label-warning"><span class="label-text"><%- @T('Will be internal') %> <%= @humanTime @object.internal_at %></span></span>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if @object.can_be_published_publish_in_future(): %>
|
<% if @object.can_be_published_publish_in_future(): %>
|
||||||
<span class="label-warning"><span class="label-text"><%= @T('Will be published') %> <%= @humanTime @object.published_at %></span></span>
|
<span class="label-warning"><span class="label-text"><%- @T('Will be published') %> <%= @humanTime @object.published_at %></span></span>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if @object.can_be_published_archive_in_future(): %>
|
<% if @object.can_be_published_archive_in_future(): %>
|
||||||
<span class="label-warning"><span class="label-text"><%= @T('Will be archived') %> <%- @humanTime @object.archived_at %></span></span>
|
<span class="label-warning"><span class="label-text"><%- @T('Will be archived') %> <%- @humanTime @object.archived_at %></span></span>
|
||||||
<% end %>
|
<% end %>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -10,7 +10,7 @@ class App.KnowledgeBaseDelete extends App.KnowledgeBaseForm
|
||||||
formController = @formControllers[0]
|
formController = @formControllers[0]
|
||||||
|
|
||||||
if !@isTitleMatching()
|
if !@isTitleMatching()
|
||||||
formController.showAlert(App.i18n.translateInline('Please enter title to confirm'))
|
formController.showAlert(App.i18n.translateInline('Confirmation failed.'))
|
||||||
return
|
return
|
||||||
|
|
||||||
formController.hideAlert()
|
formController.hideAlert()
|
||||||
|
@ -46,8 +46,8 @@ class App.KnowledgeBaseDelete extends App.KnowledgeBaseForm
|
||||||
model: 'translation'
|
model: 'translation'
|
||||||
style: 'block'
|
style: 'block'
|
||||||
null: true
|
null: true
|
||||||
display: 'Delete this Knowledge Base'
|
display: 'Permanently Delete Knowledge Base'
|
||||||
help: "This action cannot be undone. This will permanently delete \"#{@object().guaranteedTitle()}\". Please type in the name \"#{@object().guaranteedTitle()}\" of the Knowledge Base to confirm."
|
help: "Deleting your knowledge base requires an additional verification step. To proceed, enter its name below (\"#{@object().guaranteedTitle()}\"). THIS ACTION CANNOT BE UNDONE."
|
||||||
tag: 'input'
|
tag: 'input'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
class="btn btn--action js-edit <% if @edit.enabled: %>btn--active<% end %>"
|
class="btn btn--action js-edit <% if @edit.enabled: %>btn--active<% end %>"
|
||||||
<% if @search.enabled: %>disabled<% end %>
|
<% if @search.enabled: %>disabled<% end %>
|
||||||
>
|
>
|
||||||
<%= @T('Edit') %>
|
<%- @T('Edit') %>
|
||||||
</a>
|
</a>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="btn btn--action btn--split--first js-pickedLanguage"><%= @kbLocales.selected?.systemLocale().locale %></div>
|
<div class="btn btn--action btn--split--first js-pickedLanguage"><%= @kbLocales.selected?.systemLocale().locale %></div>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<%- @Icon('clock') %>
|
<%- @Icon('clock') %>
|
||||||
<div class="scheduled-widget-label"><%= @T('Scheduled for') %> <%= @timestamp %></div>
|
<div class="scheduled-widget-label"><%- @T('Scheduled for') %> <%- @timestamp %></div>
|
||||||
<a class="btn btn--action btn--small scheduled-widget-delete js-delete">
|
<a class="btn btn--action btn--small scheduled-widget-delete js-delete">
|
||||||
<%- @Icon('diagonal-cross') %><span><%= @T('Cancel') %>
|
<%- @Icon('diagonal-cross') %><span><%- @T('Cancel') %>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
<div class="js-placeholderEmpty help-block help-block--center hide">
|
<div class="js-placeholderEmpty help-block help-block--center hide">
|
||||||
<%- @Icon('mood-ok') %>
|
<%- @Icon('mood-ok') %>
|
||||||
<div class='help-block--inner'><%= @T('empty') %></div>
|
<div class='help-block--inner'><%- @T('Empty') %></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="js-placeholderError help-block help-block--center hide">
|
<div class="js-placeholderError help-block help-block--center hide">
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<input class="js-searchField form-control" name="query" placeholder="<%= @T('Search') %> <%= @placeholder_suffix %>" type="search" autocomplete="off">
|
<input class="js-searchField form-control" name="query" placeholder="<%- @Ti('Search') %> <%= @placeholder_suffix %>" type="search" autocomplete="off">
|
||||||
<%- @Icon('magnifier') %>
|
<%- @Icon('magnifier') %>
|
||||||
<div class="search-loader"><%- @Icon('spinner-small') %></div>
|
<div class="search-loader"><%- @Icon('spinner-small') %></div>
|
||||||
<a class="empty-search js-emptySearchButton">
|
<a class="empty-search js-emptySearchButton">
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<%- @T(name) %>
|
<%- @T(name) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% else: %>
|
<% else: %>
|
||||||
<%= @T(button.name) %>
|
<%- @T(button.name) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</a>
|
</a>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<div class="sidebar-block-header">
|
<div class="sidebar-block-header">
|
||||||
<h2><%= @T('Attachments') %></h2>
|
<h2><%- @T('Attachments') %></h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="dropContainer">
|
<div class="dropContainer">
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
<% uid = _.uniqueId('fileUpload_') %>
|
<% uid = _.uniqueId('fileUpload_') %>
|
||||||
<input multiple="multiple" type="file" name="file" id="<%- uid %>">
|
<input multiple="multiple" type="file" name="file" id="<%- uid %>">
|
||||||
<label class="attachmentPlaceholder-label" for="<%- uid %>">
|
<label class="attachmentPlaceholder-label" for="<%- uid %>">
|
||||||
<span><%= @T('Add') %></span>
|
<span><%- @T('Add') %></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
<div class="sidebar-block-header">
|
<div class="sidebar-block-header">
|
||||||
<h2><%= @T(@title) %></h2>
|
<h2><%- @T(@title) %></h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="btn-list horizontal">
|
<div class="btn-list horizontal">
|
||||||
<a href="#" class="btn btn--action btn--small btn--create js-add" <% if !@enabled: %>disabled<% end %> >
|
<a href="#" class="btn btn--action btn--small btn--create js-add" <% if !@enabled: %>disabled<% end %> >
|
||||||
<%- @Icon('plus-small') %> <span><%= @T('Add') %></span>
|
<%- @Icon('plus-small') %> <span><%- @T('Add') %></span>
|
||||||
</a>
|
</a>
|
||||||
<a href="#" class="js-reorder btn btn--action btn--small" <% if !@enabled: %>disabled<% end %>>
|
<a href="#" class="js-reorder btn btn--action btn--small" <% if !@enabled: %>disabled<% end %>>
|
||||||
<%- @Icon('rearange') %> <span><%= @T('Change order') %></span>
|
<%- @Icon('rearange') %> <span><%- @T('Change order') %></span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
<% else: %>
|
<% else: %>
|
||||||
<li>
|
<li>
|
||||||
<span class="nav-pills-placeholder"><%= @T(@emptyNote) %></span>
|
<span class="nav-pills-placeholder"><%- @T(@emptyNote) %></span>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<div class="sidebar-block-header">
|
<div class="sidebar-block-header">
|
||||||
<h2><%= @T('Linked Tickets') %></h2>
|
<h2><%- @T('Linked Tickets') %></h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%- @V('generic/ticket_list', show_max: 5, tickets: @tickets, object: 'Ticket') %>
|
<%- @V('generic/ticket_list', show_max: 5, tickets: @tickets, object: 'Ticket') %>
|
||||||
|
|
||||||
<a class="btn btn--action btn--small js-add" href="#">
|
<a class="btn btn--action btn--small js-add" href="#">
|
||||||
<%- @Icon('plus-small') %> <span><%= @T('Link Ticket') %></span>
|
<%- @Icon('plus-small') %> <span><%- @T('Add') %></span>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<div class="main flex vertical end">
|
<div class="main flex vertical end">
|
||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
<div class="page-header-title">
|
<div class="page-header-title">
|
||||||
<h2>Edit Answer</h2>
|
<h2><%- @T('Edit Answer') %></h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form class="form--grid js-form"></form>
|
<form class="form--grid js-form"></form>
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
<td>Create a book in Pages</td>
|
<td>Create a book in Pages</td>
|
||||||
<td class="table-buttons">
|
<td class="table-buttons">
|
||||||
<div class="btn btn--action btn--primary btn--small js-link">
|
<div class="btn btn--action btn--primary btn--small js-link">
|
||||||
<%- @Icon('plus-small') %> <span><%= @T('link') %></span>
|
<%- @Icon('plus-small') %> <span><%- @T('link') %></span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
<td>Publish your book with Pages</td>
|
<td>Publish your book with Pages</td>
|
||||||
<td class="table-buttons">
|
<td class="table-buttons">
|
||||||
<div class="btn btn--action btn--primary btn--small js-link">
|
<div class="btn btn--action btn--primary btn--small js-link">
|
||||||
<%- @Icon('plus-small') %> <span><%= @T('link') %></span>
|
<%- @Icon('plus-small') %> <span><%- @T('link') %></span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
<td>Record audio in Pages, Numbers, and Keynote for iOS and Mac</td>
|
<td>Record audio in Pages, Numbers, and Keynote for iOS and Mac</td>
|
||||||
<td class="table-buttons">
|
<td class="table-buttons">
|
||||||
<div class="btn btn--action btn--primary btn--small is-disabled">
|
<div class="btn btn--action btn--primary btn--small is-disabled">
|
||||||
<%= @T('already linked') %>
|
<%- @T('already linked') %>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
<td>Use advanced book creation options in Pages</td>
|
<td>Use advanced book creation options in Pages</td>
|
||||||
<td class="table-buttons">
|
<td class="table-buttons">
|
||||||
<div class="btn btn--action btn--primary btn--small js-link">
|
<div class="btn btn--action btn--primary btn--small js-link">
|
||||||
<%- @Icon('plus-small') %> <span><%= @T('link') %></span>
|
<%- @Icon('plus-small') %> <span><%- @T('link') %></span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<li class="global-search-detail-no-result alert alert--warning horizontal" role="alert">
|
<li class="global-search-detail-no-result alert alert--warning horizontal" role="alert">
|
||||||
<%- @Icon('mood-sad') %>
|
<%- @Icon('mood-sad') %>
|
||||||
<span><%= @T('There is no match for your search.') %></span>
|
<span><%- @T('There is no match for your search.') %></span>
|
||||||
</li>
|
</li>
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="state-badge">
|
<div class="state-badge">
|
||||||
<%- @Icon('task-state', @object.parent().can_be_published_state()) %>
|
<%- @Icon('task-state', @object.parent().can_be_published_state()) %>
|
||||||
<span class="<%= @object.parent().can_be_published_state_css() %>">
|
<span class="<%= @object.parent().can_be_published_state_css() %>">
|
||||||
<%= @T(@object.parent().can_be_published_state()) %>
|
<%- @T(@object.parent().can_be_published_state()) %>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -147,15 +147,15 @@ class KnowledgeBase < ApplicationModel
|
||||||
|
|
||||||
# not domain, but no leading slash
|
# not domain, but no leading slash
|
||||||
if !custom_address.include?('.') && custom_address[0] != '/'
|
if !custom_address.include?('.') && custom_address[0] != '/'
|
||||||
errors.add(:custom_address, 'Path requires leading slash')
|
errors.add(:custom_address, 'must begin with a slash ("/").')
|
||||||
end
|
end
|
||||||
|
|
||||||
if custom_address.include?('://')
|
if custom_address.include?('://')
|
||||||
errors.add(:custom_address, 'Full domain should be entered without protocol')
|
errors.add(:custom_address, 'must not include a protocol (e.g., "http://" or "https://").')
|
||||||
end
|
end
|
||||||
|
|
||||||
if custom_address.last == '/'
|
if custom_address.last == '/'
|
||||||
errors.add(:custom_address, 'No trailing slash')
|
errors.add(:custom_address, 'must not end with a slash ("/").')
|
||||||
end
|
end
|
||||||
|
|
||||||
if custom_address == '/' # rubocop:disable Style/GuardClause
|
if custom_address == '/' # rubocop:disable Style/GuardClause
|
||||||
|
|
Loading…
Reference in a new issue