Newer
Older
gitbucket_jkp / src / main / twirl / admin / system.scala.html
  1. @(settings: service.SystemSettingsService.SystemSettings, info: Option[Any])(implicit context: app.Context)
  2. @import context._
  3. @import view.helpers._
  4. @html.main("System Settings"){
  5. @menu("system"){
  6. @helper.html.information(info)
  7. <form action="@path/admin/system" method="POST" validate="true">
  8. <div class="box">
  9. <div class="box-header">System Settings</div>
  10. <div class="box-content">
  11. <!--====================================================================-->
  12. <!-- Account registration -->
  13. <!--====================================================================-->
  14. <label class="strong">Account registration</label>
  15. <fieldset>
  16. <label class="radio">
  17. <input type="radio" name="allowAccountRegistration" value="true"@if(settings.allowAccountRegistration){ checked}>
  18. <span class="strong">Allow</span> - Users can create accounts by themselves.
  19. </label>
  20. <label class="radio">
  21. <input type="radio" name="allowAccountRegistration" value="false"@if(!settings.allowAccountRegistration){ checked}>
  22. <span class="strong">Deny</span> - Only administrators can create accounts.
  23. </label>
  24. </fieldset>
  25. <!--====================================================================-->
  26. <!-- Services -->
  27. <!--====================================================================-->
  28. <hr>
  29. <label class="strong">Services</label>
  30. <fieldset>
  31. <label class="checkbox">
  32. <input type="checkbox" name="gravatar"@if(settings.gravatar){ checked}/>
  33. Use Gravatar for Profile-Images
  34. </label>
  35. </fieldset>
  36. <!--====================================================================-->
  37. <!-- Authentication -->
  38. <!--====================================================================-->
  39. <hr>
  40. <label class="strong">Authentication</label>
  41. <fieldset>
  42. <label class="checkbox">
  43. <input type="checkbox" id="ldapAuthentication" name="ldapAuthentication"@if(settings.ldap){ checked}/>
  44. LDAP
  45. </label>
  46. </fieldset>
  47. <div class="form-horizontal ldap">
  48. <div class="control-group">
  49. <label class="control-label" for="ldapHost">LDAP Host</label>
  50. <div class="controls">
  51. <input type="text" id="ldapHost" name="ldap.host" value="@settings.ldap.map(_.host)"/>
  52. <span id="error-ldap_host" class="error"></span>
  53. </div>
  54. </div>
  55. <div class="control-group">
  56. <label class="control-label" for="ldapPort">LDAP Port</label>
  57. <div class="controls">
  58. <input type="text" id="ldapPort" name="ldap.port" class="input-mini" value="@settings.ldap.map(_.port)"/>
  59. <span id="error-ldap_port" class="error"></span>
  60. </div>
  61. </div>
  62. <div class="control-group">
  63. <label class="control-label" for="ldapBindDN">Bind DN</label>
  64. <div class="controls">
  65. <input type="text" id="ldapBindDN" name="ldap.bindDN" value="@settings.ldap.map(_.bindDN)"/>
  66. <span id="error-ldap_bindDN" class="error"></span>
  67. </div>
  68. </div>
  69. <div class="control-group">
  70. <label class="control-label" for="ldapBindPassword">Bind Password</label>
  71. <div class="controls">
  72. <input type="password" id="ldapBindPassword" name="ldap.bindPassword" value="@settings.ldap.map(_.bindPassword)"/>
  73. <span id="error-ldap_bindPassword" class="error"></span>
  74. </div>
  75. </div>
  76. <div class="control-group">
  77. <label class="control-label" for="ldapBaseDN">Base DN</label>
  78. <div class="controls">
  79. <input type="text" id="ldapBaseDN" name="ldap.baseDN" value="@settings.ldap.map(_.baseDN)"/>
  80. <span id="error-ldap_baseDN" class="error"></span>
  81. </div>
  82. </div>
  83. <div class="control-group">
  84. <label class="control-label" for="ldapUserNameAttribute">User name attribute</label>
  85. <div class="controls">
  86. <input type="text" id="ldapUserNameAttribute" name="ldap.userNameAttribute" value="@settings.ldap.map(_.userNameAttribute)"/>
  87. <span id="error-ldap_userNameAttribute" class="error"></span>
  88. </div>
  89. </div>
  90. <div class="control-group">
  91. <label class="control-label" for="ldapMailAttribute">Mail address attribute</label>
  92. <div class="controls">
  93. <input type="text" id="ldapMailAttribute" name="ldap.mailAttribute" value="@settings.ldap.map(_.mailAttribute)"/>
  94. <span id="error-ldap_mailAttribute" class="error"></span>
  95. </div>
  96. </div>
  97. </div>
  98. <!--====================================================================-->
  99. <!-- Notification email -->
  100. <!--====================================================================-->
  101. <hr>
  102. <label class="strong">Notification email</label>
  103. <fieldset>
  104. <label class="checkbox">
  105. <input type="checkbox" id="notification" name="notification"@if(settings.notification){ checked}/>
  106. Send notifications
  107. </label>
  108. </fieldset>
  109. <div class="form-horizontal notification">
  110. <div class="control-group">
  111. <label class="control-label" for="smtpHost">SMTP Host</label>
  112. <div class="controls">
  113. <input type="text" id="smtpHost" name="smtp.host" value="@settings.smtp.map(_.host)"/>
  114. <span id="error-smtp_host" class="error"></span>
  115. </div>
  116. </div>
  117. <div class="control-group">
  118. <label class="control-label" for="smtpPort">SMTP Port</label>
  119. <div class="controls">
  120. <input type="text" id="smtpPort" name="smtp.port" class="input-mini" value="@settings.smtp.map(_.port)"/>
  121. <span id="error-smtp_port" class="error"></span>
  122. </div>
  123. </div>
  124. <div class="control-group">
  125. <label class="control-label" for="smtpUser">SMTP User</label>
  126. <div class="controls">
  127. <input type="text" id="smtpUser" name="smtp.user" value="@settings.smtp.map(_.user)"/>
  128. </div>
  129. </div>
  130. <div class="control-group">
  131. <label class="control-label" for="smtpPassword">SMTP Password</label>
  132. <div class="controls">
  133. <input type="password" id="smtpPassword" name="smtp.password" value="@settings.smtp.map(_.password)"/>
  134. </div>
  135. </div>
  136. <div class="control-group">
  137. <div class="controls">
  138. <label class="checkbox">
  139. <input type="checkbox" name="smtp.ssl"@if(settings.smtp.flatMap(_.ssl).getOrElse(false)){ checked}/> Enable SSL
  140. </label>
  141. </div>
  142. </div>
  143. <div class="control-group">
  144. <label class="control-label" for="fromAddress">FROM Address</label>
  145. <div class="controls">
  146. <input type="text" id="fromAddress" name="smtp.fromAddress" value="@settings.smtp.map(_.fromAddress)"/>
  147. </div>
  148. </div>
  149. <div class="control-group">
  150. <label class="control-label" for="fromName">FROM Name</label>
  151. <div class="controls">
  152. <input type="text" id="fromName" name="smtp.fromName" value="@settings.smtp.map(_.fromName)"/>
  153. </div>
  154. </div>
  155. </div>
  156. </div>
  157. </div>
  158. <fieldset>
  159. <input type="submit" class="btn btn-success" value="Apply changes"/>
  160. </fieldset>
  161. </form>
  162. }
  163. }
  164. <script>
  165. $(function(){
  166. $('#notification').change(function(){
  167. $('.notification input').prop('disabled', !$(this).prop('checked'));
  168. }).change();
  169.  
  170. $('#ldapAuthentication').change(function(){
  171. $('.ldap input').prop('disabled', !$(this).prop('checked'));
  172. }).change();
  173. });
  174. </script>