Files
@ 260a7a01b054
Branch filter:
Location: kallithea/rhodecode/templates/branches/branches.html - annotation
260a7a01b054
2.9 KiB
text/html
follow Python conventions for boolean values
True and False might be singletons and the "default" values for "boolean"
expressions, but "all" values in Python has a boolean value and should be
evaluated as such. Checking with 'is True' and 'is False' is thus confusing,
error prone and unnessarily complex.
If we anywhere rely and nullable boolean fields from the database layer and
don't want the null value to be treated as False then we should check
explicitly for null with 'is None'.
True and False might be singletons and the "default" values for "boolean"
expressions, but "all" values in Python has a boolean value and should be
evaluated as such. Checking with 'is True' and 'is False' is thus confusing,
error prone and unnessarily complex.
If we anywhere rely and nullable boolean fields from the database layer and
don't want the null value to be treated as False then we should check
explicitly for null with 'is None'.
1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1f334a68d057 1e757ac98988 1e757ac98988 1e757ac98988 713315371e03 9e677f6d34cb 1e757ac98988 1e757ac98988 1e757ac98988 eacd33e0c5b3 1e757ac98988 1e757ac98988 1e757ac98988 1c32b72930fa 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 3c4afb8894bd 488bbf5e3f59 3c4afb8894bd 1e757ac98988 1e757ac98988 1e757ac98988 713315371e03 713315371e03 f6cdfc730831 b4f401524060 b4f401524060 b4f401524060 eaf09acf6872 b4f401524060 b4f401524060 b4f401524060 b4f401524060 b4f401524060 b4f401524060 bf96fd1920c1 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 f6cdfc730831 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 f6cdfc730831 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 f91d3f9b7230 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 eaf09acf6872 f91d3f9b7230 f91d3f9b7230 eaf09acf6872 713315371e03 eaf09acf6872 f91d3f9b7230 | ## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>
<%def name="title()">
${_('%s Branches') % c.repo_name} · ${c.rhodecode_name}
</%def>
<%def name="breadcrumbs_links()">
<input class="q_filter_box" id="q_filter_branches" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
${_('Branches')}
</%def>
<%def name="page_nav()">
${self.menu('repositories')}
</%def>
<%def name="main()">
${self.context_bar('switch-to')}
<div class="box">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
<!-- end box / title -->
%if c.repo_branches:
<div class="info_box" id="compare_branches" style="clear: both;padding: 10px 19px;text-align: right;"><a href="#" class="ui-btn small">${_('Compare branches')}</a></div>
%endif
<div class="table">
<%include file='branches_data.html'/>
</div>
</div>
<script type="text/javascript">
YUE.on('compare_branches','click',function(e){
YUE.preventDefault(e);
var org = YUQ('input[name=compare_org]:checked')[0];
var other = YUQ('input[name=compare_other]:checked')[0];
if(org && other){
var compare_url = "${h.url('compare_url',repo_name=c.repo_name,org_ref_type='branch',org_ref='__ORG__',other_ref_type='branch',other_ref='__OTHER__')}";
var u = compare_url.replace('__ORG__',org.value)
.replace('__OTHER__',other.value);
window.location=u;
}
});
// main table sorting
var myColumnDefs = [
{key:"name",label:"${_('Name')}",sortable:true},
{key:"date",label:"${_('Date')}",sortable:true,
sortOptions: { sortFunction: dateSort }},
{key:"author",label:"${_('Author')}",sortable:true},
{key:"revision",label:"${_('Revision')}",sortable:true,
sortOptions: { sortFunction: revisionSort }},
{key:"compare",label:"${_('Compare')}",sortable:false,},
];
var myDataSource = new YAHOO.util.DataSource(YUD.get("branches_data"));
myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
myDataSource.responseSchema = {
fields: [
{key:"name"},
{key:"date"},
{key:"author"},
{key:"revision"},
{key:"compare"},
]
};
var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
{
sortedBy:{key:"name",dir:"asc"},
MSG_SORTASC:"${_('Click to sort ascending')}",
MSG_SORTDESC:"${_('Click to sort descending')}",
MSG_EMPTY:"${_('No records found.')}",
MSG_ERROR:"${_('Data error.')}",
MSG_LOADING:"${_('Loading...')}",
}
);
myDataTable.subscribe('postRenderEvent',function(oArgs) {
tooltip_activate();
var func = function(node){
return node.parentNode.parentNode.parentNode.parentNode.parentNode;
}
q_filter('q_filter_branches',YUQ('div.table tr td .logtags .branchtag a'),func);
});
</script>
</%def>
|