diff --git a/CHANGELOG b/CHANGELOG
index d1a5632..15d2705 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,14 @@
+Sat, 14 Sep 2019 04:38:14 -0500
+Keaton
+Fix templating errors, js errors
+
+- Javascript `urlparams` didn't handle being null
+- Templates needed updating/cleaning
+- Moved SQRL dropin CSS to its own file
+- New example picture to show off changes to CSS/templates
+
+--------------------
+
Sat, 14 Sep 2019 03:13:30 -0500
Keaton
Add `manage.py` for `tests`
diff --git a/README.md b/README.md
index 244a7f5..3088c24 100644
--- a/README.md
+++ b/README.md
@@ -34,11 +34,12 @@ Once installed there are a few required changes in Django settings:
```
INSTALLED_APPS = [
-...,
-'sqrl',
-'django.contrib.auth',
-'django.contrib.sessions',
-'django.contrib.staticfiles',
+ ...,
+ 'sqrl',
+ 'django.contrib.auth',
+ 'django.contrib.sessions',
+ 'django.contrib.staticfiles',
+ ...
]
```
@@ -46,9 +47,10 @@ INSTALLED_APPS = [
```
MIDDLEWARE_CLASSES = [
-...
-'django.contrib.sessions.middleware.SessionMiddleware',
-'django.contrib.auth.middleware.AuthenticationMiddleware',
+ ...
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ ...
]
```
@@ -57,7 +59,7 @@ MIDDLEWARE_CLASSES = [
```
AUTHENTICATION_BACKENDS = [
-'sqrl.backends.SQRLModelBackend',
+ 'sqrl.backends.SQRLModelBackend',
]
```
@@ -69,10 +71,10 @@ overwrites some of them.
```
INSTALLED_APPS = [
-...,
-'sqrl',
-'django.contrib.admin',
-...
+ ...,
+ 'sqrl',
+ 'django.contrib.admin',
+ ...
]
```
@@ -85,7 +87,7 @@ to explicitly extend from `django.contrib.admin` `base.html` template:
import os
import django
TEMPLATE_DIRS = [
-os.path.dirname(django.__file__),
+ os.path.dirname(django.__file__),
]
```
@@ -97,9 +99,9 @@ All of SQRL functionality is enabled by adding its URLs to the root URL config:
from django.urls import path, include
urlpatterns = [
-...
-path('sqrl/', include('sqrl.urls', namespace="sqrl")),
-...
+ ...
+ path('sqrl/', include('sqrl.urls', namespace="sqrl")),
+ ...
]
```
@@ -114,13 +116,42 @@ page with three simple template tags:
```
{% load sqrl %}
{% sqrl as sqrl_session %}
-{% sqrl_login_dropin sqrl_session [[a named redirect]] %}
+{% sqrl_login_dropin sqrl_session "named:redirect" %}
```
-The [[named redirect]] is the page that should be redirected to after logging
-in. Any name that can be resolved by django's `reverse` function will work (i.e.
-`path("scheme/", view, name="example")` in the app `app` with namespace "app"
-could be selected as `app:example`).
+The `"named:redirect"` is the page that should be redirected to after logging
+in. Any name that can be resolved by django's `reverse` function will work. For
+example, here are the necessary lines needed to resolve `"app:main"`:
+
+* Main project's `urls.py`:
+
+```
+urlpatterns = [
+ ...
+ path("", include('app.urls', namespace="app"))
+ ...
+]
+```
+
+* Your `app`'s `urls.py`:
+
+```
+urlpatterns = [
+ ...
+ path("", main_view, name="main")
+ ...
+]
+```
+
+* Your `main_view`'s template:
+
+```
+...
+{% load sqrl %}
+{% sqrl as sqrl_session %}
+{% sqrl_login_dropin sqrl_session "app:main" %}
+...
+```
These three tags will add a simple element to your login page:
@@ -133,7 +164,7 @@ following essential tags:
{% load sqrl %}
{% sqrl as sqrl_session %}
-
+
diff --git a/docs/example_dropin.png b/docs/example_dropin.png
index 4f158d4..cff806b 100644
Binary files a/docs/example_dropin.png and b/docs/example_dropin.png differ
diff --git a/sqrl/static/sqrl/dropin.css b/sqrl/static/sqrl/dropin.css
new file mode 100644
index 0000000..0481e1e
--- /dev/null
+++ b/sqrl/static/sqrl/dropin.css
@@ -0,0 +1,19 @@
+.sqrl-parent {
+ padding: 15px;
+ background-color: #fff;
+ text-align: center;
+ max-width: 300px;
+ border-radius: 5%;
+}
+#sqrl-qr img {
+ margin: auto;
+ width: 100%;
+ padding-top: 3px;
+}
+.sqrl-wrap a {
+ font-size: 50%;
+}
+
+.sqrl-form input {
+ margin: auto;
+}
diff --git a/sqrl/static/sqrl/sqrl.js b/sqrl/static/sqrl/sqrl.js
index b57429b..276bc2f 100644
--- a/sqrl/static/sqrl/sqrl.js
+++ b/sqrl/static/sqrl/sqrl.js
@@ -2,8 +2,10 @@
var get_next_url = function() {
// A Next defined in the URL has priority
var urlparam = document.URL.match(/next=([^]+)/)
- if (urlparam.length == 2) {
- return urlparam[1]
+ if (urlparam) {
+ if (urlparam.length == 2) {
+ return urlparam[1]
+ }
}
// Next highest priority is a defined SQRL_NEXT
if (typeof SQRL_NEXT !== "undefined") {
diff --git a/sqrl/templates/sqrl/login.html b/sqrl/templates/sqrl/login.html
index be128b6..d2be9c1 100644
--- a/sqrl/templates/sqrl/login.html
+++ b/sqrl/templates/sqrl/login.html
@@ -1,6 +1,5 @@
{% extends "sqrl/sqrl_base.html" %}
{% load sqrl %}
-{% load static %}
{% block title %}Log in via SQRL{% endblock %}
@@ -12,7 +11,7 @@
{% sqrl as sqrl_session %}
- {% sqrl_login_dropin sqrl_session "sqrl:login" %}
+ {% sqrl_login_dropin sqrl_session %}
{% endblock %}
{% comment %}
diff --git a/sqrl/templates/sqrl/manage.html b/sqrl/templates/sqrl/manage.html
index 2853fd8..be761c4 100644
--- a/sqrl/templates/sqrl/manage.html
+++ b/sqrl/templates/sqrl/manage.html
@@ -1,6 +1,5 @@
{% extends "sqrl/sqrl_base.html" %}
{% load sqrl %}
-{% load static %}
{% block title %}Manage SQRL Identity{% endblock %}
@@ -33,11 +32,7 @@
{% endif %}
{% sqrl as sqrl_session %}
- {% sqrl_login_dropin sqrl_session method="manage" %}
-{% endblock %}
-
-{% block scripts %}
-
+ {% sqrl_login_dropin sqrl_session %}
{% endblock %}
diff --git a/sqrl/templates/sqrl/sqrl-dropin.html b/sqrl/templates/sqrl/sqrl-dropin.html
index d8955ee..88d01e0 100644
--- a/sqrl/templates/sqrl/sqrl-dropin.html
+++ b/sqrl/templates/sqrl/sqrl-dropin.html
@@ -1,24 +1,8 @@
{% load static %}
{% load sqrl %}
-
-