discourse/app/assets/javascripts/admin/addon/templates/badges-show.hbs
tshenry a446e0fde1
FEATURE: Link to text customization when editing system badges (#11345)
Being that system badges ship with every instance of Discourse, we've opted to define the name, description, and long description in our locales files to promote translation into other languages. When an admin visited the overview page of a system badge in their admin panel, they were met with disabled inputs for these text properties. The problem is that we failed to educate the admin that the text needs to be managed via the site text customization settings. 

This change adds a small "Customize Text" link under theses inputs that takes the admin to the specific site text customization where they can make desired changes.
2020-12-08 11:55:49 -08:00

198 lines
5.6 KiB
Handlebars

{{#d-section class="current-badge content-body"}}
<form class="form-horizontal">
<div>
<label for="name">{{i18n "admin.badges.name"}}</label>
{{#if readOnly}}
{{input type="text" name="name" value=buffered.name disabled=true}}
<p class="help">
{{#link-to "adminSiteText.edit" (concat textCustomizationPrefix "name")}}
{{i18n "admin.badges.read_only_setting_help"}}
{{/link-to}}
</p>
{{else}}
{{input type="text" name="name" value=buffered.name}}
{{/if}}
</div>
<div>
<label for="icon">{{i18n "admin.badges.icon"}}</label>
{{icon-picker
name="icon"
value=buffered.icon
options=(hash
maximum=1
)
onChange=(action (mut buffered.icon))
}}
<p class="help">{{i18n "admin.badges.icon_help"}}</p>
</div>
<div>
<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>
</div>
<div>
<label for="badge_type_id">{{i18n "admin.badges.badge_type"}}</label>
{{combo-box
name="badge_type_id"
value=buffered.badge_type_id
content=badgeTypes
onChange=(action (mut buffered.badge_type_id))
isDisabled=readOnly
}}
</div>
<div>
<label for="badge_grouping_id">{{i18n "admin.badges.badge_grouping"}}</label>
<div class="badge-grouping-control">
{{combo-box
name="badge_grouping_id"
value=buffered.badge_grouping_id
content=badgeGroupings
class="badge-selector"
nameProperty="name"
onChange=(action (mut buffered.badge_grouping_id))
}}
{{d-button
class="btn-default"
action=(route-action "editGroupings")
icon="pencil-alt"
}}
</div>
</div>
<div>
<label for="description">{{i18n "admin.badges.description"}}</label>
{{#if buffered.system}}
{{textarea name="description" value=buffered.description disabled=true}}
<p class="help">
{{#link-to "adminSiteText.edit" (concat textCustomizationPrefix "description")}}
{{i18n "admin.badges.read_only_setting_help"}}
{{/link-to}}
</p>
{{else}}
{{textarea name="description" value=buffered.description}}
{{/if}}
</div>
<div>
<label for="long_description">{{i18n "admin.badges.long_description"}}</label>
{{#if buffered.system}}
{{textarea name="long_description" value=buffered.long_description disabled=true}}
<p class="help">
{{#link-to "adminSiteText.edit" (concat textCustomizationPrefix "long_description")}}
{{i18n "admin.badges.read_only_setting_help"}}
{{/link-to}}
</p>
{{else}}
{{textarea name="long_description" value=buffered.long_description}}
{{/if}}
</div>
{{#if siteSettings.enable_badge_sql}}
<div>
<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 "true"}}>{{i18n "admin.badges.preview.plan_text"}}</a>
{{#if preview_loading}}
{{i18n "loading"}}
{{/if}}
<div>
<label>
{{input type="checkbox" checked=buffered.auto_revoke disabled=readOnly}}
{{i18n "admin.badges.auto_revoke"}}
</label>
</div>
<div>
<label>
{{input type="checkbox" checked=buffered.target_posts disabled=readOnly}}
{{i18n "admin.badges.target_posts"}}
</label>
</div>
<div>
<label for="trigger">{{i18n "admin.badges.trigger"}}</label>
{{combo-box
name="trigger"
value=buffered.trigger
content=badgeTriggers
onChange=(action (mut buffered.trigger))
disabled=readOnly
}}
</div>
{{/if}}
{{/if}}
<div>
<label>
{{input type="checkbox" checked=buffered.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"}}
</label>
</div>
<div>
<label>
{{input type="checkbox" checked=buffered.listable disabled=readOnly}}
{{i18n "admin.badges.listable"}}
</label>
</div>
<div>
<label>
{{input type="checkbox" checked=buffered.show_posts disabled=readOnly}}
{{i18n "admin.badges.show_posts"}}
</label>
</div>
<div>
<label>
{{input type="checkbox" checked=buffered.enabled}}
{{i18n "admin.badges.enabled"}}
</label>
</div>
<div class="buttons">
{{d-button
class="btn-primary"
action=(action "save")
type="submit"
disabled=saving
label="admin.badges.save"}}
<span class="saving">{{savingStatus}}</span>
{{#unless readOnly}}
{{d-button
action=(action "destroy")
class="btn-danger"
label="admin.badges.delete"
}}
{{/unless}}
</div>
</form>
{{/d-section}}
{{#if grant_count}}
<div class="content-body current-badge-actions">
<div>
{{#link-to "badges.show" this}}{{i18n "badges.granted" count=grant_count}}{{/link-to}}
</div>
</div>
{{/if}}