Changeset - b4db7ff78343
[Not reviewed]
default
1 4 0
Mads Kiilerich - 9 years ago 2016-08-12 03:04:48
madski@unity3d.com
js: remove mousetrap - the current keyboard bindings are quite unknown and irrelevant
5 files changed with 0 insertions and 1094 deletions:
0 comments (0 inline, 0 general)
LICENSE.md
Show inline comments
 
Kallithea License
 
=================
 

	
 
Kallithea as a whole is copyrighted by various authors and is licensed under
 
the terms of the GNU General Public License, version 3 (GPLv3), which is a
 
license published by the Free Software Foundation,
 
Inc. [A copy of GPLv3](/COPYING) is included herein.
 

	
 
Some individual files have copyright notices and those who offer changes to
 
those files should update the copyright notices in those specific files if
 
they so chose.
 

	
 
However, the definitive list of copyright holders for this project is kept in
 
[the about page template](kallithea/templates/about.html) so that it is
 
displayed appropriately when Kallithea is installed.  This is the most
 
important place to update copyright notices.
 

	
 
Third-Party Code Incorporated in Kallithea
 
==========================================
 

	
 
Various third-party code under GPLv3-compatible licenses is included as part
 
of Kallithea.
 

	
 

	
 
Alembic
 
-------
 

	
 
