##// END OF EJS Templates
Migrate to Mergely 3.3.4....
Migrate to Mergely 3.3.4. RhodeCode 2.2.5 distributed Mergely 3.3.4 with some of the changes that Mergely 3.3.3 in RhodeCode 1.7.2 also had. That do however not seem to be changes we want for Kallithea this way and we take the 3.3.4 files as they are. I've also included the Mergely license file, as downloaded from: http://www.mergely.com/license.php That LICENSE file is kept in HTML just as it was downloaded from their website. While it's a bit annoying to keep the license file in HTML, this is the way it came from upstream so we'll leave it that way. Since the Javascript code is used with other GPLv3 Javascript, we are using the GPL option of Mergely's tri-license. Finally, note that previously, this was incorrectly called "mergerly", so the opportunity is taken here to correct the name. That required changes to diff_2way.html. As commands:: $ wget -N --output-document LICENSE-MERGELY.html http://www.mergely.com/license.php $ hg add LICENSE-MERGELY.html $ hg mv rhodecode/public/css/mergerly.css rhodecode/public/css/mergely.css $ hg mv rhodecode/public/js/mergerly.js rhodecode/public/js/mergely.js $ sed -i 's,mergerly\.,mergely,g' rhodecode/templates/files/diff_2way.html $ ( cd /tmp; \ wget -N http://www.mergely.com/releases/mergely-3.3.4.zip; \ unzip mergely-3.3.4.zip ) $ sha256sum /tmp/mergely-3.3.4.zip 87415d30494bbe829c248881aa7cdc0303f7e70b458a5f687615564d4498cc82 mergely-3.3.4.zip $ cp /tmp/mergely-3.3.4/lib/mergely.js rhodecode/public/js/mergely.js $ cp /tmp/mergely-3.3.4/lib/mergely.css rhodecode/public/css/mergely.css $ sed -i -e '/^ \* Version/a\ *\n * NOTE by bkuhn@sfconservancy.org for Kallithea:\n * Mergely license appears at http://www.mergely.com/license.php and in LICENSE-MERGELY.html' rhodecode/public/js/mergely.js rhodecode/public/css/mergely.css

File last commit:

