Add base auth & a17t support
This commit is contained in:
		
							parent
							
								
									8cb867f11b
								
							
						
					
					
						commit
						6c3064f3ea
					
				
							
								
								
									
										0
									
								
								shynet/a17t/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								shynet/a17t/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										5
									
								
								shynet/a17t/apps.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								shynet/a17t/apps.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					from django.apps import AppConfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class A17TConfig(AppConfig):
 | 
				
			||||||
 | 
					    name = 'a17t'
 | 
				
			||||||
							
								
								
									
										0
									
								
								shynet/a17t/migrations/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								shynet/a17t/migrations/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										2
									
								
								shynet/a17t/templates/a17t/head.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shynet/a17t/templates/a17t/head.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					<link href="https://cdn.jsdelivr.net/npm/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet">
 | 
				
			||||||
 | 
					<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/a17t@latest/dist/a17t.css">
 | 
				
			||||||
							
								
								
									
										43
									
								
								shynet/a17t/templates/a17t/includes/field.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								shynet/a17t/templates/a17t/includes/field.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					{% load a17t_tags %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<field role="field" class="block mb-2">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {% if field|is_checkbox %}
 | 
				
			||||||
 | 
					    <label class="switch {{ classes.label }}">
 | 
				
			||||||
 | 
					        {{ field }}
 | 
				
			||||||
 | 
					        <span>{{ field.label }}</span>
 | 
				
			||||||
 | 
					    </label>
 | 
				
			||||||
 | 
					    {% elif field|is_radio %}
 | 
				
			||||||
 | 
					    {% if field.auto_id %}
 | 
				
			||||||
 | 
					    <label class="label my-1" for="{{field.auto_id}}">{{ field.label }}</label>
 | 
				
			||||||
 | 
					    {% endif %}
 | 
				
			||||||
 | 
					    {% for choice in field %}
 | 
				
			||||||
 | 
					    <label class="switch">
 | 
				
			||||||
 | 
					        {{ choice.tag }}
 | 
				
			||||||
 | 
					        <span>{{ choice.choice_label }}</span>
 | 
				
			||||||
 | 
					    </label>
 | 
				
			||||||
 | 
					    {% endfor %}
 | 
				
			||||||
 | 
					    {% elif field|is_input %}
 | 
				
			||||||
 | 
					    <label class="label" for="{{field.auto_id}}">{{ field.label }}</label>
 | 
				
			||||||
 | 
					    {{field|add_class:"input"}}
 | 
				
			||||||
 | 
					    {% elif field|is_textarea %}
 | 
				
			||||||
 | 
					    <label class="label" for="{{field.auto_id}}">{{ field.label }}</label>
 | 
				
			||||||
 | 
					    {{ field|add_class:'textarea' }}
 | 
				
			||||||
 | 
					    {% elif field|is_select %}
 | 
				
			||||||
 | 
					    <label class="label" for="{{field.auto_id}}">{{ field.label }}</label>
 | 
				
			||||||
 | 
					    <div class="select {% if field.errors|length > 0 %}~critical{% endif %}">
 | 
				
			||||||
 | 
					        {{field}}
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    {% else %}
 | 
				
			||||||
 | 
					    <label class="label" for="{{field.auto_id}}">{{ field.label }}</label>
 | 
				
			||||||
 | 
					    {{field|add_class:"field"}}
 | 
				
			||||||
 | 
					    {% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {% for error in field.errors %}
 | 
				
			||||||
 | 
					    <p class="support ~critical">{{ error }}</p>
 | 
				
			||||||
 | 
					    {% endfor %}
 | 
				
			||||||
 | 
					    {% if field.help_text %}
 | 
				
			||||||
 | 
					    <p class="support">{{field.help_text|safe}}</p>
 | 
				
			||||||
 | 
					    {% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</field>
 | 
				
			||||||
							
								
								
									
										15
									
								
								shynet/a17t/templates/a17t/includes/form.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								shynet/a17t/templates/a17t/includes/form.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					{% if form.non_field_errors %}
 | 
				
			||||||
 | 
					<aside class="aside ~critical content">
 | 
				
			||||||
 | 
					    {% for non_field_error in form.non_field_errors %}
 | 
				
			||||||
 | 
					    <p>{{ non_field_error }}</p>
 | 
				
			||||||
 | 
					    {% endfor %}
 | 
				
			||||||
 | 
					</aside>
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% for field in form.hidden_fields %}
 | 
				
			||||||
 | 
					  {{ field }}
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% for field in form.visible_fields %}
 | 
				
			||||||
 | 
					  {% include 'a17t/includes/field.html' %}
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
							
								
								
									
										4
									
								
								shynet/a17t/templates/a17t/includes/formset.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								shynet/a17t/templates/a17t/includes/formset.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					{{ formset.management_form }}
 | 
				
			||||||
 | 
					{% for form in formset %}
 | 
				
			||||||
 | 
					  {% include "a17t/includes/form.html" with form=form %}
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
							
								
								
									
										0
									
								
								shynet/a17t/templatetags/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								shynet/a17t/templatetags/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										96
									
								
								shynet/a17t/templatetags/a17t_tags.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								shynet/a17t/templatetags/a17t_tags.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,96 @@
 | 
				
			|||||||
 | 
					from django import forms
 | 
				
			||||||
 | 
					from django import template
 | 
				
			||||||
 | 
					from django.forms import BoundField
 | 
				
			||||||
 | 
					from django.template.loader import get_template
 | 
				
			||||||
 | 
					from django.utils.safestring import mark_safe
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					register = template.Library()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def a17t(element):
 | 
				
			||||||
 | 
					    markup_classes = {"label": "", "value": "", "single_value": ""}
 | 
				
			||||||
 | 
					    return render(element, markup_classes)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def a17t_inline(element):
 | 
				
			||||||
 | 
					    markup_classes = {"label": "", "value": "", "single_value": ""}
 | 
				
			||||||
 | 
					    return render(element, markup_classes)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def render(element, markup_classes):
 | 
				
			||||||
 | 
					    if isinstance(element, BoundField):
 | 
				
			||||||
 | 
					        template = get_template("a17t/includes/field.html")
 | 
				
			||||||
 | 
					        context = {"field": element, "classes": markup_classes, "form": element.form}
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        has_management = getattr(element, "management_form", None)
 | 
				
			||||||
 | 
					        if has_management:
 | 
				
			||||||
 | 
					            template = get_template("a17t/includes/formset.html")
 | 
				
			||||||
 | 
					            context = {"formset": element, "classes": markup_classes}
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            template = get_template("a17t/includes/form.html")
 | 
				
			||||||
 | 
					            context = {"form": element, "classes": markup_classes}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return template.render(context)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def widget_type(field):
 | 
				
			||||||
 | 
					    return field.field.widget
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def is_select(field):
 | 
				
			||||||
 | 
					    return isinstance(field.field.widget, forms.Select)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def is_multiple_select(field):
 | 
				
			||||||
 | 
					    return isinstance(field.field.widget, forms.SelectMultiple)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def is_textarea(field):
 | 
				
			||||||
 | 
					    return isinstance(field.field.widget, forms.Textarea)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def is_input(field):
 | 
				
			||||||
 | 
					    return isinstance(
 | 
				
			||||||
 | 
					        field.field.widget,
 | 
				
			||||||
 | 
					        (
 | 
				
			||||||
 | 
					            forms.TextInput,
 | 
				
			||||||
 | 
					            forms.NumberInput,
 | 
				
			||||||
 | 
					            forms.EmailInput,
 | 
				
			||||||
 | 
					            forms.PasswordInput,
 | 
				
			||||||
 | 
					            forms.URLInput,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def is_checkbox(field):
 | 
				
			||||||
 | 
					    return isinstance(field.field.widget, forms.CheckboxInput)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def is_multiple_checkbox(field):
 | 
				
			||||||
 | 
					    return isinstance(field.field.widget, forms.CheckboxSelectMultiple)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def is_radio(field):
 | 
				
			||||||
 | 
					    return isinstance(field.field.widget, forms.RadioSelect)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def is_file(field):
 | 
				
			||||||
 | 
					    return isinstance(field.field.widget, forms.FileInput)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@register.filter
 | 
				
			||||||
 | 
					def add_class(field, css_class):
 | 
				
			||||||
 | 
					    if len(field.errors) > 0:
 | 
				
			||||||
 | 
					        css_class += " ~critical"
 | 
				
			||||||
 | 
					    return field.as_widget(attrs={"class": css_class})
 | 
				
			||||||
							
								
								
									
										11
									
								
								shynet/core/templates/account/account_inactive.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								shynet/core/templates/account/account_inactive.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Account Inactive" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					<h1>{% trans "Account Inactive" %}</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>{% trans "This account is inactive." %}</p>
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
							
								
								
									
										1
									
								
								shynet/core/templates/account/base.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shynet/core/templates/account/base.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					{% extends "base.html" %}
 | 
				
			||||||
							
								
								
									
										80
									
								
								shynet/core/templates/account/email.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								shynet/core/templates/account/email.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,80 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n a17t_tags %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Email Addresses" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					<h1 class="heading">{% trans "Email Addresses" %}</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<hr class="sep">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="card ~neutral !low">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  {% if user.emailaddress_set.all %}
 | 
				
			||||||
 | 
					  <p>{% trans 'The following email 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="ctrlHolder my-2">
 | 
				
			||||||
 | 
					        <label for="email_radio_{{forloop.counter}}" class="switch">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <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="support ~positive">({% trans "Verified" %})</span>
 | 
				
			||||||
 | 
					          {% else %}
 | 
				
			||||||
 | 
					          <span class="support ~warning">({% trans "Unverified" %})</span>
 | 
				
			||||||
 | 
					          {% endif %}
 | 
				
			||||||
 | 
					          {% if emailaddress.primary %}<span class="support ~urge">({% trans "Primary" %})</span>{% endif %}
 | 
				
			||||||
 | 
					        </label>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					      {% endfor %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      <div class="block">
 | 
				
			||||||
 | 
					        <button class="button ~urge mb-1" type="submit" name="action_primary">{% trans 'Make Primary' %}</button>
 | 
				
			||||||
 | 
					        <button class="button ~info mb-1" type="submit" name="action_send">{% trans 'Re-send Verification' %}</button>
 | 
				
			||||||
 | 
					        <button class="button ~critical mb-1" type="submit" name="action_remove">{% trans 'Remove' %}</button>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </fieldset>
 | 
				
			||||||
 | 
					  </form>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  {% else %}
 | 
				
			||||||
 | 
					  <aside class="aside ~warning">
 | 
				
			||||||
 | 
					    <p>
 | 
				
			||||||
 | 
					      {% trans "You currently do not have an email address associated with your account. Without one, you won't be able to reset your password, receive notifications, etc." %}
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					  </aside>
 | 
				
			||||||
 | 
					  {% endif %}
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<hr class="sep">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<form method="post" action="{% url 'account_email' %}" class="add_email max-w-lg">
 | 
				
			||||||
 | 
					  {% csrf_token %}
 | 
				
			||||||
 | 
					  {{ form|a17t }}
 | 
				
			||||||
 | 
					  <button name="button ~neutral !high" type="submit">{% trans "Add Email" %}</button>
 | 
				
			||||||
 | 
					</form>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block extra_body %}
 | 
				
			||||||
 | 
					<script type="text/javascript">
 | 
				
			||||||
 | 
					  (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 %}
 | 
				
			||||||
@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					{% load account %}{% user_display user as user_display %}{% load i18n %}{% autoescape off %}{% blocktrans with site_name=current_site.name site_domain=current_site.domain %}Hello from {{ site_name }}!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You're receiving this email because user {{ user_display }} has given yours as an email address to connect their account.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To confirm this is correct, go to {{ activate_url }}
 | 
				
			||||||
 | 
					{% endblocktrans %}
 | 
				
			||||||
 | 
					{% blocktrans with site_name=current_site.name site_domain=current_site.domain %}Thank you from {{ site_name }}!
 | 
				
			||||||
 | 
					{{ site_domain }}{% endblocktrans %}
 | 
				
			||||||
 | 
					{% endautoescape %}
 | 
				
			||||||
@ -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,12 @@
 | 
				
			|||||||
 | 
					{% load i18n %}{% autoescape off %}{% blocktrans with site_name=current_site.name site_domain=current_site.domain %}Hello from {{ site_name }}!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You're receiving this email because you or someone else has requested a password 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 %}{% 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,4 @@
 | 
				
			|||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					{% autoescape off %}
 | 
				
			||||||
 | 
					{% blocktrans %}Password Reset Email{% endblocktrans %}
 | 
				
			||||||
 | 
					{% endautoescape %}
 | 
				
			||||||
							
								
								
									
										34
									
								
								shynet/core/templates/account/email_confirm.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								shynet/core/templates/account/email_confirm.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					{% load account %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Confirm Email Address" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					<h1>{% trans "Confirm Email 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 a valid email where we can reach you.{% endblocktrans %}
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<form method="post" action="{% url 'account_confirm_email' confirmation.key %}">
 | 
				
			||||||
 | 
					    {% csrf_token %}
 | 
				
			||||||
 | 
					    <button type="submit" class="button ~positive !high">{% trans 'Confirm' %}</button>
 | 
				
			||||||
 | 
					</form>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% 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 %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
							
								
								
									
										23
									
								
								shynet/core/templates/account/login.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								shynet/core/templates/account/login.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n a17t_tags %}
 | 
				
			||||||
 | 
					{% load account socialaccount %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Sign In" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					<div class="card ~neutral !low max-w-lg">
 | 
				
			||||||
 | 
					  <h1 class="heading mb-3">{% trans "Sign In" %}</h1>
 | 
				
			||||||
 | 
					  <form class="login" method="POST" action="{% url 'account_login' %} max-w-lg">
 | 
				
			||||||
 | 
					    {% csrf_token %}
 | 
				
			||||||
 | 
					    {{ form|a17t }}
 | 
				
			||||||
 | 
					    {% if redirect_field_value %}
 | 
				
			||||||
 | 
					    <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
 | 
				
			||||||
 | 
					    {% endif %}
 | 
				
			||||||
 | 
					    <br>
 | 
				
			||||||
 | 
					    <button class="button ~urge !high mr-2" type="submit">{% trans "Sign In" %}</button>
 | 
				
			||||||
 | 
					    <a href="{% url 'account_reset_password' %}" class="button ~neutral mr-2">{% trans "Reset Password" %}</a>
 | 
				
			||||||
 | 
					    <a href="{{ signup_url }}" class="button ~neutral">Sign Up</a>
 | 
				
			||||||
 | 
					  </form>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
							
								
								
									
										19
									
								
								shynet/core/templates/account/logout.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								shynet/core/templates/account/logout.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n a17t_tags %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Sign Out" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					<h1>{% trans "Sign Out" %}</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>{% trans 'Are you sure you want to sign out?' %}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<form method="post" action="{% url 'account_logout' %}" class="max-w-lg">
 | 
				
			||||||
 | 
					  {% csrf_token %}
 | 
				
			||||||
 | 
					  {% if redirect_field_value %}
 | 
				
			||||||
 | 
					  <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/>
 | 
				
			||||||
 | 
					  {% endif %}
 | 
				
			||||||
 | 
					  <button type="submit" class="button ~urge !high">{% trans 'Sign Out' %}</button>
 | 
				
			||||||
 | 
					</form>
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					{% blocktrans %}You cannot remove your primary email address ({{email}}).{% 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 %}
 | 
				
			||||||
							
								
								
									
										2
									
								
								shynet/core/templates/account/messages/email_deleted.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shynet/core/templates/account/messages/email_deleted.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					{% blocktrans %}Removed email address {{email}}.{% endblocktrans %}
 | 
				
			||||||
							
								
								
									
										4
									
								
								shynet/core/templates/account/messages/logged_in.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								shynet/core/templates/account/messages/logged_in.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					{% load account %}
 | 
				
			||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					{% user_display user as name %}
 | 
				
			||||||
 | 
					{% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %}
 | 
				
			||||||
							
								
								
									
										2
									
								
								shynet/core/templates/account/messages/logged_out.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shynet/core/templates/account/messages/logged_out.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					{% blocktrans %}You have signed out.{% endblocktrans %}
 | 
				
			||||||
@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					{% blocktrans %}Password successfully changed.{% endblocktrans %}
 | 
				
			||||||
							
								
								
									
										2
									
								
								shynet/core/templates/account/messages/password_set.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shynet/core/templates/account/messages/password_set.txt
									
									
									
									
									
										Normal file
									
								
							@ -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 %}
 | 
				
			||||||
							
								
								
									
										15
									
								
								shynet/core/templates/account/password_change.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								shynet/core/templates/account/password_change.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n a17t_tags %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Change Password" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					    <h1>{% trans "Change Password" %}</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <form method="POST" action="{% url 'account_change_password' %}" class="password_change max-w-lg">
 | 
				
			||||||
 | 
					        {% csrf_token %}
 | 
				
			||||||
 | 
					        {{ form|a17t }}
 | 
				
			||||||
 | 
					        <button type="submit" name="action">{% trans "Change Password" %}</button>
 | 
				
			||||||
 | 
					    </form>
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
							
								
								
									
										23
									
								
								shynet/core/templates/account/password_reset.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								shynet/core/templates/account/password_reset.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n a17t_tags %}
 | 
				
			||||||
 | 
					{% load account %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Password Reset" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					<h1>{% trans "Password Reset" %}</h1>
 | 
				
			||||||
 | 
					{% if user.is_authenticated %}
 | 
				
			||||||
 | 
					{% include "account/snippets/already_logged_in.html" %}
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					    {% trans "Forgotten your password? Enter your email address below, and we'll send you an email to reset it." %}
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<form method="POST" action="{% url 'account_reset_password' %}" class="password_reset max-w-lg">
 | 
				
			||||||
 | 
					    {% csrf_token %}
 | 
				
			||||||
 | 
					    {{ form|a17t }}
 | 
				
			||||||
 | 
					    <button type="submit" class="button ~urge !high">{% trans 'Reset Password' %}</button>
 | 
				
			||||||
 | 
					</form>
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
							
								
								
									
										16
									
								
								shynet/core/templates/account/password_reset_done.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								shynet/core/templates/account/password_reset_done.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					{% load account %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Password Reset" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					    <h1>{% trans "Password Reset" %}</h1>
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    {% if user.is_authenticated %}
 | 
				
			||||||
 | 
					    {% include "account/snippets/already_logged_in.html" %}
 | 
				
			||||||
 | 
					    {% endif %}
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    <p>{% blocktrans %}We have sent you an email. Please contact us if you do not receive it within a few minutes.{% endblocktrans %}</p>
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
							
								
								
									
										23
									
								
								shynet/core/templates/account/password_reset_from_key.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								shynet/core/templates/account/password_reset_from_key.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n a17t_tags %}
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Change Password" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					    <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="{{ action_url }}" class="max-w-lg">
 | 
				
			||||||
 | 
					                {% csrf_token %}
 | 
				
			||||||
 | 
					                {{ form|a17t }}
 | 
				
			||||||
 | 
					                <button type="submit" name="action" class="button ~urge !high">{% trans 'Change Password'}</button>
 | 
				
			||||||
 | 
					            </form>
 | 
				
			||||||
 | 
					        {% else %}
 | 
				
			||||||
 | 
					            <p>{% trans 'Your password is now changed.' %}</p>
 | 
				
			||||||
 | 
					        {% endif %}
 | 
				
			||||||
 | 
					    {% endif %}
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Change Password" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					    <h1>{% trans "Change Password" %}</h1>
 | 
				
			||||||
 | 
					    <p>{% trans 'Your password is now changed.' %}</p>
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
							
								
								
									
										15
									
								
								shynet/core/templates/account/password_set.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								shynet/core/templates/account/password_set.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n a17t_tags %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Set Password" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					<h1>{% trans "Set Password" %}</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<form method="POST" action="{% url 'account_set_password' %}" class="password_set max-w-lg">
 | 
				
			||||||
 | 
					    {% csrf_token %}
 | 
				
			||||||
 | 
					    {{ form|a17t }}
 | 
				
			||||||
 | 
					    <button type="submit" name="action" class="button ~urge !high">{% trans 'Set Password' %}</button>
 | 
				
			||||||
 | 
					</form>
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
							
								
								
									
										21
									
								
								shynet/core/templates/account/signup.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								shynet/core/templates/account/signup.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n a17t_tags %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Signup" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					<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 max-w-lg" id="signup_form" method="post" action="{% url 'account_signup' %}">
 | 
				
			||||||
 | 
					  {% csrf_token %}
 | 
				
			||||||
 | 
					  {{ form|a17t }}
 | 
				
			||||||
 | 
					  {% if redirect_field_value %}
 | 
				
			||||||
 | 
					  <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
 | 
				
			||||||
 | 
					  {% endif %}
 | 
				
			||||||
 | 
					  <button type="submit" class="button ~urge !high">{% trans "Sign Up" %} »</button>
 | 
				
			||||||
 | 
					</form>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
							
								
								
									
										11
									
								
								shynet/core/templates/account/signup_closed.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								shynet/core/templates/account/signup_closed.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Sign Up Closed" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					<h1>{% trans "Sign Up Closed" %}</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>{% trans "Public sign-ups are not allowed at this time." %}</p>
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					{% load account %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% user_display user as user_display %}
 | 
				
			||||||
 | 
					<p><strong>{% trans "Note" %}:</strong> {% blocktrans %}you are already logged in as {{ user_display }}.{% endblocktrans %}</p>
 | 
				
			||||||
							
								
								
									
										12
									
								
								shynet/core/templates/account/verification_sent.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								shynet/core/templates/account/verification_sent.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Verify Your Email Address" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					    <h1>{% trans "Verify Your Email Address" %}</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <p>{% blocktrans %}We have sent an email 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 %}
 | 
				
			||||||
							
								
								
									
										23
									
								
								shynet/core/templates/account/verified_email_required.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								shynet/core/templates/account/verified_email_required.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					{% extends "account/base.html" %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% load i18n %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block head_title %}{% trans "Verify Your Email Address" %}{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% block content %}
 | 
				
			||||||
 | 
					<h1>{% trans "Verify Your Email 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 email address. {% endblocktrans %}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>{% blocktrans %}We have sent an email to you for
 | 
				
			||||||
 | 
					verification. Please click on the link inside this email. 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 email address</a>.{% endblocktrans %}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% endblock %}
 | 
				
			||||||
@ -6,8 +6,7 @@
 | 
				
			|||||||
  <title>{% block head_title %}Privacy-oriented analytics{% endblock %} | Shynet</title>
 | 
					  <title>{% block head_title %}Privacy-oriented analytics{% endblock %} | Shynet</title>
 | 
				
			||||||
  <meta name="robots" content="noindex">
 | 
					  <meta name="robots" content="noindex">
 | 
				
			||||||
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
					  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
  <link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet">
 | 
					  {% include 'a17t/head.html' %}
 | 
				
			||||||
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/a17t@latest/dist/a17t.css">
 | 
					 | 
				
			||||||
  {% block extra_head %}
 | 
					  {% block extra_head %}
 | 
				
			||||||
  {% endblock %}
 | 
					  {% endblock %}
 | 
				
			||||||
</head>
 | 
					</head>
 | 
				
			||||||
@ -19,7 +18,7 @@
 | 
				
			|||||||
    {% if messages %}
 | 
					    {% if messages %}
 | 
				
			||||||
    <div>
 | 
					    <div>
 | 
				
			||||||
      {% for message in messages %}
 | 
					      {% for message in messages %}
 | 
				
			||||||
      <article class="card {{message.tags}} mb-2 w-full">{{message}}</article>
 | 
					      <article class="card {{message.tags}} !high mb-2 w-full">{{message}}</article>
 | 
				
			||||||
      {% endfor %}
 | 
					      {% endfor %}
 | 
				
			||||||
      </ul>
 | 
					      </ul>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
@ -29,7 +28,7 @@
 | 
				
			|||||||
      <strong>Menu:</strong>
 | 
					      <strong>Menu:</strong>
 | 
				
			||||||
      <ul>
 | 
					      <ul>
 | 
				
			||||||
        {% if user.is_authenticated %}
 | 
					        {% if user.is_authenticated %}
 | 
				
			||||||
        <li><a href="{% url 'account_email' %}">Change E-mail</a></li>
 | 
					        <li><a href="{% url 'account_email' %}">Change Email</a></li>
 | 
				
			||||||
        <li><a href="{% url 'account_logout' %}">Sign Out</a></li>
 | 
					        <li><a href="{% url 'account_logout' %}">Sign Out</a></li>
 | 
				
			||||||
        {% else %}
 | 
					        {% else %}
 | 
				
			||||||
        <li><a href="{% url 'account_login' %}">Sign In</a></li>
 | 
					        <li><a href="{% url 'account_login' %}">Sign In</a></li>
 | 
				
			||||||
 | 
				
			|||||||
@ -38,6 +38,7 @@ INSTALLED_APPS = [
 | 
				
			|||||||
    "django.contrib.messages",
 | 
					    "django.contrib.messages",
 | 
				
			||||||
    "django.contrib.staticfiles",
 | 
					    "django.contrib.staticfiles",
 | 
				
			||||||
    "django.contrib.sites",
 | 
					    "django.contrib.sites",
 | 
				
			||||||
 | 
					    "a17t",
 | 
				
			||||||
    "core",
 | 
					    "core",
 | 
				
			||||||
    "analytics",
 | 
					    "analytics",
 | 
				
			||||||
    "allauth",
 | 
					    "allauth",
 | 
				
			||||||
@ -148,3 +149,12 @@ CELERY_REDIS_SOCKET_TIMEOUT = 15
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
MAXMIND_CITY_DB = os.getenv("MAXMIND_CITY_DB")
 | 
					MAXMIND_CITY_DB = os.getenv("MAXMIND_CITY_DB")
 | 
				
			||||||
MAXMIND_ASN_DB = os.getenv("MAXMIND_ASN_DB")
 | 
					MAXMIND_ASN_DB = os.getenv("MAXMIND_ASN_DB")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Messages
 | 
				
			||||||
 | 
					from django.contrib.messages import constants as messages
 | 
				
			||||||
 | 
					MESSAGE_TAGS = {
 | 
				
			||||||
 | 
					    messages.INFO: '~info',
 | 
				
			||||||
 | 
					    messages.WARNING: "~warning",
 | 
				
			||||||
 | 
					    messages.ERROR: "~critical",
 | 
				
			||||||
 | 
					    messages.SUCCESS: "~positive",
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user