Skip to content

Commit

Permalink
- Missing commits on : [Fixes #9115] Advanced Workflow: permissions …
Browse files Browse the repository at this point in the history
…assigned to managers/members should be filtered by owner and resource group metadata only (#9172)
  • Loading branch information
Alessio Fabiani authored and github-actions[bot] committed Apr 19, 2022
1 parent 7be5101 commit ca08523
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 2 deletions.
13 changes: 13 additions & 0 deletions geonode/documents/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -495,6 +495,19 @@ def document_metadata(
tb = traceback.format_exc()
logger.error(tb)

vals = {}
if 'group' in document_form.changed_data:
vals['group'] = document_form.cleaned_data.get('group')
if any([x in document_form.changed_data for x in ['is_approved', 'is_published']]):
vals['is_approved'] = document_form.cleaned_data.get('is_approved', document.is_approved)
vals['is_published'] = document_form.cleaned_data.get('is_published', document.is_published)
resource_manager.update(
document.uuid,
instance=document,
notify=True,
vals=vals,
extra_metadata=json.loads(document_form.cleaned_data['extra_metadata'])
)
return HttpResponse(json.dumps({'message': message}))
elif request.method == "POST" and (not document_form.is_valid(
) or not category_form.is_valid() or not tkeywords_form.is_valid()):
Expand Down
12 changes: 12 additions & 0 deletions geonode/geoapps/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,18 @@ def geoapp_metadata(request, geoappid, template='apps/app_metadata.html', ajax=T
tb = traceback.format_exc()
logger.error(tb)

vals = {}
if 'group' in geoapp_form.changed_data:
vals['group'] = geoapp_form.cleaned_data.get('group')
if any([x in geoapp_form.changed_data for x in ['is_approved', 'is_published']]):
vals['is_approved'] = geoapp_form.cleaned_data.get('is_approved', geoapp_obj.is_approved)
vals['is_published'] = geoapp_form.cleaned_data.get('is_published', geoapp_obj.is_published)
resource_manager.update(
geoapp_obj.uuid,
instance=geoapp_obj,
notify=True,
vals=vals
)
return HttpResponse(json.dumps({'message': message}))
elif request.method == "POST" and (not geoapp_form.is_valid(
) or not category_form.is_valid() or not tkeywords_form.is_valid()):
Expand Down
16 changes: 14 additions & 2 deletions geonode/maps/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
from geonode.base.models import ExtraMetadata, Thesaurus, TopicCategory
from geonode.base.views import batch_modify
from geonode.client.hooks import hookset
from geonode.resource.manager import resource_manager
from geonode.decorators import check_keyword_write_perms
from geonode.groups.models import GroupProfile
from geonode.layers.models import Dataset
Expand Down Expand Up @@ -237,8 +238,19 @@ def map_metadata(request, mapid, template="maps/map_metadata.html", ajax=True):
tb = traceback.format_exc()
logger.error(tb)

map_obj.save(notify=True)

vals = {}
if 'group' in map_form.changed_data:
vals['group'] = map_form.cleaned_data.get('group')
if any([x in map_form.changed_data for x in ['is_approved', 'is_published']]):
vals['is_approved'] = map_form.cleaned_data.get('is_approved', map_obj.is_approved)
vals['is_published'] = map_form.cleaned_data.get('is_published', map_obj.is_published)
resource_manager.update(
map_obj.uuid,
instance=map_obj,
notify=True,
vals=vals,
extra_metadata=json.loads(map_form.cleaned_data['extra_metadata'])
)
return HttpResponse(json.dumps({'message': message}))
elif request.method == "POST" and (not map_form.is_valid(
) or not category_form.is_valid() or not tkeywords_form.is_valid()):
Expand Down

0 comments on commit ca08523

Please sign in to comment.