forked from enviPath/enviPy
[Bug] Fixes for Group handling, Load all objects only if necessary (#113)
Fixes #109 Fixes #110 Fixes #111 Fixes #112 Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#113
This commit is contained in:
@ -265,7 +265,7 @@ class GroupManager(object):
|
||||
@transaction.atomic
|
||||
def update_members(caller: User, group: Group, member: Union[User, Group], add_or_remove: str):
|
||||
|
||||
if caller != group.owner:
|
||||
if caller != group.owner and not caller.is_superuser:
|
||||
raise ValueError('Only the group Owner is allowed to add members!')
|
||||
|
||||
if isinstance(member, Group):
|
||||
|
||||
@ -181,7 +181,7 @@ class Group(TimeStampedModel):
|
||||
public = models.BooleanField(verbose_name='Public Group', default=False)
|
||||
description = models.TextField(blank=False, null=False, verbose_name='Descriptions', default='no description')
|
||||
user_member = models.ManyToManyField("User", verbose_name='User members', related_name='users_in_group')
|
||||
group_member = models.ManyToManyField("Group", verbose_name='Group member', related_name='groups_in_group')
|
||||
group_member = models.ManyToManyField("Group", verbose_name='Group member', related_name='groups_in_group', blank=True)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.name} (pk={self.pk})"
|
||||
|
||||
@ -258,18 +258,21 @@
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
{% if object_type != 'package' %}
|
||||
<div id="load-all-loading" class="spinner-widget">
|
||||
|
||||
<div id="load-all-loading" class="spinner-widget" style="display: none">
|
||||
<img id="loading-gif" src="{% static '/images/wait.gif' %}" alt="Loading...">
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
<script>
|
||||
$(function () {
|
||||
|
||||
$('#object-search').show();
|
||||
|
||||
{% if object_type != 'package' %}
|
||||
{% if object_type != 'package' and object_type != 'user' and object_type != 'group' %}
|
||||
{% if reviewed_objects|length > 50 or unreviewed_objects|length > 50 %}
|
||||
$('#load-all-loading').show()
|
||||
|
||||
setTimeout(function () {
|
||||
$('#load-all-error').hide();
|
||||
|
||||
@ -295,6 +298,7 @@
|
||||
|
||||
}, 2500);
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
$('#modal-form-delete-submit').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
Reference in New Issue
Block a user