Kallithea incorporates an [Alembic](http://alembic.zzzcomputing.com/en/latest/)
 
"migration environment" in `kallithea/alembic`, portions of which is:
 

	
 
Copyright © 2009-2016 by Michael Bayer.
 
Alembic is a trademark of Michael Bayer.
 

	
 
and licensed under the MIT-permissive license, which is
 
[included in this distribution](MIT-Permissive-License.txt).
 

	
 

	
 
Bootstrap
 
---------
 

	
 
Kallithea incorporates parts of the Javascript system called
 
[Bootstrap](http://getbootstrap.com/), which is:
 

	
 
Copyright © 2012 Twitter, Inc.
 

	
 
and licensed under
 
[the Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
 

	
 
A copy of the Apache License 2.0 is also included in this distribution in its
 
entirety in the file Apache-License-2.0.txt
 

	
 

	
 

	
 
Codemirror
 
----------
 

	
 
Kallithea incorporates parts of the Javascript system called
 
[Codemirror](http://codemirror.net/), version 4.7.0, which is primarily:
 

	
 
Copyright &copy; 2013-2014 by Marijn Haverbeke <marijnh@gmail.com>
 

	
 
and licensed under the MIT-permissive license, which is
 
[included in this distribution](MIT-Permissive-License.txt).
 

	
 
Additional files from upstream Codemirror are copyrighted by various authors
 
and licensed under other permissive licenses.  The sub-directories under
 
[.../public/codemirror](kallithea/public/codemirror) include the copyright and
 
license notice and information as they appeared in Codemirror's upstream
 
release.
 

	
 

	
 

	
 
jQuery
 
------
 

	
 
Kallithea incorporates the Javascript system called
 
[jQuery](http://jquery.org/), [herein](kallithea/public/js/jquery.min.js),
 
which can be found together with its Corresponding Source in
 
https://github.com/jquery/jquery at tag 1.12.3 (mirrored at
 
https://kallithea-scm.org/repos/mirror/jquery/files/1.12.3/ ).
 

	
 
It is Copyright 2013 jQuery Foundation and other contributors http://jquery.com/ and is under an
 
[MIT-permissive license](MIT-Permissive-License.txt).
 

	
 

	
 

	
 
DataTables
 
----------
 

	
 
Kallithea incorporates the Javascript system called
 
[DataTables](http://www.datatables.net/) (jquery.dataTables.min.js and .css)
 
which can be found together with their Corresponding Source in
 
https://github.com/DataTables/DataTables at tag 1.10.11 (mirrored at
 
https://kallithea-scm.org/repos/mirror/DataTables/files/1.10.11/ ).
 

	
 
It is Copyright 2008-2015 SpryMedia Ltd. and is under an
 
[MIT-permissive license](MIT-Permissive-License.txt).
 

	
 

	
 

	
 
Mousetrap
 
---------
 

	
 
Kallithea incorporates parts of the Javascript system called
 
[Mousetrap](http://craig.is/killing/mice/), which is:
 

	
 
   Copyright 2013 Craig Campbell
 

	
 
and licensed under
 
[the Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
 

	
 
A [copy of the Apache License 2.0](Apache-License-2.0.txt) is also included
 
in this distribution.
 

	
 

	
 

	
 
Mergely
 
-------
 

	
 
Kallithea incorporates some code from the Javascript system called
 
[Mergely](http://www.mergely.com/), version 3.3.9.
 
[Mergely's license](http://www.mergely.com/license.php), a
 
[copy of which is included in this repository](LICENSE-MERGELY.html),
 
is (GPL|LGPL|MPL).  Kallithea as GPLv3'd project chooses the GPL arm of that
 
tri-license.
 

	
 

	
 

	
 
Select2
 
-------
 

	
 
Kallithea incorporates parts of the Javascript system called
 
[Select2](http://ivaynberg.github.io/select2/), which is:
 

	
 
Copyright 2012 Igor Vaynberg (and probably others)
 

	
 
and is licensed [under the following license](https://github.com/ivaynberg/select2/blob/master/LICENSE):
 

	
 
> This software is licensed under the Apache License, Version 2.0 (the
 
> "Apache License") or the GNU General Public License version 2 (the "GPL
 
> License"). You may choose either license to govern your use of this
 
> software only upon the condition that you accept all of the terms of either
 
> the Apache License or the GPL License.
 

	
 
A [copy of the Apache License 2.0](Apache-License-2.0.txt) is also included
 
in this distribution.
 

	
 
Kallithea will take the Apache license fork of the dual license, since
 
Kallithea is GPLv3'd.
 

	
 

	
 

	
 
Select2-Bootstrap-CSS
 
---------------------
 

	
 
Kallithea incorporates some CSS from a system called
 
[Select2-bootstrap-css](https://github.com/t0m/select2-bootstrap-css), which
 
is:
 

	
 
Copyright &copy; 2013 Tom Terrace (and likely others)
 

	
 
and licensed under the MIT-permissive license, which is
 
[included in this distribution](MIT-Permissive-License.txt).
 

	
 

	
 

	
 
History.js
 
----------
 

	
 
Kallithea incorporates some CSS from a system called History.js, which is
 

	
 
Copyright 2010-2011 Benjamin Arthur Lupton <contact@balupton.com>
 

	
 
Redistribution and use in source and binary forms, with or without
 
modification, are permitted provided that the following conditions are met:
 

	
 
1. Redistributions of source code must retain the above copyright notice,
 
   this list of conditions and the following disclaimer.
 

	
 
2. Redistributions in binary form must reproduce the above copyright notice,
 
   this list of conditions and the following disclaimer in the documentation
 
   and/or other materials provided with the distribution.
 

	
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 
POSSIBILITY OF SUCH DAMAGE.
 

	
 

	
 

	
 
YUI
 
---
 

	
 
Kallithea incorporates parts of the Javascript system called
 
[YUI 2 — Yahoo! User Interface Library](http://yui.github.io/yui2/docs/yui_2.9.0_full/),
 
which is made available under the [BSD License](http://yuilibrary.com/license/):
 

	
 
Copyright &copy; 2013 Yahoo! Inc. All rights reserved.
 

	
 
Redistribution and use of this software in source and binary forms, with or
 
without modification, are permitted provided that the following conditions are
 
met:
 

	
 
* Redistributions of source code must retain the above copyright notice, this
 
  list of conditions and the following disclaimer.
 

	
 
* Redistributions in binary form must reproduce the above copyright notice,
 
  this list of conditions and the following disclaimer in the documentation
 
  and/or other materials provided with the distribution.
 

	
 
* Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be
 
  used to endorse or promote products derived from this software without
 
  specific prior written permission of Yahoo! Inc.
 

	
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 

	
 

	
 
Kallithea includes a minified version of YUI 2.9. To build yui.2.9.js:
 

	
 
    git clone https://github.com/yui/builder
 
    git clone https://github.com/yui/yui2
 
    cd yui2/
 
    git checkout hudson-yui2-2800
 
    ln -sf JumpToPageDropDown.js src/paginator/js/JumpToPageDropdown.js # work around inconsistent casing
 
    rm -f tmp.js
 
    for m in yahoo event dom animation datasource autocomplete event-delegate; do
 
      rm -f build/$m/$m.js
 
      ( cd src/$m && ant build deploybuild ) && sed -e 's,@VERSION@,2.9.0,g' -e 's,@BUILD@,2800,g' build/$m/$m.js >> tmp.js
 
    done
 
    java -jar ../builder/componentbuild/lib/yuicompressor/yuicompressor-2.4.4.jar tmp.js -o yui.2.9.js
 

	
 
In compliance with GPLv3 the Corresponding Source for this Object Code is made
 
available on
 
[https://kallithea-scm.org/repos/mirror](https://kallithea-scm.org/repos/mirror).
 

	
 

	
 

	
 
Flot
 
----
 

	
 
Kallithea incorporates some CSS from a system called
 
[Flot](http://code.google.com/p/flot/), which is:
 

	
 
Copyright 2006 Google Inc.
 

	
 
Licensed under the Apache License, Version 2.0 (the "License");
 
you may not use this file except in compliance with the License.
 

	
 
A [copy of the Apache License 2.0](Apache-License-2.0.txt) is also included
 
in this distribution.
 

	
 

	
 

	
 
Icon fonts
 
----------
 

	
 
Kallithea incorporates subsets of both
 
[Font Awesome](http://fontawesome.io) and
 
[GitHub Octicons](https://octicons.github.com) for icons. Font Awesome is:
 

	
 
Copyright (c) 2012, Dave Gandy
 

	
 
Octicons is:
 

	
 
Copyright (c) 2012-2014 GitHub
 

	
 
These two sets are distributed under [SIL OFL 1.1](http://scripts.sil.org/OFL)
 
and have been combined into one font called "kallithea."
 

	
 

	
 
EOF
kallithea/public/js/mousetrap.js
Show inline comments
 
deleted file
kallithea/templates/base/base.html
Show inline comments
 
@@ -341,339 +341,194 @@
 
    % elif c.authuser.repositories_admin or c.authuser.repository_groups_admin or c.authuser.user_groups_admin:
 
    <li ${is_current('admin')} class="dropdown">
 
        <a class="menu_link dropdown-toggle" data-toggle="dropdown" role="button" title="${_('Admin')}">
 
          <i class="icon-gear"></i> ${_('Admin')}
 
        </a>
 
        ${admin_menu_simple(c.authuser.repositories_admin,
 
                            c.authuser.repository_groups_admin,
 
                            c.authuser.user_groups_admin or h.HasPermissionAny('hg.usergroup.create.true')())}
 
    </li>
 
    % endif
 

	
 
    <li ${is_current('my_pullrequests')}>
 
      <a class="menu_link" title="${_('My Pull Requests')}" href="${h.url('my_pullrequests')}">
 
        <i class="icon-git-pull-request"></i> ${_('My Pull Requests')}
 
        %if c.my_pr_count != 0:
 
          <span class="badge">${c.my_pr_count}</span>
 
        %endif
 
      </a>
 
    </li>
 

	
 
    ## USER MENU
 
    <li class="dropdown">
 
      <a class="menu_link dropdown-toggle" data-toggle="dropdown" role="button" id="quick_login_link"
 
        %if c.authuser.username != 'default':
 
          href="${h.url('notifications')}"
 
        %endif
 
      >
 
          ${h.gravatar_div(c.authuser.email, size=20, div_class="icon", div_style="display:inline")}
 
          %if c.authuser.username != 'default':
 
            <span class="menu_link_user">${c.authuser.username}</span>
 
            %if c.unread_notifications != 0:
 
              <span class="badge">${c.unread_notifications}</span>
 
            %endif
 
          %else:
 
              <span>${_('Not Logged In')}</span>
 
          %endif
 
      </a>
 

	
 
      <div class="user-menu">
 
        <div id="quick_login">
 
          %if c.authuser.username == 'default' or c.authuser.user_id is None:
 
            <h4>${_('Login to Your Account')}</h4>
 
            ${h.form(h.url('login_home', came_from=request.path_qs))}
 
            <div class="form">
 
                <div class="fields">
 
                    <div class="field">
 
                        <div class="label">
 
                            <label for="username">${_('Username')}:</label>
 
                        </div>
 
                        <div class="input">
 
                            ${h.text('username',class_='focus')}
 
                        </div>
 

	
 
                    </div>
 
                    <div class="field">
 
                        <div class="label">
 
                            <label for="password">${_('Password')}:</label>
 
                        </div>
 
                        <div class="input">
 
                            ${h.password('password',class_='focus')}
 
                        </div>
 

	
 
                    </div>
 
                    <div class="buttons">
 
                        <div class="password_forgoten">${h.link_to(_('Forgot password ?'),h.url('reset_password'))}</div>
 
                        <div class="register">
 
                        %if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')():
 
                         ${h.link_to(_("Don't have an account ?"),h.url('register'))}
 
                        %endif
 
                        </div>
 
                        <div class="submit">
 
                            ${h.submit('sign_in',_('Log In'),class_="btn btn-mini")}
 
                        </div>
 
                    </div>
 
                </div>
 
            </div>
 
            ${h.end_form()}
 
          %else:
 
            <div class="links_left">
 
                ${h.gravatar_div(c.authuser.email, size=48, div_class="big_gravatar")}
 
                <div class="full_name">${c.authuser.full_name_or_username}</div>
 
                <div class="email">${c.authuser.email}</div>
 
            </div>
 
            <div class="links_right">
 
            <ol class="links">
 
              <li><a href="${h.url('notifications')}">${_('Notifications')}: ${c.unread_notifications}</a></li>
 
              <li>${h.link_to(_('My Account'),h.url('my_account'))}</li>
 
              %if not c.authuser.is_external_auth:
 
                ## Cannot log out if using external (container) authentication.
 
                <li class="logout">${h.link_to(_('Log Out'), h.url('logout_home'))}</li>
 
              %endif
 
            </ol>
 
            </div>
 
          %endif
 
        </div>
 
      </div>
 
    </li>
 

	
 
    <script type="text/javascript">
 
        $(document).ready(function(){
 
            var visual_show_public_icon = "${c.visual.show_public_icon}" == "True";
 
            var cache = {}
 
            /*format the look of items in the list*/
 
            var format = function(state){
 
                if (!state.id){
 
                  return state.text; // optgroup
 
                }
 
                var obj_dict = state.obj;
 
                var tmpl = '';
 

	
 
                if(obj_dict && state.type == 'repo'){
 
                    tmpl += '<span class="repo-icons">';
 
                    if(obj_dict['repo_type'] === 'hg'){
 
                        tmpl += '<span class="repotag">hg</span> ';
 
                    }
 
                    else if(obj_dict['repo_type'] === 'git'){
 
                        tmpl += '<span class="repotag">git</span> ';
 
                    }
 
                    if(obj_dict['private']){
 
                        tmpl += '<i class="icon-keyhole-circled"></i> ';
 
                    }
 
                    else if(visual_show_public_icon){
 
                        tmpl += '<i class="icon-globe"></i> ';
 
                    }
 
                    tmpl += '</span>';
 
                }
 
                if(obj_dict && state.type == 'group'){
 
                        tmpl += '<i class="icon-folder"></i> ';
 
                }
 
                tmpl += state.text;
 
                return tmpl;
 
            }
 

	
 
            $("#repo_switcher").select2({
 
                placeholder: '<i class="icon-database"></i> ${_('Repositories')} <span class="caret"></span>',
 
                dropdownAutoWidth: true,
 
                sortResults: prefixFirstSort,
 
                formatResult: format,
 
                formatSelection: format,
 
                formatNoMatches: function(term){
 
                    return "${_('No matches found')}";
 
                },
 
                containerCssClass: "repo-switcher",
 
                dropdownCssClass: "repo-switcher-dropdown",
 
                escapeMarkup: function(m){
 
                    // don't escape our custom placeholder
 
                    if(m.substr(0,29) == '<i class="icon-database"></i>'){
 
                        return m;
 
                    }
 

	
 
                    return Select2.util.escapeMarkup(m);
 
                },
 
                query: function(query){
 
                  var key = 'cache';
 
                  var cached = cache[key] ;
 
                  if(cached) {
 
                    var data = {results: []};
 
                    //filter results
 
                    $.each(cached.results, function(){
 
                        var section = this.text;
 
                        var children = [];
 
                        $.each(this.children, function(){
 
                            if(query.term.length == 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0 ){
 
                                children.push({'id': this.id, 'text': this.text, 'type': this.type, 'obj': this.obj});
 
                            }
 
                        });
 
                        if(children.length !== 0){
 
                            data.results.push({'text': section, 'children': children});
 
                        }
 

	
 
                    });
 
                    query.callback(data);
 
                  }else{
 
                      $.ajax({
 
                        url: "${h.url('repo_switcher_data')}",
 
                        data: {},
 
                        dataType: 'json',
 
                        type: 'GET',
 
                        success: function(data) {
 
                          cache[key] = data;
 
                          query.callback({results: data.results});
 
                        }
 
                      });
 
                  }
 
                }
 
            });
 

	
 
            $("#repo_switcher").on('select2-selecting', function(e){
 
                e.preventDefault();
 
                window.location = pyroutes.url('summary_home', {'repo_name': e.val});
 
            });
 
        });
 

	
 
        ## Global mouse bindings ##
 

	
 
        // general help "?"
 
        Mousetrap.bind(['?'], function(e) {
 
            $('#help_kb').modal({});
 
        });
 

	
 
        // / open the quick filter
 
        Mousetrap.bind(['/'], function(e) {
 
            $("#repo_switcher").select2("open");
 

	
 
            // return false to prevent default browser behavior
 
            // and stop event from bubbling
 
            return false;
 
        });
 

	
 
        // ctrl/command+b, show the the main bar
 
        Mousetrap.bind(['command+b', 'ctrl+b'], function(e) {
 
            if($('#header-inner').hasClass('hover') && $('#content').hasClass('hover')){
 
                $('#header-inner').removeClass('hover');
 
                $('#content').removeClass('hover');
 
            }
 
            else{
 
                $('#header-inner').addClass('hover');
 
                $('#content').addClass('hover');
 
            }
 
            return false;
 
        });
 

	
 
        // general nav g + action
 
        Mousetrap.bind(['g h'], function(e) {
 
            window.location = pyroutes.url('home');
 
        });
 
        Mousetrap.bind(['g g'], function(e) {
 
            window.location = pyroutes.url('gists', {'private':1});
 
        });
 
        Mousetrap.bind(['g G'], function(e) {
 
            window.location = pyroutes.url('gists', {'public':1});
 
        });
 
        Mousetrap.bind(['n g'], function(e) {
 
            window.location = pyroutes.url('new_gist');
 
        });
 
        Mousetrap.bind(['n r'], function(e) {
 
            window.location = pyroutes.url('new_repo');
 
        });
 

	
 
        % if hasattr(c, 'repo_name') and hasattr(c, 'db_repo'):
 
            // nav in repo context
 
            Mousetrap.bind(['g s'], function(e) {
 
                window.location = pyroutes.url('summary_home', {'repo_name': REPO_NAME});
 
            });
 
            Mousetrap.bind(['g c'], function(e) {
 
                window.location = pyroutes.url('changelog_home', {'repo_name': REPO_NAME});
 
            });
 
            Mousetrap.bind(['g F'], function(e) {
 
                window.location = pyroutes.url('files_home', {'repo_name': REPO_NAME, 'revision': '${c.db_repo.landing_rev[1]}', 'f_path': '', 'search': '1'});
 
            });
 
            Mousetrap.bind(['g f'], function(e) {
 
                window.location = pyroutes.url('files_home', {'repo_name': REPO_NAME, 'revision': '${c.db_repo.landing_rev[1]}', 'f_path': ''});
 
            });
 
            Mousetrap.bind(['g o'], function(e) {
 
                window.location = pyroutes.url('edit_repo', {'repo_name': REPO_NAME});
 
            });
 
            Mousetrap.bind(['g O'], function(e) {
 
                window.location = pyroutes.url('edit_repo_perms', {'repo_name': REPO_NAME});
 
            });
 
        % endif
 

	
 
    </script>
 
</%def>
 

	
 
%if 0:
 
<div class="modal" id="help_kb" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 
    <div class="modal-dialog">
 
      <div class="modal-content">
 
        <div class="modal-header">
 
          <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="icon-cancel-circled"></i></button>
 
          <h4 class="modal-title">${_('Keyboard shortcuts')}</h4>
 
        </div>
 
        <div class="modal-body">
 
           <div class="row">
 
              <div class="col-md-5">
 
                <table class="keyboard-mappings">
 
                    <tbody>
 
                  <tr>
 
                    <th></th>
 
                    <th>${_('Site-wide shortcuts')}</th>
 
                  </tr>
 
                  <%
 
                     elems = [
 
                         ('/', 'Open quick search box'),
 
                         ('ctrl/cmd+b', 'Show main settings bar'),
 
                         ('g h', 'Goto home page'),
 
                         ('g g', 'Goto my private gists page'),
 
                         ('g G', 'Goto my public gists page'),
 
                         ('n r', 'New repository page'),
 
                         ('n g', 'New gist page'),
 
                     ]
 
                  %>
 
                  %for key, desc in elems:
 
                  <tr>
 
                    <td class="keys">
 
                      <span class="key">${key}</span>
 
                    </td>
 
                    <td>${desc}</td>
 
                  </tr>
 
                %endfor
 
                </tbody>
 
                  </table>
 
              </div>
 
              <div class="col-md-offset-5">
 
                <table class="keyboard-mappings">
 
                <tbody>
 
                  <tr>
 
                    <th></th>
 
                    <th>${_('Repositories')}</th>
 
                  </tr>
 
                  <%
 
                     elems = [
 
                         ('g s', 'Goto summary page'),
 
                         ('g c', 'Goto changelog page'),
 
                         ('g f', 'Goto files page'),
 
                         ('g F', 'Goto files page with file search activated'),
 
                         ('g o', 'Goto repository settings'),
 
                         ('g O', 'Goto repository permissions settings'),
 
                     ]
 
                  %>
 
                  %for key, desc in elems:
 
                  <tr>
 
                    <td class="keys">
 
                      <span class="key">${key}</span>
 
                    </td>
 
                    <td>${desc}</td>
 
                  </tr>
 
                %endfor
 
                </tbody>
 
            </table>
 
              </div>
 
            </div>
 
        </div>
 
        <div class="modal-footer">
 
        </div>
 
      </div><!-- /.modal-content -->
 
    </div><!-- /.modal-dialog -->
 
</div><!-- /.modal -->
 
%endif
kallithea/templates/base/root.html
Show inline comments
 
## -*- coding: utf-8 -*-
 
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
    <head>
 
        <title><%block name="title"/><%block name="branding_title"/></title>
 
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 
        <meta name="robots" content="index, nofollow"/>
 
        <link rel="icon" href="${h.url('/images/favicon.ico')}" type="image/png" />
 

	
 
        ## CSS ###
 
        <link rel="stylesheet" type="text/css" href="${h.url('/css/jquery.dataTables.css', ver=c.kallithea_version)}"/>
 
        <link rel="stylesheet" type="text/css" href="${h.url('/js/select2/select2.css', ver=c.kallithea_version)}"/>
 
        <link rel="stylesheet" type="text/css" href="${h.url('/css/pygments.css', ver=c.kallithea_version)}"/>
 
        <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css', ver=c.kallithea_version)}" media="screen"/>
 
        <link rel="stylesheet" type="text/css" href="${h.url('/css/contextbar.css', ver=c.kallithea_version)}" media="screen"/>
 
        <link rel="stylesheet" type="text/css" href="${h.url('/fontello/css/kallithea.css', ver=c.kallithea_version)}">
 
        <%block name="css_extra"/>
 

	
 
        ## JAVASCRIPT ##
 
        <script type="text/javascript">
 
            ## JS translations map
 
            var TRANSLATION_MAP = {
 
                'Add Another Comment':'${_("Add Another Comment")}',
 
                'Stop following this repository':"${_('Stop following this repository')}",
 
                'Start following this repository':"${_('Start following this repository')}",
 
                'Group':"${_('Group')}",
 
                'members':"${_('members')}",
 
                'Loading ...':"${_('Loading ...')}",
 
                'loading ...':"${_('loading ...')}",
 
                'Search truncated': "${_('Search truncated')}",
 
                'No matching files': "${_('No matching files')}",
 
                'Open New Pull Request from {0}': "${_('Open New Pull Request from {0}')}",
 
                'Open New Pull Request for {0} &rarr; {1}': "${h.literal(_('Open New Pull Request for {0} &rarr; {1}'))}",
 
                'Show Selected Changesets {0} &rarr; {1}': "${h.literal(_('Show Selected Changesets {0} &rarr; {1}'))}",
 
                'Selection Link': "${_('Selection Link')}",
 
                'Collapse Diff': "${_('Collapse Diff')}",
 
                'Expand Diff': "${_('Expand Diff')}",
 
                'Failed to revoke permission': "${_('Failed to revoke permission')}",
 
                'Confirm to revoke permission for {0}: {1} ?': "${_('Confirm to revoke permission for {0}: {1} ?')}",
 
                'Enabled': "${_('Enabled')}",
 
                'Disabled': "${_('Disabled')}",
 
                'Select changeset': "${_('Select changeset')}",
 
                'Specify changeset': "${_('Specify changeset')}",
 
                'MSG_SORTASC': "${_('Click to sort ascending')}",
 
                'MSG_SORTDESC': "${_('Click to sort descending')}",
 
                'MSG_EMPTY': "${_('No records found.')}",
 
                'MSG_ERROR': "${_('Data error.')}",
 
                'MSG_LOADING': "${_('Loading...')}"
 
            };
 
            var _TM = TRANSLATION_MAP;
 

	
 
            var TOGGLE_FOLLOW_URL  = "${h.url('toggle_following')}";
 

	
 
            var REPO_NAME = "";
 
            %if hasattr(c, 'repo_name'):
 
                var REPO_NAME = "${c.repo_name}";
 
            %endif
 

	
 
            var _authentication_token = "${h.authentication_token()}";
 
        </script>
 
        <script type="text/javascript" src="${h.url('/js/yui.2.9.js', ver=c.kallithea_version)}"></script>
 
        <script type="text/javascript" src="${h.url('/js/jquery.min.js', ver=c.kallithea_version)}"></script>
 
        <script type="text/javascript" src="${h.url('/js/jquery.dataTables.min.js', ver=c.kallithea_version)}"></script>
 
        <script type="text/javascript" src="${h.url('/js/bootstrap.js', ver=c.kallithea_version)}"></script>
 
        <script type="text/javascript" src="${h.url('/js/select2/select2.js', ver=c.kallithea_version)}"></script>
 
        <script type="text/javascript" src="${h.url('/js/mousetrap.js', ver=c.kallithea_version)}"></script>
 
        <script type="text/javascript" src="${h.url('/js/yui.flot.js', ver=c.kallithea_version)}"></script>
 
        <script type="text/javascript" src="${h.url('/js/native.history.js', ver=c.kallithea_version)}"></script>
 
        <script type="text/javascript" src="${h.url('/js/base.js', ver=c.kallithea_version)}"></script>
 
        ## EXTRA FOR JS
 
        <%block name="js_extra"/>
 
        <script type="text/javascript">
 
            (function(window,undefined){
 
                var History = window.History; // Note: We are using a capital H instead of a lower h
 
                if ( !History.enabled ) {
 
                     // History.js is disabled for this browser.
 
                     // This is because we can optionally choose to support HTML4 browsers or not.
 
                    return false;
 
                }
 
            })(window);
 

	
 
            $(document).ready(function(){
 
              tooltip_activate();
 
              show_more_event();
 
              show_changeset_tooltip();
 
              // routes registration
 
              pyroutes.register('home', "${h.url('home')}", []);
 
              pyroutes.register('new_gist', "${h.url('new_gist')}", []);
 
              pyroutes.register('gists', "${h.url('gists')}", []);
 
              pyroutes.register('new_repo', "${h.url('new_repo')}", []);
 

	
 
              pyroutes.register('summary_home', "${h.url('summary_home', repo_name='%(repo_name)s')}", ['repo_name']);
 
              pyroutes.register('changelog_home', "${h.url('changelog_home', repo_name='%(repo_name)s')}", ['repo_name']);
 
              pyroutes.register('files_home', "${h.url('files_home', repo_name='%(repo_name)s',revision='%(revision)s',f_path='%(f_path)s')}", ['repo_name', 'revision', 'f_path']);
 
              pyroutes.register('edit_repo', "${h.url('edit_repo', repo_name='%(repo_name)s')}", ['repo_name']);
 
              pyroutes.register('edit_repo_perms', "${h.url('edit_repo_perms', repo_name='%(repo_name)s')}", ['repo_name']);
 
              pyroutes.register('pullrequest_home', "${h.url('pullrequest_home', repo_name='%(repo_name)s')}", ['repo_name']);
 

	
 
              pyroutes.register('toggle_following', "${h.url('toggle_following')}");
 
              pyroutes.register('changeset_info', "${h.url('changeset_info', repo_name='%(repo_name)s', revision='%(revision)s')}", ['repo_name', 'revision']);
 
              pyroutes.register('repo_size', "${h.url('repo_size', repo_name='%(repo_name)s')}", ['repo_name']);
 
              pyroutes.register('repo_refs_data', "${h.url('repo_refs_data', repo_name='%(repo_name)s')}", ['repo_name']);
 
             });
 
        </script>
 

	
 
        <%block name="head_extra"/>
 
    </head>
 
    <body id="body">
 
      <div id="header">
 
        <div id="header-inner" class="title">
 
          <div id="logo">
 
            <a href="${h.url('home')}" style="display: block;">
 
              <div class="header">
 
                <img src="${h.url('/images/kallithea-logo.svg')}" onerror="this.onerror='';this.src='${h.url('/images/kallithea-logo.png')}'" alt="Kallithea"/>
 
              </div>
 
              %if c.site_name:
 
                <div class="branding">${c.site_name}</div>
 
              %endif
 
            </a>
 
          </div>
 
          <%block name="header_menu"/>
 
        </div>
 
      </div>
 

	
 
      ${next.body()}
 

	
 
      %if c.ga_code:
 
      ${h.literal(c.ga_code)}
 
      %endif
 
    </body>
 
</html>
scripts/manifest
Show inline comments
 
@@ -452,385 +452,384 @@ kallithea/public/codemirror/mode/coffees
 
kallithea/public/codemirror/mode/commonlisp/
 
kallithea/public/codemirror/mode/commonlisp/commonlisp.js
 
kallithea/public/codemirror/mode/css/
 
kallithea/public/codemirror/mode/css/css.js
 
kallithea/public/codemirror/mode/css/less_test.js
 
kallithea/public/codemirror/mode/css/scss_test.js
 
kallithea/public/codemirror/mode/cypher/
 
kallithea/public/codemirror/mode/cypher/cypher.js
 
kallithea/public/codemirror/mode/d/
 
kallithea/public/codemirror/mode/d/d.js
 
kallithea/public/codemirror/mode/diff/
 
kallithea/public/codemirror/mode/diff/diff.js
 
kallithea/public/codemirror/mode/django/
 
kallithea/public/codemirror/mode/django/django.js
 
kallithea/public/codemirror/mode/dtd/
 
kallithea/public/codemirror/mode/dtd/dtd.js
 
kallithea/public/codemirror/mode/dylan/
 
kallithea/public/codemirror/mode/dylan/dylan.js
 
kallithea/public/codemirror/mode/ecl/
 
kallithea/public/codemirror/mode/ecl/ecl.js
 
kallithea/public/codemirror/mode/eiffel/
 
kallithea/public/codemirror/mode/eiffel/eiffel.js
 
kallithea/public/codemirror/mode/erlang/
 
kallithea/public/codemirror/mode/erlang/erlang.js
 
kallithea/public/codemirror/mode/fortran/
 
kallithea/public/codemirror/mode/fortran/fortran.js
 
kallithea/public/codemirror/mode/gas/
 
kallithea/public/codemirror/mode/gas/gas.js
 
kallithea/public/codemirror/mode/gfm/
 
kallithea/public/codemirror/mode/gfm/gfm.js
 
kallithea/public/codemirror/mode/gherkin/
 
kallithea/public/codemirror/mode/gherkin/gherkin.js
 
kallithea/public/codemirror/mode/go/
 
kallithea/public/codemirror/mode/go/go.js
 
kallithea/public/codemirror/mode/groovy/
 
kallithea/public/codemirror/mode/groovy/groovy.js
 
kallithea/public/codemirror/mode/haml/
 
kallithea/public/codemirror/mode/haml/haml.js
 
kallithea/public/codemirror/mode/haskell/
 
kallithea/public/codemirror/mode/haskell/haskell.js
 
kallithea/public/codemirror/mode/haxe/
 
kallithea/public/codemirror/mode/haxe/haxe.js
 
kallithea/public/codemirror/mode/htmlembedded/
 
kallithea/public/codemirror/mode/htmlembedded/htmlembedded.js
 
kallithea/public/codemirror/mode/htmlmixed/
 
kallithea/public/codemirror/mode/htmlmixed/htmlmixed.js
 
kallithea/public/codemirror/mode/http/
 
kallithea/public/codemirror/mode/http/http.js
 
kallithea/public/codemirror/mode/jade/
 
kallithea/public/codemirror/mode/jade/jade.js
 
kallithea/public/codemirror/mode/javascript/
 
kallithea/public/codemirror/mode/javascript/javascript.js
 
kallithea/public/codemirror/mode/jinja2/
 
kallithea/public/codemirror/mode/jinja2/jinja2.js
 
kallithea/public/codemirror/mode/julia/
 
kallithea/public/codemirror/mode/julia/julia.js
 
kallithea/public/codemirror/mode/kotlin/
 
kallithea/public/codemirror/mode/kotlin/kotlin.js
 
kallithea/public/codemirror/mode/livescript/
 
kallithea/public/codemirror/mode/livescript/livescript.js
 
kallithea/public/codemirror/mode/lua/
 
kallithea/public/codemirror/mode/lua/lua.js
 
kallithea/public/codemirror/mode/markdown/
 
kallithea/public/codemirror/mode/markdown/markdown.js
 
kallithea/public/codemirror/mode/meta.js
 
kallithea/public/codemirror/mode/mirc/
 
kallithea/public/codemirror/mode/mirc/mirc.js
 
kallithea/public/codemirror/mode/mllike/
 
kallithea/public/codemirror/mode/mllike/mllike.js
 
kallithea/public/codemirror/mode/modelica/
 
kallithea/public/codemirror/mode/modelica/modelica.js
 
kallithea/public/codemirror/mode/nginx/
 
kallithea/public/codemirror/mode/nginx/nginx.js
 
kallithea/public/codemirror/mode/ntriples/
 
kallithea/public/codemirror/mode/ntriples/ntriples.js
 
kallithea/public/codemirror/mode/octave/
 
kallithea/public/codemirror/mode/octave/octave.js
 
kallithea/public/codemirror/mode/pascal/
 
kallithea/public/codemirror/mode/pascal/pascal.js
 
kallithea/public/codemirror/mode/pegjs/
 
kallithea/public/codemirror/mode/pegjs/pegjs.js
 
kallithea/public/codemirror/mode/perl/
 
kallithea/public/codemirror/mode/perl/perl.js
 
kallithea/public/codemirror/mode/php/
 
kallithea/public/codemirror/mode/php/php.js
 
kallithea/public/codemirror/mode/pig/
 
kallithea/public/codemirror/mode/pig/pig.js
 
kallithea/public/codemirror/mode/properties/
 
kallithea/public/codemirror/mode/properties/properties.js
 
kallithea/public/codemirror/mode/puppet/
 
kallithea/public/codemirror/mode/puppet/puppet.js
 
kallithea/public/codemirror/mode/python/
 
kallithea/public/codemirror/mode/python/python.js
 
kallithea/public/codemirror/mode/q/
 
kallithea/public/codemirror/mode/q/q.js
 
kallithea/public/codemirror/mode/r/
 
kallithea/public/codemirror/mode/r/r.js
 
kallithea/public/codemirror/mode/rpm/
 
kallithea/public/codemirror/mode/rpm/rpm.js
 
kallithea/public/codemirror/mode/rst/
 
kallithea/public/codemirror/mode/rst/rst.js
 
kallithea/public/codemirror/mode/ruby/
 
kallithea/public/codemirror/mode/ruby/ruby.js
 
kallithea/public/codemirror/mode/rust/
 
kallithea/public/codemirror/mode/rust/rust.js
 
kallithea/public/codemirror/mode/sass/
 
kallithea/public/codemirror/mode/sass/sass.js
 
kallithea/public/codemirror/mode/scheme/
 
kallithea/public/codemirror/mode/scheme/scheme.js
 
kallithea/public/codemirror/mode/shell/
 
kallithea/public/codemirror/mode/shell/shell.js
 
kallithea/public/codemirror/mode/sieve/
 
kallithea/public/codemirror/mode/sieve/sieve.js
 
kallithea/public/codemirror/mode/slim/
 
kallithea/public/codemirror/mode/slim/slim.js
 
kallithea/public/codemirror/mode/smalltalk/
 
kallithea/public/codemirror/mode/smalltalk/smalltalk.js
 
kallithea/public/codemirror/mode/smarty/
 
kallithea/public/codemirror/mode/smarty/smarty.js
 
kallithea/public/codemirror/mode/smartymixed/
 
kallithea/public/codemirror/mode/smartymixed/smartymixed.js
 
kallithea/public/codemirror/mode/solr/
 
kallithea/public/codemirror/mode/solr/solr.js
 
kallithea/public/codemirror/mode/sparql/
 
kallithea/public/codemirror/mode/sparql/sparql.js
 
kallithea/public/codemirror/mode/sql/
 
kallithea/public/codemirror/mode/sql/sql.js
 
kallithea/public/codemirror/mode/stex/
 
kallithea/public/codemirror/mode/stex/stex.js
 
kallithea/public/codemirror/mode/tcl/
 
kallithea/public/codemirror/mode/tcl/tcl.js
 
kallithea/public/codemirror/mode/textile/
 
kallithea/public/codemirror/mode/textile/textile.js
 
kallithea/public/codemirror/mode/tiddlywiki/
 
kallithea/public/codemirror/mode/tiddlywiki/tiddlywiki.css
 
kallithea/public/codemirror/mode/tiddlywiki/tiddlywiki.js
 
kallithea/public/codemirror/mode/tiki/
 
kallithea/public/codemirror/mode/tiki/tiki.css
 
kallithea/public/codemirror/mode/tiki/tiki.js
 
kallithea/public/codemirror/mode/toml/
 
kallithea/public/codemirror/mode/toml/toml.js
 
kallithea/public/codemirror/mode/tornado/
 
kallithea/public/codemirror/mode/tornado/tornado.js
 
kallithea/public/codemirror/mode/turtle/
 
kallithea/public/codemirror/mode/turtle/turtle.js
 
kallithea/public/codemirror/mode/vb/
 
kallithea/public/codemirror/mode/vb/vb.js
 
kallithea/public/codemirror/mode/vbscript/
 
kallithea/public/codemirror/mode/vbscript/vbscript.js
 
kallithea/public/codemirror/mode/velocity/
 
kallithea/public/codemirror/mode/velocity/velocity.js
 
kallithea/public/codemirror/mode/verilog/
 
kallithea/public/codemirror/mode/verilog/verilog.js
 
kallithea/public/codemirror/mode/xml/
 
kallithea/public/codemirror/mode/xml/xml.js
 
kallithea/public/codemirror/mode/xquery/
 
kallithea/public/codemirror/mode/xquery/xquery.js
 
kallithea/public/codemirror/mode/yaml/
 
kallithea/public/codemirror/mode/yaml/yaml.js
 
kallithea/public/codemirror/mode/z80/
 
kallithea/public/codemirror/mode/z80/z80.js
 
kallithea/public/css/
 
kallithea/public/css/bootstrap.css
 
kallithea/public/css/contextbar.css
 
kallithea/public/css/mergely.css
 
kallithea/public/css/pygments.css
 
kallithea/public/css/style.css
 
kallithea/public/fontello/
 
kallithea/public/fontello/README-kallithea.txt
 
kallithea/public/fontello/README.txt
 
kallithea/public/fontello/config.json
 
kallithea/public/fontello/css/
 
kallithea/public/fontello/css/kallithea.css
 
kallithea/public/fontello/font/
 
kallithea/public/fontello/font/kallithea.eot
 
kallithea/public/fontello/font/kallithea.svg
 
kallithea/public/fontello/font/kallithea.ttf
 
kallithea/public/fontello/font/kallithea.woff
 
kallithea/public/images/
 
kallithea/public/images/background.png
 
kallithea/public/images/favicon.ico
 
kallithea/public/images/kallithea-logo.png
 
kallithea/public/images/kallithea-logo.svg
 
kallithea/public/images/pager.png
 
kallithea/public/images/pager_selected.png
 
kallithea/public/js/
 
kallithea/public/js/base.js
 
kallithea/public/js/bootstrap.js
 
kallithea/public/js/codemirror_loadmode.js
 
kallithea/public/js/graph.js
 
kallithea/public/js/jquery.min.js
 
kallithea/public/js/mergely.js
 
kallithea/public/js/mousetrap.js
 
kallithea/public/js/native.history.js
 
kallithea/public/js/select2/
 
kallithea/public/js/select2/select2-bootstrap.css
 
kallithea/public/js/select2/select2-spinner.gif
 
kallithea/public/js/select2/select2.css
 
kallithea/public/js/select2/select2.js
 
kallithea/public/js/select2/select2.png
 
kallithea/public/js/select2/select2x2.png
 
kallithea/public/js/yui.2.9.js
 
kallithea/public/js/yui.flot.js
 
kallithea/templates/
 
kallithea/templates/about.html
 
kallithea/templates/admin/
 
kallithea/templates/admin/admin.html
 
kallithea/templates/admin/admin_log.html
 
kallithea/templates/admin/auth/
 
kallithea/templates/admin/auth/auth_settings.html
 
kallithea/templates/admin/defaults/
 
kallithea/templates/admin/defaults/defaults.html
 
kallithea/templates/admin/gists/
 
kallithea/templates/admin/gists/edit.html
 
kallithea/templates/admin/gists/index.html
 
kallithea/templates/admin/gists/new.html
 
kallithea/templates/admin/gists/show.html
 
kallithea/templates/admin/my_account/
 
kallithea/templates/admin/my_account/my_account.html
 
kallithea/templates/admin/my_account/my_account_api_keys.html
 
kallithea/templates/admin/my_account/my_account_emails.html
 
kallithea/templates/admin/my_account/my_account_password.html
 
kallithea/templates/admin/my_account/my_account_perms.html
 
kallithea/templates/admin/my_account/my_account_profile.html
 
kallithea/templates/admin/my_account/my_account_repos.html
 
kallithea/templates/admin/my_account/my_account_watched.html
 
kallithea/templates/admin/notifications/
 
kallithea/templates/admin/notifications/notifications.html
 
kallithea/templates/admin/notifications/notifications_data.html
 
kallithea/templates/admin/notifications/show_notification.html
 
kallithea/templates/admin/permissions/
 
kallithea/templates/admin/permissions/permissions.html
 
kallithea/templates/admin/permissions/permissions_globals.html
 
kallithea/templates/admin/permissions/permissions_ips.html
 
kallithea/templates/admin/permissions/permissions_perms.html
 
kallithea/templates/admin/repo_groups/
 
kallithea/templates/admin/repo_groups/repo_group_add.html
 
kallithea/templates/admin/repo_groups/repo_group_edit.html
 
kallithea/templates/admin/repo_groups/repo_group_edit_advanced.html
 
kallithea/templates/admin/repo_groups/repo_group_edit_perms.html
 
kallithea/templates/admin/repo_groups/repo_group_edit_settings.html
 
kallithea/templates/admin/repo_groups/repo_group_show.html
 
kallithea/templates/admin/repo_groups/repo_groups.html
 
kallithea/templates/admin/repos/
 
kallithea/templates/admin/repos/repo_add.html
 
kallithea/templates/admin/repos/repo_add_base.html
 
kallithea/templates/admin/repos/repo_creating.html
 
kallithea/templates/admin/repos/repo_edit.html
 
kallithea/templates/admin/repos/repo_edit_advanced.html
 
kallithea/templates/admin/repos/repo_edit_caches.html
 
kallithea/templates/admin/repos/repo_edit_fields.html
 
kallithea/templates/admin/repos/repo_edit_fork.html
 
kallithea/templates/admin/repos/repo_edit_permissions.html
 
kallithea/templates/admin/repos/repo_edit_remote.html
 
kallithea/templates/admin/repos/repo_edit_settings.html
 
kallithea/templates/admin/repos/repo_edit_statistics.html
 
kallithea/templates/admin/repos/repos.html
 
kallithea/templates/admin/settings/
 
kallithea/templates/admin/settings/settings.html
 
kallithea/templates/admin/settings/settings_email.html
 
kallithea/templates/admin/settings/settings_global.html
 
kallithea/templates/admin/settings/settings_hooks.html
 
kallithea/templates/admin/settings/settings_mapping.html
 
kallithea/templates/admin/settings/settings_search.html
 
kallithea/templates/admin/settings/settings_system.html
 
kallithea/templates/admin/settings/settings_system_update.html
 
kallithea/templates/admin/settings/settings_vcs.html
 
kallithea/templates/admin/settings/settings_visual.html
 
kallithea/templates/admin/user_groups/
 
kallithea/templates/admin/user_groups/user_group_add.html
 
kallithea/templates/admin/user_groups/user_group_edit.html
 
kallithea/templates/admin/user_groups/user_group_edit_advanced.html
 
kallithea/templates/admin/user_groups/user_group_edit_default_perms.html
 
kallithea/templates/admin/user_groups/user_group_edit_members.html
 
kallithea/templates/admin/user_groups/user_group_edit_perms.html
 
kallithea/templates/admin/user_groups/user_group_edit_settings.html
 
kallithea/templates/admin/user_groups/user_groups.html
 
kallithea/templates/admin/users/
 
kallithea/templates/admin/users/user_add.html
 
kallithea/templates/admin/users/user_edit.html
 
kallithea/templates/admin/users/user_edit_advanced.html
 
kallithea/templates/admin/users/user_edit_api_keys.html
 
kallithea/templates/admin/users/user_edit_emails.html
 
kallithea/templates/admin/users/user_edit_ips.html
 
kallithea/templates/admin/users/user_edit_perms.html
 
kallithea/templates/admin/users/user_edit_profile.html
 
kallithea/templates/admin/users/users.html
 
kallithea/templates/base/
 
kallithea/templates/base/base.html
 
kallithea/templates/base/default_perms_box.html
 
kallithea/templates/base/flash_msg.html
 
kallithea/templates/base/perms_summary.html
 
kallithea/templates/base/root.html
 
kallithea/templates/bookmarks/
 
kallithea/templates/bookmarks/bookmarks.html
 
kallithea/templates/bookmarks/bookmarks_data.html
 
kallithea/templates/branches/
 
kallithea/templates/branches/branches.html
 
kallithea/templates/branches/branches_data.html
 
kallithea/templates/changelog/
 
kallithea/templates/changelog/changelog.html
 
kallithea/templates/changelog/changelog_details.html
 
kallithea/templates/changelog/changelog_summary_data.html
 
kallithea/templates/changeset/
 
kallithea/templates/changeset/changeset.html
 
kallithea/templates/changeset/changeset_comment_block.html
 
kallithea/templates/changeset/changeset_file_comment.html
 
kallithea/templates/changeset/changeset_range.html
 
kallithea/templates/changeset/diff_block.html
 
kallithea/templates/changeset/patch_changeset.html
 
kallithea/templates/compare/
 
kallithea/templates/compare/compare_cs.html
 
kallithea/templates/compare/compare_diff.html
 
kallithea/templates/data_table/
 
kallithea/templates/data_table/_dt_elements.html
 
kallithea/templates/email_templates/
 
kallithea/templates/email_templates/changeset_comment.html
 
kallithea/templates/email_templates/changeset_comment.txt
 
kallithea/templates/email_templates/default.html
 
kallithea/templates/email_templates/default.txt
 
kallithea/templates/email_templates/main.html
 
kallithea/templates/email_templates/main.txt
 
kallithea/templates/email_templates/password_reset.html
 
kallithea/templates/email_templates/password_reset.txt
 
kallithea/templates/email_templates/pull_request.html
 
kallithea/templates/email_templates/pull_request.txt
 
kallithea/templates/email_templates/pull_request_comment.html
 
kallithea/templates/email_templates/pull_request_comment.txt
 
kallithea/templates/email_templates/registration.html
 
kallithea/templates/email_templates/registration.txt
 
kallithea/templates/errors/
 
kallithea/templates/errors/error_document.html
 
kallithea/templates/files/
 
kallithea/templates/files/diff_2way.html
 
kallithea/templates/files/file_diff.html
 
kallithea/templates/files/files.html
 
kallithea/templates/files/files_add.html
 
kallithea/templates/files/files_browser.html
 
kallithea/templates/files/files_delete.html
 
kallithea/templates/files/files_edit.html
 
kallithea/templates/files/files_history_box.html
 
kallithea/templates/files/files_source.html
 
kallithea/templates/files/files_ypjax.html
 
kallithea/templates/followers/
 
kallithea/templates/followers/followers.html
 
kallithea/templates/followers/followers_data.html
 
kallithea/templates/forks/
 
kallithea/templates/forks/fork.html
 
kallithea/templates/forks/forks.html
 
kallithea/templates/forks/forks_data.html
 
kallithea/templates/index.html
 
kallithea/templates/index_base.html
 
kallithea/templates/journal/
 
kallithea/templates/journal/journal.html
 
kallithea/templates/journal/journal_data.html
 
kallithea/templates/journal/public_journal.html
 
kallithea/templates/login.html
 
kallithea/templates/password_reset.html
 
kallithea/templates/password_reset_confirmation.html
 
kallithea/templates/pullrequests/
 
kallithea/templates/pullrequests/pullrequest.html
 
kallithea/templates/pullrequests/pullrequest_data.html
 
kallithea/templates/pullrequests/pullrequest_show.html
 
kallithea/templates/pullrequests/pullrequest_show_all.html
 
kallithea/templates/pullrequests/pullrequest_show_my.html
 
kallithea/templates/register.html
 
kallithea/templates/search/
 
kallithea/templates/search/search.html
 
kallithea/templates/search/search_commit.html
 
kallithea/templates/search/search_content.html
 
kallithea/templates/search/search_path.html
 
kallithea/templates/search/search_repository.html
 
kallithea/templates/summary/
 
kallithea/templates/summary/statistics.html
 
kallithea/templates/summary/summary.html
 
kallithea/templates/switch_to_list.html
 
kallithea/templates/tags/
 
kallithea/templates/tags/tags.html
 
kallithea/templates/tags/tags_data.html
 
kallithea/tests/
 
kallithea/tests/__init__.py
 
kallithea/tests/api/
 
kallithea/tests/api/__init__.py
 
kallithea/tests/api/api_base.py
 
kallithea/tests/api/test_api_git.py
0 comments (0 inline, 0 general)