diff --git a/README.rst b/README.rst index 1da955f..ec3e842 100644 --- a/README.rst +++ b/README.rst @@ -53,7 +53,7 @@ Configuration If the configuration is put inside the project's ``urls.py``, the log in URL will look like the following:: - http://example.com/loginurl/a-secret-key + http://example.com/loginurl/login/a-secret-key Scheduled Task @@ -83,7 +83,7 @@ property called ``key`` that contains a unique key for the log in URL. import loginurl.utils def create_login_url(user): - key = loginurl.utils.create(user) + key = utils.create(user) url = 'http://example.com/loginurl/%s' % key.key return url diff --git a/loginurl/migrations/0001_initial.py b/loginurl/migrations/0001_initial.py new file mode 100644 index 0000000..acdda78 --- /dev/null +++ b/loginurl/migrations/0001_initial.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.1 on 2017-07-04 12:29 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Key', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('key', models.CharField(blank=True, max_length=40, unique=True)), + ('created', models.DateTimeField(auto_now_add=True)), + ('usage_left', models.IntegerField(blank=True, default=1, null=True)), + ('expires', models.DateTimeField(blank=True, null=True)), + ('next', models.CharField(blank=True, max_length=200, null=True)), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/loginurl/migrations/__init__.py b/loginurl/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/loginurl/urls.py b/loginurl/urls.py index 4efd0fd..c0c509e 100644 --- a/loginurl/urls.py +++ b/loginurl/urls.py @@ -1,14 +1,16 @@ -from django.conf.urls import patterns, url +from django.conf.urls import url from django.views.generic import RedirectView from django.conf import settings from loginurl.views import cleanup, login -urlpatterns = patterns('', - (r'^cleanup/$', cleanup), - (r'^(?P[0-9A-Za-z]+-[a-z0-9-]+)/$', login), - url(r'^$', name='loginurl-index', view=RedirectView.as_view( +urlpatterns = [ + url(r'^cleanup/$', cleanup, name='loginurl-cleanup'), + url(r'^login/(?P[0-9A-Za-z]+-[a-z0-9-]+)/$', login, + name='loginurl-login'), + url(r'^$', RedirectView.as_view( permanent=True, - url=settings.LOGIN_URL, - )), -) + url=settings.LOGIN_URL), + name='loginurl-index' + ), +]