Changeset - 8bd7a637cea0
[Not reviewed]
default
0 5 0
domruf - 9 years ago 2016-09-20 19:03:37
dominikruf@gmail.com
template: use Bootstrap compatible navbar markup

Based on work from Andrew Shadura <andrew@shadura.me>.

Further modified by Mads Kiilerich.
5 files changed with 157 insertions and 154 deletions:
0 comments (0 inline, 0 general)
kallithea/public/css/contextbar.css
Show inline comments
 
@@ -48,20 +48,20 @@ i[class^='icon-'] {
 
    min-height: 36px;
 
}
 

	
 
#content #context-bar h2 {
 
#content #context-bar .navbar-header {
 
    display: inline-block;
 
    color: #FFF;
 
    margin: 8px 20px 3px;
 
    padding-bottom: 2px;
 
}
 

	
 
#header #header-inner #quick a,
 
nav.navbar #quick a,
 
#content #context-bar,
 
#content #context-bar a {
 
    color: #FFFFFF;
 
}
 

	
 
#header #header-inner #quick a:hover,
 
nav.navbar #quick a:hover,
 
#content #context-bar a:hover {
 
    text-decoration: none;
 
}
 
@@ -77,16 +77,19 @@ i[class^='icon-'] {
 
    margin: 0;
 
}
 

	
 
ul.navbar-nav,
 
ul.horizontal-list {
 
    display: block;
 
}
 

	
 
ul.navbar-nav > li,
 
ul.horizontal-list > li {
 
    float: left;
 
    position: relative;
 
}
 

	
 
#header #header-inner #quick ul,
 
nav.navbar #quick ul,
 
ul.navbar-nav > li ul,
 
ul.horizontal-list > li ul {
 
    position: absolute;
 
    display: none;
 
@@ -94,13 +97,15 @@ ul.horizontal-list > li ul {
 
    z-index: 999;
 
}
 

	
 
#header #header-inner #quick li ul li,
 
nav.navbar #quick li ul li,
 
ul.navbar-nav ul li,
 
ul.horizontal-list ul li {
 
    position: relative;
 
    border-bottom: 1px solid rgba(0,0,0,0.1);
 
    border-top: 1px solid rgba(255,255,255,0.1);
 
}
 

	
 
ul.navbar-nav > li ul ul,
 
ul.horizontal-list > li ul ul {
 
    position: absolute;
 
    right: 100%;
 
@@ -111,7 +116,8 @@ ul.horizontal-list > li ul ul {
 
    overflow-y: auto;
 
}
 

	
 
#header #header-inner #quick ul a,
 
nav.navbar #quick ul a,
 
ul.navbar-nav li a,
 
ul.horizontal-list li a {
 
    white-space: nowrap;
 
}
 
@@ -129,7 +135,7 @@ ul.horizontal-list li a {
 
    font-size: 1.4em;
 
}
 

	
 
#header #header-inner #quick ul,
 
nav.navbar #quick ul,
 
#revision-changer,
 
#context-pages,
 
#context-pages ul {
 
@@ -137,7 +143,7 @@ ul.horizontal-list li a {
 
    background: linear-gradient(to bottom, #577632 0%, #577632 100%); /* W3C */
 
}
 

	
 
#header #header-inner #quick a,
 
nav.navbar #quick a,
 
#context-actions a,
 
#context-pages a {
 
    background-repeat: no-repeat;
 
@@ -180,14 +186,14 @@ ul#context-actions {
 
}
 

	
 
ul.dropdown-menu li a:focus,
 
#header #header-inner #quick li:hover,
 
nav.navbar #quick li:hover,
 
#revision-changer:hover,
 
#context-pages li:hover,
 
#context-actions li:hover,
 
#content #context-actions li:hover,
 
#header #header-inner #quick li.current,
 
#header #header-inner #quick li a.menu_link:focus,
 
#context-pages li.current {
 
nav.navbar #quick li.active,
 
nav.navbar #quick li a.menu_link:focus,
 
#context-pages li.active {
 
    background: #6388ad; /* Old browsers */
 
    background: linear-gradient(to bottom, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.1) 100%); /* W3C */
 
}
 
