Admins can edit bans now.

This commit is contained in:
some weird guy
2023-08-25 16:51:04 -07:00
parent 5b5bbc859e
commit 60ff989332
6 changed files with 47 additions and 9 deletions
+8
View File
@@ -126,3 +126,11 @@ class Give_Ban_Form(forms.ModelForm):
class Meta:
model = Ban
fields = ['reason', 'expiry_date']
class Give_Ban_Form_Edit(forms.ModelForm):
reason = forms.CharField(required=True, widget=forms.Textarea(attrs={'class': 'textarea'}))
expiry_date = forms.DateTimeField(widget=forms.DateTimeInput(attrs={'type': 'datetime-local', 'class': 'DateTimeInput'}, format='%Y-%m-%dT%H:%M'))
active = forms.BooleanField(required=False)
class Meta:
model = Ban
fields = ['reason', 'expiry_date', 'active']
+1 -1
View File
@@ -1789,7 +1789,7 @@ class UserBlock(models.Model):
class AuditLog(models.Model):
id = models.AutoField(primary_key=True)
created = models.DateTimeField(auto_now_add=True)
type = models.SmallIntegerField(choices=((0, "Post delete"), (1, "Comment delete"), (2, "User edit"), (3, "Disable comments"), (4, "Community edit"), ))
type = models.SmallIntegerField(choices=((0, "Post delete"), (1, "Comment delete"), (2, "User edit"), (3, "Disable comments"), (4, "Community edit"), (5, "Ban user"), (6, "Edit ban for user"), ))
post = models.ForeignKey(Post, related_name='audit_post', null=True, on_delete=models.CASCADE)
comment = models.ForeignKey(Comment, related_name='audit_comment', null=True, on_delete=models.CASCADE)
user = models.ForeignKey(User, related_name='audit_user', null=True, on_delete=models.CASCADE)
@@ -20,6 +20,20 @@
<p class="label">This user is banned already.</p>
<p>The ban will expire on: {{ active_ban.expiry_date }}</p>
<p>Time remaining: {{ active_ban.expiry_date|timeuntil }}</p>
<li class="setting">
<p class="settings-label">Edit Reasoning:</p>
{{ form.reason }}
<p class="settings-label">Change Expiry:</p>
{{ form.expiry_date }}
<p class="settings-label">Active:</p>
{{ form.active }}
<p class='note'>Uncheck this to unban {{ user.username }}.</p>
</li>
{% csrf_token %}
<div class="form-buttons">
<input type="submit" class="button apply-button" value="Edit ban for {{ user.username }}">
</div>
{% endif %}
</form></div></div>
{% endblock %}
+10 -1
View File
@@ -1749,6 +1749,7 @@ def user_tools_bams(request, username):
if user.has_authority(request.user):
return HttpResponseForbidden()
if request.method == 'POST':
if not user.banned():
form = Give_Ban_Form(request.POST)
if form.is_valid():
ban = form.save(commit=False)
@@ -1756,10 +1757,18 @@ def user_tools_bams(request, username):
ban.by = request.user
ban.ip_address = user.addr
ban.save()
AuditLog.objects.create(type=5, user=user, by=request.user)
return redirect('main:user-view', user)
else:
form = Give_Ban_Form_Edit(request.POST, instance=user.active_ban())
ban = form.save(commit=False)
ban.save()
AuditLog.objects.create(type=6, user=user, by=request.user)
return redirect('main:user-view', user)
if not user.banned():
form = Give_Ban_Form()
else: form = None
else:
form = Give_Ban_Form_Edit(instance=user.active_ban())
return render(request, 'closedverse_main/man/manage_bans.html', {
'user': user,
'banned': user.banned(),
+4 -1
View File
@@ -195,7 +195,10 @@ form.search input[type="submit"] {
border-bottom-color: #000;
box-shadow: inset 0 0.5px 0 rgba(0, 0, 0, 0.9);
}
.DateTimeInput {
background: var(--theme-darker, #161626);
color: #fff;
}
.topic-categories-container {
background: var(--theme-dark, #202030);
-webkit-box-shadow: 0 1px 0 var(--theme-dark, #202030);
+4
View File
@@ -4657,6 +4657,10 @@ div#activity-feed-tutorial.no-content p.tleft {
padding: 0 5px 10px 10px;
line-height: 1.2;
}
.DateTimeInput {
border-radius: 6px;
border: 1px solid #000;
}
.platform-tag {
position: static;
float: left;