initial version
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
{% extends "allauth/layouts/entrance.html" %}
|
||||
{% load i18n %}
|
||||
{% load allauth %}
|
||||
{% block head_title %}
|
||||
{% translate "Account Inactive" %}
|
||||
{% endblock head_title %}
|
||||
{% block content %}
|
||||
{% element h1 %}
|
||||
{% translate "Account Inactive" %}
|
||||
{% endelement %}
|
||||
{% element p %}
|
||||
{% translate "This account is inactive." %}
|
||||
{% endelement %}
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1 @@
|
||||
{% extends "allauth/layouts/entrance.html" %}
|
||||
@@ -0,0 +1 @@
|
||||
{% extends "allauth/layouts/manage.html" %}
|
||||
@@ -0,0 +1 @@
|
||||
{% extends "account/base_manage.html" %}
|
||||
@@ -0,0 +1 @@
|
||||
{% extends "account/base_manage.html" %}
|
||||
@@ -0,0 +1,29 @@
|
||||
{% extends "account/base_entrance.html" %}
|
||||
{% load allauth %}
|
||||
{% load i18n %}
|
||||
{% block head_title %}
|
||||
{% trans "Confirm Access" %}
|
||||
{% endblock head_title %}
|
||||
{% block content %}
|
||||
{% element h1 %}
|
||||
{% trans "Confirm Access" %}
|
||||
{% endelement %}
|
||||
{% element p %}
|
||||
{% blocktranslate %}Please reauthenticate to safeguard your account.{% endblocktranslate %}
|
||||
{% endelement %}
|
||||
{% block reauthenticate_content %}{% endblock %}
|
||||
{% if reauthentication_alternatives %}
|
||||
{% element hr %}
|
||||
{% endelement %}
|
||||
{% element h2 %}
|
||||
{% translate "Alternative options" %}
|
||||
{% endelement %}
|
||||
{% element button_group %}
|
||||
{% for alt in reauthentication_alternatives %}
|
||||
{% element button href=alt.url tags="primary,outline" %}
|
||||
{{ alt.description }}
|
||||
{% endelement %}
|
||||
{% endfor %}
|
||||
{% endelement %}
|
||||
{% endif %}
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,48 @@
|
||||
{% extends "account/base_entrance.html" %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
{% block head_title %}
|
||||
{% translate "Email Verification" %}
|
||||
{% endblock head_title %}
|
||||
{% block content %}
|
||||
{% element h1 %}
|
||||
{% translate "Enter Email Verification Code" %}
|
||||
{% endelement %}
|
||||
{% setvar email_link %}
|
||||
<a href="mailto:{{ email }}">{{ email }}</a>
|
||||
{% endsetvar %}
|
||||
{% element p %}
|
||||
{% blocktranslate %}We’ve sent a code to {{ email_link }}. The code expires shortly, so please enter it soon.{% endblocktranslate %}
|
||||
{% endelement %}
|
||||
{% url 'account_email_verification_sent' as action_url %}
|
||||
{% element form form=form method="post" action=action_url tags="entrance,email,verification" %}
|
||||
{% slot body %}
|
||||
{% csrf_token %}
|
||||
{% element fields form=form unlabeled=True %}
|
||||
{% endelement %}
|
||||
{{ redirect_field }}
|
||||
{% endslot %}
|
||||
{% slot actions %}
|
||||
{% element button type="submit" tags="prominent,confirm" %}
|
||||
{% translate "Confirm" %}
|
||||
{% endelement %}
|
||||
{% if cancel_url %}
|
||||
{% element button href=cancel_url tags="link,cancel" %}
|
||||
{% translate "Cancel" %}
|
||||
{% endelement %}
|
||||
{% else %}
|
||||
{% element button type="submit" form="logout-from-stage" tags="link,cancel" %}
|
||||
{% translate "Cancel" %}
|
||||
{% endelement %}
|
||||
{% endif %}
|
||||
{% endslot %}
|
||||
{% endelement %}
|
||||
{% if not cancel_url %}
|
||||
<form id="logout-from-stage"
|
||||
method="post"
|
||||
action="{% url 'account_logout' %}">
|
||||
<input type="hidden" name="next" value="{% url 'account_login' %}">
|
||||
{% csrf_token %}
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,40 @@
|
||||
{% extends "account/base_entrance.html" %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
{% block head_title %}
|
||||
{% translate "Sign In" %}
|
||||
{% endblock head_title %}
|
||||
{% block content %}
|
||||
{% element h1 %}
|
||||
{% translate "Enter Sign-In Code" %}
|
||||
{% endelement %}
|
||||
{% setvar email_link %}
|
||||
<a href="mailto:{{ email }}">{{ email }}</a>
|
||||
{% endsetvar %}
|
||||
{% element p %}
|
||||
{% blocktranslate %}We’ve sent a code to {{ email_link }}. The code expires shortly, so please enter it soon.{% endblocktranslate %}
|
||||
{% endelement %}
|
||||
{% url 'account_confirm_login_code' as login_url %}
|
||||
{% element form form=form method="post" action=login_url tags="entrance,login" %}
|
||||
{% slot body %}
|
||||
{% csrf_token %}
|
||||
{% element fields form=form unlabeled=True %}
|
||||
{% endelement %}
|
||||
{{ redirect_field }}
|
||||
{% endslot %}
|
||||
{% slot actions %}
|
||||
{% element button type="submit" tags="prominent,login" %}
|
||||
{% translate "Sign In" %}
|
||||
{% endelement %}
|
||||
{% endslot %}
|
||||
{% endelement %}
|
||||
{% element button type="submit" form="logout-from-stage" tags="link" %}
|
||||
{% translate "Cancel" %}
|
||||
{% endelement %}
|
||||
<form id="logout-from-stage"
|
||||
method="post"
|
||||
action="{% url 'account_logout' %}">
|
||||
<input type="hidden" name="next" value="{% url 'account_login' %}">
|
||||
{% csrf_token %}
|
||||
</form>
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,90 @@
|
||||
{% extends "account/base_manage_email.html" %}
|
||||
{% load allauth i18n %}
|
||||
{% block head_title %}
|
||||
{% trans "Email Addresses" %}
|
||||
{% endblock head_title %}
|
||||
{% block content %}
|
||||
{% element h1 %}
|
||||
{% trans "Email Addresses" %}
|
||||
{% endelement %}
|
||||
{% if emailaddresses %}
|
||||
{% element p %}
|
||||
{% trans 'The following email addresses are associated with your account:' %}
|
||||
{% endelement %}
|
||||
{% url 'account_email' as email_url %}
|
||||
{% element form form=form action=email_url method="post" tags="email,list" %}
|
||||
{% slot body %}
|
||||
{% csrf_token %}
|
||||
{% for radio in emailaddress_radios %}
|
||||
{% with emailaddress=radio.emailaddress %}
|
||||
{% element field type="radio" checked=radio.checked name="email" value=emailaddress.email id=radio.id %}
|
||||
{% slot label %}
|
||||
{{ emailaddress.email }}
|
||||
{% if emailaddress.verified %}
|
||||
{% element badge tags="success,email,verified" %}
|
||||
{% translate "Verified" %}
|
||||
{% endelement %}
|
||||
{% else %}
|
||||
{% element badge tags="warning,email,unverified" %}
|
||||
{% translate "Unverified" %}
|
||||
{% endelement %}
|
||||
{% endif %}
|
||||
{% if emailaddress.primary %}
|
||||
{% element badge tags="email,primary" %}
|
||||
{% translate "Primary" %}
|
||||
{% endelement %}
|
||||
{% endif %}
|
||||
{% endslot %}
|
||||
{% endelement %}
|
||||
{% endwith %}
|
||||
{% endfor %}
|
||||
{% endslot %}
|
||||
{% slot actions %}
|
||||
{% element button type="submit" name="action_primary" %}
|
||||
{% trans 'Make Primary' %}
|
||||
{% endelement %}
|
||||
{% element button tags="secondary" type="submit" name="action_send" %}
|
||||
{% trans 'Re-send Verification' %}
|
||||
{% endelement %}
|
||||
{% element button tags="danger,delete" type="submit" name="action_remove" %}
|
||||
{% trans 'Remove' %}
|
||||
{% endelement %}
|
||||
{% endslot %}
|
||||
{% endelement %}
|
||||
{% else %}
|
||||
{% include "account/snippets/warn_no_email.html" %}
|
||||
{% endif %}
|
||||
{% if can_add_email %}
|
||||
{% element h2 %}
|
||||
{% trans "Add Email Address" %}
|
||||
{% endelement %}
|
||||
{% url 'account_email' as action_url %}
|
||||
{% element form form=form method="post" action=action_url tags="email,add" %}
|
||||
{% slot body %}
|
||||
{% csrf_token %}
|
||||
{% element fields form=form %}
|
||||
{% endelement %}
|
||||
{% endslot %}
|
||||
{% slot actions %}
|
||||
{% element button name="action_add" type="submit" %}
|
||||
{% trans "Add Email" %}
|
||||
{% endelement %}
|
||||
{% endslot %}
|
||||
{% endelement %}
|
||||
{% endif %}
|
||||
{% endblock content %}
|
||||
{% block extra_body %}
|
||||
<script>
|
||||
(function() {
|
||||
var message = "{% trans 'Do you really want to remove the selected email address?' %}";
|
||||
var actions = document.getElementsByName('action_remove');
|
||||
if (actions.length) {
|
||||
actions[0].addEventListener("click", function(e) {
|
||||
if (! confirm(message)) {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,13 @@
|
||||
{% extends "account/email/base_message.txt" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}{% autoescape off %}{% blocktrans %}You are receiving this email because you or someone else tried to signup for an
|
||||
account using email address:
|
||||
|
||||
{{ email }}
|
||||
|
||||
However, an account using that email address already exists. In case you have
|
||||
forgotten about this, please use the password forgotten procedure to recover
|
||||
your account:
|
||||
|
||||
{{ password_reset_url }}{% endblocktrans %}{% endautoescape %}{% endblock content %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Account Already Exists{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,7 @@
|
||||
{% load i18n %}{% autoescape off %}{% blocktrans with site_name=current_site.name %}Hello from {{ site_name }}!{% endblocktrans %}
|
||||
|
||||
{% block content %}{% endblock content %}
|
||||
|
||||
{% blocktrans with site_name=current_site.name site_domain=current_site.domain %}Thank you for using {{ site_name }}!
|
||||
{{ site_domain }}{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,14 @@
|
||||
{% extends "account/email/base_message.txt" %}
|
||||
{% load account %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}{% autoescape off %}{% blocktrans %}You are receiving this mail because the following change was made to your account:{% endblocktrans %}
|
||||
|
||||
{% block notification_message %}
|
||||
{% endblock notification_message%}
|
||||
|
||||
{% blocktrans %}If you do not recognize this change then please take proper security precautions immediately. The change to your account originates from:
|
||||
|
||||
- IP address: {{ip}}
|
||||
- Browser: {{user_agent}}
|
||||
- Date: {{timestamp}}{% endblocktrans %}{% endautoescape %}{% endblock %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% extends "account/email/base_notification.txt" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block notification_message %}{% blocktrans %}Your email has been changed from {{ from_email }} to {{ to_email }}.{% endblocktrans %}{% endblock notification_message %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Email Changed{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% extends "account/email/base_notification.txt" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block notification_message %}{% blocktrans %}Your email has been confirmed.{% endblocktrans %}{% endblock notification_message %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Email Confirmation{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,9 @@
|
||||
{% extends "account/email/base_message.txt" %}
|
||||
{% load account %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}{% autoescape off %}{% user_display user as user_display %}{% blocktranslate with site_name=current_site.name site_domain=current_site.domain %}You're receiving this email because user {{ user_display }} has given your email address to register an account on {{ site_domain }}.{% endblocktranslate %}
|
||||
|
||||
{% if code %}{% blocktranslate %}Your email verification code is listed below. Please enter it in your open browser window.{% endblocktranslate %}
|
||||
|
||||
{{ code }}{% else %}{% blocktranslate %}To confirm this is correct, go to {{ activate_url }}{% endblocktranslate %}{% endif %}{% endautoescape %}{% endblock content %}
|
||||
@@ -0,0 +1 @@
|
||||
{% include "account/email/email_confirmation_message.txt" %}
|
||||
@@ -0,0 +1 @@
|
||||
{% include "account/email/email_confirmation_subject.txt" %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Please Confirm Your Email Address{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% extends "account/email/base_notification.txt" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block notification_message %}{% blocktrans %}Email address {{ deleted_email }} has been removed from your account.{% endblocktrans %}{% endblock notification_message %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Email Removed{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,9 @@
|
||||
{% extends "account/email/base_message.txt" %}
|
||||
{% load account %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}{% autoescape off %}{% blocktranslate %}Your sign-in code is listed below. Please enter it in your open browser window.{% endblocktranslate %}{% endautoescape %}
|
||||
|
||||
{{ code }}
|
||||
|
||||
{% blocktranslate %}This mail can be safely ignored if you did not initiate this action.{% endblocktranslate %}{% endblock content %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Sign-In Code{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% extends "account/email/base_notification.txt" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block notification_message %}{% blocktrans %}Your password has been changed.{% endblocktrans %}{% endblock notification_message %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Password Changed{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,9 @@
|
||||
{% extends "account/email/base_message.txt" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}{% autoescape off %}{% blocktrans %}You're receiving this email because you or someone else has requested a password reset for your user account.
|
||||
It can be safely ignored if you did not request a password reset. Click the link below to reset your password.{% endblocktrans %}
|
||||
|
||||
{{ password_reset_url }}{% if username %}
|
||||
|
||||
{% blocktrans %}In case you forgot, your username is {{ username }}.{% endblocktrans %}{% endif %}{% endautoescape %}{% endblock content %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Password Reset Email{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% extends "account/email/base_notification.txt" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block notification_message %}{% blocktrans %}Your password has been reset.{% endblocktrans %}{% endblock notification_message %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Password Reset{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% extends "account/email/base_notification.txt" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block notification_message %}{% blocktrans %}Your password has been set.{% endblocktrans %}{% endblock notification_message %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Password Set{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,10 @@
|
||||
{% extends "account/email/base_message.txt" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}{% autoescape off %}{% blocktranslate %}You are receiving this email because you, or someone else, tried to access an account with email {{ email }}. However, we do not have any record of such an account in our database.{% endblocktranslate %}
|
||||
|
||||
{% blocktranslate %}This mail can be safely ignored if you did not initiate this action.{% endblocktranslate %}
|
||||
|
||||
{% blocktranslate %}If it was you, you can sign up for an account using the link below.{% endblocktranslate %}
|
||||
|
||||
{{ signup_url }}{% endautoescape %}{% endblock content %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n %}
|
||||
{% autoescape off %}
|
||||
{% blocktrans %}Unknown Account{% endblocktrans %}
|
||||
{% endautoescape %}
|
||||
@@ -0,0 +1,91 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Manage Email Address" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Manage Email Section Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.webp' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.webp' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Manage Email Address" %}</h3>
|
||||
</div>
|
||||
{% if not emailaddresses %}
|
||||
<div class="alert alert-warning">
|
||||
{% include "account/snippets/warn_no_email.html" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% url 'account_email' as action_url %}
|
||||
<form method="post" action="{{ action_url }}">
|
||||
{% csrf_token %}
|
||||
|
||||
{% if current_emailaddress %}
|
||||
<div class="mb-4">
|
||||
<label class="form-label">{% trans "Current Email:" %}</label>
|
||||
<input type="email" class="form-control" value="{{ current_emailaddress.email }}" disabled>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if new_emailaddress %}
|
||||
<div class="mb-4">
|
||||
<label class="form-label">
|
||||
{% if not current_emailaddress %}
|
||||
{% trans "Current Email:" %}
|
||||
{% else %}
|
||||
{% trans "Changing To:" %}
|
||||
{% endif %}
|
||||
</label>
|
||||
<input type="email" class="form-control" value="{{ new_emailaddress.email }}" disabled>
|
||||
<small class="form-text text-muted">{% trans "Your email address is still pending verification." %}</small>
|
||||
<div class="d-flex gap-2 mt-2">
|
||||
<button form="pending-email" type="submit" name="action_send" class="btn btn-secondary">{% trans "Re-send Verification" %}</button>
|
||||
{% if current_emailaddress %}
|
||||
<button form="pending-email" type="submit" name="action_remove" class="btn btn-danger">{% trans "Cancel Change" %}</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="mb-4">
|
||||
<label for="email" class="form-label">{% trans "Change To:" %}</label>
|
||||
<input id="email" name="email" type="email" class="form-control" value="{{ form.email.value }}">
|
||||
{% if form.email.errors %}
|
||||
<div class="text-danger">{{ form.email.errors }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<button type="submit" name="action_add" class="btn btn-primary">{% trans "Change Email" %}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% if new_emailaddress %}
|
||||
<form style="display: none" id="pending-email" method="post" action="{% url 'account_email' %}">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="email" value="{{ new_emailaddress.email }}">
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Manage Email Section End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,70 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load account allauth %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Confirm Email Address" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Email Confirmation Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.webp' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.webp' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Confirm Email Address" %}</h3>
|
||||
</div>
|
||||
|
||||
{% if confirmation %}
|
||||
{% user_display confirmation.email_address.user as user_display %}
|
||||
{% if can_confirm %}
|
||||
<p>
|
||||
{% blocktrans with confirmation.email_address.email as email %}
|
||||
Please confirm that <a href="mailto:{{ email }}">{{ email }}</a> is an email address for user {{ user_display }}.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% url 'account_confirm_email' confirmation.key as action_url %}
|
||||
<form method="post" action="{{ action_url }}">
|
||||
{% csrf_token %}
|
||||
{{ redirect_field }}
|
||||
<div class="group-form mb-0">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{% trans "Confirm" %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
{% else %}
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
Unable to confirm {{ email }} because it is already confirmed by a different account.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% url 'account_email' as email_url %}
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
This email confirmation link expired or is invalid. Please <a href="{{ email_url }}">issue a new email confirmation request</a>.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Email Confirmation End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,66 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Sign In" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Login Start-->
|
||||
<div class="auth-main">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.png' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo.png' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Welcome to Creative School" %}</h3>
|
||||
<h6>{% trans "Don't have an account?" %} <a class="font-primary" href="{{ signup_url }}">{% trans "Create an account" %}</a></h6>
|
||||
</div>
|
||||
{% if not SOCIALACCOUNT_ONLY %}
|
||||
{% url 'account_login' as login_url %}
|
||||
<form method="post" action="{{ login_url }}">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="id_login">{% trans "Email" %}</label>
|
||||
<input class="form-control" type="email" name="login" id="id_login" placeholder="{% trans 'Enter Your Email' %}" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="id_password">{% trans "Password" %}</label>
|
||||
<div class="input-group group-input">
|
||||
<input class="form-control showhide-password" type="password" name="password" id="id_password" placeholder="{% trans 'Enter Your Password' %}" required>
|
||||
<span class="input-group-text toggle-show bi bi-eye"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mb-0">
|
||||
<div class="auth-remember">
|
||||
<div class="form-check custom-chek">
|
||||
<input class="form-check-input" id="remember" type="checkbox" name="remember">
|
||||
<label class="form-check-label" for="remember">{% trans "Remember Me" %}</label>
|
||||
</div>
|
||||
<a class="font-primary f-pwd" href="{% url 'account_reset_password' %}">{% trans "Forgot your password?" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button class="btn btn-primary" type="submit">
|
||||
<i class="bi bi-sign-in"></i> {% trans "Login" %}
|
||||
</button>
|
||||
</div>
|
||||
{{ redirect_field }}
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Login End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% if PASSKEY_LOGIN_ENABLED %}
|
||||
{% include "mfa/webauthn/snippets/login_script.html" with button_id="passkey_login" %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,47 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Sign Out" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Sign Out Section Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.webp' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.webp' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Sign Out" %}</h3>
|
||||
</div>
|
||||
<p class="mb-4">{% trans 'Are you sure you want to sign out?' %}</p>
|
||||
{% url 'account_logout' as action_url %}
|
||||
<form method="post" action="{{ action_url }}">
|
||||
{% csrf_token %}
|
||||
{{ redirect_field }}
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{% trans 'Sign Out' %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Sign Out Section End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}You have confirmed {{email}}.{% endblocktrans %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}Removed email address {{email}}.{% endblocktrans %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load account %}
|
||||
{% load i18n %}
|
||||
{% user_display user as name %}
|
||||
{% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}You have signed out.{% endblocktrans %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}A sign-in code has been mailed to {{email}}.{% endblocktrans %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}Password successfully changed.{% endblocktrans %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}Password successfully set.{% endblocktrans %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}Primary email address set.{% endblocktrans %}
|
||||
@@ -0,0 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% blocktrans %}Your primary email address must be verified.{% endblocktrans %}
|
||||
@@ -0,0 +1,65 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Change Password" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Change Password Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.webp' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.webp' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Change Your Password" %}</h3>
|
||||
<p>{% trans "To enhance the security of your account, we recommend updating your password periodically." %}</p>
|
||||
</div>
|
||||
<div class="auth-form">
|
||||
{% url 'account_change_password' as action_url %}
|
||||
<form method="post" action="{{ action_url }}">
|
||||
{% csrf_token %}
|
||||
{{ redirect_field }}
|
||||
<div class="group-form">
|
||||
{% for field in form %}
|
||||
<div class="mb-3">
|
||||
{{ field.label_tag }}
|
||||
{{ field }}
|
||||
{% if field.errors %}
|
||||
<div class="text-danger">{{ field.errors }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="group-form">
|
||||
<button class="btn btn-primary w-100" type="submit">
|
||||
{% trans "Change Password" %}
|
||||
</button>
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
<a href="{% url 'account_reset_password' %}" class="text-secondary">
|
||||
{% trans "Forgot Password?" %}
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Change Password End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,54 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Forgot Password" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Password Reset Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.png' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.png' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Forgot Password?" %}</h3>
|
||||
<p>{% trans "Enter your email and we'll send you a link to reset your password." %}</p>
|
||||
</div>
|
||||
{% if user.is_authenticated %}
|
||||
{% include "account/snippets/already_logged_in.html" %}
|
||||
{% else %}
|
||||
{% url 'account_reset_password' as reset_url %}
|
||||
<form method="post" action="{{ reset_url }}">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="id_email">{% trans "Email" %}</label>
|
||||
<input class="form-control" type="email" name="email" id="id_email" placeholder="{% trans 'Enter your email' %}" required>
|
||||
</div>
|
||||
<div class="group-form mb-0">
|
||||
<button class="btn btn-primary" type="submit">
|
||||
<i class="bi bi-key"></i> {% trans "Send Reset Link" %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Password Reset End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,45 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Password Reset" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Password Reset Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.webp' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.webp' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Password Reset" %}</h3>
|
||||
</div>
|
||||
{% if user.is_authenticated %}
|
||||
{% include "account/snippets/already_logged_in.html" %}
|
||||
{% else %}
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
We have sent you an email. If you have not received it, please check your spam folder. Otherwise, contact us if you do not receive it in a few minutes.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Password Reset End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,75 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Change Password" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Change Password Section Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.webp' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.webp' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>
|
||||
{% if token_fail %}
|
||||
{% trans "Bad Token" %}
|
||||
{% else %}
|
||||
{% trans "Change Password" %}
|
||||
{% endif %}
|
||||
</h3>
|
||||
</div>
|
||||
{% 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 %}
|
||||
{% url 'account_set_password' as action_url %}
|
||||
<form method="post" action="{{ action_url }}">
|
||||
{% csrf_token %}
|
||||
{{ redirect_field }}
|
||||
<div class="mb-4">
|
||||
{% for field in form.visible_fields %}
|
||||
<div class="form-group">
|
||||
{{ field.label_tag }}
|
||||
{{ field }}
|
||||
{% if field.help_text %}
|
||||
<small class="form-text text-muted">{{ field.help_text }}</small>
|
||||
{% endif %}
|
||||
{% for error in field.errors %}
|
||||
<div class="text-danger">{{ error }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<button type="submit" name="action" class="btn btn-primary">
|
||||
{% trans 'Change Password' %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Change Password Section End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,37 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Change Password" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Change Password Confirmation Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.webp' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.webp' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Change Password" %}</h3>
|
||||
</div>
|
||||
<p>{% trans "Your password is now changed." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Change Password Confirmation End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,60 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Set Password" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Set Password Section Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.webp' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.webp' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Set Password" %}</h3>
|
||||
</div>
|
||||
{% url 'account_set_password' as action_url %}
|
||||
<form method="post" action="{{ action_url }}">
|
||||
{% csrf_token %}
|
||||
{{ redirect_field }}
|
||||
<div class="mb-4">
|
||||
{% for field in form.visible_fields %}
|
||||
<div class="form-group">
|
||||
{{ field.label_tag }}
|
||||
{{ field }}
|
||||
{% if field.help_text %}
|
||||
<small class="form-text text-muted">{{ field.help_text }}</small>
|
||||
{% endif %}
|
||||
{% for error in field.errors %}
|
||||
<div class="text-danger">{{ error }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<button type="submit" name="action" class="btn btn-primary">
|
||||
{% trans 'Set Password' %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Set Password Section End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,22 @@
|
||||
{% extends "account/base_reauthenticate.html" %}
|
||||
{% load allauth %}
|
||||
{% load i18n %}
|
||||
{% block reauthenticate_content %}
|
||||
{% element p %}
|
||||
{% blocktranslate %}Enter your password:{% endblocktranslate %}
|
||||
{% endelement %}
|
||||
{% url 'account_reauthenticate' as action_url %}
|
||||
{% element form form=form method="post" action=action_url %}
|
||||
{% slot body %}
|
||||
{% csrf_token %}
|
||||
{% element fields form=form unlabeled=True %}
|
||||
{% endelement %}
|
||||
{{ redirect_field }}
|
||||
{% endslot %}
|
||||
{% slot actions %}
|
||||
{% element button type="submit" tags="primary,reauthenticate" %}
|
||||
{% trans "Confirm" %}
|
||||
{% endelement %}
|
||||
{% endslot %}
|
||||
{% endelement %}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,32 @@
|
||||
{% extends "account/base_entrance.html" %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
{% block head_title %}
|
||||
{% translate "Sign In" %}
|
||||
{% endblock head_title %}
|
||||
{% block content %}
|
||||
{% element h1 %}
|
||||
{% translate "Mail me a sign-in code" %}
|
||||
{% endelement %}
|
||||
{% element p %}
|
||||
{% blocktranslate %}You will receive an email containing a special code for a password-free sign-in.{% endblocktranslate %}
|
||||
{% endelement %}
|
||||
{% url 'account_request_login_code' as login_url %}
|
||||
{% element form form=form method="post" action=login_url tags="entrance,login" %}
|
||||
{% slot body %}
|
||||
{% csrf_token %}
|
||||
{% element fields form=form unlabeled=True %}
|
||||
{% endelement %}
|
||||
{{ redirect_field }}
|
||||
{% endslot %}
|
||||
{% slot actions %}
|
||||
{% element button type="submit" tags="prominent,login" %}
|
||||
{% translate "Request Code" %}
|
||||
{% endelement %}
|
||||
{% endslot %}
|
||||
{% endelement %}
|
||||
{% url 'account_login' as login_url %}
|
||||
{% element button href=login_url tags="link" %}
|
||||
{% translate "Other sign-in options" %}
|
||||
{% endelement %}
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,97 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Sign Up" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Signup Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.png' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.png' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Create your account" %}</h3>
|
||||
<h6>{% trans "Already have an account?" %} <a class="font-primary" href="{% url 'account_login' %}">{% trans "Login here" %}</a></h6>
|
||||
</div>
|
||||
{% if not SOCIALACCOUNT_ONLY %}
|
||||
{% url 'account_signup' as signup_url %}
|
||||
<form method="post" action="{{ signup_url }}">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="id_email">{% trans "Email" %}</label>
|
||||
<input class="form-control" type="email" name="email" id="id_email" placeholder="{% trans 'Enter Your Email' %}" required>
|
||||
{% if form.email.errors %}
|
||||
<div class="alert alert-danger">
|
||||
{{ form.email.errors }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="id_username">{% trans "Username" %}</label>
|
||||
<input class="form-control" type="text" name="username" id="id_username" placeholder="{% trans 'Enter Your Username' %}" required>
|
||||
{% if form.username.errors %}
|
||||
<div class="alert alert-danger">
|
||||
{{ form.username.errors }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="id_password1">{% trans "Password" %}</label>
|
||||
<div class="input-group group-input">
|
||||
<input class="form-control showhide-password" type="password" name="password1" id="id_password1" placeholder="{% trans 'Enter Your Password' %}" required>
|
||||
<span class="input-group-text toggle-show bi bi-eye"></span>
|
||||
</div>
|
||||
{% if form.password1.errors %}
|
||||
<div class="alert alert-danger">
|
||||
{{ form.password1.errors }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="id_password2">{% trans "Confirm Password" %}</label>
|
||||
<input class="form-control" type="password" name="password2" id="id_password2" placeholder="{% trans 'Confirm Your Password' %}" required>
|
||||
{% if form.password2.errors %}
|
||||
<div class="alert alert-danger">
|
||||
{{ form.password2.errors }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="form-group mb-0">
|
||||
<div class="auth-remember">
|
||||
<div class="form-check custom-chek">
|
||||
<input class="form-check-input" id="agree" type="checkbox" required>
|
||||
<label class="form-check-label" for="agree">{% trans "I Agree Terms and conditions" %}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button class="btn btn-primary" type="submit">
|
||||
<i class="bi bi-paper-plane"></i> {% trans "Register" %}
|
||||
</button>
|
||||
</div>
|
||||
{{ redirect_field }}
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Signup End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,38 @@
|
||||
{% extends "account/base_entrance.html" %}
|
||||
{% load allauth i18n %}
|
||||
{% block head_title %}
|
||||
{% trans "Signup" %}
|
||||
{% endblock head_title %}
|
||||
{% block content %}
|
||||
{% element h1 %}
|
||||
{% trans "Passkey Sign Up" %}
|
||||
{% endelement %}
|
||||
{% setvar link %}
|
||||
<a href="{{ login_url }}">
|
||||
{% endsetvar %}
|
||||
{% setvar end_link %}
|
||||
</a>
|
||||
{% endsetvar %}
|
||||
{% element p %}
|
||||
{% blocktranslate %}Already have an account? Then please {{ link }}sign in{{ end_link }}.{% endblocktranslate %}
|
||||
{% endelement %}
|
||||
{% url 'account_signup_by_passkey' as action_url %}
|
||||
{% element form form=form method="post" action=action_url tags="entrance,signup" %}
|
||||
{% slot body %}
|
||||
{% csrf_token %}
|
||||
{% element fields form=form unlabeled=True %}
|
||||
{% endelement %}
|
||||
{{ redirect_field }}
|
||||
{% endslot %}
|
||||
{% slot actions %}
|
||||
{% element button tags="prominent,signup" type="submit" %}
|
||||
{% trans "Sign Up" %}
|
||||
{% endelement %}
|
||||
{% endslot %}
|
||||
{% endelement %}
|
||||
{% element hr %}
|
||||
{% endelement %}
|
||||
{% element button href=signup_url tags="prominent,signup,outline,primary" %}
|
||||
{% trans "Other options" %}
|
||||
{% endelement %}
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,14 @@
|
||||
{% extends "account/base_entrance.html" %}
|
||||
{% load i18n %}
|
||||
{% load allauth %}
|
||||
{% block head_title %}
|
||||
{% trans "Sign Up Closed" %}
|
||||
{% endblock head_title %}
|
||||
{% block content %}
|
||||
{% element h1 %}
|
||||
{% trans "Sign Up Closed" %}
|
||||
{% endelement %}
|
||||
{% element p %}
|
||||
{% trans "We are sorry, but the sign up is currently closed." %}
|
||||
{% endelement %}
|
||||
{% endblock content %}
|
||||
@@ -0,0 +1,9 @@
|
||||
{% load i18n %}
|
||||
{% load account %}
|
||||
{% load allauth %}
|
||||
{% user_display user as user_display %}
|
||||
{% element alert %}
|
||||
{% slot message %}
|
||||
<strong>{% blocktranslate %}Note{% endblocktranslate %}:</strong> {% blocktranslate %}You are already logged in as {{ user_display }}.{% endblocktranslate %}
|
||||
{% endslot %}
|
||||
{% endelement %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% load i18n allauth %}
|
||||
{% element p %}
|
||||
<strong>{% trans 'Warning:' %}</strong> {% trans "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." %}
|
||||
{% endelement %}
|
||||
@@ -0,0 +1,38 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load allauth account %}
|
||||
|
||||
{% block head_title %}
|
||||
{% trans "Verify Email Address" %}
|
||||
{% endblock head_title %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Email Verification Start -->
|
||||
<section class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="codex-authbox">
|
||||
<div class="auth-header">
|
||||
<div class="codex-brand">
|
||||
<a href="{% url 'main:home' %}">
|
||||
<img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.png' %}" alt="logo">
|
||||
<img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.png' %}" alt="logo">
|
||||
</a>
|
||||
</div>
|
||||
<h3>{% trans "Verify Your Email Address" %}</h3>
|
||||
<p>{% trans "We have sent you an email for verification. Follow the link provided to complete the sign-up process. If you do not see the verification email in your primary inbox, check your spam folder." %}</p>
|
||||
</div>
|
||||
<p>{% trans "Please contact us if you do not receive the verification email within a few minutes." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Email Verification End -->
|
||||
{% endblock content %}
|
||||
|
||||
{% block extra_body %}
|
||||
{{ block.super }}
|
||||
{% endblock extra_body %}
|
||||
@@ -0,0 +1,25 @@
|
||||
{% extends "account/base_manage.html" %}
|
||||
{% load i18n %}
|
||||
{% load allauth %}
|
||||
{% block head_title %}
|
||||
{% trans "Verify Your Email Address" %}
|
||||
{% endblock head_title %}
|
||||
{% block content %}
|
||||
{% element h1 %}
|
||||
{% trans "Verify Your Email Address" %}
|
||||
{% endelement %}
|
||||
{% url 'account_email' as email_url %}
|
||||
{% element 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 email address. {% endblocktrans %}
|
||||
{% endelement %}
|
||||
{% element p %}
|
||||
{% blocktrans %}We have sent an email to you for
|
||||
verification. Please click on the link inside that email. If you do not see the verification email in your main inbox, check your spam folder. Otherwise
|
||||
contact us if you do not receive it within a few minutes.{% endblocktrans %}
|
||||
{% endelement %}
|
||||
{% element p %}
|
||||
{% blocktrans %}<strong>Note:</strong> you can still <a href="{{ email_url }}">change your email address</a>.{% endblocktrans %}
|
||||
{% endelement %}
|
||||
{% endblock content %}
|
||||
Executable
+443
@@ -0,0 +1,443 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content="Creative Schools, the best education platform">
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.6.3.min.js' %}" integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU=" crossorigin="anonymous"></script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.8.3/font/bootstrap-icons.min.css">
|
||||
<!-- favicon-->
|
||||
<link rel="shortcut icon" type="image/png" href="{% static 'main/assets/images/logo/favicon.png' %}">
|
||||
<!-- google fonts-->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet">
|
||||
<!-- font awesome css-->
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'main/assets/css/vendor/font-awesome.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'main/assets/css/vendor/themify-icons.css' %}">
|
||||
<!-- animate css-->
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'main/assets/css/vendor/animate.css' %}">
|
||||
<!-- magnific popup css-->
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'main/assets/css/vendor/magnific-popup.css' %}">
|
||||
<!-- simplebar css-->
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'main/assets/css/vendor/simplebar.css' %}">
|
||||
<!-- fancybox css-->
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'main/assets/css/vendor/fancybox.css' %}">
|
||||
<!-- nice select css-->
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'main/assets/css/vendor/nice-select.css' %}">
|
||||
<!-- sal css-->
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'main/assets/css/vendor/sal.css' %}">
|
||||
<!-- swiper css-->
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'main/assets/css/vendor/swiper-bundle.min.css' %}">
|
||||
<!-- tailwindcss css -->
|
||||
<!-- main css-->
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'main/assets/css/style.css' %}">
|
||||
{% block headblock %}{% endblock %}
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- loader start-->
|
||||
<div class="codex-loader">
|
||||
<div class="loader">
|
||||
<div class="loader-item1"></div>
|
||||
<div class="loader-item2"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- loader end-->
|
||||
<!-- header start-->
|
||||
<div class="top-header">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12 md:col-span-7">
|
||||
<div class="header-left">
|
||||
<ul class="header-list">
|
||||
<li><a href="tel:38012365XXXXX"><i class="bi bi-telephone"></i>+213 799 71 96 19</a></li>
|
||||
<li><a href="mailto:info@example.com"><i class="bi bi-envelope"></i>info@creativeschools.net</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-12 md:col-span-5">
|
||||
<div class="header-right">
|
||||
<ul class="header-list">
|
||||
<li>
|
||||
<select class="dropselect">
|
||||
<option value="1">English</option>
|
||||
<option value="2">French</option>
|
||||
<option value="3">Arabic</option>
|
||||
|
||||
</select>
|
||||
</li>
|
||||
{% if user.is_authenticated %}
|
||||
<li><a href="{% url 'account_logout' %}"><i class="bi bi-box-arrow-left"></i></i>Logout</a></li>
|
||||
<li><a href="#"><i class="bi bi-speedometer2"></i>Dashboard</a></li>
|
||||
{% else %}
|
||||
<li><a href="{% url 'account_login' %}"><i class="bi bi-box-arrow-right"></i>Login</a></li>
|
||||
<li><a href="{% url 'account_signup' %}"><i class="bi bi-person-fill"></i>Register</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<header>
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12">
|
||||
<div class="col-span-12">
|
||||
<div class="header-contain position-relative">
|
||||
<div class="codex-brand"><a href="index.html"><img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.png' %}" alt="logo"><img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.png' %}" alt=""></a></div>
|
||||
<div class="menu-block">
|
||||
<div class="cdx-layer menu-layer"></div>
|
||||
<ul class="menu-list">
|
||||
<li class="lg:hidden">
|
||||
<a class="close-menu" href="javascript:void(0);">
|
||||
<div class="menu-brand"><img class="img-fluid light-logo" src="{% static 'main/assets/images/logo/logo.png' %}" alt="logo"><img class="img-fluid dark-logo" src="{% static 'main/assets/images/logo/logo-light.png' %}" alt=""><i data-feather="x"></i></div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="menu-item"><a href="{% url 'main:home' %}">Home</a>
|
||||
|
||||
</li>
|
||||
<li class="menu-item"><a href="{% url 'main:about' %}">About Us</a>
|
||||
|
||||
</li>
|
||||
<li class="menu-item"><a href="javascript:void(0);">Categories<i class="bi bi-chevron-down"></i></a>
|
||||
<ul class="submenu-list">
|
||||
{% for category in parent_categories %}
|
||||
<li><a href="courses.html">{{category.title}}</a></li>
|
||||
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
<li class="menu-item"><a href="{% url 'main:events' %}">Events</a>
|
||||
|
||||
</li>
|
||||
<li class="menu-item"><a href="{% url 'blog:articles' %}">Blog</a>
|
||||
|
||||
</li>
|
||||
<li class="menu-item"><a href="{% url 'main:contact' %}">Contact</a>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="nav-iconlist">
|
||||
<ul>
|
||||
<li class="search-toggle"><i data-feather="search"></i></li>
|
||||
<li><a href="javascript:void(0);"><i data-feather="shopping-cart"></i></a>
|
||||
<div class="cart-dropdown">
|
||||
<ul class="dropdown-list" data-simplebar>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/1.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/2.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/3.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/4.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/5.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/6.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="button-group"><a class="btn btn-primary btn-md" href="{% url 'cart:cart_summary' %}">view cart</a><a class="btn btn-primary btn-md ms-3" href="{% url 'cart:order' %}">Checkout</a></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="javascript:void(0);"><i data-feather="heart"></i></a>
|
||||
<div class="cart-dropdown">
|
||||
<ul class="dropdown-list" data-simplebar>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/1.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/2.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/3.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/4.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/5.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/course/6.webp' %}" alt="">
|
||||
<div class="media-body">
|
||||
<h6><a href="javascrip:void(0);">Learn Angular</a></h6><span>
|
||||
<del>$230</del>$140</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="close-pro"><i class="bi bi-x"></i></div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="button-group"><a class="btn btn-primary btn-md" href="{% url 'cart:wishlist' %}">view wishlist</a><a class="btn btn-primary btn-md ms-3" href="#">Add to cart</a></div>
|
||||
</div>
|
||||
</li>
|
||||
</ul><a class="btn btn-primary" href="{% url 'cart:plans' %}"><i class="bi bi-plus-circle"></i>Add Plan</a><a class="menu-action" href="javascript:void(0);"><span></span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="search-bar">
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" placeholder="What do you want to get course?">
|
||||
<div class="input-group-text"><a class="btn btn-primary" href="javascript:void(0);">search now</a></div>
|
||||
</div>
|
||||
<div class="clsoe-search"><i class="bi bi-x"></i></div>
|
||||
</div>
|
||||
<!-- header end-->
|
||||
{% block content %}{% endblock %}
|
||||
<!-- footer start -->
|
||||
<footer class="space-py-100">
|
||||
<div class="container">
|
||||
<div class="grid grid-cols-12 footer-row">
|
||||
<div class="col-span-12 md:col-span-6 lg:col-span-4" data-sal-delay="100" data-sal="slide-up" data-sal-duration="800">
|
||||
<div class="footer-grid wow fadeInUp">
|
||||
<div class="codex-brand"><a href="Javascript:void(0)"><img class="img-fluid" src="{% static 'main/assets/images/logo/logo-light.png' %}" alt=""></a></div>
|
||||
<p>Get unlimited access to 17,000+ of Creative Schools’s top courses for your team. Learn and improve skills across business, tech, design, and more.</p>
|
||||
<ul class="footer-contact">
|
||||
<li><a href="javascript:void(0);"><i class="bi bi-geo-alt"></i>Cité DOUZI 03, N° 246 Sorecal, Bab Ezzouar, Algeria
|
||||
</a></li>
|
||||
<li><a href="tel:+38012365XXXXX"><i class="bi bi-telephone"></i>+213 799 96 71 19</a></li>
|
||||
<li><a href="mailto:support@example.com"><i class="bi bi-envelope"></i>info@creativeschools.net</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-12 md:col-span-6 lg:col-span-2" data-sal-delay="200" data-sal="slide-up" data-sal-duration="800">
|
||||
<div class="footer-grid wow fadeInUp">
|
||||
<h4>Quick Links</h4>
|
||||
<ul class="footer-list">
|
||||
<li><a href="about-us.html"><i class="bi bi-chevron-right"></i>About Us</a></li>
|
||||
<li><a href="instructors.html"><i class="bi bi-chevron-right"></i>Our Team</a></li>
|
||||
<li><a href="terms-service.html"><i class="bi bi-chevron-right"></i>Terms Of Service</a></li>
|
||||
<li><a href="privacy-policy.html"><i class="bi bi-chevron-right"></i>Privacy policy</a></li>
|
||||
<li><a href="Javascript:void(0)"><i class="bi bi-chevron-right"></i>Our Services</a></li>
|
||||
<li><a href="blog.html"><i class="bi bi-chevron-right"></i>Latest Blog</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-12 md:col-span-6 lg:col-span-2" data-sal-delay="300" data-sal="slide-up" data-sal-duration="800">
|
||||
<div class="footer-grid wow fadeInUp">
|
||||
<h4>Support</h4>
|
||||
<ul class="footer-list">
|
||||
<li><a href="contact.html"><i class="bi bi-chevron-right"></i>Online Support</a></li>
|
||||
<li><a href="faqs.html"><i class="bi bi-chevron-right"></i>FAQs</a></li>
|
||||
<li><a href="Javascript:void(0)"><i class="bi bi-chevron-right"></i>Feedback</a></li>
|
||||
<li><a href="contact.html"><i class="bi bi-chevron-right"></i>24/7 Service</a></li>
|
||||
<li><a href="contact.html"><i class="bi bi-chevron-right"></i>Make Call</a></li>
|
||||
<li><a href="contact.html"><i class="bi bi-chevron-right"></i>Contact Support</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-12 md:col-span-6 lg:col-span-4" data-sal-delay="400" data-sal="slide-up" data-sal-duration="800">
|
||||
<div class="footer-grid wow fadeInUp">
|
||||
<h4>Newsletter</h4>
|
||||
<p>Subscribe Our Newsletter To Get First Latest Update And News</p>
|
||||
<form>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="email" placeholder="Your Email" required><span class="input-group-text">
|
||||
<button class="btn btn-primary" type="submit"><i class="bi bi-send"></i>Subscribe</button></span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="follow-us wow fadeInUp">
|
||||
<h6>Follow Us:</h6>
|
||||
<ul class="footer-social">
|
||||
<li><a href="javascript:void(0);"><i class="bi bi-facebook"></i></a></li>
|
||||
<li><a href="javascript:void(0);"><i class="bi bi-instagram"></i></a></li>
|
||||
<li><a href="javascript:void(0);"><i class="bi bi-youtube"></i></a></li>
|
||||
<li><a href="javascript:void(0);"><i class="bi bi-linkedin"></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="follow-us wow fadeInUp">
|
||||
<h6>Download our mobile app: </h6>
|
||||
</div>
|
||||
|
||||
<div class="andro_footer-buttons">
|
||||
|
||||
<a href="#"> <img src="{% static 'main/assets/images/android.png' %}" alt="download it on the app store"></a>
|
||||
<a href="#"> <img src="{% static 'main/assets/images/ios.png' %}" alt="download it on the app store"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Tap To Top Start--><a class="scroll-top" href="Javascript:void(0)"><i class="bi bi-chevron-double-up"></i></a>
|
||||
<!-- Tap To Top End-->
|
||||
</footer>
|
||||
<div class="subfooter">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="footer-contain">
|
||||
<p class="wow fadeInLeft" data-sal-delay="100" data-sal="slide-right" data-sal-duration="800">© Copyright <a href="javascript:void(0);">Creative Schools</a> All Rights Reserved.</p>
|
||||
<ul class="wow fadeInRight" data-sal-delay="200" data-sal="slide-left" data-sal-duration="800">
|
||||
<li><a href="contact.html">Support</a></li>
|
||||
<li><a href="terms-service.html">Terms Of Services</a></li>
|
||||
<li><a href="privacy-policy.html">Privacy Policy</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- footer end-->
|
||||
<!-- chat bar start-->
|
||||
<div class="livechat-bar">
|
||||
<div class="chat-toggle"><a href="javascript:void(0);"><i data-feather="message-circle"></i></a></div>
|
||||
<div class="livechat-box">
|
||||
<div class="chat-header">
|
||||
<div class="chat-logo"><img class="img-fluid" src="{% static 'main/assets/images/logo/favicon.png' %}" alt="favicon"></div>
|
||||
<h6>live chat</h6><a class="close-chat" href="javascript:void(0);"><i data-feather="x"> </i></a>
|
||||
</div>
|
||||
<div class="chat-body" id="scrollbottom" data-simplebar>
|
||||
<ul class="chat-list">
|
||||
<li>
|
||||
<div class="user-chat">
|
||||
<div class="chat-contain">
|
||||
<div class="media"><img class="img-fluid" src="{% static 'main/assets/images/logo/favicon.png' %}" alt="favicon">
|
||||
<div class="media-body">
|
||||
<h6 class="admintitle">Creative Schools helper</h6>
|
||||
<p>Have a question? Please send the message, and our Creative Schools Helper will gladly help you!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="chat-footer">
|
||||
<div class="input-group">
|
||||
<input class="form-control write-message" type="text" placeholder="Type Your Message">
|
||||
<div class="input-group-text send-message"><i data-feather="send"></i></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- chat bar end-->
|
||||
<!-- cookie start-->
|
||||
<div class="cookie-grid">
|
||||
<p>We use cookies to make interactions with our websites and services easy and meaningful. For more information about the cookies we use or to find out how you can disable cookies, <a href="privacy-policy.html">click here.</a></p><a class="btn btn-primary btn-sm"
|
||||
href="javascript:void(0)">accept</a><a class="btn btn-primary btn-sm" href="javascript:void(0)">decline</a>
|
||||
</div>
|
||||
<!-- cookie end-->
|
||||
<!-- Cyber monday modal start-->
|
||||
<div class="modal theme-modal cyber-monday festival-popup">
|
||||
<div class="modal-content">
|
||||
<div class="btn-close"><i class="bi bi-x"></i></div>
|
||||
<div class="modal-body"> <img class="img-fluid img-src" src="{% static 'main/assets/images/popup-bg/2.webp' %}" alt="">
|
||||
<div>
|
||||
<h2>Happy</h2>
|
||||
<h3>New Year</h3>
|
||||
<h4>save 60% off</h4><a class="btn btn-primary" href="javascript:void(0);">enroll now</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Cyber monday modal end-->
|
||||
<!-- jQuery js-->
|
||||
<script src="{% static 'main/assets/js/jquery-3.6.0.min.js' %}"></script>
|
||||
<!-- feather icon-->
|
||||
<script src="{% static 'main/assets/js/feather.min.js' %}"></script>
|
||||
<!-- swiper js-->
|
||||
<script src="{% static 'main/assets/js/swiper-bundle.min.js' %}"></script>
|
||||
<script src="{% static 'main/assets/js/swiper-custom.js' %}"></script>
|
||||
<!-- magnific popup js-->
|
||||
<script src="{% static 'main/assets/js/magnific-popup.min.js' %}"></script>
|
||||
<!-- modernizr js-->
|
||||
<script src="{% static 'main/assets/js/modernizr.min.js' %}"></script>
|
||||
<!-- nice select js-->
|
||||
<script src="{% static 'main/assets/js/jquery.nice-select.min.js' %}"></script>
|
||||
<!-- custom scrollbar-->
|
||||
<script src="{% static 'main/assets/js/simplebar.js' %}"></script>
|
||||
<!-- custom scrollbar-->
|
||||
<script src="{% static 'main/assets/js/sal.js' %}"></script>
|
||||
<!-- fancybox js-->
|
||||
<script src="{% static 'main/assets/js/fancybox.js' %}"></script>
|
||||
<!-- chat js-->
|
||||
<script src="{% static 'main/assets/js/chat.js' %}"></script>
|
||||
<!-- timer js-->
|
||||
<script src="{% static 'main/assets/js/countdown.js' %}"></script>
|
||||
<!-- custom script js-->
|
||||
<script src="{% static 'main/assets/js/script.js' %}"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user