@@ -225,27 +231,27 @@ ul.dropdown-menu li a:focus,
 
    margin-right: 5px;
 
}
 

	
 
#header #header-inner #quick li,
 
nav.navbar #quick li,
 
#content #context-pages li {
 
    border-right: 1px solid rgba(0,0,0,0.1);
 
    border-left: 1px solid rgba(255,255,255,0.1);
 
    padding: 0;
 
}
 

	
 
#header #header-inner #quick li:last-child,
 
nav.navbar #quick li:last-child,
 
#content #context-pages li:last-child {
 
    border-right: none;
 
}
 

	
 
#header #header-inner #quick > li:first-child {
 
nav.navbar #quick > li:first-child {
 
    border-left: none;
 
}
 

	
 
#header #header-inner #quick > li:first-child > a {
 
nav.navbar #quick > li:first-child > a {
 
    border-radius: 4px 0 0 4px;
 
}
 

	
 
#header #header-inner #quick a,
 
nav.navbar #quick a,
 
#context-pages a,
 
#context-pages .dropdown-menu a {
 
    display: block;
 
@@ -253,17 +259,17 @@ ul.dropdown-menu li a:focus,
 
    line-height: 35px;
 
}
 

	
 
#header #header-inner #quick a.thin,
 
nav.navbar #quick a.thin,
 
#context-pages a.thin,
 
#context-pages .dropdown-menu a.thin {
 
    line-height: 28px !important;
 
}
 

	
 
#header #header-inner #quick a#quick_login_link {
 
nav.navbar #quick a#quick_login_link {
 
    padding-left: 0px;
 
}
 

	
 
#header #header-inner #quick a {
 
nav.navbar #quick a {
 
    overflow: hidden;
 
}
 
#context-pages a.dropdown-toggle:after {
kallithea/public/css/style.css
Show inline comments
 
@@ -265,25 +265,33 @@ div:hover > span > a.permalink {
 
    visibility: visible;
 
}
 

	
 
#header #logo {
 
nav.navbar #logo {
 
    padding-left: 10px;
 
}
 

	
 
div.header img {
 
#content nav.navbar #logo {
 
    padding-left: inherit;
 
}
 

	
 
nav.navbar #logo .navbar-brand img {
 
    padding-top: 5px;
 
}
 

	
 
#header #logo div.header,
 
#header #logo div.branding {
 
    margin-right: 5px;
 
}
 

	
 
nav.navbar #logo .navbar-brand {
 
    font-size: 20px;
 
    color: white;
 
    float: left;
 
    height: 44px;
 
    line-height: 44px;
 
    margin-right: 5px;
 
}
 

	
 
#header ul#logged-user {
 
}
 

	
 
#content nav.navbar #logo .navbar-brand {
 
    height: inherit;
 
    line-height: inherit;
 
}
 

	
 
nav.navbar ul#logged-user {
 
    margin-bottom: 5px !important;
 
    border-radius: 0px 0px 8px 8px;
 
    height: 37px;
 
@@ -293,7 +301,7 @@ div.header img {
 
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
 
}
 

	
 
#header ul#logged-user li {
 
nav.navbar ul#logged-user li {
 
    list-style: none;
 
    float: left;
 
    margin: 8px 0 0;
 
@@ -301,58 +309,42 @@ div.header img {
 
    border-left: 1px solid #576622;
 
}
 

	
 
#header ul#logged-user li.first {
 
nav.navbar ul#logged-user li.first {
 
    border-left: none;
 
    margin: 4px;
 
}
 

	
 
#header ul#logged-user li.first div.gravatar {
 
nav.navbar ul#logged-user li.first div.gravatar {
 
    margin-top: -2px;
 
}
 

	
 
#header ul#logged-user li.first div.account {
 
nav.navbar ul#logged-user li.first div.account {
 
    padding-top: 4px;
 
    float: left;
 
}
 

	
 
#header ul#logged-user li.last {
 
nav.navbar ul#logged-user li.last {
 
    border-right: none;
 
}
 

	
 
#header ul#logged-user li a {
 
