##// END OF EJS Templates
processes: better handling of PID that are not part of RhodeCode processes....
processes: better handling of PID that are not part of RhodeCode processes. - in some cases for multiple gunicorn instances the PID sent is not from rhodecode which would lead to AccessDenied errors. We prevent from crashing the server on this type of errors.

File last commit:

r2204:49a05d58 default
r2661:042cb4c7 default
Show More
root.mako
185 lines | 7.5 KiB | application/x-mako | MakoHtmlLexer
templating: use .mako as extensions for template files.
r1282 ## -*- coding: utf-8 -*-
<!DOCTYPE html>
<%
c.template_context['repo_name'] = getattr(c, 'repo_name', '')
core: added support for golang go import functionality
r2204 go_import_header = ''
templating: use .mako as extensions for template files.
r1282 if hasattr(c, 'rhodecode_db_repo'):
c.template_context['repo_type'] = c.rhodecode_db_repo.repo_type
c.template_context['repo_landing_commit'] = c.rhodecode_db_repo.landing_rev[1]
if getattr(c, 'rhodecode_user', None) and c.rhodecode_user.user_id:
c.template_context['rhodecode_user']['username'] = c.rhodecode_user.username
c.template_context['rhodecode_user']['email'] = c.rhodecode_user.email
c.template_context['rhodecode_user']['notification_status'] = c.rhodecode_user.get_instance().user_data.get('notification_status', True)
security: use new safe escaped user attributes across the application....
r1815 c.template_context['rhodecode_user']['first_name'] = c.rhodecode_user.first_name
c.template_context['rhodecode_user']['last_name'] = c.rhodecode_user.last_name
templating: use .mako as extensions for template files.
r1282
c.template_context['visual']['default_renderer'] = h.get_visual_attr(c, 'default_renderer')
templates: expose default user data into templates for JS usage.
r1763 c.template_context['default_user'] = {
'username': h.DEFAULT_USER,
'user_id': 1
}
templating: use .mako as extensions for template files.
r1282 %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="${h.asset('js/vendors/webcomponentsjs/webcomponents-lite.min.js', ver=c.rhodecode_version_hash)}"></script>
<link rel="import" href="${h.asset('js/rhodecode-components.html', ver=c.rhodecode_version_hash)}">
<title>${self.title()}</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
security: use no-referrer for outside link to stop leaking potential parameters such...
r2039
core: added support for golang go import functionality
r2204 ${h.go_import_header(request, getattr(c, 'rhodecode_db_repo', None))}
templates: use safer way to extract user_agent from request....
r2094 % if 'safari' in (request.user_agent or '').lower():
security: use no-referrer for outside link to stop leaking potential parameters such...
r2039 <meta name="referrer" content="origin">
% else:
<meta name="referrer" content="origin-when-cross-origin">
% endif
templating: use .mako as extensions for template files.
r1282 <%def name="robots()">
<meta name="robots" content="index, nofollow"/>
</%def>
${self.robots()}
<link rel="icon" href="${h.asset('images/favicon.ico', ver=c.rhodecode_version_hash)}" sizes="16x16 32x32" type="image/png" />
## CSS definitions
<%def name="css()">
<link rel="stylesheet" type="text/css" href="${h.asset('css/style.css', ver=c.rhodecode_version_hash)}" media="screen"/>
<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" href="${h.asset('css/ie.css', ver=c.rhodecode_version_hash)}" media="screen"/>
<![endif]-->
## EXTRA FOR CSS
${self.css_extra()}
</%def>
## CSS EXTRA - optionally inject some extra CSS stuff needed for specific websites
<%def name="css_extra()">
</%def>
${self.css()}
## JAVASCRIPT
<%def name="js()">
<script>
// setup Polymer options
window.Polymer = {lazyRegister: true, dom: 'shadow'};
// Load webcomponentsjs polyfill if browser does not support native Web Components
(function() {
'use strict';
var onload = function() {
// For native Imports, manually fire WebComponentsReady so user code
// can use the same code path for native and polyfill'd imports.
if (!window.HTMLImports) {
document.dispatchEvent(
new CustomEvent('WebComponentsReady', {bubbles: true})
);
}
};
var webComponentsSupported = (
'registerElement' in document
&& 'import' in document.createElement('link')
&& 'content' in document.createElement('template')
);
if (!webComponentsSupported) {
} else {
onload();
}
})();
</script>
<script src="${h.asset('js/rhodecode/i18n/%s.js' % c.language, ver=c.rhodecode_version_hash)}"></script>
<script type="text/javascript">
// register templateContext to pass template variables to JS
var templateContext = ${h.json.dumps(c.template_context)|n};
home: moved home and repo group views into pyramid....
r1774 var APPLICATION_URL = "${h.route_path('home').rstrip('/')}";
templating: use .mako as extensions for template files.
r1282 var ASSET_URL = "${h.asset('')}";
var DEFAULT_RENDERER = "${h.get_visual_attr(c, 'default_renderer')}";
var CSRF_TOKEN = "${getattr(c, 'csrf_token', '')}";
var APPENLIGHT = {
enabled: ${'true' if getattr(c, 'appenlight_enabled', False) else 'false'},
key: '${getattr(c, "appenlight_api_public_key", "")}',
% if getattr(c, 'appenlight_server_url', None):
serverUrl: '${getattr(c, "appenlight_server_url", "")}',
% endif
requestInfo: {
% if getattr(c, 'rhodecode_user', None):
ip: '${c.rhodecode_user.ip_addr}',
username: '${c.rhodecode_user.username}'
% endif
},
tags: {
rhodecode_version: '${c.rhodecode_version}',
rhodecode_edition: '${c.rhodecode_edition}'
}
};
</script>
<%include file="/base/plugins_base.mako"/>
<!--[if lt IE 9]>
js: organized and updated JS packages....
r2123 <script language="javascript" type="text/javascript" src="${h.asset('js/src/excanvas.min.js')}"></script>
templating: use .mako as extensions for template files.
r1282 <![endif]-->
<script language="javascript" type="text/javascript" src="${h.asset('js/rhodecode/routes.js', ver=c.rhodecode_version_hash)}"></script>
helpers: remove usage of pylons session.
r2095 <script> var alertMessagePayloads = ${h.flash.json_alerts(request=request)|n}; </script>
templating: use .mako as extensions for template files.
r1282 ## avoide escaping the %N
<script language="javascript" type="text/javascript" src="${h.asset('js/rhodecode-components.js', ver=c.rhodecode_version_hash)}"></script>
<script>CodeMirror.modeURL = "${h.asset('') + 'js/mode/%N/%N.js?ver='+c.rhodecode_version_hash}";</script>
## JAVASCRIPT EXTRA - optionally inject some extra JS for specificed templates
${self.js_extra()}
<script type="text/javascript">
Rhodecode = (function() {
function _Rhodecode() {
this.comments = new CommentsController();
}
return new _Rhodecode();
})();
$(document).ready(function(){
show_more_event();
timeagoActivate();
clipboard: added dummy placeholders for copying commits/paths via clipboard.js
r1935 clipboardActivate();
templating: use .mako as extensions for template files.
r1282 })
</script>
</%def>
## JAVASCRIPT EXTRA - optionally inject some extra JS for specificed templates
<%def name="js_extra()"></%def>
${self.js()}
<%def name="head_extra()"></%def>
${self.head_extra()}
## extra stuff
%if c.pre_code:
${c.pre_code|n}
%endif
</head>
<body id="body">
<noscript>
<div class="noscript-error">
${_('Please enable JavaScript to use RhodeCode Enterprise')}
</div>
</noscript>
## IE hacks
<!--[if IE 7]>
<script>$(document.body).addClass('ie7')</script>
<![endif]-->
<!--[if IE 8]>
<script>$(document.body).addClass('ie8')</script>
<![endif]-->
<!--[if IE 9]>
<script>$(document.body).addClass('ie9')</script>
<![endif]-->
${next.body()}
%if c.post_code:
${c.post_code|n}
%endif
<rhodecode-app></rhodecode-app>
</body>
</html>