Skip to content

Commit

Permalink
Revert "post api changes"
Browse files Browse the repository at this point in the history
  • Loading branch information
bpepple authored Jan 6, 2022
1 parent 522c485 commit 6d166bf
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 121 deletions.
46 changes: 0 additions & 46 deletions comicsdb/permission.py

This file was deleted.

41 changes: 2 additions & 39 deletions comicsdb/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,25 +84,7 @@ class Meta:
class ArcSerializer(serializers.ModelSerializer):
class Meta:
model = Arc
fields = ("id", "name", "desc", "modified")
read_only_field = ("image",)

# TODO: Need to handle uploading of ImageField.

def create(self, validated_data):
"""
Create and return a new `Arc` instance, given the validated data.
"""
return Arc.objects.create(**validated_data)

def update(self, instance, validated_data):
"""
Update and return an existing `Arc` instance, given the validated data.
"""
instance.name = validated_data.get("name", instance.name)
instance.desc = validated_data.get("desc", instance.desc)
instance.save()
return instance
fields = ("id", "name", "desc", "image", "modified")


class CharacterSerializer(serializers.ModelSerializer):
Expand All @@ -117,30 +99,11 @@ class Meta:
"alias",
"desc",
"wikipedia",
"image",
"creators",
"teams",
"modified",
)
read_only_field = ("image",)

# TODO: Need to handle uploading of ImageField.

def create(self, validated_data):
"""
Create and return a new `Character` instance, given the validated data.
"""
return Character.objects.create(**validated_data)

def update(self, instance, validated_data):
"""
Update and return an existing `Character` instance, given the validated data.
"""
instance.name = validated_data.get("name", instance.name)
instance.alias = validated_data.get("alias", instance.alias)
instance.desc = validated_data.get("desc", instance.desc)
instance.wikipedia = validated_data.get("wikipedia", instance.wikipedia)
instance.save()
return instance


class CreatorSerializer(serializers.ModelSerializer):
Expand Down
29 changes: 8 additions & 21 deletions comicsdb/views/viewsets.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
from comicsdb.filters.issue import IssueFilter
from comicsdb.filters.name import NameFilter
from comicsdb.filters.series import SeriesFilter
from comicsdb.permission import IsEditor, IsEditorOrContributor
from comicsdb.models import (
Arc,
Character,
Expand Down Expand Up @@ -38,7 +37,7 @@
)


class ArcViewSet(viewsets.ModelViewSet):
class ArcViewSet(viewsets.ReadOnlyModelViewSet):
"""
list:
Returns a list of all the story arcs.
Expand All @@ -54,15 +53,9 @@ class ArcViewSet(viewsets.ModelViewSet):
def get_serializer_class(self):
if self.action == "list":
return ArcListSerializer
return ArcSerializer

def get_permissions(self):
permission_classes = []
if self.action in ["create", "update", "partial_update", "destroy"]:
permission_classes = [IsEditor]
elif self.action in ["retrieve", "list"]:
permission_classes = [IsEditorOrContributor]
return [permission() for permission in permission_classes]
if self.action == "retrieve":
return ArcSerializer
return ArcListSerializer

@action(detail=True)
def issue_list(self, request, pk=None):
Expand All @@ -81,7 +74,7 @@ def issue_list(self, request, pk=None):
raise Http404()


class CharacterViewSet(viewsets.ModelViewSet):
class CharacterViewSet(viewsets.ReadOnlyModelViewSet):
"""
list:
Return a list of all the characters.
Expand All @@ -97,15 +90,9 @@ class CharacterViewSet(viewsets.ModelViewSet):
def get_serializer_class(self):
if self.action == "list":
return CharacterListSerializer
return CharacterSerializer

def get_permissions(self):
permission_classes = []
if self.action in ["create", "update", "partial_update", "destroy"]:
permission_classes = [IsEditor]
elif self.action in ["retrieve", "list"]:
permission_classes = [IsEditorOrContributor]
return [permission() for permission in permission_classes]
if self.action == "retrieve":
return CharacterSerializer
return CharacterListSerializer


class CreatorViewSet(viewsets.ReadOnlyModelViewSet):
Expand Down
9 changes: 0 additions & 9 deletions users/tests/case_base.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
from django.contrib.auth.models import Group, Permission
from django.test import TestCase

from users.models import CustomUser
Expand All @@ -11,14 +10,6 @@ def _create_user(cls):
user.set_password("1234")
user.save()

# TODO: Need to split the group bit out for better test coverage (post, delete, etc)
contributor_group = Group.objects.create(name="contributor")
permission_codename = ["view_arc"]
for permission in permission_codename:
perm = Permission.objects.filter(codename=permission).first()
contributor_group.permissions.add(perm)
user.groups.add(contributor_group)

return user

def _client_login(self):
Expand Down
6 changes: 0 additions & 6 deletions users/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from django.contrib import messages
from django.contrib.auth import login, update_session_auth_hash
from django.contrib.auth.forms import PasswordChangeForm
from django.contrib.auth.models import Group
from django.contrib.sites.shortcuts import get_current_site
from django.shortcuts import redirect, render
from django.template.loader import render_to_string
Expand Down Expand Up @@ -42,11 +41,6 @@ def activate(request, uidb64, token):
user.is_active = True
user.email_confirmed = True
user.save()

# Add the user to the contributor group.
contributor_group = Group.objects.get(name="contributor")
user.groups.add(contributor_group)

login(request, user)
# Send pushover notification tha user activated account
send_pushover(f"{user} activated their account on Metron.")
Expand Down

0 comments on commit 6d166bf

Please sign in to comment.