nav.navbar ul#logged-user li a {
 
    color: #fff;
 
    font-weight: 700;
 
    text-decoration: none;
 
}
 

	
 
#header ul#logged-user li a:hover {
 
nav.navbar ul#logged-user li a:hover {
 
    text-decoration: underline;
 
}
 

	
 
#header ul#logged-user li.highlight a {
 
nav.navbar ul#logged-user li.highlight a {
 
    color: #fff;
 
}
 

	
 
#header ul#logged-user li.highlight a:hover {
 
nav.navbar ul#logged-user li.highlight a:hover {
 
    color: #FFF;
 
}
 
#header-dd {
 
    clear: both;
 
    position: fixed !important;
 
    background-color: #577632;
 
    opacity: 0.01;
 
    cursor: pointer;
 
    min-height: 10px;
 
    width: 100% !important;
 
    border-radius: 0px 0px 4px 4px;
 
}
 

	
 
#header-dd:hover {
 
    opacity: 0.2;
 
    transition: opacity 0.5s ease-in-out;
 
}
 

	
 
#header #header-inner {
 
nav.navbar {
 
    min-height: 44px;
 
    clear: both;
 
    position: relative;
 
@@ -365,19 +357,14 @@ div.header img {
 
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
 
    border-radius: 0px 0px 4px 4px;
 
}
 
#header #header-inner.hover {
 
    width: 100% !important;
 
    border-radius: 0px 0px 0px 0px;
 
    position: fixed !important;
 
    z-index: 10000;
 
}
 

	
 
.header-pos-fix, .anchor {
 

	
 
.header-pos-fix,
 
.anchor {
 
    margin-top: -46px;
 
    padding-top: 46px;
 
}
 

	
 
#header #header-inner #home a {
 
nav.navbar #home a {
 
    height: 40px;
 
    width: 46px;
 
    display: block;
 
@@ -386,32 +373,32 @@ div.header img {
 
    padding: 0;
 
}
 

	
 
#header #header-inner #home a:hover {
 
nav.navbar #home a:hover {
 
    background-position: 0 -40px;
 
}
 

	
 
#header #header-inner #logo {
 
nav.navbar #logo {
 
    float: left;
 
    position: absolute;
 
}
 

	
 
#header #header-inner #logo h1 {
 
nav.navbar #logo h1 {
 
    color: #FFF;
 
    font-size: 20px;
 
    margin: 12px 0 0 13px;
 
    padding: 0;
 
}
 

	
 
#header #header-inner #logo a {
 
nav.navbar #logo a {
 
    color: #fff;
 
    text-decoration: none;
 
}
 

	
 
#header #header-inner #logo a:hover {
 
nav.navbar #logo a:hover {
 
    color: #bfe3ff;
 
}
 

	
 
#header #header-inner #quick {
 
nav.navbar #quick {
 
    position: relative;
 
    float: right;
 
    list-style-type: none;
 
@@ -421,63 +408,59 @@ div.header img {
 
    border-radius: 4px;
 
}
 

	
 
#header #header-inner #quick li span.short {
 
nav.navbar #quick li span.short {
 
    padding: 9px 6px 8px 6px;
 
}
 

	
 
#header #header-inner #quick li span {
 
nav.navbar #quick li span {
 
    display: inline;
 
    margin: 0;
 
}
 

	
 
#header #header-inner #quick li span.normal {
 
nav.navbar #quick li span.normal {
 
    border: none;
 
    padding: 10px 12px 8px;
 
}
 

	
 
#header #header-inner #quick li .icon {
 
nav.navbar #quick li .icon {
 
    border-left: none;
 
    padding-left: 10px;
 
}
 

	
 
#header #header-inner #quick li .icon_short {
 
    top: 0;
 
    left: 0;
 
    border-left: none;
 
    border-right: 1px solid #2e5c89;
 
    padding: 8px 6px 4px;
 
}
 

	
 
#header #header-inner #quick li .icon img,
 
#header #header-inner #quick li .icon_short img {
 
    display: inline;
 
}
 

	
 
nav.navbar #quick li .icon img {
 
    vertical-align: middle;
 
    margin-bottom: 2px;
 
}
 

	
 
