mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-28 11:41:18 +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
|
ghostdriver.log
|
||||||
seahub/thumbnail/thumb/*
|
seahub/thumbnail/thumb/*
|
||||||
.virtualenv
|
.virtualenv
|
||||||
|
tags
|
||||||
|
@ -73,3 +73,26 @@ class WikisView(APIView):
|
|||||||
content_type=content_type)
|
content_type=content_type)
|
||||||
|
|
||||||
return Response(wiki.to_dict())
|
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,6 +51,7 @@ from seahub.api2.endpoints.notifications import NotificationsView, NotificationV
|
|||||||
from seahub.api2.endpoints.user_enabled_modules import UserEnabledModulesView
|
from seahub.api2.endpoints.user_enabled_modules import UserEnabledModulesView
|
||||||
from seahub.api2.endpoints.repo_file_uploaded_bytes import RepoFileUploadedBytesView
|
from seahub.api2.endpoints.repo_file_uploaded_bytes import RepoFileUploadedBytesView
|
||||||
from seahub.api2.endpoints.user_avatar import UserAvatarView
|
from seahub.api2.endpoints.user_avatar import UserAvatarView
|
||||||
|
from seahub.api2.endpoints.wikis import WikisView, WikiView
|
||||||
from seahub.api2.endpoints.revision_tag import TaggedItemsView, TagNamesView
|
from seahub.api2.endpoints.revision_tag import TaggedItemsView, TagNamesView
|
||||||
from seahub.api2.endpoints.user import User
|
from seahub.api2.endpoints.user import User
|
||||||
|
|
||||||
@ -280,6 +281,10 @@ urlpatterns = patterns(
|
|||||||
## user::avatar
|
## user::avatar
|
||||||
url(r'^api/v2.1/user-avatar/$', UserAvatarView.as_view(), name='api-v2.1-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
|
## admin::sysinfo
|
||||||
url(r'^api/v2.1/admin/sysinfo/$', SysInfo.as_view(), name='api-v2.1-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,
|
from seahub.utils.timeutils import (timestamp_to_isoformat_timestr,
|
||||||
datetime_to_isoformat_timestr)
|
datetime_to_isoformat_timestr)
|
||||||
|
|
||||||
|
|
||||||
class WikiDoesNotExist(Exception):
|
class WikiDoesNotExist(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user