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", [
|
@pytest.mark.parametrize("arg", [
|
||||||
['a_u', 403, 0],
|
['a_u', 403, 0],
|
||||||
['g1_s1', 403, 0],
|
['g1_s1', 403, 0],
|
||||||
['u1_s1', 403, 0],
|
['u1_s1', 200, 1],
|
||||||
['a1_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):
|
def test_list_permission(arg, request, space_1, a1_s1):
|
||||||
space_1.created_by = auth.get_user(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]
|
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", [
|
@pytest.mark.parametrize("arg", [
|
||||||
['a_u', 403],
|
['a_u', 403],
|
||||||
['g1_s1', 403],
|
['g1_s1', 403],
|
||||||
|
@ -60,7 +60,7 @@ from cookbook.helper.permission_helper import (CustomIsAdmin, CustomIsOwner,
|
|||||||
CustomIsSpaceOwner, CustomIsUser, group_required,
|
CustomIsSpaceOwner, CustomIsUser, group_required,
|
||||||
is_space_owner, switch_user_active_space, above_space_limit,
|
is_space_owner, switch_user_active_space, above_space_limit,
|
||||||
CustomRecipePermission, CustomUserPermission,
|
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_search import RecipeFacet, RecipeSearch
|
||||||
from cookbook.helper.recipe_url_import import get_from_youtube_scraper, get_images_from_soup, clean_dict
|
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
|
from cookbook.helper.scrapers.scrapers import text_scraper
|
||||||
@ -402,11 +402,11 @@ class GroupViewSet(viewsets.ModelViewSet):
|
|||||||
class SpaceViewSet(viewsets.ModelViewSet):
|
class SpaceViewSet(viewsets.ModelViewSet):
|
||||||
queryset = Space.objects
|
queryset = Space.objects
|
||||||
serializer_class = SpaceSerializer
|
serializer_class = SpaceSerializer
|
||||||
permission_classes = [CustomIsOwner & CustomIsAdmin & CustomTokenHasReadWriteScope]
|
permission_classes = [IsReadOnlyDRF & CustomIsUser | CustomIsOwner & CustomIsAdmin & CustomTokenHasReadWriteScope]
|
||||||
http_method_names = ['get', 'patch']
|
http_method_names = ['get', 'patch']
|
||||||
|
|
||||||
def get_queryset(self):
|
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):
|
class UserSpaceViewSet(viewsets.ModelViewSet):
|
||||||
|
@ -4,6 +4,8 @@ import VueI18n from 'vue-i18n'
|
|||||||
Vue.use(VueI18n)
|
Vue.use(VueI18n)
|
||||||
|
|
||||||
function loadLocaleMessages () {
|
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 locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.json$/i)
|
||||||
const messages = {}
|
const messages = {}
|
||||||
locales.keys().forEach(key => {
|
locales.keys().forEach(key => {
|
||||||
@ -13,6 +15,7 @@ function loadLocaleMessages () {
|
|||||||
messages[locale] = locales(key)
|
messages[locale] = locales(key)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
console.log('finished loading messages in ', Date.now() - start_time, ' ms')
|
||||||
return messages
|
return messages
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,6 +140,7 @@
|
|||||||
"advanced_search_settings": "Erweiterte Sucheinstellungen",
|
"advanced_search_settings": "Erweiterte Sucheinstellungen",
|
||||||
"View": "Ansicht",
|
"View": "Ansicht",
|
||||||
"Recipes": "Rezepte",
|
"Recipes": "Rezepte",
|
||||||
|
"Welcome": "Willkommen",
|
||||||
"Move": "Verschieben",
|
"Move": "Verschieben",
|
||||||
"Merge": "Zusammenführen",
|
"Merge": "Zusammenführen",
|
||||||
"Parent": "Eltern",
|
"Parent": "Eltern",
|
||||||
|
@ -148,6 +148,7 @@
|
|||||||
"Search Settings": "Search Settings",
|
"Search Settings": "Search Settings",
|
||||||
"View": "View",
|
"View": "View",
|
||||||
"Recipes": "Recipes",
|
"Recipes": "Recipes",
|
||||||
|
"Welcome": "Welcome",
|
||||||
"Move": "Move",
|
"Move": "Move",
|
||||||
"Merge": "Merge",
|
"Merge": "Merge",
|
||||||
"Parent": "Parent",
|
"Parent": "Parent",
|
||||||
|
Loading…
Reference in New Issue
Block a user