#header #header-inner #quick ul.repo_switcher {
 
nav.navbar #quick ul.repo_switcher {
 
    max-height: 275px;
 
    overflow-x: hidden;
 
    overflow-y: auto;
 
}
 

	
 
#header #header-inner #quick ul.repo_switcher li.qfilter_rs {
 
nav.navbar #quick ul.repo_switcher li.qfilter_rs {
 
    padding: 2px 3px;
 
    padding-right: 17px;
 
}
 

	
 
#header #header-inner #quick ul.repo_switcher li.qfilter_rs input {
 
nav.navbar #quick ul.repo_switcher li.qfilter_rs input {
 
    width: 100%;
 
    border-radius: 10px;
 
    padding: 2px 7px;
 
}
 

	
 
#header #header-inner #quick .repo_switcher_type {
 
nav.navbar #quick .repo_switcher_type {
 
    position: absolute;
 
    left: 0;
 
    top: 9px;
 
    margin: 0px 2px 0px 2px;
 
}
 

	
 
.navbar-toggle {
 
    display: none;
 
}
 

	
 
.groups_breadcrumbs a {
 
    color: #fff;
 
}
 
@@ -522,6 +505,7 @@ div.header img {
 
    margin: 0 60px 10px 290px;
 
}
 

	
 
#content nav.navbar,
 
#content div.panel {
 
    clear: both;
 
    background: #fff;
 
@@ -2906,7 +2890,7 @@ div.gravatar img {
 
    border-radius: 2px;
 
}
 

	
 
#header, #content, #footer {
 
nav.navbar, #content, #footer {
 
    min-width: 978px;
 
}
 

	
 
@@ -3114,7 +3098,7 @@ ins, div.options a:hover {
 
}
 

	
 
img,
 
#header #header-inner #quick li a:hover span.normal,
 
nav.navbar #quick li a:hover span.normal,
 
#clone_url,
 
#clone_url_id
 
{
 
@@ -3125,7 +3109,7 @@ img.icon, .right .merge img {
 
    vertical-align: bottom;
 
}
 

	
 
#header ul#logged-user,
 
nav.navbar ul#logged-user,
 
#content div.panel div.panel-heading ul.links,
 
#content div.panel div.message div.dismiss,
 
#content div.panel div.traffic div.legend ul {
 
@@ -3134,8 +3118,8 @@ img.icon, .right .merge img {
 
    padding: 0;
 
}
 

	
 
#header #header-inner #home,
 
#header #header-inner #logo,
 
nav.navbar #home,
 
nav.navbar #logo,
 
#content div.panel ul.left,
 
#content div.panel ol.left,
 
div#commit_history,
 
@@ -3143,7 +3127,7 @@ div#legend_data, div#legend_container, d
 
    float: left;
 
}
 

	
 
#header #header-inner #quick li #quick_login,
 
nav.navbar #quick li #quick_login,
 
#content #left #menu ul.closed,
 
#content #left #menu li ul.collapsed,
 
.yui-tt-shadow {
 
@@ -3161,12 +3145,16 @@ div#legend_data, div#legend_container, d
 
    content: ' \23f7';           /* triangle-down */
 
}
 

	
 
.branch-switcher .select2-choice,
 
.repo-switcher .select2-choice {
 
    padding: 0px 8px 1px !important;
 
    display: block;
 
    height: 100%;
 
}
 

	
 
.branch-switcher .select2-container,
 
.branch-switcher .select2-choice,
 
.branch-switcher .select2-choice span,
 
.repo-switcher .select2-container,
 
.repo-switcher .select2-choice,
 
.repo-switcher .select2-choice span {
 
@@ -3176,16 +3164,19 @@ div#legend_data, div#legend_container, d
 
    color: #FFFFFF !important;
 
}
 

	
 
.branch-switcher .select2-arrow,
 
.repo-switcher .select2-arrow {
 
    display: none !important;
 
}
 

	
 
.branch-switcher-dropdown.select2-drop.select2-drop-active,
 
