Replace password reset with email OTP verification flow. Add auth_otp module, OTP templates, and email delivery. Expand styleguide CSS with full component library. Rework login, register, and admin views for cookie sessions. Remove legacy 2FA templates and password reset flow. Update SSH wrappers, forms, validators, and middleware.
59 lines
2.2 KiB
Mako
59 lines
2.2 KiB
Mako
<%inherit file="/base/base.mako"/>
|
|
|
|
<%def name="title()">
|
|
${_('Admin')}
|
|
%if c.rhodecode_name:
|
|
· ${h.branding(c.rhodecode_name)}
|
|
%endif
|
|
</%def>
|
|
|
|
<%def name="breadcrumbs_links()"></%def>
|
|
|
|
<%def name="menu_bar_nav()">
|
|
${self.menu_items(active='admin')}
|
|
</%def>
|
|
|
|
<%def name="menu_bar_subnav()">
|
|
${self.admin_menu()}
|
|
</%def>
|
|
|
|
<%def name="main()">
|
|
<div class="box">
|
|
<div class="admin-dashboard">
|
|
<h2>${_('Admin Dashboard')}</h2>
|
|
|
|
<div class="dashboard-cards">
|
|
<a href="${h.route_path('repos')}" class="dashboard-card">
|
|
<span class="dashboard-card-count delegated-admin-repos">${len(c.auth_user.repositories_admin)}</span>
|
|
<span class="dashboard-card-label">${_('Repositories')}</span>
|
|
</a>
|
|
<a href="${h.route_path('repo_groups')}" class="dashboard-card">
|
|
<span class="dashboard-card-count delegated-admin-repo-groups">${len(c.auth_user.repository_groups_admin)}</span>
|
|
<span class="dashboard-card-label">${_('Repo Groups')}</span>
|
|
</a>
|
|
<a href="${h.route_path('user_groups')}" class="dashboard-card">
|
|
<span class="dashboard-card-count delegated-admin-user-groups">${len(c.auth_user.user_groups_admin)}</span>
|
|
<span class="dashboard-card-label">${_('User Groups')}</span>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="dashboard-actions">
|
|
<h3>${_('Quick Actions')}</h3>
|
|
<div class="dashboard-action-grid">
|
|
% if c.can_create_repo:
|
|
<a href="${h.route_path('repo_new')}" class="btn btn-default">${_('New Repository')}</a>
|
|
% endif
|
|
% if c.can_create_repo_group:
|
|
<a href="${h.route_path('repo_group_new')}" class="btn btn-default">${_('New Repo Group')}</a>
|
|
% endif
|
|
% if c.can_create_user_group:
|
|
<a href="${h.route_path('user_groups_new')}" class="btn btn-default">${_('New User Group')}</a>
|
|
% endif
|
|
% if c.is_super_admin:
|
|
<a href="${h.route_path('admin_settings')}" class="btn btn-default">${_('Settings')}</a>
|
|
% endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</%def>
|
|
|