flex removed from dash-borad content, reset-password message added to login page
This commit is contained in:
parent
bbdea342cf
commit
75afb59d77
7 changed files with 91 additions and 78 deletions
|
@ -11,8 +11,6 @@
|
||||||
width: 80%;
|
width: 80%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
max-width: 1120px;
|
max-width: 1120px;
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
}
|
||||||
.container-table{
|
.container-table{
|
||||||
margin-top: 35px;
|
margin-top: 35px;
|
||||||
|
|
|
@ -226,9 +226,12 @@ h6 {
|
||||||
|
|
||||||
/*------Auth section---------*/
|
/*------Auth section---------*/
|
||||||
.auth-container {
|
.auth-container {
|
||||||
/* height: 100vh; */
|
min-height: calc(100vh - 120px);
|
||||||
position: relative;
|
position: relative;
|
||||||
flex-grow: 1;
|
/* flex-grow: 1; */
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.auth-bg {
|
.auth-bg {
|
||||||
|
@ -423,6 +426,11 @@ h6 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.auth-box .msg-list {
|
||||||
|
padding: 15px 25px 5px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 540px) {
|
@media (max-width: 540px) {
|
||||||
.auth-container .auth-title h2 {
|
.auth-container .auth-title h2 {
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<div class="intro-message auth-box sign-up">
|
<div class="intro-message auth-box sign-up">
|
||||||
<h2 class="section-heading">{% trans "Set your new password"%}</h2>
|
<h2 class="section-heading">{% trans "Set your new password"%}</h2>
|
||||||
{% if messages %}
|
{% if messages %}
|
||||||
<ul class="list-unstyled">
|
<ul class="list-unstyled msg-list">
|
||||||
{% for message in messages %}
|
{% for message in messages %}
|
||||||
<li>{{ message }}</li>
|
<li>{{ message }}</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
@ -7,46 +7,47 @@
|
||||||
{% endblock navbar %}
|
{% endblock navbar %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<div class="auth-container">
|
<div class="auth-container">
|
||||||
<div class="auth-bg"></div>
|
<div class="auth-bg"></div>
|
||||||
|
<div class="auth-center">
|
||||||
<div class="auth-center">
|
<div class="auth-title">
|
||||||
|
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||||
<div class="auth-title">
|
</div>
|
||||||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
<div class="auth-content">
|
||||||
</div>
|
<div class="intro-message auth-box">
|
||||||
<div class="auth-content">
|
<h2 class="section-heading">{% trans "Login"%}</h2>
|
||||||
|
{% if messages %}
|
||||||
<div class="intro-message auth-box">
|
<ul class="list-unstyled msg-list">
|
||||||
<h2 class="section-heading">{% trans "Login"%}</h2>
|
{% for message in messages %}
|
||||||
<form action="{% url 'hosting:login' %}" method="post" class="form" novalidated>
|
<li>{{ message }}</li>
|
||||||
{% csrf_token %}
|
{% endfor %}
|
||||||
{% for field in form %}
|
</ul>
|
||||||
{% bootstrap_field field show_label=False type='fields'%}
|
{% endif %}
|
||||||
{% endfor %}
|
<form action="{% url 'hosting:login' %}" method="post" class="form" novalidated>
|
||||||
<p class="red">{{form.non_field_errors|striptags}}</p>
|
{% csrf_token %}
|
||||||
{% buttons %}
|
{% for field in form %}
|
||||||
<button type="submit" class="btn btn-block btn-success">
|
{% bootstrap_field field show_label=False type='fields'%}
|
||||||
{% trans "Login"%}
|
{% endfor %}
|
||||||
</button>
|
<p class="red">{{form.non_field_errors|striptags}}</p>
|
||||||
{% endbuttons %}
|
{% buttons %}
|
||||||
|
<button type="submit" class="btn btn-block btn-success">
|
||||||
<input type='hidden' name='next' value='{{request.GET.next}}'/>
|
{% trans "Login"%}
|
||||||
</form>
|
</button>
|
||||||
<div class="auth-footer">
|
{% endbuttons %}
|
||||||
<div class="text">
|
<input type='hidden' name='next' value='{{request.GET.next}}'/>
|
||||||
<span>{% trans "Don't have an account yet ? "%}</span>
|
</form>
|
||||||
</div>
|
<div class="auth-footer">
|
||||||
<div class="links">
|
<div class="text">
|
||||||
<a class="unlink" href="{% url 'hosting:signup' %}">{% trans "Sign up"%}</a>
|
<span>{% trans "Don't have an account yet ? "%}</span>
|
||||||
<span class="text"> or </span>
|
</div>
|
||||||
<a class="unlink" href="{% url 'hosting:reset_password' %}">{% trans "Forgot your password ? "%}</a>
|
<div class="links">
|
||||||
</div>
|
<a class="unlink" href="{% url 'hosting:signup' %}">{% trans "Sign up"%}</a>
|
||||||
|
<span class="text"> or </span>
|
||||||
|
<a class="unlink" href="{% url 'hosting:reset_password' %}">{% trans "Forgot your password ? "%}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="auth-content">
|
<div class="auth-content">
|
||||||
|
|
||||||
<div class="intro-message auth-box sign-up">
|
<div class="intro-message auth-box sign-up">
|
||||||
<h2 class="section-heading">{% trans "Reset your password"%}</h2>
|
<h2 class="section-heading">{% trans "Reset your password"%}</h2>
|
||||||
<form action="{% url 'hosting:reset_password' %}" method="post" class="form" novalidate>
|
<form action="{% url 'hosting:reset_password' %}" method="post" class="form" novalidate>
|
||||||
|
|
|
@ -8,35 +8,34 @@
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="auth-container auth-signup">
|
<div class="auth-container auth-signup">
|
||||||
<div class="auth-bg"></div>
|
<div class="auth-bg"></div>
|
||||||
<div class="auth-center ">
|
<div class="auth-center ">
|
||||||
<div class="auth-title">
|
<div class="auth-title">
|
||||||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="auth-content">
|
<div class="auth-content">
|
||||||
<div class="intro-message auth-box sign-up">
|
<div class="intro-message auth-box sign-up">
|
||||||
<h2 class="section-heading">{% trans "Sign up"%}</h2>
|
<h2 class="section-heading">{% trans "Sign up"%}</h2>
|
||||||
<form action="{% url 'hosting:signup' %}" method="post" class="form" novalidate>
|
<form action="{% url 'hosting:signup' %}" method="post" class="form" novalidate>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{% for field in form %}
|
{% for field in form %}
|
||||||
{% bootstrap_field field show_label=False %}
|
{% bootstrap_field field show_label=False %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% buttons %}
|
{% buttons %}
|
||||||
<button type="submit" class="btn btn-block btn-info">
|
<button type="submit" class="btn btn-block btn-info">
|
||||||
{% trans "Sign up"%}
|
{% trans "Sign up"%}
|
||||||
</button>
|
</button>
|
||||||
{% endbuttons %}
|
{% endbuttons %}
|
||||||
</form>
|
</form>
|
||||||
<div class="auth-footer">
|
<div class="auth-footer">
|
||||||
<div class="text">
|
<div class="text">
|
||||||
<span>{% trans "Already have an account ?"%}</span>
|
<span>{% trans "Already have an account ?"%}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="links">
|
<div class="links">
|
||||||
<a class="unlink" href="{% url 'hosting:login' %}">{% trans "Login"%}</a>
|
<a class="unlink" href="{% url 'hosting:login' %}">{% trans "Login"%}</a>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -193,8 +193,10 @@ class SignupView(CreateView):
|
||||||
name = form.cleaned_data.get('name')
|
name = form.cleaned_data.get('name')
|
||||||
email = form.cleaned_data.get('email')
|
email = form.cleaned_data.get('email')
|
||||||
password = form.cleaned_data.get('password')
|
password = form.cleaned_data.get('password')
|
||||||
this_base_url = "{0}://{1}".format(self.request.scheme, self.request.get_host())
|
this_base_url = "{0}://{1}".format(self.request.scheme,
|
||||||
CustomUser.register(name, password, email, app='dcl', base_url=this_base_url)
|
self.request.get_host())
|
||||||
|
CustomUser.register(name, password, email,
|
||||||
|
app='dcl', base_url=this_base_url)
|
||||||
|
|
||||||
return HttpResponseRedirect(reverse_lazy('hosting:signup-validate'))
|
return HttpResponseRedirect(reverse_lazy('hosting:signup-validate'))
|
||||||
|
|
||||||
|
@ -204,8 +206,10 @@ class SignupValidateView(TemplateView):
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(SignupValidateView, self).get_context_data(**kwargs)
|
context = super(SignupValidateView, self).get_context_data(**kwargs)
|
||||||
login_url = '<a href="' + reverse('hosting:login') + '">' + str(_('login')) + '</a>'
|
login_url = '<a href="' + \
|
||||||
home_url = '<a href="' + reverse('datacenterlight:index') + '">Data Center Light</a>'
|
reverse('hosting:login') + '">' + str(_('login')) + '</a>'
|
||||||
|
home_url = '<a href="' + \
|
||||||
|
reverse('datacenterlight:index') + '">Data Center Light</a>'
|
||||||
message = '{signup_success_message} {lurl}</a> \
|
message = '{signup_success_message} {lurl}</a> \
|
||||||
<br />{go_back} {hurl}.'.format(
|
<br />{go_back} {hurl}.'.format(
|
||||||
signup_success_message=_(
|
signup_success_message=_(
|
||||||
|
@ -226,15 +230,18 @@ class SignupValidatedView(SignupValidateView):
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(SignupValidateView, self).get_context_data(**kwargs)
|
context = super(SignupValidateView, self).get_context_data(**kwargs)
|
||||||
validated = CustomUser.validate_url(self.kwargs['validate_slug'])
|
validated = CustomUser.validate_url(self.kwargs['validate_slug'])
|
||||||
login_url = '<a href="' + reverse('hosting:login') + '">' + str(_('login')) + '</a>'
|
login_url = '<a href="' + \
|
||||||
|
reverse('hosting:login') + '">' + str(_('login')) + '</a>'
|
||||||
section_title = _('Account activation')
|
section_title = _('Account activation')
|
||||||
if validated:
|
if validated:
|
||||||
message = '{account_activation_string} <br /> {login_string} {lurl}.'.format(
|
message = '{account_activation_string} <br /> {login_string} {lurl}.'.format(
|
||||||
account_activation_string=_("Your account has been activated."),
|
account_activation_string=_(
|
||||||
|
"Your account has been activated."),
|
||||||
login_string=_("You can now"),
|
login_string=_("You can now"),
|
||||||
lurl=login_url)
|
lurl=login_url)
|
||||||
else:
|
else:
|
||||||
home_url = '<a href="' + reverse('datacenterlight:index') + '">Data Center Light</a>'
|
home_url = '<a href="' + \
|
||||||
|
reverse('datacenterlight:index') + '">Data Center Light</a>'
|
||||||
message = '{sorry_message} <br />{go_back_to} {hurl}'.format(
|
message = '{sorry_message} <br />{go_back_to} {hurl}'.format(
|
||||||
sorry_message=_("Sorry. Your request is invalid."),
|
sorry_message=_("Sorry. Your request is invalid."),
|
||||||
go_back_to=_('Go back to'),
|
go_back_to=_('Go back to'),
|
||||||
|
@ -410,7 +417,8 @@ class SSHKeyCreateView(LoginRequiredMixin, FormView):
|
||||||
public_key = form.cleaned_data.get('public_key', '').decode('utf-8')
|
public_key = form.cleaned_data.get('public_key', '').decode('utf-8')
|
||||||
# Add ssh key to user
|
# Add ssh key to user
|
||||||
try:
|
try:
|
||||||
manager.add_public_key(user=owner, public_key=public_key, merge=True)
|
manager.add_public_key(
|
||||||
|
user=owner, public_key=public_key, merge=True)
|
||||||
except ConnectionError:
|
except ConnectionError:
|
||||||
pass
|
pass
|
||||||
except WrongNameError:
|
except WrongNameError:
|
||||||
|
@ -563,7 +571,7 @@ class PaymentVMView(LoginRequiredMixin, FormView):
|
||||||
|
|
||||||
# Create a Hosting Bill
|
# Create a Hosting Bill
|
||||||
HostingBill.create(
|
HostingBill.create(
|
||||||
customer=customer, billing_address=billing_address)
|
customer=customer, billing_address=billing_address)
|
||||||
|
|
||||||
# Create Billing Address for User if he does not have one
|
# Create Billing Address for User if he does not have one
|
||||||
if not customer.user.billing_addresses.count():
|
if not customer.user.billing_addresses.count():
|
||||||
|
|
Loading…
Reference in a new issue