kopia lustrzana https://github.com/OpenDroneMap/WebODM
Merge pull request #407 from OpenDroneMap/pyup-update-django-1.11.7-to-2.0.3
Update django to 2.0.3pull/403/head^2
commit
4170db90d5
|
@ -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
|
||||
|
|
|
@ -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'),
|
||||
),
|
||||
]
|
|
@ -68,8 +68,8 @@ def project_post_save(sender, instance, created, **kwargs):
|
|||
|
||||
|
||||
class ProjectUserObjectPermission(UserObjectPermissionBase):
|
||||
content_object = models.ForeignKey(Project)
|
||||
content_object = models.ForeignKey(Project, on_delete=models.CASCADE)
|
||||
|
||||
|
||||
class ProjectGroupObjectPermission(GroupObjectPermissionBase):
|
||||
content_object = models.ForeignKey(Project)
|
||||
content_object = models.ForeignKey(Project, on_delete=models.CASCADE)
|
||||
|
|
|
@ -147,7 +147,7 @@ class Task(models.Model):
|
|||
name = models.CharField(max_length=255, null=True, blank=True, help_text="A label for the task")
|
||||
processing_lock = models.BooleanField(default=False, help_text="A flag indicating whether this task is currently locked for processing. When this flag is turned on, the task is in the middle of a processing step.")
|
||||
processing_time = models.IntegerField(default=-1, help_text="Number of milliseconds that elapsed since the beginning of this task (-1 indicates that no information is available)")
|
||||
processing_node = models.ForeignKey(ProcessingNode, null=True, blank=True, help_text="Processing node assigned to this task (or null if this task has not been associated yet)")
|
||||
processing_node = models.ForeignKey(ProcessingNode, on_delete=models.SET_NULL, null=True, blank=True, help_text="Processing node assigned to this task (or null if this task has not been associated yet)")
|
||||
auto_processing_node = models.BooleanField(default=True, help_text="A flag indicating whether this task should be automatically assigned a processing node")
|
||||
status = models.IntegerField(choices=STATUS_CODES, db_index=True, null=True, blank=True, help_text="Current status of the task")
|
||||
last_error = models.TextField(null=True, blank=True, help_text="The last processing error received")
|
||||
|
|
|
@ -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: "<link href='{}' rel='stylesheet' type='text/css'>".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()]))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -215,8 +215,8 @@ def auto_update_node_info(sender, instance, created, **kwargs):
|
|||
pass
|
||||
|
||||
class ProcessingNodeUserObjectPermission(UserObjectPermissionBase):
|
||||
content_object = models.ForeignKey(ProcessingNode)
|
||||
content_object = models.ForeignKey(ProcessingNode, on_delete=models.CASCADE)
|
||||
|
||||
|
||||
class ProcessingNodeGroupObjectPermission(GroupObjectPermissionBase):
|
||||
content_object = models.ForeignKey(ProcessingNode)
|
||||
content_object = models.ForeignKey(ProcessingNode, on_delete=models.CASCADE)
|
||||
|
|
|
@ -5,19 +5,18 @@ APScheduler==3.2.0
|
|||
billiard==3.5.0.3
|
||||
celery==4.1.0
|
||||
coreapi==2.0.9
|
||||
Django==1.11.7
|
||||
Django==2.0.3
|
||||
django-appconf==1.0.2
|
||||
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
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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<path>.*)$', serve, {
|
||||
'document_root': os.path.join(settings.MEDIA_ROOT, 'CACHE')
|
||||
|
|
Ładowanie…
Reference in New Issue