diff --git a/ckan/public/base/less/profile.less b/ckan/public/base/less/profile.less index 8984a4519f0..53e82c6c745 100644 --- a/ckan/public/base/less/profile.less +++ b/ckan/public/base/less/profile.less @@ -1,69 +1,78 @@ -.profile-info { - .clearfix(); - .border-radius(3px 3px 0 0); - border-bottom: 1px solid #ddd; - #gradient > .vertical(#fff, #f3f3f3); -} - -.js .profile-info { - margin-bottom: 0; -} - -.module > .profile-info { - position: relative; - padding-top: 25px; - padding-bottom: 25px; -} - -.profile-info .media { - .makeColumn(5); - display: table; // Lets us align the text to the bottom. - margin-left: 0; -} - -.profile-info .image { - max-height: initial; -} - -.profile-info .description { - display: table-cell; - vertical-align: bottom; -} - -.profile-info .heading { - font-size: 18px; +.profile { + header { + position: relative; + border-bottom: 1px solid @moduleHeadingBorderColor; + height: 30px; + .border-radius(3px 3px 0 0); + #gradient > .vertical(@moduleHeadingBackgroundColorStart, @moduleHeadingBackgroundColorEnd); + .nav-tabs { + position: absolute; + left: 20px; + bottom: -1px; + margin-bottom: 0; + i { + margin-right: 10px; + font-size: 14px; + } + a:hover { + background-color: @moduleBackgroundColor; + } + } + } + .tab-heading { + display: none; + } + .empty, + .dataset-list { + margin-bottom: 20px; + } } -.profile-info .description :last-child { - margin-bottom: 0; -} - -.profile-info .listing { - .makeColumn(3); - float: right; - font-size: 12px; -} - -.profile-info .listing { - .makeColumn(3); - float: right; -} - -.profile-info .nav-tabs { - position: absolute; - right: 0; - bottom: -1px; - margin-bottom: 0; -} - -.profile .module-content { - padding-bottom: 20px; -} - -.module-activity { - margin-top: 5px; -} - -.js .tab-content .tab-heading { - display: none; +.profile-info { + .module-content { + padding: 15px; + } + .avatar { + border: 1px solid #DDD; + padding: 5px; + .border-radius(2px); + img, + a { + display: block; + } + } + h1.heading { + margin: 10px 0 5px 0; + font-size: 21px; + } + .info { + margin-top: 15px; + padding-top: 10px; + border-top: 1px dotted #DDD; + dl dd { + margin-top: 3px; + margin-left: 0; + } + } + .nums { + .clearfix; + margin-top: 15px; + padding-top: 10px; + padding-bottom: 0; + border-top: 1px dotted #DDD; + dl { + float: left; + width: 33%; + margin: 5px 0 0 0; + dt { + font-weight: 300; + } + dd { + font-size: 30px; + font-weight: 700; + line-height: 1.2; + margin-left: 0; + } + } + } } diff --git a/ckan/templates/user/read.html b/ckan/templates/user/read.html index 586f4e16538..3fe8bd00ce2 100644 --- a/ckan/templates/user/read.html +++ b/ckan/templates/user/read.html @@ -13,72 +13,21 @@ {% block actions_content %} {% if c.is_myself %} -{# FIXME dashboard disabled #} - {#
  • {% link_for _('Dashboard'), controller='user', action='dashboard', class_='btn', icon='dashboard' %}
  • #} - {% endif %} - {% if h.check_access('user_update', user) %} -
  • {% link_for _('Edit'), controller='user', action='edit', id=user.name, class_='btn', icon='cog' %}
  • - {% endif %} +
  • {% link_for _('Dashboard'), controller='user', action='dashboard', class_='btn', icon='dashboard' %}
  • +{% endif %} +{% if h.check_access('user_update', user) %} +
  • {% link_for _('Edit'), controller='user', action='edit', id=user.name, class_='btn', icon='cog' %}
  • +{% endif %} {% endblock %} {% block primary_content %}
    -
    -
    - {{ h.linked_gravatar(user.email_hash, 150) }} -
    -

    {{ user.fullname or _('No full name provided') }}

    - {% if c.about_formatted %} - {{ c.about_formatted }} - {% else %} -

    - {% if c.is_myself %} - {% trans %}You have not provided a biography.{% endtrans %} - {% else %} - {% trans %}This user has no biography.{% endtrans %} - {% endif %} -

    - {% endif %} -
    -
    - +
    -
    +

    {{ _('Datasets') }}

    {% if user.datasets %} @@ -106,5 +55,62 @@

    {{ _('Activity Stream') }}

    {% endblock %} {% block secondary_content %} - {% snippet 'user/snippets/user_search.html' %} +
    +
    +
    {{ h.linked_gravatar(user.email_hash, 180) }}
    +

    {{ user.fullname or _('No full name provided') }}

    + {% if c.about_formatted %} + {{ c.about_formatted }} + {% else %} +

    + {% if c.is_myself %} + {% trans %}You have not provided a biography.{% endtrans %} + {% else %} + {% trans %}This user has no biography.{% endtrans %} + {% endif %} +

    + {% endif %} +
    +
    +
    {{ _('Followers') }}
    +
    {{ c.num_followers }}
    +
    +
    +
    {{ _('Datasets') }}
    +
    {{ user.number_administered_packages }}
    +
    +
    +
    {{ _('Edits') }}
    +
    {{ user.number_of_edits }}
    +
    +
    +
    +
    + {% if user.name.startswith('http://') or user.name.startswith('https://') %} +
    {{ _('Open ID') }}
    +
    {{ user.name|urlize(25) }}{# Be great if this just showed the domain #}
    + {% else %} +
    {{ _('Username') }}
    +
    {{ user.name }}
    + {% endif %} +
    + {% if c.is_myself %} +
    +
    {{ _('Email') }} {{ _('Private') }}
    +
    {{ user.email }}
    +
    + {% endif %} +
    +
    {{ _('Member Since') }}
    +
    {{ h.render_datetime(user.created) }}
    +
    + {% if c.is_myself %} +
    +
    {{ _('API Key') }} {{ _('Private') }}
    +
    {{ user.apikey }}
    +
    + {% endif %} +
    +
    +
    {% endblock %}