def test_session(self): form = ViewForm(self.request, {}) self.assertTrue(form.is_valid()) form.save() self.assertEqual(form.instance.user, None) self.assertEqual(form.instance.session_key, self.request.session.session_key)
def test_no_commit(self): previous_view_count = DataView.objects.count() form = ViewForm(self.request, {}) instance = form.save(commit=False) self.assertIsNone(instance.pk) self.assertEqual(previous_view_count, DataView.objects.count())
def test_json(self): previous_view_count = DataView.objects.count() form = ViewForm(self.request, {'json': [{'concept': 1}]}) self.assertTrue(form.is_valid()) form.save() self.assertEqual(previous_view_count + 1, DataView.objects.count())
def test_json(self): previous_view_count = DataView.objects.count() form = ViewForm(self.request, {'json': [{'concept': self.c.pk}]}) self.assertTrue(form.is_valid()) form.save() self.assertEqual(previous_view_count + 1, DataView.objects.count())
def test_user(self): user = User.objects.create_user(username='******', password='******') self.request.user = user form = ViewForm(self.request, {}) self.assertTrue(form.is_valid()) instance = form.save() self.assertEqual(instance.user, user) self.assertEqual(instance.session_key, None)
def get_default(self, request): default = self.model.objects.get_default_template() if not default: log.warning('No default template for view objects') return form = ViewForm(request, {'json': default.json, 'session': True}) if form.is_valid(): instance = form.save() return instance log.error('Error creating default view', extra=dict(form.errors))
def post(self, request): form = ViewForm(request, request.data) if form.is_valid(): instance = form.save() usage.log('create', instance=instance, request=request) response = self.render(request, self.prepare(request, instance), status=codes.created) else: data = { 'message': 'Cannot create view', 'errors': dict(form.errors), } response = self.render(request, data, status=codes.unprocessable_entity) return response
def put(self, request, **kwargs): instance = self.get_object(request, **kwargs) form = ViewForm(request, request.data, instance=instance) if form.is_valid(): instance = form.save() usage.log('update', instance=instance, request=request) response = self.render(request, self.prepare(request, instance)) else: data = { 'message': 'Cannot update view', 'errors': dict(form.errors), } response = self.render(request, data, status=codes.unprocessable_entity) return response
def post(self, request): form = ViewForm(request, request.data) if form.is_valid(): instance = form.save() usage.log('create', instance=instance, request=request) request.session.modified = True response = self.render(request, self.prepare(request, instance), status=codes.created) else: data = { 'message': 'Cannot create view', 'errors': dict(form.errors), } response = self.render(request, data, status=codes.unprocessable_entity) return response