|
|
## -*- coding: utf-8 -*-
|
|
|
<%inherit file="/base/base.html"/>
|
|
|
|
|
|
<%def name="title()">
|
|
|
${_('Settings administration')} - ${c.rhodecode_name}
|
|
|
</%def>
|
|
|
|
|
|
<%def name="breadcrumbs_links()">
|
|
|
${h.link_to(_('Admin'),h.url('admin_home'))}
|
|
|
»
|
|
|
${_('settings')}
|
|
|
</%def>
|
|
|
|
|
|
<%def name="page_nav()">
|
|
|
${self.menu('admin')}
|
|
|
</%def>
|
|
|
|
|
|
<%def name="main()">
|
|
|
<div class="box">
|
|
|
<!-- box / title -->
|
|
|
<div class="title">
|
|
|
${self.breadcrumbs()}
|
|
|
</div>
|
|
|
<!-- end box / title -->
|
|
|
|
|
|
<h3>${_('Remap and rescan repositories')}</h3>
|
|
|
${h.form(url('admin_setting', setting_id='mapping'),method='put')}
|
|
|
<div class="form">
|
|
|
<!-- fields -->
|
|
|
|
|
|
<div class="fields">
|
|
|
<div class="field">
|
|
|
<div class="label label-checkbox">
|
|
|
<label for="destroy">${_('rescan option')}:</label>
|
|
|
</div>
|
|
|
<div class="checkboxes">
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('destroy',True)}
|
|
|
<label for="destroy">
|
|
|
<span class="tooltip" title="${h.tooltip(_('In case a repository was deleted from filesystem and there are leftovers in the database check this option to scan obsolete data in database and remove it.'))}">
|
|
|
${_('destroy old data')}</span> </label>
|
|
|
</div>
|
|
|
<span class="help-block">${_('Rescan repositories location for new repositories. Also deletes obsolete if `destroy` flag is checked ')}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="buttons">
|
|
|
${h.submit('rescan',_('Rescan repositories'),class_="ui-btn large")}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
${h.end_form()}
|
|
|
|
|
|
<h3>${_('Whoosh indexing')}</h3>
|
|
|
${h.form(url('admin_setting', setting_id='whoosh'),method='put')}
|
|
|
<div class="form">
|
|
|
<!-- fields -->
|
|
|
|
|
|
<div class="fields">
|
|
|
<div class="field">
|
|
|
<div class="label label-checkbox">
|
|
|
<label>${_('index build option')}:</label>
|
|
|
</div>
|
|
|
<div class="checkboxes">
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('full_index',True)}
|
|
|
<label for="full_index">${_('build from scratch')}</label>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="buttons">
|
|
|
${h.submit('reindex',_('Reindex'),class_="ui-btn large")}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
${h.end_form()}
|
|
|
|
|
|
<h3>${_('Global application settings')}</h3>
|
|
|
${h.form(url('admin_setting', setting_id='global'),method='put')}
|
|
|
<div class="form">
|
|
|
<!-- fields -->
|
|
|
|
|
|
<div class="fields">
|
|
|
|
|
|
<div class="field">
|
|
|
<div class="label">
|
|
|
<label for="rhodecode_title">${_('Application name')}:</label>
|
|
|
</div>
|
|
|
<div class="input">
|
|
|
${h.text('rhodecode_title',size=30)}
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="field">
|
|
|
<div class="label">
|
|
|
<label for="rhodecode_realm">${_('Realm text')}:</label>
|
|
|
</div>
|
|
|
<div class="input">
|
|
|
${h.text('rhodecode_realm',size=30)}
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="field">
|
|
|
<div class="label">
|
|
|
<label for="rhodecode_ga_code">${_('GA code')}:</label>
|
|
|
</div>
|
|
|
<div class="input">
|
|
|
${h.text('rhodecode_ga_code',size=30)}
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="buttons">
|
|
|
${h.submit('save',_('Save settings'),class_="ui-btn large")}
|
|
|
${h.reset('reset',_('Reset'),class_="ui-btn large")}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
${h.end_form()}
|
|
|
|
|
|
<h3>${_('Visualisation settings')}</h3>
|
|
|
${h.form(url('admin_setting', setting_id='visual'),method='put')}
|
|
|
<div class="form">
|
|
|
<!-- fields -->
|
|
|
|
|
|
<div class="fields">
|
|
|
<div class="field">
|
|
|
<div class="label label-checkbox">
|
|
|
<label>${_('General')}:</label>
|
|
|
</div>
|
|
|
<div class="checkboxes">
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('rhodecode_lightweight_dashboard','True')}
|
|
|
<label for="rhodecode_lightweight_dashboard">${_('Use lightweight dashboard')}</label>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="checkboxes">
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('rhodecode_repository_fields','True')}
|
|
|
<label for="rhodecode_repository_fields">${_('Use repository extra fields')}</label>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="field">
|
|
|
<div class="label label-checkbox">
|
|
|
<label>${_('Icons')}:</label>
|
|
|
</div>
|
|
|
<div class="checkboxes">
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('rhodecode_show_public_icon','True')}
|
|
|
<label for="rhodecode_show_public_icon">${_('Show public repo icon on repositories')}</label>
|
|
|
</div>
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('rhodecode_show_private_icon','True')}
|
|
|
<label for="rhodecode_show_private_icon">${_('Show private repo icon on repositories')}</label>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="field">
|
|
|
<div class="label label-checkbox">
|
|
|
<label>${_('Meta-Tagging')}:</label>
|
|
|
</div>
|
|
|
<div class="checkboxes">
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('rhodecode_stylify_metatags','True')}
|
|
|
<label for="rhodecode_stylify_metatags">${_('Stylify recognised metatags:')}</label>
|
|
|
</div>
|
|
|
<div style="padding-left: 20px;">
|
|
|
<ul> <!-- Fix style here -->
|
|
|
<li>[featured] <span class="metatag" tag="featured">featured</span></li>
|
|
|
<li>[stale] <span class="metatag" tag="stale">stale</span></li>
|
|
|
<li>[dead] <span class="metatag" tag="dead">dead</span></li>
|
|
|
<li>[lang => lang] <span class="metatag" tag="lang" >lang</span></li>
|
|
|
<li>[license => License] <span class="metatag" tag="license"><a href="http://www.opensource.org/licenses/License" >License</a></span></li>
|
|
|
<li>[requires => Repo] <span class="metatag" tag="requires" >requires => <a href="#" >Repo</a></span></li>
|
|
|
<li>[recommends => Repo] <span class="metatag" tag="recommends" >recommends => <a href="#" >Repo</a></span></li>
|
|
|
<li>[see => URI] <span class="metatag" tag="see">see => <a href="#">URI</a> </span></li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="buttons">
|
|
|
${h.submit('save',_('Save settings'),class_="ui-btn large")}
|
|
|
${h.reset('reset',_('Reset'),class_="ui-btn large")}
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
${h.end_form()}
|
|
|
|
|
|
|
|
|
<h3>${_('VCS settings')}</h3>
|
|
|
${h.form(url('admin_setting', setting_id='vcs'),method='put')}
|
|
|
<div class="form">
|
|
|
<!-- fields -->
|
|
|
|
|
|
<div class="fields">
|
|
|
|
|
|
<div class="field">
|
|
|
<div class="label label-checkbox">
|
|
|
<label>${_('Web')}:</label>
|
|
|
</div>
|
|
|
<div class="checkboxes">
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('web_push_ssl', 'True')}
|
|
|
<label for="web_push_ssl">${_('require ssl for vcs operations')}</label>
|
|
|
</div>
|
|
|
<span class="help-block">${_('RhodeCode will require SSL for pushing or pulling. If SSL is missing it will return HTTP Error 406: Not Acceptable')}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="field">
|
|
|
<div class="label label-checkbox">
|
|
|
<label>${_('Hooks')}:</label>
|
|
|
</div>
|
|
|
<div class="checkboxes">
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('hooks_changegroup_update','True')}
|
|
|
<label for="hooks_changegroup_update">${_('Update repository after push (hg update)')}</label>
|
|
|
</div>
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('hooks_changegroup_repo_size','True')}
|
|
|
<label for="hooks_changegroup_repo_size">${_('Show repository size after push')}</label>
|
|
|
</div>
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('hooks_changegroup_push_logger','True')}
|
|
|
<label for="hooks_changegroup_push_logger">${_('Log user push commands')}</label>
|
|
|
</div>
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('hooks_outgoing_pull_logger','True')}
|
|
|
<label for="hooks_outgoing_pull_logger">${_('Log user pull commands')}</label>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="input" style="margin-top:10px">
|
|
|
${h.link_to(_('advanced setup'),url('admin_edit_setting',setting_id='hooks'),class_="ui-btn")}
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="field">
|
|
|
<div class="label label-checkbox">
|
|
|
<label>${_('Mercurial Extensions')}:</label>
|
|
|
</div>
|
|
|
<div class="checkboxes">
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('extensions_largefiles','True')}
|
|
|
<label for="extensions_hgsubversion">${_('largefiles extensions')}</label>
|
|
|
</div>
|
|
|
<div class="checkbox">
|
|
|
${h.checkbox('extensions_hgsubversion','True')}
|
|
|
<label for="extensions_hgsubversion">${_('hgsubversion extensions')}</label>
|
|
|
</div>
|
|
|
<span class="help-block">${_('Requires hgsubversion library installed. Allows clonning from svn remote locations')}</span>
|
|
|
##<div class="checkbox">
|
|
|
## ${h.checkbox('extensions_hggit','True')}
|
|
|
## <label for="extensions_hggit">${_('hg-git extensions')}</label>
|
|
|
##</div>
|
|
|
##<span class="help-block">${_('Requires hg-git library installed. Allows clonning from git remote locations')}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="field">
|
|
|
<div class="label">
|
|
|
<label for="paths_root_path">${_('Repositories location')}:</label>
|
|
|
</div>
|
|
|
<div class="input">
|
|
|
${h.text('paths_root_path',size=30,readonly="readonly")}
|
|
|
<span id="path_unlock" class="tooltip"
|
|
|
title="${h.tooltip(_('This a crucial application setting. If you are really sure you need to change this, you must restart application in order to make this setting take effect. Click this label to unlock.'))}">
|
|
|
${_('unlock')}</span>
|
|
|
<span class="help-block">${_('Location where repositories are stored. After changing this value a restart, and rescan is required')}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="buttons">
|
|
|
${h.submit('save',_('Save settings'),class_="ui-btn large")}
|
|
|
${h.reset('reset',_('Reset'),class_="ui-btn large")}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
${h.end_form()}
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
YAHOO.util.Event.onDOMReady(function(){
|
|
|
YAHOO.util.Event.addListener('path_unlock','click',function(){
|
|
|
YAHOO.util.Dom.get('paths_root_path').removeAttribute('readonly');
|
|
|
});
|
|
|
});
|
|
|
</script>
|
|
|
|
|
|
<h3>${_('Test Email')}</h3>
|
|
|
${h.form(url('admin_setting', setting_id='email'),method='put')}
|
|
|
<div class="form">
|
|
|
<!-- fields -->
|
|
|
|
|
|
<div class="fields">
|
|
|
<div class="field">
|
|
|
<div class="label">
|
|
|
<label for="test_email">${_('Email to')}:</label>
|
|
|
</div>
|
|
|
<div class="input">
|
|
|
${h.text('test_email',size=30)}
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="buttons">
|
|
|
${h.submit('send',_('Send'),class_="ui-btn large")}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
${h.end_form()}
|
|
|
|
|
|
<h3>${_('System Info and Packages')}</h3>
|
|
|
<div class="form">
|
|
|
<div>
|
|
|
<h5 id="expand_modules" style="cursor: pointer">↓ ${_('show')} ↓</h5>
|
|
|
</div>
|
|
|
<div id="expand_modules_table" style="display:none">
|
|
|
<h5>Python - ${c.py_version}</h5>
|
|
|
<h5>System - ${c.platform}</h5>
|
|
|
|
|
|
<table class="table" style="margin:0px 0px 0px 20px">
|
|
|
<colgroup>
|
|
|
<col style="width:220px">
|
|
|
</colgroup>
|
|
|
<tbody>
|
|
|
%for key, value in c.modules:
|
|
|
<tr>
|
|
|
<th style="text-align: right;padding-right:5px;">${key}</th>
|
|
|
<td>${value}</td>
|
|
|
</tr>
|
|
|
%endfor
|
|
|
</tbody>
|
|
|
</table>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
YUE.on('expand_modules','click',function(e){
|
|
|
YUD.setStyle('expand_modules_table','display','');
|
|
|
YUD.setStyle('expand_modules','display','none');
|
|
|
})
|
|
|
</script>
|
|
|
|
|
|
</div>
|
|
|
</%def>
|
|
|
|