mirror of
https://github.com/haiwen/seahub.git
synced 2025-04-28 03:10:45 +00:00
Delete a Wiki
Conflicts: seahub/wiki/models.py
This commit is contained in:
parent
f5b00647c6
commit
999b17d0e9
1
.gitignore
vendored
1
.gitignore
vendored
@ -39,3 +39,4 @@ deps
|
||||
ghostdriver.log
|
||||
seahub/thumbnail/thumb/*
|
||||
.virtualenv
|
||||
tags
|
||||
|
@ -73,3 +73,26 @@ class WikisView(APIView):
|
||||
content_type=content_type)
|
||||
|
||||
return Response(wiki.to_dict())
|
||||
|
||||
|
||||
class WikiView(APIView):
|
||||
authentication_classes = (TokenAuthentication, SessionAuthentication)
|
||||
permission_classes = (IsAuthenticated, )
|
||||
throttle_classes = (UserRateThrottle, )
|
||||
|
||||
def delete(self, request, slug):
|
||||
"""Delete a wiki.
|
||||
"""
|
||||
username = request.user.username
|
||||
try:
|
||||
owner = Wiki.objects.get(slug=slug).username
|
||||
except Wiki.DoesNotExist:
|
||||
error_msg = 'Wiki not found.'
|
||||
return api_error(status.HTTP_404_NOT_FOUND, error_msg)
|
||||
if owner != username:
|
||||
error_msg = 'Permission denied.'
|
||||
return api_error(status.HTTP_403_FORBIDDEN, error_msg)
|
||||
|
||||
Wiki.objects.filter(slug=slug).delete()
|
||||
|
||||
return Response({"success": True})
|
||||
|
@ -51,7 +51,8 @@ from seahub.api2.endpoints.notifications import NotificationsView, NotificationV
|
||||
from seahub.api2.endpoints.user_enabled_modules import UserEnabledModulesView
|
||||
from seahub.api2.endpoints.repo_file_uploaded_bytes import RepoFileUploadedBytesView
|
||||
from seahub.api2.endpoints.user_avatar import UserAvatarView
|
||||
from seahub.api2.endpoints.revision_tag import TaggedItemsView,TagNamesView
|
||||
from seahub.api2.endpoints.wikis import WikisView, WikiView
|
||||
from seahub.api2.endpoints.revision_tag import TaggedItemsView, TagNamesView
|
||||
from seahub.api2.endpoints.user import User
|
||||
|
||||
# Admin
|
||||
@ -280,6 +281,10 @@ urlpatterns = patterns(
|
||||
## user::avatar
|
||||
url(r'^api/v2.1/user-avatar/$', UserAvatarView.as_view(), name='api-v2.1-user-avatar'),
|
||||
|
||||
## user::wiki
|
||||
url(r'^api/v2.1/wikis/$', WikisView.as_view(), name='api-v2.1-wikis'),
|
||||
url(r'^api/v2.1/wikis/(?P<slug>[^/]+)/$', WikiView.as_view(), name='api-v2.1-wikis'),
|
||||
|
||||
## admin::sysinfo
|
||||
url(r'^api/v2.1/admin/sysinfo/$', SysInfo.as_view(), name='api-v2.1-sysinfo'),
|
||||
|
||||
|
@ -10,6 +10,7 @@ from seahub.utils import get_service_url
|
||||
from seahub.utils.timeutils import (timestamp_to_isoformat_timestr,
|
||||
datetime_to_isoformat_timestr)
|
||||
|
||||
|
||||
class WikiDoesNotExist(Exception):
|
||||
pass
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user