## -*- coding: utf-8 -*-
## base64 filter
<%!
def base64(text):
import base64
from rhodecode.lib.helpers import safe_str
return base64.encodestring(safe_str(text))
%>
<%inherit file="root.mako"/>
<%include file="/ejs_templates/templates.html"/>
${self.gravatar(email, size, tooltip=tooltip, tooltip_alt=contact, user=rc_user)}
${h.link_to_user(rc_user or contact)}
%def>
<%def name="user_group_icon(user_group=None, size=16, tooltip=False)">
<%
if (size > 16):
gravatar_class = 'icon-user-group-alt'
else:
gravatar_class = 'icon-user-group-alt'
if tooltip:
gravatar_class += ' tooltip-hovercard'
data_hovercard_url = request.route_path('hovercard_user_group', user_group_id=user_group.users_group_id)
%>
<%doc>
TODO: johbo: For now we serve double size images to make it smooth
for retina. This is how it worked until now. Should be replaced
with a better solution at some point.
%doc>
## SVN/HG/GIT icons
%if h.is_hg(repo_instance):
%endif
%if h.is_git(repo_instance):
%endif
%if h.is_svn(repo_instance):
%endif
## public/private
%if repo_instance.private:
%else:
%endif
## repo name with group name
${h.breadcrumb_repo_link(repo_instance)}
## Context Actions
## FORKED
%if repo_instance.fork:
${_('Fork of')}
${h.link_to_if(c.has_origin_repo_read_perm,repo_instance.fork.repo_name, h.route_path('repo_summary', repo_name=repo_instance.fork.repo_name))}
%endif
## IMPORTED FROM REMOTE
%if repo_instance.clone_uri:
${_('Clone from')}
${h.hide_credentials(repo_instance.clone_uri)}
%endif
## LOCKING STATUS
%if repo_instance.locked[0]:
${_('Repository locked by %(user)s') % {'user': h.person_by_id(repo_instance.locked[0])}}
%elif repo_instance.enable_locking:
${_('Repository not locked. Pull repository to lock it.')}
%endif
%def>
<%def name="repo_menu(active=None)">
<%
def is_active(selected):
if selected == active:
return "active"
## determine if we have "any" option available
can_lock = h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking
has_actions = can_lock
%>
% if c.rhodecode_db_repo.archived:
${self.repo_page_title(c.rhodecode_db_repo)}
## TODO: anderson: ideally it would have a function on the scm_instance "enable_pullrequest() and enable_fork()"
%if c.rhodecode_db_repo.repo_type in ['git','hg']:
-
%endif
-
%if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
%endif
-
% if has_actions:
% else:
% endif
%def>
<%def name="repo_group_page_title(repo_group_instance)">
## Repository Group icon
## repo name with group name
${h.breadcrumb_repo_group_link(repo_group_instance)}
<%namespace name="dt" file="/data_table/_dt_elements.mako"/>
${dt.repo_group_desc(repo_group_instance.description_safe, repo_group_instance.personal, c.visual.stylify_metatags)}
%def>
<%def name="repo_group_menu(active=None)">
<%
def is_active(selected):
if selected == active:
return "active"
gr_name = c.repo_group.group_name if c.repo_group else None
# create repositories with write permission on group is set to true
group_admin = h.HasRepoGroupPermissionAny('group.admin')(gr_name, 'group admin index page')
%>
${self.repo_group_page_title(c.repo_group)}
-
% if c.is_super_admin or group_admin:
-
% endif
%def>
<%def name="usermenu(active=False)">
<%
not_anonymous = c.rhodecode_user.username != h.DEFAULT_USER
gr_name = c.repo_group.group_name if (hasattr(c, 'repo_group') and c.repo_group) else None
# create repositories with write permission on group is set to true
can_fork = c.is_super_admin or h.HasPermissionAny('hg.fork.repository')()
create_on_write = h.HasPermissionAny('hg.create.write_on_repogroup.true')()
group_write = h.HasRepoGroupPermissionAny('group.write')(gr_name, 'can write into group index page')
group_admin = h.HasRepoGroupPermissionAny('group.admin')(gr_name, 'group admin index page')
can_create_repos = c.is_super_admin or c.can_create_repo
can_create_repo_groups = c.is_super_admin or c.can_create_repo_group
can_create_repos_in_group = c.is_super_admin or group_admin or (group_write and create_on_write)
can_create_repo_groups_in_group = c.is_super_admin or group_admin
%>
% if not_anonymous:
<%
default_target_group = dict()
if c.rhodecode_user.personal_repo_group:
default_target_group = dict(parent_group=c.rhodecode_user.personal_repo_group.group_id)
%>
## create action