Changeset - a1f8bf0428c5
[Not reviewed]
default
0 5 0
Mads Kiilerich - 9 years ago 2017-04-15 01:56:27
mads@kiilerich.com
admin: clean-up of Gravatar and IP in user profile headers

Move things around and use Bootstrap compatible markup.

The user IP will rarely be relevant - especially not on the admin pages; the IP
configuration there is more for other user's IP. It might however be somewhat
relevant for a (non-admin) user to know his own IP. There is no obvious place
to show that - it doesn't really fit in as a part of the user profile. Anyway,
just show it under Show Permissions.
5 files changed with 18 insertions and 28 deletions:
0 comments (0 inline, 0 general)
kallithea/templates/admin/my_account/my_account.html
Show inline comments
 
## -*- coding: utf-8 -*-
 
<%inherit file="/base/base.html"/>
 

	
 
<%block name="title">
 
    ${_('My Account')} ${request.authuser.username}
 
</%block>
 

	
 
<%def name="breadcrumbs_links()">
 
    ${_('My Account')}
 
</%def>
 

	
 
<%block name="header_menu">
 
    ${self.menu('admin')}
 
</%block>
 

	
 
<%def name="main()">
 
<div class="panel panel-primary">
 
    <div class="panel-heading">
 
        ${self.breadcrumbs()}
 
    </div>
 

	
 
    ##main
 
    <div class="panel-body settings">
 
        <ul class="nav nav-pills nav-stacked">
 
            <li>
 
              <div class="gravatar_box" style="height: 26px">
 
                ${h.gravatar_div(c.user.email, div_style="float: left")}
 
                <div class="truncate" style="margin:10px 0px 10px 0px; color:#5f5f5f; float:left; width: 100px">
 
                    <strong>${c.user.username}</strong>
 
                </div>
 
              </div>
 
            </li>
 
            <li class="${'active' if c.active=='profile' else ''}"><a href="${h.url('my_account')}">${_('Profile')}</a></li>
 
            <li class="${'active' if c.active=='emails' else ''}"><a href="${h.url('my_account_emails')}">${_('Email Addresses')}</a></li>
 
            <li class="${'active' if c.active=='password' else ''}"><a href="${h.url('my_account_password')}">${_('Password')}</a></li>
 
            <li class="${'active' if c.active=='api_keys' else ''}"><a href="${h.url('my_account_api_keys')}">${_('API Keys')}</a></li>
 
            <li class="${'active' if c.active=='repos' else ''}"><a href="${h.url('my_account_repos')}">${_('Owned Repositories')}</a></li>
 
            <li class="${'active' if c.active=='watched' else ''}"><a href="${h.url('my_account_watched')}">${_('Watched Repositories')}</a></li>
 
            <li class="${'active' if c.active=='perms' else ''}"><a href="${h.url('my_account_perms')}">${_('Show Permissions')}</a></li>
 
        </ul>
 

	
 
        <div>
 
            <%include file="/admin/my_account/my_account_${c.active}.html"/>
 
        </div>
 
    </div>
 
</div>
 

	
 
</%def>
kallithea/templates/admin/my_account/my_account_perms.html
Show inline comments
 
## permissions overview
 
<div id="perms_container">
 
<h4>${_('Current IP')}</h4>
 
<div>
 
  ${request.ip_addr}
 
</div>
 
<%namespace name="p" file="/base/perms_summary.html"/>
 
${p.perms_summary(c.perm_user.permissions, actions=False)}
 
</div>
kallithea/templates/admin/my_account/my_account_profile.html
Show inline comments
 