r4116:ffd45b18 rhodecode-2.2.5-gpl
r4125:aa3b5594 rhodecode-2.2.5-gpl
Show More
index_base.html
187 lines | 8.3 KiB | text/html | HtmlLexer
Mads Kiilerich
group index: quick search should not search the common part of repo names
r3999 <%page args="parent,group_name=''" />
fixes #209, repos groups and index page now share same common page.
r1403 <div class="box">
<!-- box / title -->
<div class="title">
fixes code view issue on chrome
r1475 <h5>
use placeholders in qfilter, not the ugly JS logic
r3665 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/> ${parent.breadcrumbs()} <span id="repo_count">0</span> ${_('repositories')}
fixes #209, repos groups and index page now share same common page.
r1403 </h5>
%if c.rhodecode_user.username != 'default':
Group management delegation:...
r3222 <ul class="links">
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 <li>
<%
gr_name = c.group.group_name if c.group else None
# create repositories with write permission on group is set to true
create_on_write = h.HasPermissionAny('hg.create.write_on_repogroup.true')()
group_admin = h.HasRepoGroupPermissionAny('group.admin')(gr_name, 'can write into group index page')
group_write = h.HasRepoGroupPermissionAny('group.write')(gr_name, 'can write into group index page')
%>
%if h.HasPermissionAny('hg.admin','hg.create.repository')() or (group_admin or (group_write and create_on_write)):
#401 repository group is automatically pre-selected when adding repos inside a repository group
r2130 %if c.group:
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 <a href="${h.url('new_repo',parent_group=c.group.group_id)}" class="btn btn-small btn-success"><i class="icon-plus"></i> ${_('Add Repository')}</a>
%if h.HasPermissionAny('hg.admin')() or h.HasRepoGroupPermissionAny('group.admin')(c.group.group_name):
<a href="${h.url('new_repos_group', parent_group=c.group.group_id)}" class="btn btn-small"><i class="icon-plus"></i> ${_(u'Add Repository Group')}</a>
whitespace cleanup
r3394 %endif
#401 repository group is automatically pre-selected when adding repos inside a repository group
r2130 %else:
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 <a href="${h.url('new_repo')}" class="btn btn-small btn-success"><i class="icon-plus"></i> ${_('Add Repository')}</a>
added "add group" shortcuts for admins, and group admins
r3369 %if h.HasPermissionAny('hg.admin')():
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 <a href="${h.url('new_repos_group')}" class="btn btn-small"><i class="icon-plus"></i> ${_(u'Add Repository Group')}</a>
added "add group" shortcuts for admins, and group admins
r3369 %endif
White space cleanup
r2150 %endif
fixes #209, repos groups and index page now share same common page.
r1403 %endif
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 %if c.group and h.HasRepoGroupPermissionAny('group.admin')(c.group.group_name):
<a href="${h.url('edit_repo_group',group_name=c.group.group_name)}" title="${_('You have admin right to this group, and can edit it')}" class="btn btn-small"><i class="icon-pencil"></i> ${_('Edit Repository Group')}</a>
%endif
Group management delegation:...
r3222 </li>
</ul>
fixes #209, repos groups and index page now share same common page.
r1403 %endif
</div>
<!-- end box / title -->
<div class="table">
% if c.groups:
fixes #229 repo sorting is not working....
r1778 <div id='groups_list_wrap' class="yui-skin-sam">
<table id="groups_list">
<thead>
<tr>
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 <th class="left"><a href="#">${_('Group Name')}</a></th>
fixes #229 repo sorting is not working....
r1778 <th class="left"><a href="#">${_('Description')}</a></th>
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 ##<th class="left"><a href="#">${_('Number of Repositories')}</a></th>
fixes #229 repo sorting is not working....
r1778 </tr>
</thead>
White-space cleanup
r1888
fixes #229 repo sorting is not working....
r1778 ## REPO GROUPS
% for gr in c.groups:
fixes #209, repos groups and index page now share same common page.
r1403 <tr>
fixes #229 repo sorting is not working....
r1778 <td>
<div style="white-space: nowrap">
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 <a href="${url('repos_group_home',group_name=gr.group_name)}"><i class="icon-folder-close"></i> ${gr.name}</a>
fixes #229 repo sorting is not working....
r1778 </div>
</td>
merged + fixed pull request #62: Implemented metatags and visualisation options....
r2674 %if c.visual.stylify_metatags:
urlify group description also
r2785 <td>${h.urlify_text(h.desc_stylize(gr.group_description))}</td>
merged + fixed pull request #62: Implemented metatags and visualisation options....
r2674 %else:
<td>${gr.group_description}</td>
%endif
#227 Initial version of repository groups permissions system...
r1982 ## this is commented out since for multi nested repos can be HEAVY!
## in number of executed queries during traversing uncomment at will
##<td><b>${gr.repositories_recursive_count}</b></td>
fixes #209, repos groups and index page now share same common page.
r1403 </tr>
fixes #229 repo sorting is not working....
r1778 % endfor
</table>
</div>
fixes issues with groups paginator
r3155 <div id="group-user-paginator" style="padding: 0px 0px 0px 0px"></div>
fixes #209, repos groups and index page now share same common page.
r1403 <div style="height: 20px"></div>
% endif
added welcome message if no repositories are present in current view
r1437 <div id="welcome" style="display:none;text-align:center">
<h1><a href="${h.url('home')}">${c.rhodecode_name} ${c.rhodecode_version}</a></h1>
</div>
Mads Kiilerich
index: always use lightweight - there shouldn't be any reason not to
r3752 <%cnt=0%>
<%namespace name="dt" file="/data_table/_dt_elements.html"/>
<div class="yui-skin-sam" id="repos_list_wrap"></div>
<div id="user-paginator" style="padding: 0px 0px 0px 0px"></div>
fixes #229 repo sorting is not working....
r1778 </div>
fixes #209, repos groups and index page now share same common page.
r1403 </div>
Added sorting into journal and admin pages...
r1779
Added lightweight dashboard option. ref #500
r2936 <script>
var data = ${c.data|n};
var myDataSource = new YAHOO.util.DataSource(data);
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 myDataSource.responseSchema = {
resultsList: "records",
fields: [
{key:"menu"},
{key:"raw_name"},
{key:"name"},
{key:"desc"},
Update last_change from VCS data on request....
r2937 {key:"last_change"},
Use common function for generation of grid data...
r3154 {key:"last_changeset"},
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 {key:"last_rev_raw"},
Added lightweight dashboard option. ref #500
r2936 {key:"owner"},
{key:"atom"},
]
};
myDataSource.doBeforeCallback = function(req,raw,res,cb) {
// This is the filter function
var data = res.results || [],
filtered = [],
i,l;
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 if (req) {
req = req.toLowerCase();
for (i = 0; i<data.length; i++) {
Mads Kiilerich
group index: quick search should not search the common part of repo names
r3999 var pos = data[i].raw_name.toLowerCase().indexOf(req, ${len(group_name)})
Added lightweight dashboard option. ref #500
r2936 if (pos != -1) {
filtered.push(data[i]);
}
}
res.results = filtered;
}
YUD.get('repo_count').innerHTML = res.results.length;
return res;
}
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 // main table sorting
var myColumnDefs = [
{key:"menu",label:"",sortable:false,className:"quick_repo_menu hidden"},
{key:"name",label:"${_('Name')}",sortable:true,
sortOptions: { sortFunction: nameSort }},
{key:"desc",label:"${_('Description')}",sortable:true},
Update last_change from VCS data on request....
r2937 {key:"last_change",label:"${_('Last Change')}",sortable:true,
sortOptions: { sortFunction: ageSort }},
Use common function for generation of grid data...
r3154 {key:"last_changeset",label:"${_('Tip')}",sortable:true,
white space cleanup
r3149 sortOptions: { sortFunction: revisionSort }},
Added lightweight dashboard option. ref #500
r2936 {key:"owner",label:"${_('Owner')}",sortable:true},
{key:"atom",label:"",sortable:false},
];
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource,{
sortedBy:{key:"name",dir:"asc"},
Unified the paginators for pylons and YUI....
r3776 paginator: YUI_paginator(${c.visual.dashboard_items},['user-paginator']),
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 MSG_SORTASC:"${_('Click to sort ascending')}",
MSG_SORTDESC:"${_('Click to sort descending')}",
Leonardo
Small wording improvement.
r3526 MSG_EMPTY:"${_('No repositories found.')}",
Added lightweight dashboard option. ref #500
r2936 MSG_ERROR:"${_('Data error.')}",
MSG_LOADING:"${_('Loading...')}",
}
);
myDataTable.subscribe('postRenderEvent',function(oArgs) {
tooltip_activate();
quick_repo_menu();
});
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 var filterTimeout = null;
whitespace cleanup
r2973
Mads Kiilerich
quick filter: do an initial filtering on page load if it has a search criteria - for instance after back
r4000 updateFilter = function () {
Added lightweight dashboard option. ref #500
r2936 // Reset timeout
filterTimeout = null;
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 // Reset sort
var state = myDataTable.getState();
Use common function for generation of grid data...
r3154 state.sortedBy = {key:'name', dir:YAHOO.widget.DataTable.CLASS_ASC};
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 // Get filtered data
myDataSource.sendRequest(YUD.get('q_filter').value,{
success : myDataTable.onDataReturnInitializeTable,
failure : myDataTable.onDataReturnInitializeTable,
scope : myDataTable,
argument: state
});
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 };
YUE.on('q_filter','click',function(){
Use common function for generation of grid data...
r3154 if(!YUD.hasClass('q_filter', 'loaded')){
//TODO: load here full list later to do search within groups
YUD.addClass('q_filter', 'loaded');
}
Added lightweight dashboard option. ref #500
r2936 });
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 YUE.on('q_filter','keyup',function (e) {
clearTimeout(filterTimeout);
filterTimeout = setTimeout(updateFilter,600);
});
codecleaner
r4002
Mads Kiilerich
quick filter: do an initial filtering on page load if it has a search criteria - for instance after back
r4000 if(YUD.get('q_filter').value) {
codecleaner
r4002 updateFilter();
Mads Kiilerich
quick filter: do an initial filtering on page load if it has a search criteria - for instance after back
r4000 }
Added lightweight dashboard option. ref #500
r2936 </script>