##// END OF EJS Templates
added support for binary files, and, protection again unicode decode errors that might occure in changesets views
added support for binary files, and, protection again unicode decode errors that might occure in changesets views

File last commit:

r270:408c66ec default
r273:cad478ed default
Show More
base.html
153 lines | 5.3 KiB | text/html | HtmlLexer
## -*- coding: utf-8 -*-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" id="mainhtml">
<head>
<link rel="icon" href="/images/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow"/>
<title>${next.title()}</title>
##For future use yui reset for cross browser compatability.
##<link rel="stylesheet" href="/js/yui/reset-fonts-grids/reset-fonts-grids.css" type="text/css" />
${self.css()}
${self.js()}
</head>
<body class="mainbody">
<div id="container">
<div class="page-header">
<h1>${next.breadcrumbs()}</h1>
${self.page_nav()}
<div class="flash_msg">
<% messages = h.flash.pop_messages() %>
% if messages:
<ul id="flash-messages">
% for message in messages:
<li class="${message.category}_msg">${message}</li>
% endfor
</ul>
% endif
</div>
<div id="main">
${next.main()}
</div>
<div class="page-footer">
Hg App ${c.hg_app_version} &copy; 2010 by Marcin Kuzminski
</div>
<div id="powered-by">
<p>
<a href="http://mercurial.selenic.com/" title="Mercurial">
<img src="/images/hglogo.png" width="75" height="90" alt="mercurial"/></a>
</p>
</div>
<div id="corner-top-left"></div>
<div id="corner-top-right"></div>
<div id="corner-bottom-left"></div>
<div id="corner-bottom-right"></div>
</div>
</body>
</html>
### MAKO DEFS ###
<%def name="page_nav()">
${self.menu()}
${self.submenu()}
</%def>
<%def name="menu(current)">
<%
def is_current(selected):
if selected == current:
return "class='current'"
%>
%if current not in ['home','admin']:
##regular menu
<script type="text/javascript">
YAHOO.util.Event.onDOMReady(function(){
YAHOO.util.Event.addListener('repo_switcher','click',function(){
if(YAHOO.util.Dom.hasClass('repo_switcher','selected')){
YAHOO.util.Dom.setStyle('switch_repos','display','none');
YAHOO.util.Dom.setStyle('repo_switcher','background','');
YAHOO.util.Dom.removeClass('repo_switcher','selected');
YAHOO.util.Dom.get('repo_switcher').removeAttribute('style');
}
else{
YAHOO.util.Dom.setStyle('switch_repos','display','');
YAHOO.util.Dom.setStyle('repo_switcher','background','#FFFFFF');
YAHOO.util.Dom.setStyle('repo_switcher','color','#556CB5');
YAHOO.util.Dom.addClass('repo_switcher','selected');
}
});
YAHOO.util.Event.addListener('repos_list','change',function(e){
var wa = YAHOO.util.Dom.get('repos_list').value;
var url = "${h.url('summary_home',repo_name='__REPLACE__')}".replace('__REPLACE__',wa);
window.location = url;
})
});
</script>
<ul class="page-nav">
<li>
<a id="repo_switcher" title="${_('Switch repository')}" href="#">&darr;</a>
<div id="switch_repos" style="display:none;position: absolute;height: 25px">
<select id="repos_list" size="=10" style="min-width: 150px">
%for repo in sorted(x.name.lower() for x in c.cached_repo_list.values()):
<option value="${repo}">${repo}</option>
%endfor
</select>
</div>
</li>
<li ${is_current('summary')}>${h.link_to(_('summary'),h.url('summary_home',repo_name=c.repo_name))}</li>
<li ${is_current('shortlog')}>${h.link_to(_('shortlog'),h.url('shortlog_home',repo_name=c.repo_name))}</li>
<li ${is_current('changelog')}>${h.link_to(_('changelog'),h.url('changelog_home',repo_name=c.repo_name))}</li>
<li ${is_current('branches')}>${h.link_to(_('branches'),h.url('branches_home',repo_name=c.repo_name))}</li>
<li ${is_current('tags')}>${h.link_to(_('tags'),h.url('tags_home',repo_name=c.repo_name))}</li>
<li ${is_current('files')}>${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name))}</li>
</ul>
%else:
##Root menu
<ul class="page-nav">
<li ${is_current('home')}>${h.link_to(_('Home'),h.url('/'))}</li>
<li ${is_current('admin')}>${h.link_to(_('Admin'),h.url('admin_home'))}</li>
<li class="logout">${h.link_to(u'Logout',h.url('logout_home'))}</li>
</ul>
%endif
</div>
</%def>
<%def name="submenu(current=None)">
<%
def is_current(selected):
if selected == current:
return "class='current_submenu'"
%>
%if current != None:
<div>
<ul class="submenu">
<li ${is_current('repos')}>${h.link_to(u'repos',h.url('repos'),class_='repos')}</li>
<li ${is_current('users')}>${h.link_to(u'users',h.url('users'),class_='users')}</li>
<li ${is_current('permissions')}>${h.link_to(u'permissions',h.url('permissions'),class_='permissions')}</li>
</ul>
</div>
%endif
</%def>
<%def name="css()">
<link rel="stylesheet" href="/css/monoblue_custom.css" type="text/css" />
</%def>
<%def name="js()">
<script type="text/javascript" src="/js/yui/utilities/utilities.js"></script>
</%def>
<!-- DEFINITION OF FORM ERROR FETCHER -->
<%def name="get_form_error(element)">
%if hasattr(c,'form_errors') and type(c.form_errors) == dict:
%if c.form_errors.get(element,False):
<span class="error-message">
${c.form_errors.get(element,'')}
</span>
%endif
%endif
</%def>