space api read for all users in space
This commit is contained in:
parent
7d50f3cf21
commit
a497a6b7f5
@ -15,9 +15,9 @@ DETAIL_URL = 'api:space-detail'
|
||||
@pytest.mark.parametrize("arg", [
|
||||
['a_u', 403, 0],
|
||||
['g1_s1', 403, 0],
|
||||
['u1_s1', 403, 0],
|
||||
['u1_s1', 200, 1],
|
||||
['a1_s1', 200, 1],
|
||||
['a2_s1', 200, 0],
|
||||
['a2_s1', 200, 1],
|
||||
])
|
||||
def test_list_permission(arg, request, space_1, a1_s1):
|
||||
space_1.created_by = auth.get_user(a1_s1)
|
||||
@ -29,16 +29,6 @@ def test_list_permission(arg, request, space_1, a1_s1):
|
||||
assert len(json.loads(result.content)) == arg[2]
|
||||
|
||||
|
||||
def test_list_permission_owner(u1_s1, a1_s1, space_1):
|
||||
space_1.created_by = auth.get_user(a1_s1)
|
||||
space_1.save()
|
||||
assert len(json.loads(a1_s1.get(reverse(LIST_URL)).content)) == 1
|
||||
assert u1_s1.get(reverse(LIST_URL)).status_code == 403
|
||||
space_1.created_by = auth.get_user(u1_s1)
|
||||
space_1.save()
|
||||
assert u1_s1.get(reverse(LIST_URL)).status_code == 403
|
||||
|
||||
|
||||
@pytest.mark.parametrize("arg", [
|
||||
['a_u', 403],
|
||||
['g1_s1', 403],
|
||||
|
@ -60,7 +60,7 @@ from cookbook.helper.permission_helper import (CustomIsAdmin, CustomIsOwner,
|
||||
CustomIsSpaceOwner, CustomIsUser, group_required,
|
||||
is_space_owner, switch_user_active_space, above_space_limit,
|
||||
CustomRecipePermission, CustomUserPermission,
|
||||
CustomTokenHasReadWriteScope, CustomTokenHasScope, has_group_permission)
|
||||
CustomTokenHasReadWriteScope, CustomTokenHasScope, has_group_permission, IsReadOnlyDRF)
|
||||
from cookbook.helper.recipe_search import RecipeFacet, RecipeSearch
|
||||
from cookbook.helper.recipe_url_import import get_from_youtube_scraper, get_images_from_soup, clean_dict
|
||||
from cookbook.helper.scrapers.scrapers import text_scraper
|
||||
@ -402,11 +402,11 @@ class GroupViewSet(viewsets.ModelViewSet):
|
||||
class SpaceViewSet(viewsets.ModelViewSet):
|
||||
queryset = Space.objects
|
||||
serializer_class = SpaceSerializer
|
||||
permission_classes = [CustomIsOwner & CustomIsAdmin & CustomTokenHasReadWriteScope]
|
||||
permission_classes = [IsReadOnlyDRF & CustomIsUser | CustomIsOwner & CustomIsAdmin & CustomTokenHasReadWriteScope]
|
||||
http_method_names = ['get', 'patch']
|
||||
|
||||
def get_queryset(self):
|
||||
return self.queryset.filter(id=self.request.space.id, created_by=self.request.user)
|
||||
return self.queryset.filter(id=self.request.space.id)
|
||||
|
||||
|
||||
class UserSpaceViewSet(viewsets.ModelViewSet):
|
||||
|
@ -4,6 +4,8 @@ import VueI18n from 'vue-i18n'
|
||||
Vue.use(VueI18n)
|
||||
|
||||
function loadLocaleMessages () {
|
||||
const start_time = Date.now();
|
||||
console.log('started loading locale messages')
|
||||
const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.json$/i)
|
||||
const messages = {}
|
||||
locales.keys().forEach(key => {
|
||||
@ -13,6 +15,7 @@ function loadLocaleMessages () {
|
||||
messages[locale] = locales(key)
|
||||
}
|
||||
})
|
||||
console.log('finished loading messages in ', Date.now() - start_time, ' ms')
|
||||
return messages
|
||||
}
|
||||
|
||||
|
@ -140,6 +140,7 @@
|
||||
"advanced_search_settings": "Erweiterte Sucheinstellungen",
|
||||
"View": "Ansicht",
|
||||
"Recipes": "Rezepte",
|
||||
"Welcome": "Willkommen",
|
||||
"Move": "Verschieben",
|
||||
"Merge": "Zusammenführen",
|
||||
"Parent": "Eltern",
|
||||
|
@ -148,6 +148,7 @@
|
||||
"Search Settings": "Search Settings",
|
||||
"View": "View",
|
||||
"Recipes": "Recipes",
|
||||
"Welcome": "Welcome",
|
||||
"Move": "Move",
|
||||
"Merge": "Merge",
|
||||
"Parent": "Parent",
|
||||
|
Loading…
Reference in New Issue
Block a user