# HG changeset patch # User ymh # Date 1498008204 -7200 # Node ID 6e18b31b0ad5f5715025bc1447db345715a8e1e7 # Parent 9206af01f5e55badbfd5991f1ebe62b92727094c Correct session creation and add offline to the persisted state diff -r 9206af01f5e5 -r 6e18b31b0ad5 client/src/actions/sessionsActions.js --- a/client/src/actions/sessionsActions.js Tue Jun 20 21:56:42 2017 +0200 +++ b/client/src/actions/sessionsActions.js Wed Jun 21 03:23:24 2017 +0200 @@ -19,7 +19,7 @@ meta: { offline: { effect: { - url: "/api/notes/sessions/", + url: `/api/notes/sessions/`, method: 'POST', data: newSession }, diff -r 9206af01f5e5 -r 6e18b31b0ad5 client/src/store/configureStore.js --- a/client/src/store/configureStore.js Tue Jun 20 21:56:42 2017 +0200 +++ b/client/src/store/configureStore.js Wed Jun 21 03:23:24 2017 +0200 @@ -43,7 +43,7 @@ const persistOptions = { storage: localForage, transforms: [immutableTransform(immutableTransformConfig)], - whitelist: ['sessions', 'notes', 'isAuthenticated', 'currentUser', 'token'] + whitelist: ['sessions', 'notes', 'isAuthenticated', 'currentUser', 'token', 'offline'] } const apiClient = new APIClient(config.apiRootUrl); diff -r 9206af01f5e5 -r 6e18b31b0ad5 src/notes/api/serializers/core.py --- a/src/notes/api/serializers/core.py Tue Jun 20 21:56:42 2017 +0200 +++ b/src/notes/api/serializers/core.py Wed Jun 21 03:23:24 2017 +0200 @@ -53,3 +53,16 @@ 'notes' ) read_only_fields = ('ext_id', 'version', 'created', 'updated', 'owner') + +class CreateSessionSerializer(serializers.ModelSerializer): + + owner = serializers.SlugRelatedField( + read_only=True, slug_field='username', default=serializers.CurrentUserDefault()) + + class Meta: + model = Session + fields = ( + 'ext_id', 'version', 'created', 'updated', + 'owner', 'title', 'description', 'protocol' + ) + read_only_fields = ('version', 'created', 'updated', 'owner') diff -r 9206af01f5e5 -r 6e18b31b0ad5 src/notes/api/views/core.py --- a/src/notes/api/views/core.py Tue Jun 20 21:56:42 2017 +0200 +++ b/src/notes/api/views/core.py Wed Jun 21 03:23:24 2017 +0200 @@ -5,7 +5,7 @@ from ..permissions import NotePermission, SessionPermission from ..serializers.core import (DetailNoteSerializer, DetailSessionSerializer, - ListNoteSerializer, ListSessionSerializer) + ListNoteSerializer, ListSessionSerializer, CreateSessionSerializer) logger = logging.getLogger(__name__) @@ -20,6 +20,7 @@ serializers = { 'list': ListSessionSerializer, 'retrieve': DetailSessionSerializer, + 'create': CreateSessionSerializer, } permission_classes = (SessionPermission,)