Start switch to Bootstrap 5

- drop jQuery and fontawesome dependencies
- add bootstrap5 and bootstrap-icons
- update fonts mfizz
- update base templates and the first set of other templates
- replace blocktrans and trans with blocktranslate and translate to
  prepare for Django 4
- move hostingpakcage templates to hostingpackages/templates
- update translations
This commit is contained in:
Jan Dittberner 2023-04-16 22:11:32 +02:00
parent 5cf7ef7a23
commit 8e42cb9c18
124 changed files with 10873 additions and 4490 deletions

View file

@ -1,9 +1,9 @@
{% extends "account/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Account Inactive" %}{% endblock title %}
{% block page_title %}{% trans "Account Inactive" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Account Inactive" %}{% endblock title %}
{% block page_title %}{% translate "Account Inactive" %}{% endblock page_title %}
{% block content %}
<p>{% trans "This account is inactive." %}</p>
<p>{% translate "This account is inactive." %}</p>
{% endblock %}

View file

@ -1,19 +1,19 @@
{% extends "account/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{% trans "Account" %}{% endblock title %}
{% block page_title %}{% trans "E-mail Addresses" %}{% endblock page_title %}
{% block title %}{% translate "Account" %}{% endblock title %}
{% block page_title %}{% translate "E-mail Addresses" %}{% endblock page_title %}
{% block content %}
{% if user.emailaddress_set.all %}
<p>{% trans 'The following e-mail addresses are associated with your account:' %}</p>
<p>{% translate 'The following e-mail addresses are associated with your account:' %}</p>
<form action="{% url 'account_email' %}" class="email_list" method="post">
{% csrf_token %}
<table class="table table-condensed">
<thead>
<tr>
<th>{% trans "Email address" %}</th>
<th>{% trans "Verified" %}</th>
<th>{% trans "Primary" %}</th>
<th>{% translate "Email address" %}</th>
<th>{% translate "Verified" %}</th>
<th>{% translate "Primary" %}</th>
</tr>
</thead>
<tbody>
@ -22,14 +22,14 @@
<td>{{ emailaddress.email }}</td>
<td>
{% if emailaddress.verified %}
<span class="verified">{% trans "Verified" %}</span>
<span class="verified">{% translate "Verified" %}</span>
{% else %}
<span class="unverified">{% trans "Unverified" %}</span>
<span class="unverified">{% translate "Unverified" %}</span>
{% endif %}
</td>
<td>
{% if emailaddress.primary %}
<span class="glyphicon glyphicon-star" title="{% trans "This is the current primary Email address" %}"></span>
<span class="glyphicon glyphicon-star" title="{% translate "This is the current primary Email address" %}"></span>
{% else %}
<span class="glyphicon glyphicon-star-empty"></span>
{% endif %}
@ -40,28 +40,28 @@
</tbody>
</table>
<p>
<button class="btn btn-default" type="submit" name="action_primary" >{% trans 'Make Primary' %}</button>
<button class="btn btn-default" type="submit" name="action_send" >{% trans 'Re-send Verification' %}</button>
<button class="btn btn-warning" type="submit" name="action_remove" >{% trans 'Remove' %}</button>
<button class="btn btn-default" type="submit" name="action_primary" >{% translate 'Make Primary' %}</button>
<button class="btn btn-default" type="submit" name="action_send" >{% translate 'Re-send Verification' %}</button>
<button class="btn btn-warning" type="submit" name="action_remove" >{% translate 'Remove' %}</button>
</p>
</form>
{% else %}
<p class="text-warning"><strong>{% trans 'Warning:'%}</strong> {% trans "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." %}</p>
<p class="text-warning"><strong>{% translate 'Warning:'%}</strong> {% translate "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." %}</p>
{% endif %}
<h2>{% trans "Add E-mail Address" %}</h2>
<h2>{% translate "Add E-mail Address" %}</h2>
<form method="post" action="{% url 'account_email' %}" class="add_email">
{% csrf_token %}
{{ form | crispy }}
<button name="action_add" type="submit" class="btn btn-primary">{% trans "Add E-mail" %}</button>
<button name="action_add" type="submit" class="btn btn-primary">{% translate "Add E-mail" %}</button>
</form>
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
(function() {
var message = "{% trans 'Do you really want to remove the selected e-mail address?' %}";
var message = "{% translate 'Do you really want to remove the selected e-mail address?' %}";
var actions = document.getElementsByName('action_remove');
if (actions.length) {
actions[0].addEventListener("click", function(e) {

View file

@ -1,4 +1,4 @@
{% load account %}{% user_display user as user_display %}{% load i18n %}{% autoescape off %}{% blocktrans with current_site.name as site_name %}User {{ user_display }} at {{ site_name }} has given this as an email address.
{% load account %}{% user_display user as user_display %}{% load i18n %}{% autoescape off %}{% blocktranslate with current_site.name as site_name %}User {{ user_display }} at {{ site_name }} has given this as an email address.
To confirm this is correct, go to {{ activate_url }}
{% endblocktrans %}{% endautoescape %}
{% endblocktranslate %}{% endautoescape %}

View file

@ -1,4 +1,4 @@
{% load i18n %}
{% autoescape off %}
{% blocktrans %}Confirm E-mail Address{% endblocktrans %}
{% blocktranslate %}Confirm E-mail Address{% endblocktranslate %}
{% endautoescape %}

View file

@ -1,8 +1,8 @@
{% load i18n %}{% blocktrans with site.domain as site_domain %}You're receiving this e-mail because you or someone else has requested a password for your user account at {{site_domain}}.
It can be safely ignored if you did not request a password reset. Click the link below to reset your password.{% endblocktrans %}
{% load i18n %}{% blocktranslate with site.domain as site_domain %}You're receiving this e-mail because you or someone else has requested a password for your user account at {{site_domain}}.
It can be safely ignored if you did not request a password reset. Click the link below to reset your password.{% endblocktranslate %}
{{ password_reset_url }}
{% if username %}{% blocktrans %}In case you forgot, your username is {{ username }}.{% endblocktrans %}
{% if username %}{% blocktranslate %}In case you forgot, your username is {{ username }}.{% endblocktranslate %}
{% endif %}{% trans 'Thanks for using our site!' %}
{% endif %}{% translate 'Thanks for using our site!' %}

View file

@ -1,4 +1,4 @@
{% load i18n %}
{% autoescape off %}
{% blocktrans %}Password Reset E-mail{% endblocktrans %}
{% blocktranslate %}Password Reset E-mail{% endblocktranslate %}
{% endautoescape %}

View file

@ -1,18 +1,21 @@
{% extends "account/base.html" %}
{% load account i18n %}
{% block title %}{{ block.super }} - {% trans "Confirm E-mail Address" %}{% endblock title %}
{% block page_title %}{% trans "Confirm E-Mail Address" %}{% endblock %}
{% block title %}{{ block.super }} - {% translate "Confirm E-mail Address" %}{% endblock title %}
{% block page_title %}{% translate "Confirm E-Mail Address" %}{% endblock %}
{% block content %}
{% if confirmation %}
{% user_display confirmation.email_address.user as user_display %}
<p>{% blocktrans with confirmation.email_address.email as email %}Please confirm that <a href="mailto:{{email}}">{{ email }}</a> is an e-mail address for user {{ user_display }}.{% endblocktrans %}</p>
<form method="post" action="{% url 'account_confirm_email' confirmation.key %}">
{% csrf_token %}
<button type="submit" class="btn btn-default">{% trans 'Confirm' %}</button>
</form>
{% else %}
{% url 'account_email' as email_url %}
<p>{% blocktrans %}This e-mail confirmation link expired or is invalid. Please <a href="{{ email_url}}">issue a new e-mail confirmation request</a>.{% endblocktrans %}</p>
{% endif %}
{% if confirmation %}
{% user_display confirmation.email_address.user as user_display %}
<p>{% blocktranslate with confirmation.email_address.email as email trimmed %}Please confirm that
<a href="mailto:{{ email }}">{{ email }}</a> is an e-mail address for user {{ user_display }}.
{% endblocktranslate %}</p>
<form method="post" action="{% url 'account_confirm_email' confirmation.key %}">
{% csrf_token %}
<button type="submit" class="btn btn-default">{% translate 'Confirm' %}</button>
</form>
{% else %}
{% url 'account_email' as email_url %}
<p>{% blocktranslate trimmed %}This e-mail confirmation link expired or is invalid. Please
<a href="{{ email_url }}">issue a new e-mail confirmation request</a>.{% endblocktranslate %}</p>
{% endif %}
{% endblock content %}

View file

@ -1,10 +1,12 @@
{% extends "account/base.html" %}
{% load account i18n %}
{% block title %}{{ block.super }} - {% trans "Confirm E-mail Address" %}{% endblock title %}
{% block page_title %}{% trans "Confirm E-mail Address" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Confirm E-mail Address" %}{% endblock title %}
{% block page_title %}{% translate "Confirm E-mail Address" %}{% endblock page_title %}
{% block content %}
{% user_display confirmation.email_address.user as user_display %}
<p>{% blocktrans with confirmation.email_address.email as email %}You have confirmed that <a href="mailto:{{email}}">{{ email }}</a> is an e-mail address for user {{ user_display }}.{% endblocktrans %}</p>
{% user_display confirmation.email_address.user as user_display %}
<p>{% blocktranslate with confirmation.email_address.email as email trimmed %}You have confirmed that
<a href="mailto:{{ email }}">{{ email }}</a> is an e-mail address for user {{ user_display }}.
{% endblocktranslate %}</p>
{% endblock content %}

View file

@ -1,8 +1,8 @@
{% extends "account/base.html" %}
{% load account socialaccount crispy_forms_tags i18n %}
{% block title %}{{ block.super }} - {% trans "Sign In" %}{% endblock title %}
{% block page_title %}{% trans "Sign In" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Sign In" %}{% endblock title %}
{% block page_title %}{% translate "Sign In" %}{% endblock page_title %}
{% block content %}
{% get_providers as socialaccount_providers %}
@ -14,8 +14,8 @@
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/>
{% endif %}
<a class="btn btn-default" href="{% url 'account_reset_password' %}">{% trans "Forgot Password?" %}</a>
<button class="btn btn-primary" type="submit">{% trans "Sign In" %}</button>
<a class="btn btn-default" href="{% url 'account_reset_password' %}">{% translate "Forgot Password?" %}</a>
<button class="btn btn-primary" type="submit">{% translate "Sign In" %}</button>
</form>
</div>
<div class="col-lg-6 col-12">

View file

@ -1,17 +1,17 @@
{% extends "account/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Sign Out" %}{% endblock title %}
{% block page_title %}{% trans "Sign Out" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Sign Out" %}{% endblock title %}
{% block page_title %}{% translate "Sign Out" %}{% endblock page_title %}
{% block content %}
<p>{% trans 'Are you sure you want to sign out?' %}</p>
<p>{% translate 'Are you sure you want to sign out?' %}</p>
<form method="post" action="{% url 'account_logout' %}">
{% csrf_token %}
{% if redirect_field_value %}
<input type="hidden" name="{{redirect_field_name}}" value="{{redirect_field_value}}"/>
{% endif %}
<button class="btn btn-primary" type="submit">{% trans 'Sign Out' %}</button>
<button class="btn btn-primary" type="submit">{% translate 'Sign Out' %}</button>
</form>
{% endblock %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}You cannot remove your primary e-mail address ({{email}}).{% endblocktrans %}
{% blocktranslate %}You cannot remove your primary e-mail address ({{email}}).{% endblocktranslate %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}Confirmation e-mail sent to {{email}}.{% endblocktrans %}
{% blocktranslate %}Confirmation e-mail sent to {{email}}.{% endblocktranslate %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}You have confirmed {{email}}.{% endblocktrans %}
{% blocktranslate %}You have confirmed {{email}}.{% endblocktranslate %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}Removed e-mail address {{email}}.{% endblocktrans %}
{% blocktranslate %}Removed e-mail address {{email}}.{% endblocktranslate %}

View file

@ -1,4 +1,4 @@
{% load account %}
{% load i18n %}
{% user_display user as name %}
{% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %}
{% blocktranslate %}Successfully signed in as {{name}}.{% endblocktranslate %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}You have signed out.{% endblocktrans %}
{% blocktranslate %}You have signed out.{% endblocktranslate %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}Password successfully changed.{% endblocktrans %}
{% blocktranslate %}Password successfully changed.{% endblocktranslate %}

View file

@ -1,3 +1,3 @@
{% load i18n %}
{% blocktrans %}Password successfully set.{% endblocktrans %}
{% blocktranslate %}Password successfully set.{% endblocktranslate %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}Primary e-mail address set.{% endblocktrans %}
{% blocktranslate %}Primary e-mail address set.{% endblocktranslate %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}Your primary e-mail address must be verified.{% endblocktrans %}
{% blocktranslate %}Your primary e-mail address must be verified.{% endblocktranslate %}

View file

@ -1,13 +1,13 @@
{% extends "account/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% trans "Change Password" %}{% endblock title %}
{% block page_title %}{% trans "Change Password" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Change Password" %}{% endblock title %}
{% block page_title %}{% translate "Change Password" %}{% endblock page_title %}
{% block content %}
<form method="POST" action="{% url 'account_change_password' %}" class="password_change">
{% csrf_token %}
{{ form | crispy }}
<button class="btn btn-primary" type="submit" name="action">{% trans "Change Password" %}</button>
<button class="btn btn-primary" type="submit" name="action">{% translate "Change Password" %}</button>
</form>
{% endblock %}

View file

@ -1,21 +1,21 @@
{% extends "account/base.html" %}
{% load account i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% trans "Password Reset" %}{% endblock title %}
{% block page_title %}{% trans "Password Reset" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Password Reset" %}{% endblock title %}
{% block page_title %}{% translate "Password Reset" %}{% endblock page_title %}
{% block content %}
{% if user.is_authenticated %}
{% include "account/snippets/already_logged_in.html" %}
{% endif %}
{% if user.is_authenticated %}
{% include "account/snippets/already_logged_in.html" %}
{% endif %}
<p>{% trans "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." %}</p>
<p>{% translate "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." %}</p>
<form method="POST" action="{% url 'account_reset_password' %}" class="password_reset">
{% csrf_token %}
{{ form | crispy }}
<input class="btn btn-primary" type="submit" value="{% trans "Reset My Password" %}" />
</form>
<form method="POST" action="{% url 'account_reset_password' %}" class="password_reset">
{% csrf_token %}
{{ form | crispy }}
<input class="btn btn-primary" type="submit" value="{% translate "Reset My Password" %}"/>
</form>
<p>{% blocktrans %}Please contact us if you have any trouble resetting your password.{% endblocktrans %}</p>
<p>{% blocktranslate trimmed %}Please contact us if you have any trouble resetting your password.{% endblocktranslate %}</p>
{% endblock %}

View file

@ -1,12 +1,13 @@
{% extends "account/base.html" %}
{% load account i18n %}
{% block title %}{{ block.super }} - {% trans "Password Reset" %}{% endblock title %}
{% block page_title %}{% trans "Password Reset" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Password Reset" %}{% endblock title %}
{% block page_title %}{% translate "Password Reset" %}{% endblock page_title %}
{% block content %}
{% if user.is_authenticated %}
{% include "account/snippets/already_logged_in.html" %}
{% endif %}
<p>{% blocktrans %}We have sent you an e-mail. Please contact us if you do not receive it within a few minutes.{% endblocktrans %}</p>
{% if user.is_authenticated %}
{% include "account/snippets/already_logged_in.html" %}
{% endif %}
<p>{% blocktranslate trimmed %}We have sent you an e-mail. Please contact us if you do not receive it within a few
minutes.{% endblocktranslate %}</p>
{% endblock %}

View file

@ -1,21 +1,23 @@
{% extends "account/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% trans "Change Password" %}{% endblock title %}
{% block page_title %}{% if token_fail %}{% trans "Bad Token" %}{% else %}{% trans "Change Password" %}{% endif %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Change Password" %}{% endblock title %}
{% block page_title %}{% if token_fail %}{% translate "Bad Token" %}{% else %}{% translate "Change Password" %}
{% endif %}{% endblock page_title %}
{% block content %}
{% if token_fail %}
{% url 'account_reset_password' as passwd_reset_url %}
<p>{% blocktrans %}The password reset link was invalid, possibly because it has already been used. Please request a <a href="{{ passwd_reset_url }}">new password reset</a>.{% endblocktrans %}</p>
{% else %}
{% if form %}
<form method="POST" action=".">
{% csrf_token %}
{{ form | crispy }}
<input class="btn btn-primary" type="submit" name="action" value="{% trans "change password" %}"/>
</form>
{% else %}
<p>{% trans 'Your password is now changed.' %}</p>
{% endif %}
{% endif %}
{% if token_fail %}
{% url 'account_reset_password' as passwd_reset_url %}
<p>{% blocktranslate trimmed %}The password reset link was invalid, possibly because it has already been used.
Please request a <a href="{{ passwd_reset_url }}">new password reset</a>.{% endblocktranslate %}</p>
{% else %}
{% if form %}
<form method="POST" action=".">
{% csrf_token %}
{{ form | crispy }}
<input class="btn btn-primary" type="submit" name="action" value="{% translate "change password" %}"/>
</form>
{% else %}
<p>{% translate 'Your password is now changed.' %}</p>
{% endif %}
{% endif %}
{% endblock content %}

View file

@ -1,8 +1,8 @@
{% extends "account/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Change Password" %}{% endblock title %}
{% block page_title %}{% trans "Change Password" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Change Password" %}{% endblock title %}
{% block page_title %}{% translate "Change Password" %}{% endblock page_title %}
{% block content %}
<p>{% trans 'Your password is now changed.' %}</p>
<p>{% translate 'Your password is now changed.' %}</p>
{% endblock %}

View file

@ -1,13 +1,13 @@
{% extends "account/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% trans "Set Password" %}{% endblock title %}
{% block page_title %}{% trans "Set Password" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Set Password" %}{% endblock title %}
{% block page_title %}{% translate "Set Password" %}{% endblock page_title %}
{% block content %}
<form method="POST" action="{% url 'account_set_password' %}" class="password_set">
{% csrf_token %}
{{ form | crispy }}
<input class="btn btn-primary" type="submit" name="action" value="{% trans "Set Password" %}"/>
<input class="btn btn-primary" type="submit" name="action" value="{% translate "Set Password" %}"/>
</form>
{% endblock %}

View file

@ -1,19 +1,21 @@
{% extends "account/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% trans "Signup" %}{% endblock title %}
{% block page_title %}{% trans "Sign Up" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Signup" %}{% endblock title %}
{% block page_title %}{% translate "Sign Up" %}{% endblock page_title %}
{% block content %}
<p>{% blocktrans %}Already have an account? Then please <a href="{{ login_url }}">sign in</a>.{% endblocktrans %}</p>
<form class="signup" id="signup_form" method="post" action="{% url 'account_signup' %}">
{% csrf_token %}
{{ form | crispy }}
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<button class="btn btn-primary" type="submit">{% trans "Sign Up" %} &raquo;</button>
</form>
<p>{% blocktranslate trimmed %}
Already have an account? Then please <a href="{{ login_url }}">sign in</a>.
{% endblocktranslate %}</p>
<form class="signup" id="signup_form" method="post" action="{% url 'account_signup' %}">
{% csrf_token %}
{{ form | crispy }}
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/>
{% endif %}
<button class="btn btn-primary" type="submit">{% translate "Sign Up" %} &raquo;</button>
</form>
{% endblock %}

View file

@ -1,9 +1,9 @@
{% extends "account/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Sign Up Closed" %}{% endblock title %}
{% block page_title %}{% trans "Sign Up Closed" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Sign Up Closed" %}{% endblock title %}
{% block page_title %}{% translate "Sign Up Closed" %}{% endblock page_title %}
{% block content %}
<p>{% trans "We are sorry, but the sign up is currently closed." %}</p>
<p>{% translate "We are sorry, but the sign up is currently closed." %}</p>
{% endblock %}

View file

@ -1,4 +1,6 @@
{% load account i18n %}
{% user_display user as user_display %}
<p><strong>{% trans "Note" %}:</strong> {% blocktrans %}you are already logged in as {{ user_display }}.{% endblocktrans %}</p>
<p><strong>{% translate "Note" %}:</strong> {% blocktranslate trimmed %}
you are already logged in as {{ user_display }}.
{% endblocktranslate %}</p>

View file

@ -2,9 +2,12 @@
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Verify Your E-mail Address" %}{% endblock title %}
{% block page_title %}{% trans "Verify Your E-mail Address" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Verify Your E-mail Address" %}{% endblock title %}
{% block page_title %}{% translate "Verify Your E-mail Address" %}{% endblock page_title %}
{% block content %}
<p>{% blocktrans %}We have sent an e-mail to you for verification. Follow the link provided to finalize the signup process. Please contact us if you do not receive it within a few minutes.{% endblocktrans %}</p>
<p>{% blocktranslate trimmed %}
We have sent an e-mail to you for verification. Follow the link provided to finalize the signup process. Please
contact us if you do not receive it within a few minutes.
{% endblocktranslate %}</p>
{% endblock %}

View file

@ -1,18 +1,19 @@
{% extends "account/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Verify Your E-mail Address" %}{% endblock title %}
{% block page_title %}{% trans "Verify Your E-mail Address" %}{% endblock %}
{% block title %}{{ block.super }} - {% translate "Verify Your E-mail Address" %}{% endblock title %}
{% block page_title %}{% translate "Verify Your E-mail Address" %}{% endblock %}
{% block content %}
{% url 'account_email' as email_url %}
<p>{% blocktrans %}This part of the site requires us to verify that
you are who you claim to be. For this purpose, we require that you
verify ownership of your e-mail address. {% endblocktrans %}</p>
{% url 'account_email' as email_url %}
<p>{% blocktranslate trimmed %}This part of the site requires us to verify that
you are who you claim to be. For this purpose, we require that you
verify ownership of your e-mail address.{% endblocktranslate %}</p>
<p>{% blocktrans %}We have sent an e-mail to you for
verification. Please click on the link inside this e-mail. Please
contact us if you do not receive it within a few minutes.{% endblocktrans %}</p>
<p>{% blocktranslate trimmed %}We have sent an e-mail to you for
verification. Please click on the link inside this e-mail. Please
contact us if you do not receive it within a few minutes.{% endblocktranslate %}</p>
<p>{% blocktrans %}<strong>Note:</strong> you can still <a href="{{email_url}}">change your e-mail address</a>.{% endblocktrans %}</p>
<p>{% blocktranslate trimmed %}<strong>Note:</strong> you can still
<a href="{{ email_url }}">change your e-mail address</a>.{% endblocktranslate %}</p>
{% endblock %}

View file

@ -1,26 +1,16 @@
{% load static i18n account %}<!DOCTYPE html>
<html lang="en">
<head>
<head>
<meta charset="utf-8">
<title>{% block title %}gnuviechadmin{% endblock title %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
<link href="{% static 'css/font-awesome.min.css' %}" rel="stylesheet">
<link href="{% static 'css/bootstrap-icons.css' %}" rel="stylesheet">
<link href="{% static 'fonts/font-mfizz.css' %}" rel="stylesheet">
<style>
body {
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
}
</style>
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- This file store project specific CSS -->
<link href="{% static 'css/gnuviechadmin.css' %}" rel="stylesheet">
@ -28,125 +18,163 @@
<!-- Use this to quickly test CSS changes in a template,
then move to gnuviechadmin.css -->
{% block extra_css %}{% endblock extra_css %}
</head>
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="{% if user.is_authenticated %}{% url 'customer_dashboard' slug=user.username %}{% else %}{% url 'dashboard' %}{% endif %}" title="{% trans "Dashboard" %}">gnuviechadmin</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
{% if user.is_staff %}
<li class="dropdown{% if active_item == 'hostingpackage' %} active{% endif %}">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-server"></i> {% trans "Hosting" %} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="{% url 'hosting_packages' user=user.username %}"><i class="fa fa-cube"></i> {% trans "Your hosting packages" %}</a></li>
<li><a href="{% url 'all_hosting_packages' %}"><i class="fa fa-cubes"></i> {% trans "All hosting packages" %}</a></li>
</ul>
</li>
{% elif user.is_authenticated %}
<li{% if active_item == 'hostingpackage' %} class="active"{% endif %}><a href="{% url 'hosting_packages' user=user.username %}"><i class="fa fa-server"></i> {% trans "Hosting" %}</a></li>
{% endif %}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="glyphicon glyphicon-link"></i> {% trans "Links" %} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="{{ webmail_url }}" title="{% trans "Web based mail system" %}"><i class="fa fa-envelope"></i> {% trans "Webmail" %}</a></li>
<li><a href="{{ phpmyadmin_url }}" title="{% trans "phpMyAdmin - MySQL database administration tool" %}"><i class="icon-mysql"></i> {% trans "phpMyAdmin" %}</a></li>
<li><a href="{{ phppgadmin_url }}" title="{% trans "phpPgAdmin - PostgreSQL database administration tool" %}"><i class="icon-postgres"></i> {% trans "phpPgAdmin" %}</a></li>
</ul>
</li>
<li{% if active_item == 'imprint' %} class="active"{% endif %}><a href="{% url 'imprint' %}"><i class="fa fa-info"></i> {% trans "Imprint" %}</a></li>
<li{% if active_item == 'contact' %} class="active"{% endif %}><a href="{% url 'contact_form' %}"><i class="fa fa-paper-plane"></i> {% trans "Contact" %}</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<body>
<nav class="navbar navbar-expand-lg sticky-top navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="{% spaceless %}
{% if user.is_authenticated %}
{% url 'customer_dashboard' slug=user.username %}
{% else %}
{% url 'dashboard' %}
{% endif %}
{% endspaceless %}" title="{% translate "Dashboard" %}">gnuviechadmin</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarContent"
aria-controls="navbarContent" aria-expanded="false" aria-label="{% translate "Toggle navigation" %}">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapes navbar-collapse" id="navbarContent">
<ul class="navbar-nav me-auto mb-2 mg-lg-0">
{% if user.is_staff %}
<li class="nav-item dropdown{% if active_item == 'hostingpackage' %} active{% endif %}">
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button"
aria-expanded="false"><i class="bi-server"></i> {% translate "Hosting" %}</a>
<ul class="dropdown-menu" role="menu">
<li><a class="dropdown-item" href="{% url 'hosting_packages' user=user.username %}"><i
class="bi-box2-fill"></i> {% translate "Your hosting packages" %}</a></li>
<li><a class="dropdown-item" href="{% url 'all_hosting_packages' %}"><i
class="bi-boxes"></i> {% translate "All hosting packages" %}</a></li>
</ul>
</li>
{% elif user.is_authenticated %}
<li class="nav-item{% if active_item == 'hostingpackage' %} active{% endif %}"><a
class="nav-link" href="{% url 'hosting_packages' user=user.username %}"><i
class="bi-server"></i> {% translate "Hosting" %}</a></li>
{% endif %}
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button"
aria-expanded="false"><i class="bi-link"></i> {% translate "Links" %} </a>
<ul class="dropdown-menu" role="menu">
<li><a class="dropdown-item" href="{{ webmail_url }}"
title="{% translate "Web based mail system" %}"><i
class="bi-envelope-at"></i> {% translate "Webmail" %}</a></li>
<li><a class="dropdown-item" href="{{ phpmyadmin_url }}"
title="{% translate "phpMyAdmin - MySQL database administration tool" %}"><i
class="icon-mysql"></i> {% translate "phpMyAdmin" %}</a></li>
<li><a class="dropdown-item" href="{{ phppgadmin_url }}"
title="{% translate "phpPgAdmin - PostgreSQL database administration tool" %}"><i
class="icon-postgres"></i> {% translate "phpPgAdmin" %}</a></li>
</ul>
</li>
<li class="nav-item{% if active_item == 'imprint' %} active{% endif %}"><a
class="nav-link" href="{% url 'imprint' %}"><i class="bi-info"></i> {% translate "Imprint" %}
</a></li>
<li class="nav-item{% if active_item == 'privacy' %} active{% endif %}"><a
class="nav-link" href="{% url 'privacy' %}"><i class="bi-file-text"></i> {% translate "Privacy policy" %}
</a></li>
<li class="nav-item{% if active_item == 'contact' %} active{% endif %}"><a
class="nav-link" href="{% url 'contact_form' %}"><i
class="bi-chat-dots"></i> {% translate "Contact" %}</a></li>
</ul>
{% if user.is_authenticated %}
<li class="dropdown{% if active_item == 'account' %} active{% endif %}">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-user"></i> {% trans "My Account" %} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
{% if user.is_superuser %}<li><a href="{% url 'impersonate-search' %}"><i class="fa fa-angellist"></i> {% trans "Impersonate user" %}</a></li>{% endif %}
{% if user.is_staff %}<li><a href="{% url 'admin:index' %}"><i class="fa fa-wrench"></i> {% trans "Admin site" %}</a></li>{% endif %}
<li><a href="{% url 'account_email' %}"><i class="fa fa-at"></i> {% trans "Change Email" %}</a></li>
<li><a href="{% url 'socialaccount_connections' %}"><i class="fa fa-users"></i> {% trans "Social Accounts" %}</a></li>
<li><a href="{% url 'account_logout' %}"><i class="fa fa-sign-out"></i> {% trans "Logout" %}</a></li>
</ul>
</li>
{% else %}
<li><a href="{% url 'account_login' %}?next={{ request.path }}"><i class="fa fa-sign-in"></i> {% trans "Sign In" %}</a></li>
<li><a href="{% url 'account_signup' %}"><i class="fa fa-user-plus"></i> {% trans "Sign Up" %}</a></li>
{% user_display user as user_display %}
{% url 'user_profile' slug=user.username as profile_url %}
{% if user.is_impersonate %}
{% user_display user.impersonator as impersonator_display %}
{% url 'impersonate-stop' as stop_impersonation_url %}
<span class="navbar-text justify-content-end">{% blocktranslate trimmed %}
Signed in as
<a href="{{ profile_url }}" class="navbar-link" title="My Profile">{{ user_display }}</a>
<i class="bi-incognito" title="impersonated by {{ impersonator_display }}"></i>
<a href="{{ stop_impersonation_url }}" class="navbar-link"><i class="bi-sign-stop" title="stop impersonation"></i></a>
{% endblocktranslate %}</span>
{% else %}
<span class="navbar-text justify-content-end">{% blocktranslate trimmed %}
Signed in as
<a href="{{ profile_url }}" class="navbar-link" title="My Profile">{{ user_display }}</a>
{% endblocktranslate %}</span>
{% endif %}
{% endif %}
</ul>
{% if user.is_authenticated %}
{% user_display user as user_display %}
{% url 'user_profile' slug=user.username as profile_url %}
{% if user.is_impersonate %}
{% user_display user.impersonator as impersonator_display %}
{% url 'impersonate-stop' as stop_impersonation_url %}
<p class="navbar-text navbar-right">{% blocktrans %}Signed in as <a href="{{ profile_url }}" class="navbar-link" title="My Profile">{{ user_display }}</a> (impersonated by {{ impersonator_display }}, <a href="{{ stop_impersonation_url }}" class="navbar-link">stop impersonation</a>){% endblocktrans %}</p>
{% else %}
<p class="navbar-text navbar-right">{% blocktrans %}Signed in as <a href="{{ profile_url }}" class="navbar-link" title="My Profile">{{ user_display }}</a>{% endblocktrans %}</p>
{% endif %}
{% endif %}
<ul class="navbar-nav justify-content-end">
{% if user.is_authenticated %}
<li class="nav-item dropdown{% if active_item == 'account' %} active{% endif %}">
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button"
aria-expanded="false"><i class="bi-person"></i> {% translate "My Account" %}</a>
<ul class="dropdown-menu" role="menu">
{% if user.is_superuser %}
<li><a class="dropdown-item" href="{% url 'impersonate-search' %}"><i
class="bi-incognito"></i> {% translate "Impersonate user" %}</a>
</li>{% endif %}
{% if user.is_staff %}
<li><a class="dropdown-item" href="{% url 'admin:index' %}"><i
class="bi-gear"></i> {% translate "Admin site" %}</a></li>{% endif %}
<li><a class="dropdown-item" href="{% url 'account_email' %}"><i
class="bi-envelope-at"></i> {% translate "Change Email" %}
</a></li>
<li><a class="dropdown-item" href="{% url 'socialaccount_connections' %}"><i
class="bi-people"></i> {% translate "Social Accounts" %}</a></li>
<li><a class="dropdown-item" href="{% url 'account_logout' %}"><i
class="bi-door-closed"></i> {% translate "Logout" %}
</a></li>
</ul>
</li>
{% else %}
<li><a class="dropdown-item" href="{% url 'account_login' %}?next={{ request.path }}"><i
class="bi-door-open"></i> {% translate "Sign In" %}</a></li>
{% endif %}
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
</nav>
<div class="container gva-body">
<main class="container gva-body mt-3">
<h1>{% block page_title %}Example Base Template{% endblock page_title %}</h1>
<h1 class="mb-4">{% block page_title %}Example Base Template{% endblock page_title %}</h1>
{% if messages %}
{% for message in messages %}
<div class="alert alert-dismissible {{ message.tags }}" role="alert">
<button type="close" class="close" data-dismiss="alert" aria-label="{% trans "Close" %}"><span aria-hidden="true">&times;</span></button>
{{ message }}
</div>
{% endfor %}
{% endif %}
{% if messages %}
{% for message in messages %}
<div class="alert alert-dismissible {{ message.tags }}" role="alert">
<button type="button" class="btn-close" data-bs-dismiss="alert"
aria-label="{% translate "Close" %}"></button>
{{ message }}
</div>
{% endfor %}
{% endif %}
{% block content %}
{% block content %}
<p>Use this document as a way to quick start any new project.</p>
{% endblock content %}
{% endblock content %}
</div> <!-- /container -->
</main> <!-- /container -->
<footer class="gva-footer" role="contentinfo">
<div class="container">
<footer class="gva-footer bg-light sticky-lg-bottom small mt-4" role="contentinfo">
<div class="container">
<ul class="gva-footer-links text-muted">
<li>gnuviechadmin {{ gnuviechadmin_version }}</li>
<li>·</li>
<li>built with:</li>
<li><a href="https://www.python.org/"><i class="icon-python"></i> Python</a></li>
<li>·</li>
<li><a href="https://www.djangoproject.com/">Django</a></li>
<li>·</li>
<li><a href="http://www.postgresql.org/"><i class="icon-postgres"></i> PostgreSQL</a></li>
<li>·</li>
<li><a href="http://getbootstrap.com/">Bootstrap</a></li>
<li>·</li>
<li><a href="http://fontawesome.io/"><i class="fa fa-flag"></i> Font Awesome</a></li>
<li>·</li>
<li><a href="http://mfizz.com/oss/font-mfizz"><i class="icon-mfizz"></i> Font Mfizz</a></li>
<li>gnuviechadmin {{ gnuviechadmin_version }}</li>
<li>·</li>
<li>built with:</li>
<li><a href="https://www.python.org/"><i class="icon-python"></i> Python</a></li>
<li>·</li>
<li><a href="https://www.djangoproject.com/">Django</a></li>
<li>·</li>
<li><a href="https://www.postgresql.org/"><i class="icon-postgres"></i> PostgreSQL</a></li>
<li>·</li>
<li><a href="https://getbootstrap.com/"><i class="bi-bootstrap-fill"></i> Bootstrap</a></li>
<li>·</li>
<li><a href="https://icons.getbootstrap.com/">Bootstrap Icons</a></li>
<li>·</li>
<li><a href="http://mfizz.com/oss/font-mfizz">Font Mfizz</a></li>
</ul>
</div>
</footer>
</div>
</footer>
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="//code.jquery.com/jquery-latest.js"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>
<!-- Placed at the end of the document so the pages load faster -->
<script src="{% static 'js/bootstrap.bundle.min.js' %}"></script>
<!-- place project specific Javascript in this file -->
<script src="{% static 'js/gnuviechadmin.js' %}"></script>
<!-- place project specific Javascript in this file -->
<script src="{% static 'js/gnuviechadmin.js' %}"></script>
{% block extra_js %}{% endblock extra_js %}
</body>
{% block extra_js %}{% endblock extra_js %}
</body>
</html>

View file

@ -1,21 +1,23 @@
{% extends "contact_form/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% trans "Contact" %}{% endblock title %}
{% block page_title %}{% trans "Contact" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Contact" %}{% endblock title %}
{% block page_title %}{% translate "Contact" %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% crispy form %}
{% endblock %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
if ($('input[type=text]').first().val() != '') {
$('textarea').first().focus();
} else {
$('input[type=text]').first().focus();
}
});
</script>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
let textFields = document.querySelectorAll("input[type=text]");
if (textFields[0].val() !== '') {
document.getElementsByTagName("textarea")[0].focus();
} else {
textFields[0].focus();
}
});
</script>
{% endblock extra_js %}

View file

@ -1,9 +1,9 @@
{% extends "contact_form/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Contact" %}{% endblock title %}
{% block page_title %}{% trans "Contact" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Contact" %}{% endblock title %}
{% block page_title %}{% translate "Contact" %}{% endblock page_title %}
{% block content %}
<p class="text-success">{% trans "Your message has been sent successfully." %}</p>
<p class="text-success">{% translate "Your message has been sent successfully." %}</p>
{% endblock %}

View file

@ -1,16 +1,21 @@
{% extends "domains/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% blocktrans with package=hostingpackage.name full_name=customer.get_full_name %}Add Domain to Hosting Package {{ package }} of Customer {{ full_name }}{% endblocktrans %}{% endblock title %}
{% block page_title %}{% blocktrans with package=hostingpackage.name full_name=customer.get_full_name %}Add Domain to Hosting Package {{ package }} of Customer {{ full_name }}{% endblocktrans %}{% endblock page_title %}
{% block title %}{{ block.super }} -
{% blocktranslate with package=hostingpackage.name full_name=customer.get_full_name trimmed %}
Add Domain to Hosting Package {{ package }} of Customer {{ full_name }}
{% endblocktranslate %}{% endblock title %}
{% block page_title %}{% blocktranslate with package=hostingpackage.name full_name=customer.get_full_name trimmed %}
Add Domain to Hosting Package {{ package }} of Customer {{ full_name }}
{% endblocktranslate %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% crispy form %}
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('input[type=text]').first().focus();
});
</script>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll("input[type=text]")[0].focus().select();
});
</script>
{% endblock extra_js %}

View file

@ -1,8 +0,0 @@
{% extends "hostingpackages/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% blocktrans with package=hostingpackage.name full_name=customer.get_full_name %}Add Option to Hosting Package {{ package }} of Customer {{ full_name }}{% endblocktrans %}{% endblock title %}
{% block page_title %}{% blocktrans with package=hostingpackage.name full_name=customer.get_full_name %}Add Option to Hosting Package {{ package }} of Customer {{ full_name }}{% endblocktrans %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% endblock content %}

View file

@ -1 +0,0 @@
{% extends "base.html" %}

View file

@ -1,32 +0,0 @@
{% extends "hostingpackages/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "All hosting packages" %}{% endblock title %}
{% block page_title %}{% trans "All hosting packages" %}{% endblock page_title %}
{% block content %}
{% if customerhostingpackage_list %}
<table class="table table-condensed">
<thead>
<tr>
<th>{% trans "Name" %}</th>
<th>{% trans "Customer" %}</th>
<th>{% trans "Setup date" %}</th>
</tr>
</thead>
<tbody>
{% for package in customerhostingpackage_list %}
<tr>
<td><a href="{{ package.get_absolute_url }}">{{ package.name }}</a></td>
<td><a href="{% url 'customer_dashboard' slug=package.customer.username %}">{{ package.customer }}</a></td>
<td>{{ package.created }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="text-info">{% trans "There are no hosting packages setup yet." %}</p>
{% endif %}
<p>
<a href="{% url 'create_hosting_package' %}" class="btn btn-primary">{% trans "Add hosting package" %}</a>
</p>
{% endblock content %}

View file

@ -1,7 +0,0 @@
{% extends "hostingpackages/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% blocktrans with full_name=customer.get_full_name %}Add hosting package for Customer {{ full_name }}{% endblocktrans %}{% endblock title %}
{% block page_title %}{% blocktrans with full_name=customer.get_full_name %}Add Hosting Package for Customer {{ full_name }}{% endblocktrans %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% endblock content %}

View file

@ -1,213 +0,0 @@
{% extends "hostingpackages/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans with package=hostingpackage.name %}Details for your Hosting Package {{ package }}{% endblocktrans %}
{% else %}
{% blocktrans with package=hostingpackage.name full_name=customer.get_full_name %}Details for Hosting Package {{ package }} of {{ full_name }}{% endblocktrans %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% blocktrans with package=hostingpackage.name %}Details of Hosting Package {{ package }}{% endblocktrans %}{% endblock page_title %}
{% block content %}
<div class="row">
<div class="col-lg-4 col-md-6 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">{% spaceless %}
{% trans "Hosting Package Information" %}
{% if user.is_staff %}
<div class="pull-right">
<a class="panel-title" href="#" title="{% trans "Edit Hosting Package Information" %}"><i class="glyphicon glyphicon-cog"></i></a>
</div>
{% endif %}
{% endspaceless %}</div>
<dl class="panel-body dl-horizontal">
<dt>{% trans "Name" %}</dt>
<dd>{{ hostingpackage.name }}</dd>
<dt>{% trans "Description" %}</dt>
<dd>{{ hostingpackage.description|default:"-" }}</dd>
<dt>{% trans "Disk space" %}</dt>
{% with diskspace=hostingpackage.get_disk_space packagespace=hostingpackage.get_package_space %}
<dd>
<span title="{% blocktrans %}The reserved disk space for your hosting package is {{ diskspace }} bytes{% endblocktrans %}">{{ diskspace|filesizeformat }}</span>
<span class="glyphicon glyphicon-info-sign" title="{% blocktrans with humanbytes=packagespace|filesizeformat %}The package contributes {{ humanbytes }} ({{ packagespace }} bytes) the difference comes from disk space options{% endblocktrans %}"></span>
</dd>
{% endwith %}
<dt>{% trans "Mailboxes" %}</dt>
<dd>{% blocktrans with num=hostingpackage.used_mailbox_count total=hostingpackage.mailbox_count %}{{ num }} of {{ total }} in use{% endblocktrans %} <span class="glyphicon
glyphicon-info-sign" title="{% blocktrans with mailboxcount=hostingpackage.mailboxcount %}The package provides {{ mailboxcount }} mailboxes the difference comes from mailbox options.{% endblocktrans %}"></span></dd>
<dt>{% if osuser.is_sftp_user %}{% trans "SFTP username" %}{% else %}{% trans "SSH/SFTP username" %}{% endif %}</dt>
<dd>{{ osuser.username }}{% if sshkeys %} <a href="{% url 'list_ssh_keys' package=hostingpackage.id %}" class="badge" title="{% blocktrans count counter=sshkeys|length %}There is an SSH public key set for this user.{% plural %}There are {{ counter }} SSH public keys set for this user.{% endblocktrans %}"><i class="fa fa-key"></i> {{ sshkeys|length }}</a>{% endif %}</dd>
<dt>{% trans "Upload server" %}</dt>
<dd>{{ uploadserver }}</dd>
</dl>
</div>
</div>
<div class="col-lg-4 col-md-6 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">{% trans "Hosting Package Options" %}</div>
{% if hostingoptions %}
<ul class="list-group">
{% for opt in hostingoptions %}
<li class="list-group-item">{{ opt }}</li>
{% endfor %}
</ul>
{% else %}
<p class="panel-body text-info">{% trans "No options booked" %}</p>
{% endif %}
{% if user.is_staff %}
<p class="panel-body"><a class="btn btn-primary" href="{% url 'hosting_option_choices' pk=hostingpackage.id %}" title="{% trans "Add another hosting option" %}">{% trans "Add option" %}</a></p>
{% endif %}
</div>
</div>
<div class="col-lg-4 col-md-6 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">{% trans "Hosting Package Actions" %}</div>
<ul class="list-group">
<li class="list-group-item"><a href="#" title="{% trans "Edit Hosting Package Description" %}">{% trans "Edit description" %}</a></li>
<li class="list-group-item"><a href="{% url "set_osuser_password" slug=osuser.username %}">{% if osuser.is_sftp_user %}{% trans "Set SFTP password" %}{% else %}{% trans "Set SSH/SFTP password" %}{% endif %}</a></li>
<li class="list-group-item"><a href="{% url "add_ssh_key" package=hostingpackage.id %}" title="{% blocktrans %}Add an SSH public key that can be used as an alternative for password{% endblocktrans %}">{% trans "Add SSH public key" %}</a></li>
</ul>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">{% trans "Domains" %}</div>
{% if domains %}
<table class="table table-condensed">
<thead>
<tr>
<th class="name-column">{% trans "Domain name" %}</th>
<th>{% trans "Mail addresses" %}</th>
<th>{% trans "Websites" %}</th>
<th title="{% trans "Domain actions" %}" class="actions-column"><span class="sr-only">{% trans "Actions" %}</span></th>
</tr>
</thead>
<tbody>
{% for domain in domains %}
<tr>
<td>{{ domain.domain }}</td>
{% if domain.domain.maildomain.mailaddress_set.exists %}
<td>
{% with maildomain=domain.domain.maildomain %}
{% for mailaddress in maildomain.mailaddresses %}{% spaceless %}
<a href="{% url 'edit_mailaddress' package=hostingpackage.id domain=maildomain.domain pk=mailaddress.id %}" title="{% trans "Edit mail address targets" %}">{{ mailaddress }}</a>
<a href="{% url 'delete_mailaddress' package=hostingpackage.id domain=maildomain.domain pk=mailaddress.id %}" title="{% trans "Delete mail address" %}"><i class="glyphicon glyphicon-trash"></i><span class="sr-only"> {% trans "Delete mail address" %}</span></a>
{% endspaceless %}{% if not forloop.last %}, {% endif %}{% endfor %}
{% endwith %}
</td>
{% else %}
<td class="text-info">{% trans "None" %}</td>
{% endif %}
{% if domain.domain.website_set.exists %}
<td>
{% with domain=domain.domain %}
{% for website in domain.website_set.all %}{% spaceless %}
{{ website }}
<a href="{% url 'delete_website' package=hostingpackage.id domain=domain.domain pk=website.id %}" titel="{% trans "Delete website" %}"><i class="glyphicon glyphicon-trash"></i><span class="sr-only"> {% trans "Delete website" %}</span></a>
{% endspaceless %}{% if not forloop.last %}, {% endif %}{% endfor %}
{% endwith %}
</td>
{% else %}
<td class="text-info">{% trans "None" %}</td>
{% endif %}
<td>
{% if domain.domain.maildomain %}
{% with maildomain=domain.domain.maildomain %}
<a href="{% url 'add_mailaddress' package=hostingpackage.id domain=maildomain.domain %}" title="{% trans "Add mail address" %}"><i class="fa fa-envelope"></i><span class="sr-only"> {% trans "Add mail address" %}</span></a>
{% endwith %}
{% endif %}
{% with hostingdomain=domain.domain %}
<a href="{% url 'add_website' package=hostingpackage.id domain=hostingdomain.domain %}" title="{% trans "Add website" %}"><i class="glyphicon glyphicon-globe"></i><span class="sr-only"> {% trans "Add website" %}</span></a>
{% endwith %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="panel-body text-info">{% trans "There are no domains assigned to this hosting package yet." %}</p>
{% endif %}
{% if user.is_staff %}
<p class="panel-body"><a href="{% url 'create_hosting_domain' package=hostingpackage.id %}" class="btn btn-primary">{% trans "Add domain" %}</a></p>
{% endif %}
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">{% trans "E-Mail-Accounts" %}</div>
{% if mailboxes %}
<table class="table table-condensed">
<thead>
<tr>
<th class="name-column">{% trans "Mailbox" %}</th>
<th>{% trans "Mail addresses" %}</th>
<th class="status-column">{% trans "Active" %}</th>
<th title="{% trans "Mailbox actions" %}" class="actions-column"><span class="sr-only">{% trans "Actions" %}</span></th>
</tr>
</thead>
<tbody>
{% for mailbox in mailboxes %}
<tr>
<td>{{ mailbox.username }}</td>
<td>{{ mailbox.mailaddresses|join:", " }}</td>
<td><i class="glyphicon glyphicon-{% if mailbox.active %}ok-circle{% else %}minus-sign{% endif %}"></i><span class="sr-only"> {% if mailbox.active %}{% trans "Active" %}{% else %}{% trans "inactive" %}{% endif %}</span></td>
<td>
<a href="{% url 'change_mailbox_password' package=hostingpackage.id slug=mailbox.username %}"><i class="fa fa-user-secret" title="{% trans "Set mailbox password" %}"></i><span class="sr-only"> {% trans "Set mailbox password" %}</span></a>
</td>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="panel-body text-info">{% trans "There are no mailboxes assigned to this hosting package yet." %}</p>
{% endif %}
{% if hostingpackage.may_add_mailbox %}
<p class="panel-body"><a href="{% url 'create_mailbox' package=hostingpackage.id %}" class="btn btn-primary">{% trans "Add mailbox" %}</a></p>
{% endif %}
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">{% trans "Databases" %}</div>
{% if databases %}
<table class="table table-condensed">
<thead>
<tr>
<th class="name-column">{% trans "Database name" %}</th>
<th class="name-column">{% trans "Database user" %}</th>
<th title="{% trans "Database type" %}"><span class="sr-only">{% trans "Type" %}</span></th>
<th title="{% trans "Database actions" %}" class="actions-column"><span class="sr-only">{% trans "Actions" %}</span></th>
</tr>
</thead>
<tbody>
{% for database in databases %}
<tr>
<td>{{ database.db_name }}</td>
<td>{{ database.db_user.name }}</td>
<td>{% include "userdbs/snippets/db_type.html" with db_type=database.db_user.db_type %}</td>
<td>
<a href="{% url 'change_dbuser_password' package=hostingpackage.id slug=database.db_user.name %}" title="{% trans "Set database user password" %}"><i class="fa fa-user-secret"></i><span class="sr-only"> {% trans "Set database user password" %}</span></a>
<a href="{% url 'delete_userdatabase' package=hostingpackage.id slug=database.db_name %}" title="{% trans "Delete database" %}"><i class="glyphicon glyphicon-trash"></i><span class="sr-only">{% trans "Delete database" %}</span></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="panel-body text-info">{% trans "There are no databases assigned to this hosting package yet." %}</p>
{% endif %}
{% if hostingpackage.may_add_database %}
<p class="panel-body"><a href="{% url 'add_userdatabase' package=hostingpackage.id %}" class="btn btn-primary">{% trans "Add database" %}</a></p>
{% endif %}
</div>
</div>
</div>
{% endblock content %}

View file

@ -1,43 +0,0 @@
{% extends "hostingpackages/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% trans "Your hosting packages" %}
{% else %}
{% blocktrans with customer=customer.get_full_name %}Hosting Packages of {{ customer }}{% endblocktrans %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% trans "Your hosting packages" %}
{% else %}
{% blocktrans with customer=customer.get_full_name %}Hosting Packages <small>of {{ customer }}</small>{% endblocktrans %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
{% if customerhostingpackage_list %}
<table class="table table-condensed">
<thead>
<tr>
<th>{% trans "Name" %}</th>
<th>{% trans "Setup date" %}</th>
</tr>
</thead>
<tbody>
{% for package in customerhostingpackage_list %}
<tr>
<td><a href="{{ package.get_absolute_url }}">{{ package.name }}</a></td>
<td>{{ package.created }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="text-info">{% if user == customer %}{% trans "You have no hosting packages setup yet." %}{% else %}{% trans "There are no hosting packages setup for this customer yet." %}{% endif %}</p>
{% endif %}
{% if user.is_staff %}
<p><a href="{% url 'create_customer_hosting_package' user=customer.username %}" class="btn btn-primary">{% trans "Add hosting package" %}</a></p>
{% endif %}
{% endblock content %}

View file

@ -1,23 +0,0 @@
{% extends "hostingpackages/base.html"%}
{% load i18n %}
{% block title %}{{ block.super }} - {% blocktrans with package=hostingpackage.name full_name=customer.get_full_name %}Choose new Option for Hosting Package {{ package }} of Customer {{ full_name }}{% endblocktrans %}{% endblock title %}
{% block page_title %}{% blocktrans with package=hostingpackage.name full_name=customer.get_full_name %}Choose new Option for Hosting Package {{ package }} of Customer {{ full_name }}{% endblocktrans %}{% endblock page_title %}
{% block content %}
<div class="row">
{% for label, items in hosting_options %}
<div class="col-lg-4 col-md-4 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">{{ label }}</div>
<ul class="list-group">
{% for item, option_type in items %}
<li class="list-group-item"><a href="{% url 'add_hosting_option' package=hostingpackage.id type=option_type optionid=item.id %}"><i class="glyphicon glyphicon-plus-sign"></i> {{ item }}</a></li>
{% endfor %}
</ul>
</div>
</div>
{% endfor %}
</div>
{% endblock %}

View file

@ -1,8 +1,10 @@
{% extends "base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Django Impersonate - User List" %}{% endblock title %}
{% block page_title %}{% blocktrans %}User List - Page {{ page_number }}{% endblocktrans %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Django Impersonate - User List" %}{% endblock title %}
{% block page_title %}{% blocktranslate trimmed %}
User List - Page {{ page_number }}
{% endblocktranslate %}{% endblock page_title %}
{% block content %}
{% if page.object_list %}
@ -16,7 +18,7 @@
{% endif %}
<p>
<a href="{% url 'impersonate-search' %}">{% trans "Search users" %}</a>
<a href="{% url 'impersonate-search' %}">{% translate "Search users" %}</a>
</p>
<p>

View file

@ -1,22 +1,22 @@
{% extends "base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Django Impersonate - Search Users" %}{% endblock title %}
{% block title %}{{ block.super }} - {% translate "Django Impersonate - Search Users" %}{% endblock title %}
{% block page_title %}Search Users {% if query %}- Page {{ page_number }}{% endif %}{% endblock page_title %}
{% block content %}
<form action="{% url 'impersonate-search' %}" method="GET">
{{ redirect_field }}
<div class="form-group">
<label for="user-query">{% trans "Enter Search Query:" %}</label>
<label for="user-query">{% translate "Enter Search Query:" %}</label>
<input type="text" name="q" id="user-query" class="form-control"
value="{% if query %}{{ query }}{% endif %}">
</div>
<button type="submit" class="btn btn-primary">{% trans "Search" %}</button>
<button type="submit" class="btn btn-primary">{% translate "Search" %}</button>
</form>
<p>
<a href="{% url 'impersonate-list' %}">{% trans "List all users" %}</a>
<a href="{% url 'impersonate-list' %}">{% translate "List all users" %}</a>
</p>
<p>

View file

@ -2,33 +2,37 @@
{% load i18n %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Delete Mail Address {{ mailaddress }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Delete Mail Address {{ mailaddress }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Delete Mail Address {{ mailaddress }}{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Delete Mail Address {{ mailaddress }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Delete Mail Address {{ mailaddress }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Delete Mail Address {{ mailaddress }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Delete Mail Address {{ mailaddress }}{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Delete Mail Address {{ mailaddress }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
<div class="panel panel-warning">
<div class="panel-body">
{% blocktrans %}Do you really want to delete the mail address {{ mailaddress }}?{% endblocktrans %}
</div>
<div class="panel-body form">
<form action="{% url 'delete_mailaddress' package=hostingpackage.id domain=maildomain.domain pk=mailaddress.id %}" method="post">
{% csrf_token %}
<input class="btn btn-warning" type="submit" value="{% trans "Yes, do it!" %}" />
<a class="btn btn-default" href="{{ hostingpackage.get_absolute_url }}">{% trans "Cancel" %}</a>
</form>
</div>
</div>
{% endblock content %}
<div class="panel panel-warning">
<div class="panel-body">{% blocktranslate trimmed %}
Do you really want to delete the mail address {{ mailaddress }}?
{% endblocktranslate %}</div>
<div class="panel-body form">
<form action="{% url 'delete_mailaddress' package=hostingpackage.id domain=maildomain.domain pk=mailaddress.id %}"
method="post">
{% csrf_token %}
<input class="btn btn-warning" type="submit" value="{% translate "Yes, do it!" %}"/>
<a class="btn btn-default" href="{{ hostingpackage.get_absolute_url }}">{% translate "Cancel" %}</a>
</form>
</div>
</div>
{% endblock content %}

View file

@ -2,33 +2,35 @@
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Add new Mail Address{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}
Add new Mail Address for Customer {{ full_name }}
{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Add new Mail Address{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Add new Mail Address for Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Add new Mail Address{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}
Add new Mail Address for Customer {{ full_name }}
{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Add new Mail Address{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Add new Mail Address for Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% crispy form %}
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('input[type=text]').first().focus();
});
</script>
{% endblock extra_js %}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
let passwordFields = document.querySelectorAll('input[type=text]');
passwordFields[0].focus();
});
</script>
{% endblock extra_js %}

View file

@ -2,25 +2,25 @@
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Change target of Mail Address{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}
Change target of Mail Address for Customer {{ full_name }}
{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Change target of Mail Address{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Change target of Mail Address for Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Change target of Mail Address{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}
Change target of Mail Address for Customer {{ full_name }}
{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Change target of Mail Address{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Change target of Mail Address for Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% crispy form %}
{% endblock content %}

View file

@ -1,34 +1,47 @@
{% extends "managemails/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.user }} - {% spaceless %}
{% with full_name=customer.get_full_name package=hostingpackage.name %}
{% if customer == user %}
{% blocktrans %}Add Mailbox to Hosting Package {{ package }}{% endblocktrans %}
{% else %}
{% blocktrans %}Add Mailbox to Hosting Package {{ package }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% endwith %}
{% with full_name=customer.get_full_name package=hostingpackage.name %}
{% if customer == user %}
{% blocktranslate %}Add Mailbox to Hosting Package {{ package }}{% endblocktranslate %}
{% else %}
{% blocktranslate trimmed %}
Add Mailbox to Hosting Package {{ package }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endwith %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% with full_name=customer.get_full_name package=hostingpackage.name %}
{% if customer == user %}
{% blocktrans %}Add Mailbox to Hosting Package {{ package }}{% endblocktrans %}
{% else %}
{% blocktrans %}Add Mailbox to Hosting Package {{ package }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% endwith %}
{% with full_name=customer.get_full_name package=hostingpackage.name %}
{% if customer == user %}
{% blocktranslate %}Add Mailbox to Hosting Package {{ package }}{% endblocktranslate %}
{% else %}
{% blocktranslate trimmed %}
Add Mailbox to Hosting Package {{ package }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endwith %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
<p>{% if customer == user %}{% trans "Please specify the password for your new mailbox." %}{% else %}{% trans "Please specify the password for the new mailbox." %}{% endif %}</p>
{% crispy form %}
<p>{% if customer == user %}
{% translate "Please specify the password for your new mailbox." %}
{% else %}
{% translate "Please specify the password for the new mailbox." %}
{% endif %}</p>
{% crispy form %}
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('input[type=password]').val('');
$('input[type=password]').first().focus();
});
</script>
{% endblock extra_js %}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
let passwordFields = document.querySelectorAll("input[type=password]");
for (const fieldKey in passwordFields) {
passwordFields[fieldKey].val('');
}
passwordFields[0].focus();
});
</script>
{% endblock extra_js %}

View file

@ -1,34 +1,44 @@
{% extends "managemails/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.user }} - {% spaceless %}
{% with full_name=customer.get_full_name mailbox=mailbox.username %}
{% if customer == user %}
{% blocktrans %}Set Password for Mailbox {{ mailbox }}{% endblocktrans %}
{% else %}
{% blocktrans %}Set Password for Mailbox {{ mailbox }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% endwith %}
{% with full_name=customer.get_full_name mailbox=mailbox.username %}
{% if customer == user %}
{% blocktranslate %}Set Password for Mailbox {{ mailbox }}{% endblocktranslate %}
{% else %}
{% blocktranslate trimmed %}
Set Password for Mailbox {{ mailbox }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endwith %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% with full_name=customer.get_full_name mailbox=mailbox.username %}
{% if customer == user %}
{% blocktrans %}Set Password for Mailbox {{ mailbox }}{% endblocktrans %}
{% else %}
{% blocktrans %}Set Password for Mailbox {{ mailbox }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% endwith %}
{% with full_name=customer.get_full_name mailbox=mailbox.username %}
{% if customer == user %}
{% blocktranslate %}Set Password for Mailbox {{ mailbox }}{% endblocktranslate %}
{% else %}
{% blocktranslate trimmed %}
Set Password for Mailbox {{ mailbox }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endwith %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
<p>{% if customer == user %}{% trans "Please specify the new password for your mailbox." %}{% else %}{% trans "Please specify the new password for the mailbox." %}{% endif %}</p>
{% crispy form %}
<p>{% if customer == user %}{% translate "Please specify the new password for your mailbox." %}{% else %}
{% translate "Please specify the new password for the mailbox." %}{% endif %}</p>
{% crispy form %}
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('input[type=password]').val('');
$('input[type=password]').first().focus();
});
</script>
{% endblock extra_js %}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
let passwordFields = document.querySelectorAll('input[type=password]');
for (const passwordFieldsKey in passwordFields) {
passwordFields[passwordFieldsKey].val('');
}
passwordFields[0].focus();
});
</script>
{% endblock extra_js %}

View file

@ -2,34 +2,46 @@
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Delete SSH Public Key for Operating System User {{ osuser }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Delete SSH Public Key for Operating System User {{ osuser }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Delete SSH Public Key for Operating System User {{ osuser }}{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Delete SSH Public Key for Operating System User {{ osuser }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Delete SSH Public Key <small>for Operating System User {{ osuser }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Delete SSH Public Key <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate trimmed %}
Delete SSH Public Key <small>for Operating System User {{ osuser }}</small>
{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Delete SSH Public Key <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
<div class="panel panel-warning">
<div class="panel-heading">
{% blocktrans with algorithm=key.algorithm %}Do you really want to delete the {{ algorithm }} SSH public key?{% endblocktrans %}
</div>
<div class="panel-body form">
<p >{% blocktrans %}When you confirm the deletion of this key you will no longer be able to use the corresponding private key for authentication.{% endblocktrans %}</p>
<pre>{{ key }}</pre>
<form action="{% url 'delete_ssh_key' package=hostingpackage.id pk=key.id %}" method="post">
{% csrf_token %}
<input class="btn btn-warning" type="submit" value="{% trans "Yes, do it!" %}" />
<a class="btn btn-default" href="{% url 'list_ssh_keys' package=hostingpackage.id %}" title="{% trans "Cancel and go back to the SSH key list" %}">{% trans "Cancel" %}</a>
</form>
</div>
</div>
{% endblock content %}
<div class="panel panel-warning">
<div class="panel-heading">
{% blocktranslate with algorithm=key.algorithm trimmed %}
Do you really want to delete the {{ algorithm }} SSH public key?
{% endblocktranslate %}
</div>
<div class="panel-body form">
<p>{% blocktranslate trimmed %}
When you confirm the deletion of this key you will no longer be able to use the corresponding private
key for authentication.
{% endblocktranslate %}</p>
<pre>{{ key }}</pre>
<form action="{% url 'delete_ssh_key' package=hostingpackage.id pk=key.id %}" method="post">
{% csrf_token %}
<input class="btn btn-warning" type="submit" value="{% translate "Yes, do it!" %}"/>
<a class="btn btn-default" href="{% url 'list_ssh_keys' package=hostingpackage.id %}"
title="{% translate "Cancel and go back to the SSH key list" %}">{% translate "Cancel" %}</a>
</form>
</div>
</div>
{% endblock content %}

View file

@ -2,29 +2,37 @@
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Add new SSH Public Key for Operating System User {{ osuser }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Add a new SSH Public Key for Operating System User {{ osuser }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate trimmed %}
Add new SSH Public Key for Operating System User {{ osuser }}
{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Add a new SSH Public Key for Operating System User {{ osuser }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Add new SSH Public Key <small>for Operating System User {{ osuser }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Add a new SSH Public Key <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate trimmed %}
Add new SSH Public Key <small>for Operating System User {{ osuser }}</small>
{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Add a new SSH Public Key <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% crispy form %}
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('textarea').first().focus();
});
</script>
{% endblock extra_js %}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
document.getElementsByTagName("textarea")[0].focus();
});
</script>
{% endblock extra_js %}

View file

@ -2,29 +2,36 @@
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Edit Comment of SSH Public Key for Operating System User {{ osuser }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Edit Comment of SSH Public Key for Operating System User {{ osuser }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Edit Comment of SSH Public Key for Operating System User {{ osuser }}{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Edit Comment of SSH Public Key for Operating System User {{ osuser }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Edit Comment of Public Key <small>for Operating System User {{ osuser }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Edit Comment of SSH Public Key <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate trimmed %}
Edit Comment of Public Key <small>for Operating System User {{ osuser }}</small>
{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Edit Comment of SSH Public Key
<small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% crispy form %}
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('input[type=text]').first().focus().select();
});
</script>
{% endblock extra_js %}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll("input[type=text]")[0].focus().select();
});
</script>
{% endblock extra_js %}

View file

@ -2,46 +2,60 @@
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}SSH Public Keys for Operating System User {{ osuser }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}SSH Public Keys for Operating System User {{ osuser }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}SSH Public Keys for Operating System User {{ osuser }}{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
SSH Public Keys for Operating System User {{ osuser }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}SSH Public Keys <small>for Operating System User {{ osuser }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}SSH Public Keys <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate trimmed %}
SSH Public Keys <small>for Operating System User {{ osuser }}</small>
{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
SSH Public Keys <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
{% if keys %}
<table class="table">
<thead>
<tr>
<th class="name-column">{% trans "Algorithm" %}</th>
<th>{% trans "Comment" %}</th>
<th title="{% trans "SSH public key actions" %}" class="actions-column"><span class="sr-only">{% trans "Actions" %}</span></th>
</tr>
</thead>
<tbody>
{% for key in keys %}
<tr>
<td>{{ key.algorithm }}</td>
<td>{{ key.comment }}</td>
<td>
<a href="{% url 'delete_ssh_key' package=hostingpackage.id pk=key.id %}" title="{% trans "Delete this SSH public key" %}"><i class="glyphicon glyphicon-trash"></i><span class="sr-only"> {% trans "Delete" %}</span></a>
<a href="{% url 'edit_ssh_key_comment' package=hostingpackage.id pk=key.id %}" title="{% trans "Edit this SSH public key's comment" %}"><i class="glyphicon glyphicon-pencil"></i><span class="sr-only"> {% trans "Edit Comment" %}</span></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="bg-warning">{% trans "There are now SSH public keys set for this operating system user yet." %}</p>
{% endif %}
<p><a href="{% url 'add_ssh_key' package=hostingpackage.id %}" class="btn btn-primary">{% trans "Add SSH public key" %}</a></p>
{% endblock content %}
{% if keys %}
<table class="table">
<thead>
<tr>
<th class="name-column">{% translate "Algorithm" %}</th>
<th>{% translate "Comment" %}</th>
<th title="{% translate "SSH public key actions" %}" class="actions-column"><span
class="visually-hidden">{% translate "Actions" %}</span></th>
</tr>
</thead>
<tbody>
{% for key in keys %}
<tr>
<td>{{ key.algorithm }}</td>
<td>{{ key.comment }}</td>
<td>
<a href="{% url 'delete_ssh_key' package=hostingpackage.id pk=key.id %}"
title="{% translate "Delete this SSH public key" %}"><i
class="glyphicon glyphicon-trash"></i><span
class="visually-hidden"> {% translate "Delete" %}</span></a>
<a href="{% url 'edit_ssh_key_comment' package=hostingpackage.id pk=key.id %}"
title="{% translate "Edit this SSH public key's comment" %}"><i
class="glyphicon glyphicon-pencil"></i><span
class="visually-hidden"> {% translate "Edit Comment" %}</span></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="bg-warning">{% translate "There are now SSH public keys set for this operating system user yet." %}</p>
{% endif %}
<p><a href="{% url 'add_ssh_key' package=hostingpackage.id %}"
class="btn btn-primary">{% translate "Add SSH public key" %}</a></p>
{% endblock content %}

View file

@ -1,30 +1,39 @@
{% extends "osusers/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if customer == user %}
{% blocktrans with osuser=osuser.username %}Set new password for user {{ osuser }}{% endblocktrans %}
{% else %}
{% blocktrans with osuser=osuser.username full_name=customer.get_full_name %}Set new password for user {{ osuser }} of customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if customer == user %}
{% blocktranslate with osuser=osuser.username %}Set new password for user {{ osuser }}{% endblocktranslate %}
{% else %}
{% blocktranslate with osuser=osuser.username full_name=customer.get_full_name trimmed %}
Set new password for user {{ osuser }} of customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if customer == user %}
{% blocktrans with osuser=osuser.username %}Set new password for user {{ osuser }}{% endblocktrans %}
{% else %}
{% blocktrans with osuser=osuser.username full_name=customer.get_full_name %}Set new password for user {{ osuser }} of customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if customer == user %}
{% blocktranslate with osuser=osuser.username %}Set new password for user {{ osuser }}{% endblocktranslate %}
{% else %}
{% blocktranslate with osuser=osuser.username full_name=customer.get_full_name trimmed %}
Set new password for user {{ osuser }} of customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% crispy form %}
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('input[type=password]').val('');
$('input[type=password]').first().focus();
});
</script>
{% endblock extra_js %}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
let passwordFields = document.querySelectorAll('input[type=password]');
for (const passwordFieldsKey in passwordFields) {
passwordFields[passwordFieldsKey].val('');
}
passwordFields[0].focus();
});
</script>
{% endblock extra_js %}

View file

@ -1,12 +1,12 @@
{% extends "base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% trans "Sign in" %}{% endblock title %}
{% block page_title %}{% trans "Sign In" %}{% endblock %}
{% block title %}{{ block.super }} - {% translate "Sign in" %}{% endblock title %}
{% block page_title %}{% translate "Sign In" %}{% endblock %}
{% block content %}
<form action="" method="post">
{% csrf_token %}
<input type="hidden" name="next" value="{{ next }}" />
{{ form|crispy }}
<input type="submit" name="submit" value="{% trans 'Sign in' %}" class="btn btn-primary" />
</form>
{% endblock %}
<form action="" method="post">
{% csrf_token %}
<input type="hidden" name="next" value="{{ next }}"/>
{{ form|crispy }}
<input type="submit" name="submit" value="{% translate 'Sign in' %}" class="btn btn-primary"/>
</form>
{% endblock %}

View file

@ -1,9 +1,9 @@
{% extends "socialaccount/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Social Network Login Failure" %}{% endblock title %}
{% block page_title %}{% trans "Social Network Login Failure" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Social Network Login Failure" %}{% endblock title %}
{% block page_title %}{% translate "Social Network Login Failure" %}{% endblock page_title %}
{% block content %}
<p>{% trans "An error occurred while attempting to login via your social network account." %}</p>
{% endblock %}
<p>{% translate "An error occurred while attempting to login via your social network account." %}</p>
{% endblock %}

View file

@ -1,50 +1,56 @@
{% extends "socialaccount/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Account Connections" %}{% endblock title %}
{% block page_title %}{% trans "Account Connections" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Account Connections" %}{% endblock title %}
{% block page_title %}{% translate "Account Connections" %}{% endblock page_title %}
{% block content %}
{% if form.accounts %}
<p>{% blocktrans %}You can sign in to your account using any of the following third party accounts:{% endblocktrans %}</p>
{% if form.accounts %}
<p>{% blocktranslate trimmed %}
You can sign in to your account using any of the following third party accounts:
{% endblocktranslate %}</p>
<form method="post" action="{% url 'socialaccount_connections' %}">
{% csrf_token %}
{% if form.non_field_errors %}<div class="text-error">{{form.non_field_errors}}</div>{% endif %}
<form method="post" action="{% url 'socialaccount_connections' %}">
{% csrf_token %}
{% if form.non_field_errors %}
<div class="text-error">{{ form.non_field_errors }}</div>{% endif %}
<table class="table table-condensed">
<thead>
<tr>
<th><span class="sr-only">{% trans "Select" %}</span></th>
<th>{% trans "Provider" %}</th>
<th>{% trans "Account name" %}</th>
</tr>
</thead>
<tbody>
{% for base_account in form.accounts %}
{% with account=base_account.get_provider_account provider=base_account.provider %}
<tr>
<td><input id="id_account_{{base_account.id}}" type="radio" name="account" value="{{base_account.id}}"/></td>
<td><label for="id_account_{{base_account.id}}"><i
class="fa fa-{% if provider == 'twitter' %}twitter{% elif provider == 'google' %}google{% elif provider == 'linkedin_oauth2' %}linkedin{% endif %}"></i> <span class="socialaccount_provider {{provider}} {{account.get_brand.id}}">{{account.get_brand.name}}</span></label></td>
<td>{{ account }}</td>
</tr>
{% endwith %}
{% endfor %}
</tbody>
</table>
<button class="btn btn-warning" type="submit">{% trans 'Remove' %}</button>
</form>
{% else %}
<p>{% trans 'You currently have no social network accounts connected to this account.' %}</p>
{% endif %}
<table class="table table-condensed">
<thead>
<tr>
<th><span class="visually-hidden">{% translate "Select" %}</span></th>
<th>{% translate "Provider" %}</th>
<th>{% translate "Account name" %}</th>
</tr>
</thead>
<tbody>
{% for base_account in form.accounts %}
{% with account=base_account.get_provider_account provider=base_account.provider %}
<tr>
<td><input id="id_account_{{ base_account.id }}" type="radio" name="account"
value="{{ base_account.id }}"/></td>
<td><label for="id_account_{{ base_account.id }}"><i
class="{% if provider == 'google' %}bi-google{% elif provider == 'linkedin_oauth2' %}bi-linkedin{% endif %}"></i>
<span class="socialaccount_provider {{ provider }} {{ account.get_brand.id }}">{{ account.get_brand.name }}</span></label>
</td>
<td>{{ account }}</td>
</tr>
{% endwith %}
{% endfor %}
</tbody>
</table>
<button class="btn btn-warning" type="submit">{% translate 'Remove' %}</button>
</form>
{% else %}
<p>{% translate 'You currently have no social network accounts connected to this account.' %}</p>
{% endif %}
<h2>{% trans 'Add a 3rd Party Account' %}</h2>
<ul class="list-inline">
{% include "socialaccount/snippets/provider_list.html" with process="connect" %}
</ul>
<h2>{% translate 'Add a 3rd Party Account' %}</h2>
<ul class="list-inline">
{% include "socialaccount/snippets/provider_list.html" with process="connect" %}
</ul>
{% endblock %}
{% block extra_js %}
{% include "socialaccount/snippets/login_extra.html" %}
{% endblock extra_js %}
{% include "socialaccount/snippets/login_extra.html" %}
{% endblock extra_js %}

View file

@ -0,0 +1,22 @@
{% extends "socialaccount/base.html" %}
{% load i18n %}
{% block title %}{% translate "Sign In" %}{% endblock %}
{% block page_title %}{% translate "Social Network Sign In" %}{% endblock page_title %}
{% block content %}
{% if process == "connect" %}
<h1>{% blocktranslate with provider.name as provider %}Connect {{ provider }}{% endblocktranslate %}</h1>
<p>{% blocktranslate with provider.name as provider %}You are about to connect a new third party account from {{ provider }}.{% endblocktranslate %}</p>
{% else %}
<h1>{% blocktranslate with provider.name as provider %}Sign In Via {{ provider }}{% endblocktranslate %}</h1>
<p>{% blocktranslate with provider.name as provider %}You are about to sign in using a third party account from {{ provider }}.{% endblocktranslate %}</p>
{% endif %}
<form method="post">
{% csrf_token %}
<button class="btn btn-primary" type="submit">{% translate "Continue" %}</button>
</form>
{% endblock %}

View file

@ -1,10 +1,13 @@
{% extends "socialaccount/base.html" %}
{% load i18n %}
{% block title %}{{ block.super }} - {% trans "Login Cancelled" %}{% endblock title %}
{% block page_title %}{% trans "Login Cancelled" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Login Cancelled" %}{% endblock title %}
{% block page_title %}{% translate "Login Cancelled" %}{% endblock page_title %}
{% block content %}
{% url 'account_login' as login_url %}
<p>{% blocktrans %}You decided to cancel logging in to our site using one of your existing accounts. If this was a mistake, please proceed to <a href="{{login_url}}">sign in</a>.{% endblocktrans %}</p>
{% endblock %}
{% url 'account_login' as login_url %}
<p>{% blocktranslate trimmed %}
You decided to cancel logging in to our site using one of your existing accounts. If this was a mistake, please
proceed to <a href="{{ login_url }}">sign in</a>.
{% endblocktranslate %}</p>
{% endblock %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}The social account has been connected.{% endblocktrans %}
{% blocktranslate %}The social account has been connected.{% endblocktranslate %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}The social account is already connected to a different account.{% endblocktrans %}
{% blocktranslate %}The social account is already connected to a different account.{% endblocktranslate %}

View file

@ -1,2 +1,2 @@
{% load i18n %}
{% blocktrans %}The social account has been disconnected.{% endblocktrans %}
{% blocktranslate %}The social account has been disconnected.{% endblocktranslate %}

View file

@ -1,17 +1,20 @@
{% extends "socialaccount/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% trans "Signup" %}{% endblock title %}
{% block page_title %}{% trans "Sign Up" %}{% endblock page_title %}
{% block title %}{{ block.super }} - {% translate "Signup" %}{% endblock title %}
{% block page_title %}{% translate "Sign Up" %}{% endblock page_title %}
{% block content %}
<p>{% blocktrans with provider_name=account.get_provider.name site_name=site.name %}You are about to use your {{provider_name}} account to login to
{{site_name}}. As a final step, please complete the following form:{% endblocktrans %}</p>
<p>{% blocktranslate with provider_name=account.get_provider.name site_name=site.name trimmed %}
You are about to use your {{ provider_name }} account to login to {{ site_name }}. As a final step, please
complete the following form:
{% endblocktranslate %}</p>
<form class="signup" id="signup_form" method="post" action="{% url 'socialaccount_signup' %}">
{% csrf_token %}
{{ form | crispy }}
{% if redirect_field_value %}<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />{% endif %}
<button class="btn btn-primary" type="submit">{% trans "Sign Up" %} &raquo;</button>
</form>
<form class="signup" id="signup_form" method="post" action="{% url 'socialaccount_signup' %}">
{% csrf_token %}
{{ form | crispy }}
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/>{% endif %}
<button class="btn btn-primary" type="submit">{% translate "Sign Up" %} &raquo;</button>
</form>
{% endblock %}

View file

@ -17,7 +17,7 @@
<a title="{{ provider.name }}"
class="socialaccount_provider {{ provider.id }}"
href="{% provider_login_url provider.id process=process scope=scope auth_params=auth_params %}"><i
class="fa fa-{% if provider.id == 'twitter' %}twitter{% elif provider.id == 'google' %}google{% elif provider.id == 'linkedin_oauth2' %}linkedin{% endif %}"></i>&nbsp;{{ provider.name }}
class="{% if provider.id == 'google' %}bi-google{% elif provider.id == 'linkedin_oauth2' %}bi-linkedin{% endif %}"></i>&nbsp;{{ provider.name }}
</a>
</li>
{% endfor %}

View file

@ -2,30 +2,46 @@
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if customer == user %}
{% blocktrans with dbuser=dbuser.name %}Set Database User Password for {{ dbuser }}{% endblocktrans %}
{% else %}
{% blocktrans with dbuser=dbuser.name full_name=customer.get_full_name %}Set Database User Password for {{ dbuser }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if customer == user %}
{% blocktranslate with dbuser=dbuser.name %}Set Database User Password for {{ dbuser }}{% endblocktranslate %}
{% else %}
{% blocktranslate with dbuser=dbuser.name full_name=customer.get_full_name trimmed %}
Set Database User Password for {{ dbuser }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if customer == user %}
{% blocktrans with dbuser=dbuser.name %}Set Database User Password <small>for {{ dbuser }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with dbuser=dbuser.name full_name=customer.get_full_name %}Set Database User Password <small>for {{ dbuser }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% if customer == user %}
{% blocktranslate with dbuser=dbuser.name trimmed %}
Set Database User Password <small>for {{ dbuser }}</small>
{% endblocktranslate %}
{% else %}
{% blocktranslate with dbuser=dbuser.name full_name=customer.get_full_name trimmed %}
Set Database User Password <small>for {{ dbuser }} of Customer {{ full_name }}</small>
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
<p>{% if customer == user %}{% trans "Please specify the new password for your database user." %}{% else %}{% trans "Please specify the new password of the database user." %}{% endif %}
{% crispy form %}
<p>{% spaceless %}{% if customer == user %}
{% translate "Please specify the new password for your database user." %}
{% else %}
{% translate "Please specify the new password of the database user." %}
{% endif %}{% endspaceless %}</p>
{% crispy form %}
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('input[type=password]').val('').first().focus();
});
</script>
{% endblock extra_js %}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
let passwordFields = document.querySelectorAll('input[type=password]');
for (const passwordFieldsKey in passwordFields) {
passwordFields[passwordFieldsKey].val('');
}
passwordFields[0].focus();
});
</script>
{% endblock extra_js %}

View file

@ -1,3 +1,3 @@
{# format database types #}
{% load userdb %}
<i class="{% db_type_icon_class %}" title="{% db_type_name %}"></i><span class="sr-only">{% db_type_name %}</span>
<i class="{% db_type_icon_class %}" title="{% db_type_name %}"></i><span class="visually-hidden">{% db_type_name %}</span>

View file

@ -2,33 +2,46 @@
{% load i18n %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans with database=database.db_name %}Delete Database {{ database }}{% endblocktrans %}
{% else %}
{% blocktrans with database=database.db_name full_name=customer.get_full_name %}Delete Database {{ database }} of customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate with database=database.db_name %}Delete Database {{ database }}{% endblocktranslate %}
{% else %}
{% blocktranslate with database=database.db_name full_name=customer.get_full_name trimmed %}
Delete Database {{ database }} of customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans with database=database.db_name %}Delete Database <small>{{ database }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with database=database.db_name full_name=customer.get_full_name %}Delete Database <small>{{ database }} of customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate with database=database.db_name trimmed %}
Delete Database <small>{{ database }}</small>
{% endblocktranslate %}
{% else %}
{% blocktranslate with database=database.db_name full_name=customer.get_full_name trimmed %}
Delete Database <small>{{ database }} of customer {{ full_name }}</small>
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
<div class="panel panel-warning">
<div class="panel-heading">
{% blocktrans with database=database.db_name %}Do you really want to delete the database {{ database }}?{% endblocktrans %}
</div>
<div class="panel-body form">
<p>{% blocktrans %}When you confirm the deletion the database will be removed from the database server. <strong>All data in the database will be lost!</strong> If the database user assigned to that database has no other databases assigned it will be deleted too.{% endblocktrans %}</p>
<form action="{% url 'delete_userdatabase' package=hostingpackage.id slug=database.db_name %}" method="post">
{% csrf_token %}
<input class="btn btn-warning" type="submit" value="{% trans "Yes, do it!" %}" />
<a class="btn btn-default" href="{{ hostingpackage.get_absolute_url }}">{% trans "Cancel" %}</a>
</form>
</div>
</div>
{% endblock content %}
<div class="panel panel-warning">
<div class="panel-heading">
{% blocktranslate with database=database.db_name trimmed %}
Do you really want to delete the database {{ database }}?
{% endblocktranslate %}
</div>
<div class="panel-body form">
<p>{% blocktranslate trimmed %}
When you confirm the deletion the database will be removed from the database server.
<strong>All data in the database will be lost!</strong> If the database user assigned to that database
has no other databases assigned it will be deleted too.
{% endblocktranslate %}</p>
<form action="{% url 'delete_userdatabase' package=hostingpackage.id slug=database.db_name %}"
method="post">
{% csrf_token %}
<input class="btn btn-warning" type="submit" value="{% translate "Yes, do it!" %}"/>
<a class="btn btn-default" href="{{ hostingpackage.get_absolute_url }}">{% translate "Cancel" %}</a>
</form>
</div>
</div>
{% endblock content %}

View file

@ -2,30 +2,40 @@
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Add new Database{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Add new Database for Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Add new Database{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Add new Database for Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Add new Database{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Add new Database for Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Add new Database{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Add new Database for Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
<p>{% blocktrans %}Please enter a password for a new database user for your database.{% endblocktrans %}</p>
{% crispy form %}
<p>{% blocktranslate %}Please enter a password for a new database user for your database.{% endblocktranslate %}</p>
{% crispy form %}
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('input[type=password]').val('').first().focus();
});
</script>
{% endblock %}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
let passwordFields = document.querySelectorAll('input[type=password]');
for (const passwordFieldsKey in passwordFields) {
passwordFields[passwordFieldsKey].val('');
}
passwordFields[0].focus();
});
</script>
{% endblock %}

View file

@ -2,33 +2,42 @@
{% load i18n %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Delete Website {{ website }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Delete Website {{ website }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Delete Website {{ website }}{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Delete Website {{ website }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Delete Website <small>{{ website }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Delete Website <small>{{ website }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate %}Delete Website <small>{{ website }}</small>{% endblocktranslate %}
{% else %}
{% blocktranslate with full_name=customer.get_full_name trimmed %}
Delete Website <small>{{ website }} of Customer {{ full_name }}</small>
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
<div class="panel panel-warning">
<div class="panel-heading">
{% blocktrans %}Do you really want to delete the website {{ website }}?{% endblocktrans %}
</div>
<div class="panel-body">
<p>{% blocktrans %}Please be aware that the website directory is removed from the webserver and the webserver configuration is changed so that the website will not be reachable anymore. <strong>All data in the website directory will be lost!</strong>{% endblocktrans %}</p>
<form action="{% url 'delete_website' package=hostingpackage.id domain=website.domain.domain pk=website.id %}" method="post" class="form">
{% csrf_token %}
<input class="btn btn-warning" type="submit" value="{% trans "Yes, do it!" %}" />
<a class="btn btn-default" href="{{ hostingpackage.get_absolute_url }}">{% trans "Cancel" %}</a>
</form>
</div>
</div>
{% endblock content %}
<div class="panel panel-warning">
<div class="panel-heading">
{% blocktranslate %}Do you really want to delete the website {{ website }}?{% endblocktranslate %}
</div>
<div class="panel-body">
<p>{% blocktranslate trimmed %}
Please be aware that the website directory is removed from the webserver and the webserver configuration
is changed so that the website will not be reachable anymore.
<strong>All data in the website directory will be lost!</strong>
{% endblocktranslate %}</p>
<form action="{% url 'delete_website' package=hostingpackage.id domain=website.domain.domain pk=website.id %}"
method="post" class="form">
{% csrf_token %}
<input class="btn btn-warning" type="submit" value="{% translate "Yes, do it!" %}"/>
<a class="btn btn-default" href="{{ hostingpackage.get_absolute_url }}">{% translate "Cancel" %}</a>
</form>
</div>
</div>
{% endblock content %}

View file

@ -2,29 +2,35 @@
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans with domain=domain.domain %}Add Website for Subdomain of {{ domain }}{% endblocktrans %}
{% else %}
{% blocktrans with domain=domain.domain full_name=customer.get_full_name %}Add Website for Subdomain of Domain {{ domain }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate with domain=domain.domain %}Add Website for Subdomain of {{ domain }}{% endblocktranslate %}
{% else %}
{% blocktranslate with domain=domain.domain full_name=customer.get_full_name trimmed %}
Add Website for Subdomain of Domain {{ domain }} of Customer {{ full_name }}
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans with domain=domain.domain %}Add Website <small>for Subdomain of {{ domain }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with domain=domain.domain full_name=customer.get_full_name %}Add Website <small>for Subdomain of Domain {{ domain }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% if user == customer %}
{% blocktranslate with domain=domain.domain trimmed %}
Add Website <small>for Subdomain of {{ domain }}</small>
{% endblocktranslate %}
{% else %}
{% blocktranslate with domain=domain.domain full_name=customer.get_full_name trimmed %}
Add Website <small>for Subdomain of Domain {{ domain }} of Customer {{ full_name }}</small>
{% endblocktranslate %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% crispy form %}
{% endblock %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('input[type=text]').first().focus();
});
</script>
{% endblock extra_js %}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll("input[type=text]")[0].focus().select();
});
</script>
{% endblock extra_js %}