diff --git a/administration/migrations/0005_deletionhistory.py b/administration/migrations/0005_deletionhistory.py
new file mode 100644
index 0000000000000000000000000000000000000000..a23c37e1428e4b164cfbfa9b53a58b092cb63790
--- /dev/null
+++ b/administration/migrations/0005_deletionhistory.py
@@ -0,0 +1,27 @@
+# Generated by Django 3.0.3 on 2020-06-03 12:57
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('administration', '0004_auto_20200517_1713'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='DeletionHistory',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('deleted_user_name', models.CharField(max_length=150)),
+ ('deleted_user_role', models.CharField(max_length=150)),
+ ('timestamp', models.DateTimeField(default=django.utils.timezone.now)),
+ ('deletor_admin', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
+ ],
+ ),
+ ]
diff --git a/administration/models.py b/administration/models.py
index 0e4ea37b8ee9467fe1c345a6551ecde21c589caa..c59f934364d37c8e545cdf553a524b44bfb68bf3 100644
--- a/administration/models.py
+++ b/administration/models.py
@@ -19,3 +19,9 @@ class VerificationReport(models.Model):
timestamp = models.DateTimeField(default=timezone.now)
status = models.CharField(
max_length=30, choices=VERIFICATION_STATUS, default=VERIFICATION_STATUS[0][0])
+
+class DeletionHistory(models.Model):
+ deleted_user_name = models.CharField(max_length=150)
+ deleted_user_role = models.CharField(max_length=150)
+ timestamp = models.DateTimeField(default=timezone.now)
+ deletor_admin = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
\ No newline at end of file
diff --git a/administration/templates/detail_admin.html b/administration/templates/detail_admin.html
index 249d63a1d79d9effbd2638688cb3fbb44284d141..b81a10f000f26e8c61e4aee52239b8eed7e1929d 100644
--- a/administration/templates/detail_admin.html
+++ b/administration/templates/detail_admin.html
@@ -186,6 +186,40 @@
Kembali ke Kelola Admin
+
+
+
+
+
+
+
+ Nama |
+ Peran |
+ Waktu Penghapusan |
+
+
+
+
+ Nama |
+ Peran |
+ Waktu Penghapusan |
+
+
+
+ {% for history in deletion_history %}
+
+ {{ history.deleted_user_name }} |
+ {{ history.deleted_user_role }} |
+ {{ history.timestamp }} |
+
+ {% endfor %}
+
+
+
+
+
diff --git a/administration/templates/kelola_kontributor.html b/administration/templates/kelola_kontributor.html
index 8918f76ca24571a14fe9ebbe2289e57ed8744012..fecb58e5b9409154cf5dde369137b864a8283158 100644
--- a/administration/templates/kelola_kontributor.html
+++ b/administration/templates/kelola_kontributor.html
@@ -184,9 +184,9 @@
{{ user.instansi }} |
- Detail
-
-
+ Detail
+
+
diff --git a/administration/views.py b/administration/views.py
index 1558fa10e0e15d1d407d8cc38347ce5ce0f39582..b7a828f40271b63e487ae0725c816563d48d9c8c 100644
--- a/administration/views.py
+++ b/administration/views.py
@@ -6,7 +6,7 @@ from django.http import HttpResponseRedirect, JsonResponse
from django.shortcuts import get_object_or_404, render
from django.views.generic import TemplateView, View
from django.contrib import messages
-from administration.models import VerificationReport, VerificationSetting
+from administration.models import VerificationReport, VerificationSetting, DeletionHistory
from administration.forms import CategoryForm, VerificationSettingForm, RegistrasiAdminForm, PeriodForm
from app.models import Category, Materi
from authentication.models import User
@@ -50,7 +50,10 @@ class DetailVerificationView(TemplateView):
context["materi_data"] = materi
context["kriteria_list"] = VerificationSetting.objects.filter(
archived=False)
- riwayat = True if materi.status != "PENDING" else False
+ if materi.status == "PENDING" or materi.status == "REVISION":
+ riwayat = False
+ else:
+ riwayat = True
context["riwayat"] = riwayat
context["verification_report"] = materi.verificationreport_set.first()
return context
@@ -198,7 +201,6 @@ class KelolaAdminView(TemplateView):
context = self.get_context_data(**kwargs)
return self.render_to_response(context)
-
class ProfileContributorAdminView(TemplateView):
template_name = "detail_kontri_admin.html"
@@ -216,7 +218,6 @@ class ProfileContributorAdminView(TemplateView):
context["user"] = get_object_or_404(User, pk=kwargs["pk"])
return self.render_to_response(context=context)
-
class StatisticsView(TemplateView):
template_name = "administration/data_statistik.html"
@@ -260,6 +261,7 @@ class ProfileAdminAdministrationView(TemplateView):
def get(self, request, *args, **kwargs):
context = self.get_context_data(**kwargs)
context["user"] = get_object_or_404(User, pk=kwargs["pk"])
+ context["deletion_history"] = DeletionHistory.objects.filter(deletor_admin=get_object_or_404(User, pk=kwargs["pk"]))
return self.render_to_response(context=context)
@@ -362,6 +364,14 @@ class EditCategoryView(TemplateView):
def delete_admin(request, *args, **kwargs):
if not request.user.is_authenticated or not request.user.is_admin:
raise PermissionDenied(request)
+
+ user_to_be_deleted = User.objects.get(pk=kwargs["pk"])
+ DeletionHistory.objects.create(
+ deleted_user_name=user_to_be_deleted.name,
+ deleted_user_role="Admin",
+ deletor_admin=request.user
+ )
+
User.objects.filter(pk=kwargs["pk"]).delete()
return HttpResponseRedirect("/administration/kelola-admin/")
@@ -369,6 +379,14 @@ def delete_admin(request, *args, **kwargs):
def delete_contributor(request, *args, **kwargs):
if not request.user.is_authenticated or not request.user.is_admin:
raise PermissionDenied(request)
+
+ user_to_be_deleted = User.objects.get(pk=kwargs["pk"])
+ DeletionHistory.objects.create(
+ deleted_user_name=user_to_be_deleted.name,
+ deleted_user_role="Kontributor",
+ deletor_admin=request.user
+ )
+
User.objects.filter(pk=kwargs["pk"]).delete()
return HttpResponseRedirect("/administration/kelola-kontributor/")
diff --git a/app/templates/app/detail_materi.html b/app/templates/app/detail_materi.html
index 490fa689b6fd86aba04d734f220909f7d46d3edf..5d6b2830e04e6409b4a878f15a2cfd4a20853846 100644
--- a/app/templates/app/detail_materi.html
+++ b/app/templates/app/detail_materi.html
@@ -48,7 +48,7 @@
{% for item in report %}
Alasan materi ditolak:
{{ item.report.feedback }}
- Untuk merevisi materi, sila tekan tombol perbarui di halaman riwayat unggah.
+ Untuk merevisi materi, sila tekan tombol revisi di halaman riwayat unggah.
{% endfor %}
|