def test_can_disable_personal_wiki_module(self):
        enable_mod_for_user(self.username, MOD_PERSONAL_WIKI)
        enabled_mods = get_enabled_mods_by_user(self.username)
        assert 'personal wiki' in enabled_mods

        self.login_as(self.user)
        resp = self.client.delete(self.url, {},
                                  'application/x-www-form-urlencoded')
        self.assertEqual(200, resp.status_code)

        enabled_mods = get_enabled_mods_by_user(self.username)
        assert 'personal wiki' not in enabled_mods
예제 #2
0
def toggle_modules(request):
    """Enable or disable modules.
    """
    if request.method != 'POST':
        raise Http404

    referer = request.META.get('HTTP_REFERER', None)
    next = settings.SITE_ROOT if referer is None else referer

    username = request.user.username
    personal_wiki = request.POST.get('personal_wiki', 'off')
    if personal_wiki == 'on':
        enable_mod_for_user(username, MOD_PERSONAL_WIKI)
        messages.success(request, _('Successfully enable "Personal Wiki".'))
    else:
        disable_mod_for_user(username, MOD_PERSONAL_WIKI)
        if referer.find('wiki') > 0:
            next = settings.SITE_ROOT
        messages.success(request, _('Successfully disable "Personal Wiki".'))

    return HttpResponseRedirect(next)
예제 #3
0
파일: __init__.py 프로젝트: domal/seahub
def toggle_modules(request):
    """Enable or disable modules.
    """
    if request.method != 'POST':
        raise Http404

    referer = request.META.get('HTTP_REFERER', None)
    next = settings.SITE_ROOT if referer is None else referer

    username = request.user.username
    personal_wiki = request.POST.get('personal_wiki', 'off')
    if personal_wiki == 'on':
        enable_mod_for_user(username, MOD_PERSONAL_WIKI)
        messages.success(request, _('Successfully enable "Personal Wiki".'))
    else:
        disable_mod_for_user(username, MOD_PERSONAL_WIKI)
        if referer.find('wiki') > 0:
            next = settings.SITE_ROOT
        messages.success(request, _('Successfully disable "Personal Wiki".'))

    return HttpResponseRedirect(next)
예제 #4
0
    def post(self, request):
        """ currently only used for add personal wiki module

        Permission checking:
        1. login user.
        2. user can add repo
        """

        if not request.user.permissions.can_add_repo():
            error_msg = 'Permission denied.'
            return api_error(status.HTTP_403_FORBIDDEN, error_msg)

        username = request.user.username
        try:
            enable_mod_for_user(username, MOD_PERSONAL_WIKI)
        except Exception as e:
            logger.error(e)
            error_msg = 'Internal Server Error'
            return api_error(status.HTTP_500_INTERNAL_SERVER_ERROR, error_msg)

        return Response({'success': True})
예제 #5
0
    def post(self, request):
        """ currently only used for add personal wiki module

        Permission checking:
        1. login user.
        2. user can add repo
        """

        if not request.user.permissions.can_add_repo():
            error_msg = 'Permission denied.'
            return api_error(status.HTTP_403_FORBIDDEN, error_msg)

        username = request.user.username
        try:
            enable_mod_for_user(username, MOD_PERSONAL_WIKI)
        except Exception as e:
            logger.error(e)
            error_msg = 'Internal Server Error'
            return api_error(status.HTTP_500_INTERNAL_SERVER_ERROR, error_msg)

        return Response({'success': True})