Commit 359d6b07 by Matt Drayer Committed by Jonathan Piacenti

mattdrayer/api-group-name-edit: Support name edit on POST

parent 40038e7c
...@@ -265,9 +265,10 @@ class GroupsApiTests(ModuleStoreTestCase): ...@@ -265,9 +265,10 @@ class GroupsApiTests(ModuleStoreTestCase):
group_id = response.data['id'] group_id = response.data['id']
test_uri = response.data['uri'] test_uri = response.data['uri']
self.assertEqual(response.status_code, 201) self.assertEqual(response.status_code, 201)
group_name = 'Updated Name'
group_type = 'seriesX' group_type = 'seriesX'
data = { data = {
'name': self.test_group_name, 'name': group_name,
'type': group_type, 'type': group_type,
'data': { 'data': {
'display_name': 'My updated series' 'display_name': 'My updated series'
...@@ -276,7 +277,7 @@ class GroupsApiTests(ModuleStoreTestCase): ...@@ -276,7 +277,7 @@ class GroupsApiTests(ModuleStoreTestCase):
response = self.do_post(test_uri, data) response = self.do_post(test_uri, data)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
self.assertEqual(response.data['id'], group_id) self.assertEqual(response.data['id'], group_id)
self.assertEqual(response.data['name'], self.test_group_name) self.assertEqual(response.data['name'], group_name)
self.assertEqual(response.data['uri'], test_uri) self.assertEqual(response.data['uri'], test_uri)
def test_group_detail_post_invalid_group(self): def test_group_detail_post_invalid_group(self):
......
...@@ -148,12 +148,18 @@ class GroupsDetail(SecureAPIView): ...@@ -148,12 +148,18 @@ class GroupsDetail(SecureAPIView):
except ObjectDoesNotExist: except ObjectDoesNotExist:
return Response({}, status.HTTP_404_NOT_FOUND) return Response({}, status.HTTP_404_NOT_FOUND)
profile, _ = GroupProfile.objects.get_or_create(group_id=group_id) profile, _ = GroupProfile.objects.get_or_create(group_id=group_id)
group_name = request.DATA.get('name', None)
if group_name:
formatted_name = '{:04d}: {}'.format(existing_group.id, group_name)
existing_group.name = formatted_name
profile.name = group_name
group_type = request.DATA.get('type', None) group_type = request.DATA.get('type', None)
if group_type: if group_type:
profile.group_type = group_type profile.group_type = group_type
data = request.DATA.get('data', None) data = request.DATA.get('data', None)
if data: if data:
profile.data = json.dumps(data) profile.data = json.dumps(data)
existing_group.save()
profile.save() profile.save()
response_data['id'] = existing_group.id response_data['id'] = existing_group.id
response_data['name'] = profile.name response_data['name'] = profile.name
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment