| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 | template(name="setting")  .setting-content    unless currentUser.isAdmin      | {{_ 'error-notAuthorized'}}    else      .content-title        i.fa.fa-cog        span {{_ 'settings'}}      .content-body        .side-menu          ul            li.active              a.js-setting-menu(data-id="registration-setting")                i.fa.fa-sign-in                | {{_ 'registration'}}            unless isSandstorm              li                a.js-setting-menu(data-id="email-setting")                  i.fa.fa-envelope                  | {{_ 'email'}}            li              a.js-setting-menu(data-id="account-setting")                i.fa.fa-users                | {{_ 'accounts'}}            li              a.js-setting-menu(data-id="announcement-setting")                i.fa.fa-bullhorn                | {{_ 'admin-announcement'}}            li              a.js-setting-menu(data-id="layout-setting")                i.fa.fa-object-group                | {{_ 'layout'}}            li              a.js-setting-menu(data-id="webhook-setting")                i.fa.fa-globe                | {{_ 'global-webhook'}}        .main-body          if loading.get            +spinner          else if generalSetting.get            +general          else if emailSetting.get            unless isSandstorm              +email          else if accountSetting.get            +accountSettings          else if announcementSetting.get            +announcementSettings          else if layoutSetting.get            +layoutSettings          else if webhookSetting.get            +webhookSettingstemplate(name="webhookSettings")  span     +outgoingWebhooksPopuptemplate(name="general")  ul#registration-setting.setting-detail    li      a.flex.js-toggle-registration        .materialCheckBox(class="{{#if currentSetting.disableRegistration}}is-checked{{/if}}")        span {{_ 'disable-self-registration'}}    li      .invite-people(class="{{#if currentSetting.disableRegistration}}{{else}}hide{{/if}}")        ul          li            .title {{_ 'invite-people'}}            textarea#email-to-invite.wekan-form-control(rows='5', placeholder="{{_ 'email-addresses'}}")          li            .title {{_ 'to-boards'}}            .bg-white              each boards                a.option.flex.js-toggle-board-choose(id= _id)                  .materialCheckBox(data-id= _id)                  span= title          li            button.js-email-invite.primary {{_ 'invite'}}template(name='email')  ul#email-setting.setting-detail    //if isSandstorm    //  li.smtp-form    //    .title {{_ 'smtp-host'}}    //    .description {{_ 'smtp-host-description'}}    //    .form-group    //      input.wekan-form-control#mail-server-host(type="text", placeholder="smtp.domain.com" value="{{currentSetting.mailServer.host}}")    //  li.smtp-form    //    .title {{_ 'smtp-port'}}    //    .description {{_ 'smtp-port-description'}}    //    .form-group    //      input.wekan-form-control#mail-server-port(type="text", placeholder="25" value="{{currentSetting.mailServer.port}}")    //  li.smtp-form    //    .title {{_ 'smtp-username'}}    //    .form-group    //      input.wekan-form-control#mail-server-username(type="text", placeholder="{{_ 'username'}}" value="{{currentSetting.mailServer.username}}")    //  li.smtp-form    //    .title {{_ 'smtp-password'}}    //    .form-group    //      input.wekan-form-control#mail-server-password(type="password", placeholder="{{_ 'password'}}" value="")    //  li.smtp-form    //    .title {{_ 'smtp-tls'}}    //    .form-group    //      a.flex.js-toggle-tls    //        .materialCheckBox#mail-server-tls(class="{{#if currentSetting.mailServer.enableTLS}}is-checked{{/if}}")    //    //        span {{_ 'smtp-tls-description'}}    //    //  li.smtp-form    //    .title {{_ 'send-from'}}    //    .form-group    //      input.wekan-form-control#mail-server-from(type="email", placeholder="no-reply@domain.com" value="{{currentSetting.mailServer.from}}")    //    //  li    //    button.js-save.primary {{_ 'save'}}    li      button.js-send-smtp-test-email.primary {{_ 'send-smtp-test'}}template(name='accountSettings')  ul#account-setting.setting-detail    li      button.js-all-hide-system-messages.primary {{_ 'hide-system-messages-of-all-users'}}    li.accounts-form      .title {{_ 'accounts-allowEmailChange'}}      .form-group.flex        input.wekan-form-control#accounts-allowEmailChange(type="radio" name="allowEmailChange" value="true" checked="{{#if allowEmailChange}}checked{{/if}}")        span {{_ 'yes'}}        input.wekan-form-control#accounts-allowEmailChange(type="radio" name="allowEmailChange" value="false" checked="{{#unless allowEmailChange}}checked{{/unless}}")        span {{_ 'no'}}      .title {{_ 'accounts-allowUserNameChange'}}      .form-group.flex        input.wekan-form-control#accounts-allowUserNameChange(type="radio" name="allowUserNameChange" value="true" checked="{{#if allowUserNameChange}}checked{{/if}}")        span {{_ 'yes'}}        input.wekan-form-control#accounts-allowUserNameChange(type="radio" name="allowUserNameChange" value="false" checked="{{#unless allowUserNameChange}}checked{{/unless}}")        span {{_ 'no'}}      .title {{_ 'accounts-allowUserDelete'}}      .form-group.flex        input.wekan-form-control#accounts-allowUserDelete(type="radio" name="allowUserDelete" value="true" checked="{{#if allowUserDelete}}checked{{/if}}")        span {{_ 'yes'}}        input.wekan-form-control#accounts-allowUserDelete(type="radio" name="allowUserDelete" value="false" checked="{{#unless allowUserDelete}}checked{{/unless}}")        span {{_ 'no'}}      button.js-accounts-save.primary {{_ 'save'}}template(name='announcementSettings')  ul#announcement-setting.setting-detail    li      a.flex.js-toggle-activemessage        .materialCheckBox(class="{{#if currentSetting.enabled}}is-checked{{/if}}")        span {{_ 'admin-announcement-active'}}    li      .admin-announcement(class="{{#if currentSetting.enabled}}{{else}}hide{{/if}}")        ul          li            .title {{_ 'admin-announcement-title'}}            textarea#admin-announcement.wekan-form-control= currentSetting.body          li            button.js-announcement-save.primary {{_ 'save'}}template(name='layoutSettings')  ul#layout-setting.setting-detail    li.layout-form      .title {{_ 'display-authentication-method'}}      .form-group.flex        input.wekan-form-control#display-authentication-method(type="radio" name="displayAuthenticationMethod" value="true" checked="{{#if currentSetting.displayAuthenticationMethod}}checked{{/if}}")        span {{_ 'yes'}}        input.wekan-form-control#display-authentication-method(type="radio" name="displayAuthenticationMethod" value="false" checked="{{#unless currentSetting.displayAuthenticationMethod}}checked{{/unless}}")        span {{_ 'no'}}    li.layout-form      .title {{_ 'default-authentication-method'}}      +selectAuthenticationMethod(authenticationMethod=currentSetting.defaultAuthenticationMethod)    li.layout-form      .title {{_ 'custom-product-name'}}      .form-group        input.wekan-form-control#product-name(type="text", placeholder="" value="{{currentSetting.productName}}")    li.layout-form      .title {{_ 'hide-logo'}}      .form-group.flex        input.wekan-form-control#hide-logo(type="radio" name="hideLogo" value="true" checked="{{#if currentSetting.hideLogo}}checked{{/if}}")        span {{_ 'yes'}}        input.wekan-form-control#hide-logo(type="radio" name="hideLogo" value="false" checked="{{#unless currentSetting.hideLogo}}checked{{/unless}}")        span {{_ 'no'}}    li.layout-form      .title {{_ 'custom-login-logo-image-url'}}      .form-group        input.wekan-form-control#custom-login-logo-image-url(type="text", placeholder="" value="{{currentSetting.customLoginLogoImageUrl}}")    li.layout-form      .title {{_ 'custom-login-logo-link-url'}}      .form-group        input.wekan-form-control#custom-login-logo-link-url(type="text", placeholder="" value="{{currentSetting.customLoginLogoLinkUrl}}")    li.layout-form      .title {{_ 'text-below-custom-login-logo'}}      .form-group        textarea#text-below-custom-login-logo.wekan-form-control= currentSetting.textBelowCustomLoginLogo    li.layout-form      .title {{_ 'custom-top-left-corner-logo-image-url'}}      .form-group        input.wekan-form-control#custom-top-left-corner-logo-image-url(type="text", placeholder="" value="{{currentSetting.customTopLeftCornerLogoImageUrl}}")    li.layout-form      .title {{_ 'custom-top-left-corner-logo-link-url'}}      .form-group        input.wekan-form-control#custom-top-left-corner-logo-link-url(type="text", placeholder="" value="{{currentSetting.customTopLeftCornerLogoLinkUrl}}")    li.layout-form      .title {{_ 'custom-top-left-corner-logo-height'}}      .form-group        input.wekan-form-control#custom-top-left-corner-logo-height(type="text", placeholder="" value="{{currentSetting.customTopLeftCornerLogoHeight}}")    li.layout-form      .title {{_ 'automatic-linked-url-schemes'}}      .form-group        textarea#automatic-linked-url-schemes.wekan-form-control= currentSetting.automaticLinkedUrlSchemes    li      button.js-save-layout.primary {{_ 'save'}}template(name='selectAuthenticationMethod')  select#defaultAuthenticationMethod    each authentications      if isSelected value        option(value="{{value}}" selected) {{_ value}}      else        option(value="{{value}}") {{_ value}}
 |