mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-19 17:22:30 +02:00
* Add service access permissions and migration `ENABLE_AUTH_<servicename> = True` will have the new permission applied to the settings configured `DEFAULT_AUTH_GROUP` group or `Member` if none is configured. `ENABLE_BLUE_<servicename> = True` will have the new permission applied to the settings configured `DEFAULT_BLUE_GROUP` group or `Blue` if none is configured. * Move views and hooks to permissions based access * Remove access restriction to services view Hypothetically non-member/blues could be granted permission to access services manually as desired now. A user that has no permissions to access any services will see a blank services list. * Remove obsolete service settings * Remove references to obsolete settings * Adjusted tests to support permissions based access * Fix incorrectly named permissions * Add simple get_services generator function * Added signals for user and groups perm changes * Update validate_services to support permissions deactivate_services removed as its surplus to requirements. * Removed state parameter from validate_services calls * Update tests to support signals changes * Fix incorrect call to validate_services task * Fix validate_services and test * Add validate_user to changed user groups signal * Added tests for new signals * Remove unnecessary post_add signals * Added documentation for service permissions * Added detection for members with service active If there are any service users in the Member or Blue groups active, then the permission will be added to the respective Member or Blue group. This means its no longer necessary to maintain the service enablesettings to migrate to permissions based service. Remove obsolete state based status checking
224 lines
11 KiB
HTML
Executable File
224 lines
11 KiB
HTML
Executable File
{% load static %}
|
|
{% load i18n %}
|
|
{% load navactive %}
|
|
{% load menu_items %}
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="description" content="">
|
|
<meta name="author" content="">
|
|
|
|
<title>{% block title %}{% block page_title %}{% endblock page_title %} - Alliance Auth{% endblock title %}</title>
|
|
|
|
{% include 'bundles/bootstrap-css.html' %}
|
|
{% include 'bundles/fontawesome.html' %}
|
|
|
|
<link href="{% static 'css/auth-base.css' %}" type="text/css" rel="stylesheet">
|
|
{% block extra_css %}{% endblock extra_css %}
|
|
</head>
|
|
|
|
<body>
|
|
{% if user.is_authenticated %}
|
|
<div id="wrapper">
|
|
<!-- Navigation -->
|
|
|
|
<nav class="navbar navbar-inverse navbar-static-top auth-navbar-top" role="navigation">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand">
|
|
{{ SITE_NAME }}
|
|
</a>
|
|
<!-- /.navbar-header -->
|
|
|
|
<ul class="nav navbar-top-links navbar-right">
|
|
<li class="nav-link">
|
|
<form id="f_lang_select" action="{% url 'set_language' %}" method="post">
|
|
{% csrf_token %}
|
|
<input name="next" type="hidden" value="{{ request.get_full_path|slice:'3:' }}" />
|
|
<select onchange="this.form.submit()" class="form-control" id="lang_select" name="language">
|
|
{% get_language_info_list for LANGUAGES as languages %}
|
|
{% for language in languages %}
|
|
<option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected="selected"{% endif %}>
|
|
{{ language.name_local }} ({{ language.code }})
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
</form>
|
|
</li>
|
|
{% if notifications %}
|
|
<li class="nav-link active">
|
|
<a href="{% url 'auth_notification_list' %}">
|
|
<span class="fa-stack">
|
|
<i class="fa fa-bell fa-stack-2x"></i>
|
|
<i class="fa fa-inverse fa-stack-1x">{{ notifications }}</i>
|
|
</span>
|
|
</a>
|
|
</li>
|
|
{% else %}
|
|
<li class="nav-link"><a href="{% url 'auth_notification_list' %}">
|
|
<i class="fa fa-bell-o"></i></a>
|
|
</li>
|
|
{% endif %}
|
|
{% if user.is_authenticated %}
|
|
{% if user.is_staff %}
|
|
<li><a href="{% url 'admin:index' %}">Admin</a></li>
|
|
{% endif %}
|
|
<li><a href="{% url 'auth_logout_user' %}">{% trans "Logout" %}</a></li>
|
|
{% else %}
|
|
<li><a href="{% url 'auth_login_user' %}">{% trans "Login" %}</a></li>
|
|
{% endif %}
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- /.navbar-top-links -->
|
|
|
|
<div class="navbar-default sidebar auth-sidebar" role="navigation">
|
|
<div class="sidebar-nav navbar-collapse">
|
|
<ul class="nav" id="side-menu">
|
|
<li class="text-center divider-horizontal">
|
|
<h5>{% trans "Main Navigation" %}</h5>
|
|
</li>
|
|
|
|
<li>
|
|
<a class="{% navactive request 'auth_dashboard' %}" href="{% url 'auth_dashboard' %}">
|
|
<i class="fa fa-dashboard fa-fw grayiconecolor"></i>{% trans " Dashboard" %}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="{% navactive request 'auth_groups' %}" href="{% url 'auth_groups' %}">
|
|
<i class="fa fa-cogs fa-fw fa-sitemap grayiconecolor"></i>{% trans " Groups" %}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="{% navactive request 'auth_help' %}" href="{% url 'auth_help' %}">
|
|
<i class="fa fa-question fa-fw grayiconecolor"></i>{% trans " Help" %}
|
|
</a>
|
|
</li>
|
|
{% menu_main %}
|
|
|
|
<li class="text-center divider-horizontal">
|
|
<h5>{% trans "Aux Navigation" %}</h5>
|
|
</li>
|
|
<li>
|
|
<a class="{% navactive request 'auth_services' %}" href="{% url 'auth_services' %}">
|
|
<i class="fa fa-cogs fa-fw grayiconecolor"></i>{% trans " Services" %}
|
|
</a>
|
|
</li>
|
|
|
|
{% if not STATE == MEMBER_STATE or perms.auth.human_resources %}
|
|
<li>
|
|
<a class="{% navactive request 'auth_hrapplications_view auth_hrapplication_create_view auth_hrapplication_personal_view auth_hrapplication_search auth_hrapplication_view' %}"
|
|
href="{% url 'auth_hrapplications_view' %}">
|
|
<i class="fa fa-file-o fa-fw grayiconecolor"></i>{% trans " Applications" %}
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if perms.corputils.view_corp_corpstats or perms.corputils.view_alliance_corpstats or perms.corputils.view_blue_corpstats %}
|
|
<li>
|
|
<a class="{% navactive request 'corputils:view corputils:search' %}" href="{% url 'corputils:view' %}">
|
|
<i class="fa fa-share-alt fa-fw grayiconecolor"></i>{% trans " Corporation Stats" %}
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if can_manage_groups %}
|
|
<li>
|
|
<a class="{% navactive request 'auth_group_management auth_group_membership auth_group_membership_list' %}" href="{% url 'auth_group_management' %}">
|
|
<i class="fa fa-lock fa-sitemap fa-fw grayiconecolor"></i>{% trans " Group Management" %}
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if STATE in MEMBER_BLUE_STATE or user.is_superuser %}
|
|
<li>
|
|
<a class="{% navactive request 'auth_fleetup_view auth_fleetup_fittings auth_fleetup_fitting auth_fleetup_doctrines auth_fleetup_doctrine auth_fleetup_characters' %}" href="{% url 'auth_fleetup_view' %}">
|
|
<i class="fa fa-clock-o fa-fw grayiconecolor"></i> Fleet-Up
|
|
</a>
|
|
</li>
|
|
|
|
{% endif %}
|
|
|
|
{% if STATE in MEMBER_BLUE_STATE or user.is_superuser %}
|
|
{% if perms.auth.optimer_view %}
|
|
<li>
|
|
<a class="{% navactive request 'auth_optimer_view auth_add_optimer_view auth_edit_optimer' %}" href="{% url 'auth_optimer_view' %}">
|
|
<i class="fa fa-exclamation fa-fw grayiconecolor"></i>{% trans " Fleet Operations" %}
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
{% if perms.auth.timer_view %}
|
|
<li>
|
|
<a class="{% navactive request 'auth_timer_view auth_add_timer_view auth_edit_timer' %}" href="{% url 'auth_timer_view' %}">
|
|
<i class="fa fa-clock-o fa-fw grayiconecolor"></i>{% trans " Structure Timers" %}
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
<li>
|
|
<a class="{% navactive request 'auth_fatlink_view auth_fatlink_view_statistics auth_fatlink_view_statistics_month auth_fatlink_view_personal_statistics auth_fatlink_view_personal_statistics_year auth_fatlink_view_personal_statistics_month auth_fatlink_view_user_statistics_month auth_create_fatlink_view auth_modify_fatlink_view auth_click_fatlink_view' %}" href="{% url 'auth_fatlink_view' %}">
|
|
<i class="fa fa-users fa-lightbulb-o fa-fw grayiconecolor"></i> Fleet Activity Tracking
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a class="{% navactive request 'auth_srp_management_view auth_srp_management_all_view auth_srp_fleet_view auth_srp_fleet_add_view auth_srp_fleet_edit_view auth_srp_request_view auth_srp_request_update_amount_view' %}" href="{% url 'auth_srp_management_view' %}">
|
|
<i class="fa fa-money fa-fw grayiconecolor"></i>{% trans " Ship Replacement" %}
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
{% menu_aux %}
|
|
<li class="text-center divider-horizontal">
|
|
<h5>{% trans "Util" %}</h5>
|
|
</li>
|
|
<li>
|
|
<a class="{% navactive request 'password_change password_change_done' %}" href="{% url 'password_change' %}">
|
|
<i class="fa fa-lock fa-fw grayiconecolor"></i>{% trans "Change Password" %}
|
|
</a>
|
|
</li>
|
|
|
|
{% if STATE in MEMBER_BLUE_STATE or user.is_superuser %}
|
|
<li>
|
|
<a class="{% navactive request 'auth_fleet_format_tool_view' %}" href="{% url 'auth_fleet_format_tool_view' %}">
|
|
<i class="fa fa-space-shuttle fa-fw grayiconecolor"></i>{% trans " Fleet Broadcast Formatter" %}
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
{% menu_util %}
|
|
</ul>
|
|
|
|
</div>
|
|
<!-- /.sidebar-collapse -->
|
|
</div>
|
|
<!-- /.navbar-static-side -->
|
|
</nav>
|
|
|
|
<div id="page-wrapper">
|
|
<div class="container">
|
|
{% if messages %}
|
|
<br>
|
|
{% for message in messages %}
|
|
<div class="alert alert-{{ message.level_tag}}">{{ message }}</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% block content %}
|
|
{% endblock content %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% include 'bundles/bootstrap-js.html' %}
|
|
{% block extra_javascript %}
|
|
{% endblock extra_javascript %}
|
|
<script>
|
|
{% block extra_script %}
|
|
{% endblock extra_script %}
|
|
</script>
|
|
</body>
|
|
</html>
|