.repo-switcher-dropdown.select2-drop.select2-drop-active {
 
    box-shadow: none;
 
    color: #fff;
 
    background-color: #576622;
 
}
 

	
 
.branch-switcher-dropdown.select2-drop.select2-drop-active .select2-results .select2-highlighted,
 
.repo-switcher-dropdown.select2-drop.select2-drop-active .select2-results .select2-highlighted {
 
    background-color: #6388ad;
 
}
kallithea/templates/base/base.html
Show inline comments
 
@@ -93,8 +93,9 @@
 
<%def name="repo_context_bar(current=None, rev=None)">
 
  <% rev = None if rev == 'tip' else rev %>
 
  <!--- CONTEXT BAR -->
 
  <div id="context-bar" class="panel panel-primary">
 
      <h2>
 
  <nav id="context-bar" class="navbar navbar-inverse">
 
    <div class="navbar-header" id="logo">
 
      <div class="navbar-brand">
 
        ${repotag(c.db_repo)}
 

	
 
        ## public/private
 
@@ -104,27 +105,28 @@
 
          <i class="icon-globe"></i>
 
        %endif
 
        %for group in c.db_repo.groups_with_parents:
 
          ${h.link_to(group.name, url('repos_group_home', group_name=group.group_name))}
 
          ${h.link_to(group.name, url('repos_group_home', group_name=group.group_name), class_='navbar-link')}
 
          &raquo;
 
        %endfor
 
        ${h.link_to(c.db_repo.just_name, url('summary_home', repo_name=c.db_repo.repo_name))}
 
        ${h.link_to(c.db_repo.just_name, url('summary_home', repo_name=c.db_repo.repo_name), class_='navbar-link')}
 

	
 
        %if current == 'createfork':
 
         - ${_('Create Fork')}
 
        %endif
 
      </h2>
 
      <ul id="context-pages" class="horizontal-list">
 
        <li class="${'current' if current == 'summary' else ''}" data-context="summary"><a href="${h.url('summary_home', repo_name=c.repo_name)}"><i class="icon-doc-text"></i> ${_('Summary')}</a></li>
 
      </div>
 
    </div>
 
    <ul id="context-pages" class="nav navbar-nav navbar-right navbar-collapse collapse">
 
        <li class="${'active' if current == 'summary' else ''}" data-context="summary"><a href="${h.url('summary_home', repo_name=c.repo_name)}"><i class="icon-doc-text"></i> ${_('Summary')}</a></li>
 
        %if rev:
 
        <li class="${'current' if current == 'changelog' else ''}" data-context="changelog"><a href="${h.url('changelog_file_home', repo_name=c.repo_name, revision=rev, f_path='')}"><i class="icon-clock"></i> ${_('Changelog')}</a></li>
 
        <li class="${'active' if current == 'changelog' else ''}" data-context="changelog"><a href="${h.url('changelog_file_home', repo_name=c.repo_name, revision=rev, f_path='')}"><i class="icon-clock"></i> ${_('Changelog')}</a></li>
 
        %else:
 
        <li class="${'current' if current == 'changelog' else ''}" data-context="changelog"><a href="${h.url('changelog_home', repo_name=c.repo_name)}"><i class="icon-clock"></i> ${_('Changelog')}</a></li>
 
        <li class="${'active' if current == 'changelog' else ''}" data-context="changelog"><a href="${h.url('changelog_home', repo_name=c.repo_name)}"><i class="icon-clock"></i> ${_('Changelog')}</a></li>
 
        %endif
 
        <li class="${'current' if current == 'files' else ''}" data-context="files"><a href="${h.url('files_home', repo_name=c.repo_name, revision=rev or 'tip')}"><i class="icon-doc-inv"></i> ${_('Files')}</a></li>
 
        <li class="${'current' if current == 'switch-to' else ''}" data-context="switch-to">
 
        <li class="${'active' if current == 'files' else ''}" data-context="files"><a href="${h.url('files_home', repo_name=c.repo_name, revision=rev or 'tip')}"><i class="icon-doc-inv"></i> ${_('Files')}</a></li>
 
        <li class="${'active' if current == 'switch-to' else ''}" data-context="switch-to">
 
          <input id="branch_switcher" name="branch_switcher" type="hidden">
 
        </li>
 
        <li class="${'current' if current == 'options' else ''} dropdown" data-context="options">
 
        <li class="${'active' if current == 'options' else ''} dropdown" data-context="options">
 
             %if h.HasRepoPermissionAny('repository.admin')(c.repo_name):
 
               <a href="${h.url('edit_repo',repo_name=c.repo_name)}" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false" aria-haspopup="true"><i class="icon-wrench"></i> ${_('Options')} <i class="caret"></i></a>
 
             %else:
 