${h.form(url('my_account'), method='post')}
 
    <div class="form">
 
        <div class="form-horizontal">
 
            <div class="form-group">
 
                <div class="gravatar_box">
 
                <label class="control-label">${_('Gravatar')}:</label>
 
                <div class="gravatar_box clearfix">
 
                    ${h.gravatar_div(c.user.email)}
 
                    <p>
 
                </div>
 
                <div>
 
                    %if c.visual.use_gravatar:
 
                        <strong>${_('Change your avatar at')} <a href="http://gravatar.com">gravatar.com</a></strong>
 
                        <br/>${_('Using')} ${c.user.email}
 
                        ${_('Change %s avatar at') % c.user.email} <a href="http://gravatar.com">gravatar.com</a>
 
                    %else:
 
                        <strong>${_('Avatars are disabled')}</strong>
 
                        <br/>${c.user.email or _('Missing email, please update your user email address.')}
 
                        [${_('Current IP')}: ${request.ip_addr}]
 
                        ${_('Avatars are disabled')}
 
                    %endif
 
                    </p>
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="username">${_('Username')}:</label>
 
                <div>
 
                    ${h.text('username',class_='form-control', readonly=c.readonly('username'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="firstname">${_('First Name')}:</label>
 
                <div>
 
                    ${h.text('firstname',class_='form-control', readonly=c.readonly('firstname'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="lastname">${_('Last Name')}:</label>
 
                <div>
 
                    ${h.text('lastname',class_='form-control', readonly=c.readonly('lastname'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="email">${_('Email')}:</label>
 
                <div>
 
                    ${h.text('email',class_='form-control', readonly=c.readonly('email'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <div class="buttons">
 
                    ${h.submit('save',_('Save'),class_="btn btn-default")}
 
                    ${h.reset('reset',_('Reset'),class_="btn btn-default")}
 
                </div>
 
            </div>
 
        </div>
 
    </div>
 
${h.end_form()}
kallithea/templates/admin/settings/settings_visual.html
Show inline comments
 
${h.form(url('admin_settings_visual'), method='post')}
 
    <div class="form">
 

	
 
        <div class="form-horizontal">
 

	
 
            <div class="form-group">
 
                <label class="control-label">${_('General')}:</label>
 
                <div>
 
                    <div class="checkbox">
 
                        <label>
 
                            ${h.checkbox('repository_fields','True')}
 
                            ${_('Use repository extra fields')}
 
                        </label>
 
                    </div>
 
                    <span class="help-block">${_('Allows storing additional customized fields per repository.')}</span>
 

	
 
                    <div class="checkbox">
 
                        <label>
 
                            ${h.checkbox('show_version','True')}
 
                            ${_('Show Kallithea version')}
 
                        </label>
 
                    </div>
 
                    <span class="help-block">${_('Shows or hides a version number of Kallithea displayed in the footer.')}</span>
 

	
 
                    <div class="checkbox">
 
                        <label>
 
                            ${h.checkbox('use_gravatar','True')}
 
                            ${_('Use Gravatars in Kallithea')}
 
                            ${_('Show user Gravatars')}
 
                        </label>
 
                    </div>
 
                    ${h.text('gravatar_url', size=80, class_='form-control')}
 
                    <span class="help-block">${_('''Gravatar URL allows you to use another avatar server application.
 
                                                        The following variables of the URL will be replaced accordingly.
 
                                                        {scheme}    'http' or 'https' sent from running Kallithea server,
 
                                                        {email}     user email,
 
                                                        {md5email}  md5 hash of the user email (like at gravatar.com),
 
                                                        {size}      size of the image that is expected from the server application,
 
                                                        {netloc}    network location/server host of running Kallithea server''')}</span>
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label">${_('Clone URL')}:</label>
 
                <div>
 
                    ${h.text('clone_uri_tmpl', size=80, class_='form-control')}
 
                    <span class="help-block">${_('''Schema of clone URL construction eg. '{scheme}://{user}@{netloc}/{repo}'.
 
                                                    The following variables are available:
 
                                                    {scheme} 'http' or 'https' sent from running Kallithea server,
 
                                                    {user}   current user username,
 
                                                    {netloc} network location/server host of running Kallithea server,
 
                                                    {repo}   full repository name,
 
                                                    {repoid} ID of repository, can be used to construct clone-by-id''')}</span>
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="dashboard_items">${_('Repository page size')}:</label>
 
                <div>
 
                    ${h.text('dashboard_items',size=5,class_='form-control')}
 
                    <span class="help-block">${_('Number of items displayed in the repository pages before pagination is shown.')}</span>
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="admin_grid_items">${_('Admin page size')}:</label>
 
                <div>
 
                    ${h.text('admin_grid_items',size=5,class_='form-control')}
 
                    <span class="help-block">${_('Number of items displayed in the admin pages grids before pagination is shown.')}</span>
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label">${_('Icons')}:</label>
 
                <div>
 
                    <div class="checkbox">
 
                        <label>
 
                            ${h.checkbox('show_public_icon','True')}
 
                            ${_('Show public repository icon on repositories')}
 
                        </label>
 
                    </div>
 
                    <div class="checkbox">
 
                        <label>
 
                            ${h.checkbox('show_private_icon','True')}
 
                            ${_('Show private repository icon on repositories')}
 
                        </label>
 
                    </div>
 
                    <span class="help-block">${_('Show public/private icons next to repository names.')}</span>
 
                 </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="stylify_metatags">${_('Meta Tagging')}:</label>
 
                <div>
 
                    <div class="checkbox">
 
                        ${h.checkbox('stylify_metatags','True')}
 
                    </div>
 
                    <span class="help-block">${_('Parses meta tags from the repository description field and turns them into colored tags.')}</span>
 
                    <div>
 
                        ${_('Stylify recognised meta tags:')}
 
                        <ul class="list-unstyled"> <!-- Fix style here -->
 
                            <li>[featured] <span class="metatag" data-tag="featured">featured</span></li>
 
                            <li>[stale] <span class="metatag" data-tag="stale">stale</span></li>
 
                            <li>[dead] <span class="metatag" data-tag="dead">dead</span></li>
 
                            <li>[lang =&gt; lang] <span class="metatag" data-tag="lang">lang</span></li>
 
                            <li>[license =&gt; License] <span class="metatag" data-tag="license"><a href="http://www.opensource.org/licenses/License">License</a></span></li>
 
                            <li>[requires =&gt; Repo] <span class="metatag" data-tag="requires">requires =&gt; <a href="#">Repo</a></span></li>
 
                            <li>[recommends =&gt; Repo] <span class="metatag" data-tag="recommends">recommends =&gt; <a href="#">Repo</a></span></li>
 
                            <li>[see =&gt; URI] <span class="metatag" data-tag="see">see =&gt; <a href="#">URI</a> </span></li>
 
                        </ul>
 
                    </div>
 
                 </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <div class="buttons">
 
                    ${h.submit('save',_('Save Settings'),class_="btn btn-default")}
 
                    ${h.reset('reset',_('Reset'),class_="btn btn-default")}
 
                </div>
 
            </div>
 

	
 
        </div>
 
    </div>
 
${h.end_form()}
kallithea/templates/admin/users/user_edit_profile.html
Show inline comments
 
${h.form(url('update_user', id=c.user.user_id))}
 
    <div class="form">
 
        <div class="form-horizontal">
 
        <div class="form-group">
 
            <div class="gravatar_box">
 
                <label class="control-label">${_('Gravatar')}:</label>
 
                <div class="gravatar_box clearfix">
 
                ${h.gravatar_div(c.user.email)}
 
                <p>
 
                </div>
 
                <div>
 
                %if c.visual.use_gravatar:
 
                <strong>${_('Change avatar at')} <a href="http://gravatar.com">gravatar.com</a></strong>
 
                <br/>${_('Using')} ${c.user.email}
 
                        ${_('Change %s avatar at') % c.user.email} <a href="http://gravatar.com">gravatar.com</a>
 
                %else:
 
                <strong>${_('Avatars are disabled')}</strong>
 
                <br/>${c.user.email or _('Missing email, please update this user email address.')}
 
                        ##show current ip just if we show ourself
 
                        %if request.authuser.username == c.user.username:
 
                            [${_('Current IP')}: ${request.ip_addr}]
 
                        %endif
 
                        ${_('Avatars are disabled')}
 
                %endif
 
            </div>
 
        </div>
 
        <div class="form-horizontal">
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="username">${_('Username')}:</label>
 
                <div>
 
                    ${h.text('username',class_='form-control', readonly=c.readonly('username'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="email">${_('Email')}:</label>
 
                <div>
 
                    ${h.text('email',class_='form-control', readonly=c.readonly('email'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="extern_type">${_('Source of Record')}:</label>
 
                <div>
 
                    ${h.text('extern_type',class_='form-control',readonly="readonly")}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="extern_name">${_('Name in Source of Record')}:</label>
 
                <div>
 
                    ${h.text('extern_name',class_='form-control',readonly="readonly")}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="new_password">${_('New password')}:</label>
 
                <div>
 
                    ${h.password('new_password',class_='form-control',readonly=c.readonly('password'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="password_confirmation">${_('New password confirmation')}:</label>
 
                <div>
 
                    ${h.password('password_confirmation',class_='form-control',readonly=c.readonly('password'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="firstname">${_('First Name')}:</label>
 
                <div>
 
                    ${h.text('firstname',class_='form-control', readonly=c.readonly('firstname'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="lastname">${_('Last Name')}:</label>
 
                <div>
 
                    ${h.text('lastname',class_='form-control', readonly=c.readonly('lastname'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="active">${_('Active')}:</label>
 
                <div>
 
                    ${h.checkbox('active',value=True, readonly=c.readonly('active'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <label class="control-label" for="admin">${_('Admin')}:</label>
 
                <div>
 
                    ${h.checkbox('admin',value=True, readonly=c.readonly('admin'))}
 
                </div>
 
            </div>
 

	
 
            <div class="form-group">
 
                <div class="buttons">
 
                    ${h.submit('save',_('Save'),class_="btn btn-default")}
 
                    ${h.reset('reset',_('Reset'),class_="btn btn-default")}
 
                </div>
 
            </div>
 
        </div>
 
    </div>
 
${h.end_form()}
0 comments (0 inline, 0 general)