diff --git a/app/api/presets.py b/app/api/presets.py index 60a65cdb..432888db 100644 --- a/app/api/presets.py +++ b/app/api/presets.py @@ -3,7 +3,8 @@ from rest_framework import permissions from rest_framework import serializers, viewsets from django.db.models import Q from rest_framework import status, exceptions -from rest_framework.filters import DjangoFilterBackend, OrderingFilter +from rest_framework.filters import OrderingFilter +from django_filters.rest_framework import DjangoFilterBackend from rest_framework.response import Response from app.models import Preset diff --git a/app/migrations/0018_auto_20180311_1028.py b/app/migrations/0018_auto_20180311_1028.py new file mode 100644 index 00000000..2a1e34f1 --- /dev/null +++ b/app/migrations/0018_auto_20180311_1028.py @@ -0,0 +1,19 @@ +# Generated by Django 2.0.3 on 2018-03-11 14:28 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('app', '0017_auto_20180219_1446'), + ] + + operations = [ + migrations.AlterField( + model_name='task', + name='processing_node', + field=models.ForeignKey(blank=True, help_text='Processing node assigned to this task (or null if this task has not been associated yet)', null=True, on_delete=django.db.models.deletion.SET_NULL, to='nodeodm.ProcessingNode'), + ), + ] diff --git a/app/templatetags/plugins.py b/app/templatetags/plugins.py index 804f4765..0397f4e8 100644 --- a/app/templatetags/plugins.py +++ b/app/templatetags/plugins.py @@ -16,7 +16,7 @@ def get_plugins_css_includes(): css_urls = list(itertools.chain(*[plugin.get_include_css_urls() for plugin in get_active_plugins()])) return "\n".join(map(lambda url: "".format(url), css_urls)) -@register.assignment_tag() +@register.simple_tag() def get_plugins_main_menus(): # Flatten list of menus return list(itertools.chain(*[plugin.main_menu() for plugin in get_active_plugins()])) diff --git a/app/templatetags/processingnode_extras.py b/app/templatetags/processingnode_extras.py index c9921b4e..1abb77b1 100644 --- a/app/templatetags/processingnode_extras.py +++ b/app/templatetags/processingnode_extras.py @@ -6,16 +6,16 @@ from nodeodm.models import ProcessingNode register = template.Library() -@register.assignment_tag(takes_context=True) +@register.simple_tag(takes_context=True) def get_visible_processing_nodes(context): return get_objects_for_user(context['request'].user, "nodeodm.view_processingnode", ProcessingNode, accept_global_perms=False) -@register.assignment_tag(takes_context=True) +@register.simple_tag(takes_context=True) def can_view_processing_nodes(context): return context['request'].user.has_perm("nodeodm.view_processingnode") -@register.assignment_tag(takes_context=True) +@register.simple_tag(takes_context=True) def can_add_processing_nodes(context): return context['request'].user.has_perm("nodeodm.add_processingnode") diff --git a/app/templatetags/settings.py b/app/templatetags/settings.py index 517981d3..af4d05b2 100644 --- a/app/templatetags/settings.py +++ b/app/templatetags/settings.py @@ -5,7 +5,7 @@ from django import template register = template.Library() -@register.assignment_tag(takes_context=True) +@register.simple_tag(takes_context=True) def settings_image_url(context, image): return "/media/" + getattr(context['SETTINGS'], image).url diff --git a/app/views/app.py b/app/views/app.py index d456fc7f..b99ebeff 100644 --- a/app/views/app.py +++ b/app/views/app.py @@ -20,7 +20,7 @@ def index(request): if User.objects.filter(is_superuser=True).count() == 0: return redirect('welcome') - return redirect('dashboard' if request.user.is_authenticated() + return redirect('dashboard' if request.user.is_authenticated else 'login') @login_required diff --git a/requirements.txt b/requirements.txt index 1a2734fd..923ddd50 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,13 +11,12 @@ django-codemirror2==0.2 django-colorfield==0.1.14 django-compressor==2.2 django-cors-headers==2.0.2 -django-debug-toolbar==1.6 -django-filter==1.0.4 -django-guardian==1.4.6 +django-filter==1.1.0 +django-guardian==1.4.9 django-imagekit==4.0.1 django-libsass==0.7 -django-webpack-loader==0.3.3 -djangorestframework==3.6.3 +django-webpack-loader==0.6.0 +djangorestframework==3.7.7 djangorestframework-jwt==1.9.0 drf-nested-routers==0.11.1 funcsigs==1.0.2 @@ -45,8 +44,7 @@ requests==2.11.1 rfc3987==1.3.7 rjsmin==1.0.12 simplejson==3.10.0 -six==1.10.0 -sqlparse==0.2.2 +six==1.11.0 strict-rfc3339==0.7 tzlocal==1.3 uritemplate==3.0.0 diff --git a/webodm/settings.py b/webodm/settings.py index 09d9eaba..4682fea9 100644 --- a/webodm/settings.py +++ b/webodm/settings.py @@ -75,13 +75,11 @@ INSTALLED_APPS = [ 'imagekit', 'codemirror2', 'compressor', -# 'debug_toolbar', 'app', 'nodeodm', ] MIDDLEWARE = [ - # 'debug_toolbar.middleware.DebugToolbarMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', @@ -266,7 +264,7 @@ REST_FRAMEWORK = { ], 'DEFAULT_FILTER_BACKENDS': [ 'rest_framework.filters.DjangoObjectPermissionsFilter', - 'rest_framework.filters.DjangoFilterBackend', + 'django_filters.rest_framework.DjangoFilterBackend', 'rest_framework.filters.OrderingFilter', ], 'DEFAULT_AUTHENTICATION_CLASSES': ( @@ -276,6 +274,7 @@ REST_FRAMEWORK = { 'app.api.authentication.JSONWebTokenAuthenticationQS', ), 'PAGE_SIZE': 10, + 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', } JWT_AUTH = { diff --git a/webodm/urls.py b/webodm/urls.py index e3fbd905..f5538a24 100644 --- a/webodm/urls.py +++ b/webodm/urls.py @@ -29,10 +29,7 @@ urlpatterns = [ ] if settings.DEBUG: - import debug_toolbar urlpatterns += [ - url(r'^__debug__/', include(debug_toolbar.urls)), - # Expose imagekit generated files and settings file uploads url(r'^media/CACHE/(?P.*)$', serve, { 'document_root': os.path.join(settings.MEDIA_ROOT, 'CACHE')