diff --git a/administration/tests.py b/administration/tests.py index df0e75d50b4f1bdbe8c486a3cde9fb3987b94a32..01288d5d6e8c4c7a31bfb84c91312c99fd36869e 100644 --- a/administration/tests.py +++ b/administration/tests.py @@ -806,16 +806,16 @@ class EditVerificationTest(TestCase): } self.admin = get_user_model().objects.create_user( **self.admin_credential, name="Admin", is_admin=True) - models.VerificationSetting(title='test', description="desc test") + models.VerificationSetting(title='test', description="desc test").save() self.verification = models.VerificationSetting.objects.first() - self.url = '/administration/setting/verification/' + str(self.verification.id) + '/edit/' + self.url = "/administration/setting/verification/" + str(self.verification.id) +"/edit" + print(self.url) def test_edit_verification_admin_access(self): self.client.login(**self.admin_credential) response = self.client.get(self.url) self.assertEqual(response.status_code, 200) self.assertNotEqual(response.status_code, 404) - self.assertNotEqual(response.status_code, 403) def test_verification_detail_anonymous_access(self): response = self.client.get(self.url) diff --git a/administration/urls.py b/administration/urls.py index 481aa0a37c4d9b92840a58755adf3dea204f6c74..8adfc2a8b289c82bb80f09a1486c15cb8e3d8502 100644 --- a/administration/urls.py +++ b/administration/urls.py @@ -1,6 +1,6 @@ from django.urls import path -from administration.views import VerificationView, DetailVerificationView, VerificationSettingView, CategorySettingView, KelolaKontributorView, ProfileContributorAdminView, ProfileAdminAdministrationView, KelolaAdminView, RegistrasiAdminView, delete_admin, delete_contributor +from administration.views import VerificationView, DetailVerificationView, VerificationSettingView, CategorySettingView, KelolaKontributorView, ProfileContributorAdminView, ProfileAdminAdministrationView, KelolaAdminView, RegistrasiAdminView, EditVerificationView, delete_admin, delete_contributor app_name = "administration" @@ -8,7 +8,7 @@ urlpatterns = [ path("", VerificationView.as_view()), path("detail-verif/<int:pk>/", DetailVerificationView.as_view()), path("setting/verification/", VerificationSettingView.as_view()), - path("setting/verification/<int:pk>/edit", VerificationSettingView.as_view()), + path("setting/verification/<int:pk>/edit", EditVerificationView.as_view()), path("setting/category/", CategorySettingView.as_view()), path("kelola-kontributor/", KelolaKontributorView.as_view()), path("profil/<int:pk>/", ProfileContributorAdminView.as_view()), diff --git a/administration/views.py b/administration/views.py index 64dd31415ae3d41f373319ae4f93a0e2e1f2983c..fd43774dbe5783898b55a9a342aaeef1d3c6f539 100644 --- a/administration/views.py +++ b/administration/views.py @@ -125,6 +125,7 @@ class VerificationSettingView(TemplateView): context["form"] = form return self.render_to_response(context) + class CategorySettingView(TemplateView): template_name = "settings.html" @@ -173,6 +174,7 @@ class KelolaKontributorView(TemplateView): context = self.get_context_data(**kwargs) return self.render_to_response(context) + class KelolaAdminView(TemplateView): template_name = "kelola_admin.html" @@ -191,6 +193,7 @@ class KelolaAdminView(TemplateView): context = self.get_context_data(**kwargs) return self.render_to_response(context) + class ProfileContributorAdminView(TemplateView): template_name = "detail_kontri_admin.html" @@ -208,6 +211,7 @@ class ProfileContributorAdminView(TemplateView): context["user"] = get_object_or_404(User, pk=kwargs["pk"]) return self.render_to_response(context=context) + class ProfileAdminAdministrationView(TemplateView): template_name = "detail_admin.html" @@ -225,6 +229,7 @@ class ProfileAdminAdministrationView(TemplateView): context["user"] = get_object_or_404(User, pk=kwargs["pk"]) return self.render_to_response(context=context) + class RegistrasiAdminView(TemplateView): template_name = "registrasi_admin.html" @@ -237,11 +242,11 @@ class RegistrasiAdminView(TemplateView): context = super(RegistrasiAdminView, self).get_context_data(**kwargs) context["form"] = RegistrasiAdminForm return context - + def get(self, request, *args, **kwargs): context = self.get_context_data(**kwargs) return self.render_to_response(context=context) - + def post(self, request, *args, **kwargs): data = request.POST.copy() form = RegistrasiAdminForm(request.POST) @@ -256,10 +261,29 @@ class RegistrasiAdminView(TemplateView): context["form"] = form return self.render_to_response(context) + +class EditVerificationView(TemplateView): + template_name = "edit_verifikasi.html" + + def dispatch(self, request, *args, **kwargs): + if not request.user.is_authenticated or not request.user.is_admin: + raise PermissionDenied(request) + return super(EditVerificationView, self).dispatch(request, *args, **kwargs) + + def get_context_data(self, **kwargs): + context = super(EditVerificationView, self).get_context_data(**kwargs) + return context + + def get(self, request, *args, **kwargs): + context = self.get_context_data(**kwargs) + return self.render_to_response(context=context) + + def delete_admin(request, *args, **kwargs): User.objects.filter(pk=kwargs["pk"]).delete() return HttpResponseRedirect("/administration/kelola-admin/") + def delete_contributor(request, *args, **kwargs): User.objects.filter(pk=kwargs["pk"]).delete() - return HttpResponseRedirect("/administration/kelola-kontributor/") \ No newline at end of file + return HttpResponseRedirect("/administration/kelola-kontributor/")