mirror of
https://github.com/discourse/discourse.git
synced 2024-11-29 04:33:52 +08:00
a446e0fde1
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.
198 lines
5.6 KiB
Handlebars
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}}
|