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
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)
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})