443 changes: 0 additions & 443 deletions geonode/base/tests.py

This file was deleted.

44 changes: 44 additions & 0 deletions geonode/base/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,17 @@

# Geonode functionality
from django.shortcuts import render
from django.http import HttpResponse
from django.http import HttpResponseRedirect
from django.core.exceptions import PermissionDenied

from geonode.documents.models import Document
from geonode.layers.models import Layer
from geonode.maps.models import Map
from geonode.base.models import ResourceBase
from geonode.utils import resolve_object
from .forms import BatchEditForm
from .forms import CuratedThumbnailForm


def batch_modify(request, ids, model):
Expand Down Expand Up @@ -80,3 +85,42 @@ def batch_modify(request, ids, model):
'model': model,
}
)


def thumbnail_upload(
request,
res_id,
template='base/thumbnail_upload.html'):

try:
res = resolve_object(
request, ResourceBase, {
'id': res_id}, 'base.change_resourcebase')

except PermissionDenied:
return HttpResponse(
'You are not allowed to change permissions for this resource',
status=401,
content_type='text/plain')

form = CuratedThumbnailForm()

if request.method == 'POST':
if 'remove-thumb' in request.POST:
if hasattr(res, 'curatedthumbnail'):
res.curatedthumbnail.delete()
else:
form = CuratedThumbnailForm(request.POST, request.FILES)
if form.is_valid():
ct = form.save(commit=False)
# remove existing thumbnail if any
if hasattr(res, 'curatedthumbnail'):
res.curatedthumbnail.delete()
ct.resource = res
ct.save()
return HttpResponseRedirect(request.path_info)

return render(request, template, context={
'resource': res,
'form': form
})
1 change: 1 addition & 0 deletions geonode/documents/templates/documents/document_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ <h4>{% trans "Metadata" %}</h4>
<i class="fa fa-photo fa-3x"></i>
<h4>{% trans "Thumbnail" %}</h4>
<a class="btn btn-default btn-block btn-xs" href="{% url "document_thumb_upload" resource.id %}" id="set_thumbnail">{% trans "Set" %}</a>
<a class="btn btn-default btn-block btn-xs" href="{% url "thumbnail_upload" resource.resourcebase_ptr.id %}">{% trans "Upload" %}</a>
</div>
{% endif %}
{% if "change_resourcebase" in perms_list or "delete_resourcebase" in perms_list %}
Expand Down
1 change: 1 addition & 0 deletions geonode/layers/templates/layers/layer_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -476,6 +476,7 @@ <h4>{% trans "Styles" %}</h4>
<i class="fa fa-photo fa-3x"></i>
<h4>{% trans "Thumbnail" %}</h4>
<a class="btn btn-default btn-block btn-xs" href="#" id="set_thumbnail">{% trans "Set" %}</a>
<a class="btn btn-default btn-block btn-xs" href="{% url "thumbnail_upload" resource.resourcebase_ptr.id %}">{% trans "Upload" %}</a>
</div>
{% endif %}
{% if "change_resourcebase" in perms_list or "delete_resourcebase" in perms_list or "change_layer_data" in layer_perms %}
Expand Down
1 change: 1 addition & 0 deletions geonode/maps/templates/maps/map_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ <h4>{% trans "Metadata" %}</h4>
<i class="fa fa-photo fa-3x"></i>
<h4>{% trans "Thumbnail" %}</h4>
<a class="btn btn-default btn-block btn-xs" href="#" id="set_thumbnail">{% trans "Set" %}</a>
<a class="btn btn-default btn-block btn-xs" href="{% url "thumbnail_upload" resource.resourcebase_ptr.id %}">{% trans "Upload" %}</a>
</div>
{% endif %}
{% if "change_resourcebase" in perms_list %}
Expand Down
5 changes: 5 additions & 0 deletions geonode/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@

from geonode.api.urls import api
from geonode.api.views import verify_token, user_info, roles, users, admin_role
from geonode.base.views import thumbnail_upload

from geonode import geoserver, qgis_server # noqa
from geonode.utils import check_ogc_backend
Expand Down Expand Up @@ -166,6 +167,10 @@
url(r'^api/adminRole', admin_role, name='adminRole'),
url(r'^api/users', users, name='users'),
url(r'', include(api.urls)),

# Curated Thumbnail
url(r'^base/(?P<res_id>[^/]+)/thumbnail_upload$', thumbnail_upload,
name='thumbnail_upload'),
]

urlpatterns += i18n_patterns(
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ tqdm==4.33.0
django-allauth==0.39.1
django-appconf==1.0.3
django-filter==1.1.0
django-imagekit==4.0.2
django-jsonfield<1.2.1
django-jsonfield-compat<=0.4.4
django-taggit==0.24.0
Expand Down