@@ -153,9 +155,9 @@
 
              ## also it feels like a job for the controller
 
              %if c.authuser.username != 'default':
 
                  <li>
 
                   <a class="${'following' if c.repository_following else 'follow'}" onclick="toggleFollowingRepo(this, ${c.db_repo.repo_id});">
 
                    <span class="show-follow"><i class="icon-heart-empty"></i> ${_('Follow')}</span>
 
                    <span class="show-following"><i class="icon-heart"></i> ${_('Unfollow')}</span>
 
                   <a href="#" class="${'following' if c.repository_following else 'follow'}" onclick="toggleFollowingRepo(this, ${c.db_repo.repo_id});">
 
                    <span class="show-follow ${'hidden' if c.repository_following else ''}"><i class="icon-heart-empty"></i> ${_('Follow')}</span>
 
                    <span class="show-following ${'' if c.repository_following else 'hidden'}"><i class="icon-heart"></i> ${_('Unfollow')}</span>
 
                   </a>
 
                  </li>
 
                  <li><a href="${h.url('repo_fork_home',repo_name=c.repo_name)}"><i class="icon-git-pull-request"></i> ${_('Fork')}</a></li>
 
@@ -163,21 +165,21 @@
 
              %endif
 
             </ul>
 
        </li>
 
        <li class="${'current' if current == 'showpullrequest' else ''}" data-context="showpullrequest">
 
        <li class="${'active' if current == 'showpullrequest' else ''}" data-context="showpullrequest">
 
          <a href="${h.url('pullrequest_show_all',repo_name=c.repo_name)}" title="${_('Show Pull Requests for %s') % c.repo_name}"> <i class="icon-git-pull-request"></i> ${_('Pull Requests')}
 
            %if c.repository_pull_requests:
 
              <span class="badge">${c.repository_pull_requests}</span>
 
            %endif
 
          </a>
 
        </li>
 
      </ul>
 
  </div>
 
    </ul>
 
  </nav>
 
  <script type="text/javascript">
 
    $(document).ready(function() {
 
      var bcache = {};
 

	
 
      $("#branch_switcher").select2({
 
          placeholder: '<i class="icon-exchange"></i> ${_('Switch To')} <span class="caret"></span>',
 
          placeholder: '<span class="navbar-text"> <i class="icon-exchange"></i> ${_('Switch To')} <span class="caret"></span></span>',
 
          dropdownAutoWidth: true,
 
          sortResults: prefixFirstSort,
 
          formatResult: function(obj) {
 
@@ -191,13 +193,13 @@
 
          },
 
          escapeMarkup: function(m) {
 
              // don't escape our custom placeholder
 
              if (m.substr(0, 29) == '<i class="icon-exchange"></i>') {
 
              if (m.substr(0, 25) == '<span class="navbar-text"') {
 
                  return m;
 
              }
 

	
 
              return Select2.util.escapeMarkup(m);
 
          },
 
          containerCssClass: "repo-switcher",
 
          containerCssClass: "branch-switcher",
 
          dropdownCssClass: "repo-switcher-dropdown",
 
          query: function(query) {
 
              var key = 'cache';
 
@@ -248,7 +250,7 @@
 

	
 
      $("#branch_switcher").on('select2-selecting', function(e) {
 
          e.preventDefault();
 
          var context = $('#context-bar .current').data('context');
 
          var context = $('#context-bar .active').data('context');
 
          if (context == 'files') {
 
              window.location = pyroutes.url('files_home', {
 
                  'repo_name': REPO_NAME,
 
@@ -274,27 +276,27 @@
 
</%def>
 

	
 
<%def name="menu(current=None)">
 
  <ul id="quick" class="horizontal-list">
 
  <ul id="quick" class="nav navbar-nav navbar-right">
 
    <!-- repo switcher -->
 
    <li class="${'current' if current == 'repositories' else ''}">
 
    <li class="${'active' if current == 'repositories' else ''}">
 
      <input id="repo_switcher" name="repo_switcher" type="hidden">
 
    </li>
 

	
 
    ##ROOT MENU
 
    %if c.authuser.username != 'default':
 
      <li class="${'current' if current == 'journal' else ''}">
 
      <li class="${'active' if current == 'journal' else ''}">
 
        <a class="menu_link" title="${_('Show recent activity')}"  href="${h.url('journal')}">
 
          <i class="icon-book"></i> ${_('Journal')}
 
        </a>
 
      </li>
 
    %else:
 
      <li class="${'current' if current == 'journal' else ''}">
 
      <li class="${'active' if current == 'journal' else ''}">
 
        <a class="menu_link" title="${_('Public journal')}"  href="${h.url('public_journal')}">
 
          <i class="icon-book"></i> ${_('Public journal')}
 
        </a>
 
      </li>
 
    %endif
 
      <li class="${'current' if current == 'gists' else ''} dropdown">
 
      <li class="${'active' if current == 'gists' else ''} dropdown">
 
        <a class="menu_link dropdown-toggle" data-toggle="dropdown" role="button" title="${_('Show public gists')}"  href="${h.url('gists')}">
 
          <i class="icon-clippy"></i> ${_('Gists')} <span class="caret"></span>
 
        </a>
 
@@ -307,20 +309,20 @@
 
            %endif
 
          </ul>
 
      </li>
 
    <li class="${'current' if current == 'search' else ''}">
 
    <li class="${'active' if current == 'search' else ''}">
 
        <a class="menu_link" title="${_('Search in repositories')}"  href="${h.url('search')}">
 
          <i class="icon-search"></i> ${_('Search')}
 
        </a>
 
    </li>
 
    % if h.HasPermissionAny('hg.admin')('access admin main page'):
 
      <li class="${'current' if current == 'admin' else ''} dropdown">
 
      <li class="${'active' if current == 'admin' else ''} dropdown">
 
        <a class="menu_link dropdown-toggle" data-toggle="dropdown" role="button" title="${_('Admin')}" href="${h.url('admin_home')}">
 
          <i class="icon-gear"></i> ${_('Admin')} <span class="caret"></span>
 
        </a>
 
        ${admin_menu()}
 
      </li>
 
    % elif c.authuser.repositories_admin or c.authuser.repository_groups_admin or c.authuser.user_groups_admin:
 
    <li class="${'current' if current == 'admin' else ''} dropdown">
 
    <li class="${'active' if current == 'admin' else ''} dropdown">
 
        <a class="menu_link dropdown-toggle" data-toggle="dropdown" role="button" title="${_('Admin')}">
 
          <i class="icon-gear"></i> ${_('Admin')}
 
        </a>
 
@@ -330,7 +332,7 @@
 
    </li>
 
    % endif
 

	
 
    <li class="${'current' if current == 'my_pullrequests' else ''}">
 
    <li class="${'active' if current == 'my_pullrequests' else ''}">
 
      <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:
 
@@ -349,7 +351,7 @@
 
          href="#"
 
        %endif
 
      >
 
          ${h.gravatar_div(c.authuser.email, size=20, div_class="icon", div_style="display:inline", div_aria_hidden="true")}
 
          ${h.gravatar_div(c.authuser.email, size=20, div_class="icon")}
 
          %if c.authuser.username != 'default':
 
            <span class="menu_link_user">${c.authuser.username}</span>
 
            %if c.unread_notifications != 0:
 
@@ -360,8 +362,8 @@
 
          %endif
 
      </a>
 

	
 
      <div class="user-menu" role="menu">
 
        <div id="quick_login" role="form" aria-describedby="quick_login_h" aria-hidden="true" class="dropdown-menu">
 
      <div class="dropdown-menu user-menu" role="menu">
 
        <div id="quick_login" role="form" aria-describedby="quick_login_h" aria-hidden="true" class="container-fluid">
 
          %if c.authuser.username == 'default' or c.authuser.user_id is None:
 
            <h4 id="quick_login_h">${_('Login to Your Account')}</h4>
 
            ${h.form(h.url('login_home', came_from=request.path_qs))}
 
@@ -399,20 +401,18 @@
 
            </div>
 
            ${h.end_form()}
 
          %else:
 
            <div class="pull-left links_left">
 
            <div class="pull-left">
 
                ${h.gravatar_div(c.authuser.email, size=48, div_class="big_gravatar")}
 
                <div class="full_name">${c.authuser.full_name_or_username}</div>
 
                <b class="full_name">${c.authuser.full_name_or_username}</b>
 
                <div class="email">${c.authuser.email}</div>
 
            </div>
 
            <div class="pull-right links_right" id="quick_login_h">
 
            <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>
 
            <div class="pull-right list-group text-right">
 
              <a class="list-group-item" href="${h.url('notifications')}">${_('Notifications')}: ${c.unread_notifications}</a>
 
              ${h.link_to(_('My Account'),h.url('my_account'),class_='list-group-item')}
 
              %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>
 
                ${h.link_to(_('Log Out'), h.url('logout_home'),class_='list-group-item')}
 
              %endif
 
            </ol>
 
            </div>
 
          %endif
 
        </div>
 
@@ -456,7 +456,7 @@
 
            }
 

	
 
            $("#repo_switcher").select2({
 
                placeholder: '<i class="icon-database"></i> ${_('Repositories')} <span class="caret"></span>',
 
                placeholder: '<span class="navbar-text"><i class="icon-database"></i> ${_('Repositories')} <span class="caret"></span></span>',
 
                dropdownAutoWidth: true,
 
                sortResults: prefixFirstSort,
 
                formatResult: format,
 
@@ -468,7 +468,7 @@
 
                dropdownCssClass: "repo-switcher-dropdown",
 
                escapeMarkup: function(m){
 
                    // don't escape our custom placeholder
 
                    if(m.substr(0,29) == '<i class="icon-database"></i>'){
 
                    if(m.substr(0,55) == '<span class="navbar-text"><i class="icon-database"></i>'){
 
                        return m;
 
                    }
 

	
kallithea/templates/base/root.html
Show inline comments
 
@@ -105,21 +105,27 @@
 
        <%block name="head_extra"/>
 
    </head>
 
    <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')}" alt="Kallithea"/>
 
              </div>
 
              %if c.site_name:
 
                <div class="branding">${c.site_name}</div>
 
              %endif
 
      <nav class="navbar navbar-inverse">
 
        <div>
 
          <div class="navbar-header" id="logo">
 
            <a class="navbar-brand" href="${h.url('home')}">
 
                <img class="pull-left" src="${h.url('/images/kallithea-logo.svg')}" alt="Kallithea"/>
 
                  %if c.site_name:
 
                    <span class="branding">${c.site_name}</span>
 
                  %endif
 
            </a>
 
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
 
              <span class="sr-only">Toggle navigation</span>
 
              <span class="icon-bar"></span>
 
              <span class="icon-bar"></span>
 
              <span class="icon-bar"></span>
 
            </button>
 
          </div>
 
          <%block name="header_menu"/>
 
          <div id="navbar" class="navbar-collapse collapse">
 
            <%block name="header_menu"/>
 
          </div>
 
        </div>
 
      </div>
 
      </nav>
 

	
 
      ${next.body()}
 

	
kallithea/tests/functional/test_admin_settings.py
Show inline comments
 
@@ -174,4 +174,4 @@ class TestAdminSettingsController(TestCo
 
            assert Setting.get_app_settings()['title'] == new_title.decode('utf-8')
 

	
 
            response = response.follow()
 
            response.mustcontain("""<div class="branding">%s</div>""" % new_title)
 
            response.mustcontain("""<span class="branding">%s</span>""" % new_title)
0 comments (0 inline, 0 general)