aboutsummaryrefslogtreecommitdiffstats
path: root/ctrack/templates
diff options
context:
space:
mode:
authorMatthew Lemon <lemon@matthewlemon.com>2020-01-19 15:57:06 +0000
committerMatthew Lemon <lemon@matthewlemon.com>2020-01-19 15:57:06 +0000
commit9d76a3c52b8310726ec09e0262813f0438c21df6 (patch)
tree4acf47dce6c3aa75f8ad7c5cb56fe6486c2d64a7 /ctrack/templates
init commit - from cookiecutter
Diffstat (limited to 'ctrack/templates')
-rw-r--r--ctrack/templates/403.html9
-rw-r--r--ctrack/templates/404.html9
-rw-r--r--ctrack/templates/500.html13
-rw-r--r--ctrack/templates/account/account_inactive.html12
-rw-r--r--ctrack/templates/account/base.html10
-rw-r--r--ctrack/templates/account/email.html80
-rw-r--r--ctrack/templates/account/email_confirm.html32
-rw-r--r--ctrack/templates/account/login.html48
-rw-r--r--ctrack/templates/account/logout.html22
-rw-r--r--ctrack/templates/account/password_change.html17
-rw-r--r--ctrack/templates/account/password_reset.html26
-rw-r--r--ctrack/templates/account/password_reset_done.html17
-rw-r--r--ctrack/templates/account/password_reset_from_key.html25
-rw-r--r--ctrack/templates/account/password_reset_from_key_done.html10
-rw-r--r--ctrack/templates/account/password_set.html17
-rw-r--r--ctrack/templates/account/signup.html23
-rw-r--r--ctrack/templates/account/signup_closed.html12
-rw-r--r--ctrack/templates/account/verification_sent.html13
-rw-r--r--ctrack/templates/account/verified_email_required.html24
-rw-r--r--ctrack/templates/base.html114
-rw-r--r--ctrack/templates/pages/about.html1
-rw-r--r--ctrack/templates/pages/home.html1
-rw-r--r--ctrack/templates/users/user_detail.html36
-rw-r--r--ctrack/templates/users/user_form.html17
24 files changed, 588 insertions, 0 deletions
diff --git a/ctrack/templates/403.html b/ctrack/templates/403.html
new file mode 100644
index 0000000..77db8ae
--- /dev/null
+++ b/ctrack/templates/403.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+
+{% block title %}Forbidden (403){% endblock %}
+
+{% block content %}
+<h1>Forbidden (403)</h1>
+
+<p>CSRF verification failed. Request aborted.</p>
+{% endblock content %}
diff --git a/ctrack/templates/404.html b/ctrack/templates/404.html
new file mode 100644
index 0000000..98327cd
--- /dev/null
+++ b/ctrack/templates/404.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+
+{% block title %}Page not found{% endblock %}
+
+{% block content %}
+<h1>Page not found</h1>
+
+<p>This is not the page you were looking for.</p>
+{% endblock content %}
diff --git a/ctrack/templates/500.html b/ctrack/templates/500.html
new file mode 100644
index 0000000..21df606
--- /dev/null
+++ b/ctrack/templates/500.html
@@ -0,0 +1,13 @@
+{% extends "base.html" %}
+
+{% block title %}Server Error{% endblock %}
+
+{% block content %}
+<h1>Ooops!!! 500</h1>
+
+<h3>Looks like something went wrong!</h3>
+
+<p>We track these errors automatically, but if the problem persists feel free to contact us. In the meantime, try refreshing.</p>
+{% endblock content %}
+
+
diff --git a/ctrack/templates/account/account_inactive.html b/ctrack/templates/account/account_inactive.html
new file mode 100644
index 0000000..17c2157
--- /dev/null
+++ b/ctrack/templates/account/account_inactive.html
@@ -0,0 +1,12 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+
+{% block head_title %}{% trans "Account Inactive" %}{% endblock %}
+
+{% block inner %}
+<h1>{% trans "Account Inactive" %}</h1>
+
+<p>{% trans "This account is inactive." %}</p>
+{% endblock %}
+
diff --git a/ctrack/templates/account/base.html b/ctrack/templates/account/base.html
new file mode 100644
index 0000000..8e1f260
--- /dev/null
+++ b/ctrack/templates/account/base.html
@@ -0,0 +1,10 @@
+{% extends "base.html" %}
+{% block title %}{% block head_title %}{% endblock head_title %}{% endblock title %}
+
+{% block content %}
+<div class="row">
+ <div class="col-md-6 offset-md-3">
+ {% block inner %}{% endblock %}
+ </div>
+</div>
+{% endblock %}
diff --git a/ctrack/templates/account/email.html b/ctrack/templates/account/email.html
new file mode 100644
index 0000000..0dc8d14
--- /dev/null
+++ b/ctrack/templates/account/email.html
@@ -0,0 +1,80 @@
+
+{% extends "account/base.html" %}
+
+{% load i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}{% trans "Account" %}{% endblock %}
+
+{% block inner %}
+<h1>{% trans "E-mail Addresses" %}</h1>
+
+{% if user.emailaddress_set.all %}
+<p>{% trans 'The following e-mail addresses are associated with your account:' %}</p>
+
+<form action="{% url 'account_email' %}" class="email_list" method="post">
+{% csrf_token %}
+<fieldset class="blockLabels">
+
+ {% for emailaddress in user.emailaddress_set.all %}
+<div class="radio">
+ <label for="email_radio_{{forloop.counter}}" class="{% if emailaddress.primary %}primary_email{%endif%}">
+
+ <input id="email_radio_{{forloop.counter}}" type="radio" name="email" {% if emailaddress.primary or user.emailaddress_set.count == 1 %}checked="checked"{%endif %} value="{{emailaddress.email}}"/>
+
+ {{ emailaddress.email }}
+ {% if emailaddress.verified %}
+ <span class="verified">{% trans "Verified" %}</span>
+ {% else %}
+ <span class="unverified">{% trans "Unverified" %}</span>
+ {% endif %}
+ {% if emailaddress.primary %}<span class="primary">{% trans "Primary" %}</span>{% endif %}
+ </label>
+</div>
+ {% endfor %}
+
+<div class="form-group">
+ <button class="secondaryAction btn btn-primary" type="submit" name="action_primary" >{% trans 'Make Primary' %}</button>
+ <button class="secondaryAction btn btn-primary" type="submit" name="action_send" >{% trans 'Re-send Verification' %}</button>
+ <button class="primaryAction btn btn-primary" type="submit" name="action_remove" >{% trans 'Remove' %}</button>
+</div>
+
+</fieldset>
+</form>
+
+{% else %}
+<p><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>
+
+{% endif %}
+
+
+ <h2>{% trans "Add E-mail Address" %}</h2>
+
+ <form method="post" action="{% url 'account_email' %}" class="add_email">
+ {% csrf_token %}
+ {{ form|crispy }}
+ <button class="btn btn-primary" name="action_add" type="submit">{% trans "Add E-mail" %}</button>
+ </form>
+
+{% endblock %}
+
+
+{% block javascript %}
+{{ block.super }}
+<script type="text/javascript">
+(function() {
+ var message = "{% trans '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) {
+ if (! confirm(message)) {
+ e.preventDefault();
+ }
+ });
+ }
+})();
+
+$('.form-group').removeClass('row');
+</script>
+{% endblock %}
+
diff --git a/ctrack/templates/account/email_confirm.html b/ctrack/templates/account/email_confirm.html
new file mode 100644
index 0000000..46c7812
--- /dev/null
+++ b/ctrack/templates/account/email_confirm.html
@@ -0,0 +1,32 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+{% load account %}
+
+{% block head_title %}{% trans "Confirm E-mail Address" %}{% endblock %}
+
+
+{% block inner %}
+<h1>{% trans "Confirm E-mail Address" %}</h1>
+
+{% 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 class="btn btn-primary" type="submit">{% 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 %}
+
+{% endblock %}
+
diff --git a/ctrack/templates/account/login.html b/ctrack/templates/account/login.html
new file mode 100644
index 0000000..2cadea6
--- /dev/null
+++ b/ctrack/templates/account/login.html
@@ -0,0 +1,48 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+{% load account socialaccount %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}{% trans "Sign In" %}{% endblock %}
+
+{% block inner %}
+
+<h1>{% trans "Sign In" %}</h1>
+
+{% get_providers as socialaccount_providers %}
+
+{% if socialaccount_providers %}
+<p>{% blocktrans with site.name as site_name %}Please sign in with one
+of your existing third party accounts. Or, <a href="{{ signup_url }}">sign up</a>
+for a {{ site_name }} account and sign in below:{% endblocktrans %}</p>
+
+<div class="socialaccount_ballot">
+
+ <ul class="socialaccount_providers">
+ {% include "socialaccount/snippets/provider_list.html" with process="login" %}
+ </ul>
+
+ <div class="login-or">{% trans 'or' %}</div>
+
+</div>
+
+{% include "socialaccount/snippets/login_extra.html" %}
+
+{% else %}
+<p>{% blocktrans %}If you have not created an account yet, then please
+<a href="{{ signup_url }}">sign up</a> first.{% endblocktrans %}</p>
+{% endif %}
+
+<form class="login" method="POST" action="{% url 'account_login' %}">
+ {% csrf_token %}
+ {{ form|crispy }}
+ {% if redirect_field_value %}
+ <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
+ {% endif %}
+ <a class="button secondaryAction" href="{% url 'account_reset_password' %}">{% trans "Forgot Password?" %}</a>
+ <button class="primaryAction btn btn-primary" type="submit">{% trans "Sign In" %}</button>
+</form>
+
+{% endblock %}
+
diff --git a/ctrack/templates/account/logout.html b/ctrack/templates/account/logout.html
new file mode 100644
index 0000000..8e2e675
--- /dev/null
+++ b/ctrack/templates/account/logout.html
@@ -0,0 +1,22 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+
+{% block head_title %}{% trans "Sign Out" %}{% endblock %}
+
+{% block inner %}
+<h1>{% trans "Sign Out" %}</h1>
+
+<p>{% trans '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-danger" type="submit">{% trans 'Sign Out' %}</button>
+</form>
+
+
+{% endblock %}
+
diff --git a/ctrack/templates/account/password_change.html b/ctrack/templates/account/password_change.html
new file mode 100644
index 0000000..b72ca06
--- /dev/null
+++ b/ctrack/templates/account/password_change.html
@@ -0,0 +1,17 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}{% trans "Change Password" %}{% endblock %}
+
+{% block inner %}
+ <h1>{% trans "Change Password" %}</h1>
+
+ <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>
+ </form>
+{% endblock %}
+
diff --git a/ctrack/templates/account/password_reset.html b/ctrack/templates/account/password_reset.html
new file mode 100644
index 0000000..845bbda
--- /dev/null
+++ b/ctrack/templates/account/password_reset.html
@@ -0,0 +1,26 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+{% load account %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}{% trans "Password Reset" %}{% endblock %}
+
+{% block inner %}
+
+ <h1>{% trans "Password Reset" %}</h1>
+ {% 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>
+
+ <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>
+
+ <p>{% blocktrans %}Please contact us if you have any trouble resetting your password.{% endblocktrans %}</p>
+{% endblock %}
+
diff --git a/ctrack/templates/account/password_reset_done.html b/ctrack/templates/account/password_reset_done.html
new file mode 100644
index 0000000..c59534a
--- /dev/null
+++ b/ctrack/templates/account/password_reset_done.html
@@ -0,0 +1,17 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+{% load account %}
+
+{% block head_title %}{% trans "Password Reset" %}{% endblock %}
+
+{% block inner %}
+ <h1>{% trans "Password Reset" %}</h1>
+
+ {% 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>
+{% endblock %}
+
diff --git a/ctrack/templates/account/password_reset_from_key.html b/ctrack/templates/account/password_reset_from_key.html
new file mode 100644
index 0000000..4abdb56
--- /dev/null
+++ b/ctrack/templates/account/password_reset_from_key.html
@@ -0,0 +1,25 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+{% load crispy_forms_tags %}
+{% block head_title %}{% trans "Change Password" %}{% endblock %}
+
+{% block inner %}
+ <h1>{% if token_fail %}{% trans "Bad Token" %}{% else %}{% trans "Change Password" %}{% endif %}</h1>
+
+ {% 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 %}
+{% endblock %}
+
diff --git a/ctrack/templates/account/password_reset_from_key_done.html b/ctrack/templates/account/password_reset_from_key_done.html
new file mode 100644
index 0000000..89be086
--- /dev/null
+++ b/ctrack/templates/account/password_reset_from_key_done.html
@@ -0,0 +1,10 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+{% block head_title %}{% trans "Change Password" %}{% endblock %}
+
+{% block inner %}
+ <h1>{% trans "Change Password" %}</h1>
+ <p>{% trans 'Your password is now changed.' %}</p>
+{% endblock %}
+
diff --git a/ctrack/templates/account/password_set.html b/ctrack/templates/account/password_set.html
new file mode 100644
index 0000000..2232223
--- /dev/null
+++ b/ctrack/templates/account/password_set.html
@@ -0,0 +1,17 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}{% trans "Set Password" %}{% endblock %}
+
+{% block inner %}
+ <h1>{% trans "Set Password" %}</h1>
+
+ <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' %}"/>
+ </form>
+{% endblock %}
+
diff --git a/ctrack/templates/account/signup.html b/ctrack/templates/account/signup.html
new file mode 100644
index 0000000..6a2954e
--- /dev/null
+++ b/ctrack/templates/account/signup.html
@@ -0,0 +1,23 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}{% trans "Signup" %}{% endblock %}
+
+{% block inner %}
+<h1>{% trans "Sign Up" %}</h1>
+
+<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>
+
+{% endblock %}
+
diff --git a/ctrack/templates/account/signup_closed.html b/ctrack/templates/account/signup_closed.html
new file mode 100644
index 0000000..2322f17
--- /dev/null
+++ b/ctrack/templates/account/signup_closed.html
@@ -0,0 +1,12 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+
+{% block head_title %}{% trans "Sign Up Closed" %}{% endblock %}
+
+{% block inner %}
+<h1>{% trans "Sign Up Closed" %}</h1>
+
+<p>{% trans "We are sorry, but the sign up is currently closed." %}</p>
+{% endblock %}
+
diff --git a/ctrack/templates/account/verification_sent.html b/ctrack/templates/account/verification_sent.html
new file mode 100644
index 0000000..ad093fd
--- /dev/null
+++ b/ctrack/templates/account/verification_sent.html
@@ -0,0 +1,13 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+
+{% block head_title %}{% trans "Verify Your E-mail Address" %}{% endblock %}
+
+{% block inner %}
+ <h1>{% trans "Verify Your E-mail Address" %}</h1>
+
+ <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>
+
+{% endblock %}
+
diff --git a/ctrack/templates/account/verified_email_required.html b/ctrack/templates/account/verified_email_required.html
new file mode 100644
index 0000000..09d4fde
--- /dev/null
+++ b/ctrack/templates/account/verified_email_required.html
@@ -0,0 +1,24 @@
+{% extends "account/base.html" %}
+
+{% load i18n %}
+
+{% block head_title %}{% trans "Verify Your E-mail Address" %}{% endblock %}
+
+{% block inner %}
+<h1>{% trans "Verify Your E-mail Address" %}</h1>
+
+{% 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>
+
+<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>{% blocktrans %}<strong>Note:</strong> you can still <a href="{{ email_url }}">change your e-mail address</a>.{% endblocktrans %}</p>
+
+
+{% endblock %}
+
diff --git a/ctrack/templates/base.html b/ctrack/templates/base.html
new file mode 100644
index 0000000..fbe9d86
--- /dev/null
+++ b/ctrack/templates/base.html
@@ -0,0 +1,114 @@
+{% load static i18n %}<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <title>{% block title %}ctrack{% endblock title %}</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="">
+
+ <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+ <!--[if lt IE 9]>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
+ <![endif]-->
+
+ <link rel="icon" href="{% static 'images/favicons/favicon.ico' %}">
+
+ {% block css %}
+
+ <!-- Latest compiled and minified Bootstrap CSS -->
+ <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+
+
+ <!-- Your stuff: Third-party CSS libraries go here -->
+
+ <!-- This file stores project-specific CSS -->
+
+ <link href="{% static 'css/project.css' %}" rel="stylesheet">
+
+
+ {% endblock %}
+
+ </head>
+
+ <body>
+
+ <div class="mb-1">
+ <nav class="navbar navbar-expand-md navbar-light bg-light">
+ <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <a class="navbar-brand" href="{% url 'home' %}">ctrack</a>
+
+ <div class="collapse navbar-collapse" id="navbarSupportedContent">
+ <ul class="navbar-nav mr-auto">
+ <li class="nav-item active">
+ <a class="nav-link" href="{% url 'home' %}">Home <span class="sr-only">(current)</span></a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="{% url 'about' %}">About</a>
+ </li>
+ {% if request.user.is_authenticated %}
+ <li class="nav-item">
+ {# URL provided by django-allauth/account/urls.py #}
+ <a class="nav-link" href="{% url 'users:detail' request.user.username %}">{% trans "My Profile" %}</a>
+ </li>
+ <li class="nav-item">
+ {# URL provided by django-allauth/account/urls.py #}
+ <a class="nav-link" href="{% url 'account_logout' %}">{% trans "Sign Out" %}</a>
+ </li>
+ {% else %}
+ <li class="nav-item">
+ {# URL provided by django-allauth/account/urls.py #}
+ <a id="sign-up-link" class="nav-link" href="{% url 'account_signup' %}">{% trans "Sign Up" %}</a>
+ </li>
+ <li class="nav-item">
+ {# URL provided by django-allauth/account/urls.py #}
+ <a id="log-in-link" class="nav-link" href="{% url 'account_login' %}">{% trans "Sign In" %}</a>
+ </li>
+ {% endif %}
+ </ul>
+ </div>
+ </nav>
+
+ </div>
+
+ <div class="container">
+
+ {% if messages %}
+ {% for message in messages %}
+ <div class="alert {% if message.tags %}alert-{{ message.tags }}{% endif %}">{{ message }}<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>
+ {% endfor %}
+ {% endif %}
+
+ {% block content %}
+ <p>Use this document as a way to quick start any new project.</p>
+ {% endblock content %}
+
+ </div> <!-- /container -->
+
+ {% block modal %}{% endblock modal %}
+
+ <!-- Le javascript
+ ================================================== -->
+ <!-- Placed at the end of the document so the pages load faster -->
+ {% block javascript %}
+
+ <!-- Bootstrap JS and its dependencies-->
+ <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
+
+ <!-- Your stuff: Third-party javascript libraries go here -->
+
+
+ <!-- place project specific Javascript in this file -->
+
+ <script src="{% static 'js/project.js' %}"></script>
+
+
+ {% endblock javascript %}
+ </body>
+</html>
+
diff --git a/ctrack/templates/pages/about.html b/ctrack/templates/pages/about.html
new file mode 100644
index 0000000..63913c1
--- /dev/null
+++ b/ctrack/templates/pages/about.html
@@ -0,0 +1 @@
+{% extends "base.html" %} \ No newline at end of file
diff --git a/ctrack/templates/pages/home.html b/ctrack/templates/pages/home.html
new file mode 100644
index 0000000..63913c1
--- /dev/null
+++ b/ctrack/templates/pages/home.html
@@ -0,0 +1 @@
+{% extends "base.html" %} \ No newline at end of file
diff --git a/ctrack/templates/users/user_detail.html b/ctrack/templates/users/user_detail.html
new file mode 100644
index 0000000..e86eda1
--- /dev/null
+++ b/ctrack/templates/users/user_detail.html
@@ -0,0 +1,36 @@
+{% extends "base.html" %}
+{% load static %}
+
+{% block title %}User: {{ object.username }}{% endblock %}
+
+{% block content %}
+<div class="container">
+
+ <div class="row">
+ <div class="col-sm-12">
+
+ <h2>{{ object.username }}</h2>
+ {% if object.name %}
+ <p>{{ object.name }}</p>
+ {% endif %}
+ </div>
+ </div>
+
+{% if object == request.user %}
+<!-- Action buttons -->
+<div class="row">
+
+ <div class="col-sm-12">
+ <a class="btn btn-primary" href="{% url 'users:update' %}" role="button">My Info</a>
+ <a class="btn btn-primary" href="{% url 'account_email' %}" role="button">E-Mail</a>
+ <!-- Your Stuff: Custom user template urls -->
+ </div>
+
+</div>
+<!-- End Action buttons -->
+{% endif %}
+
+
+</div>
+{% endblock content %}
+
diff --git a/ctrack/templates/users/user_form.html b/ctrack/templates/users/user_form.html
new file mode 100644
index 0000000..467357a
--- /dev/null
+++ b/ctrack/templates/users/user_form.html
@@ -0,0 +1,17 @@
+{% extends "base.html" %}
+{% load crispy_forms_tags %}
+
+{% block title %}{{ user.username }}{% endblock %}
+
+{% block content %}
+ <h1>{{ user.username }}</h1>
+ <form class="form-horizontal" method="post" action="{% url 'users:update' %}">
+ {% csrf_token %}
+ {{ form|crispy }}
+ <div class="control-group">
+ <div class="controls">
+ <button type="submit" class="btn btn-primary">Update</button>
+ </div>
+ </div>
+ </form>
+{% endblock %}