Commit b6a148a9 authored by Michal Čihař's avatar Michal Čihař

Ownership management for non-ACL projects

Fixes #805
Signed-off-by: default avatarMichal Čihař <michal@cihar.com>
parent 2ff40592
...@@ -172,6 +172,7 @@ ...@@ -172,6 +172,7 @@
<td>{{ user.email }}</td> <td>{{ user.email }}</td>
<td> <td>
{% if owner_count > 1 %} {% if owner_count > 1 %}
{% if object.enable_acl %}
<form action="{% url "delete-user" project=object.slug %}" method="post"> <form action="{% url "delete-user" project=object.slug %}" method="post">
{% csrf_token %} {% csrf_token %}
<input type="hidden" name="name" value="{{ user.username }}" /> <input type="hidden" name="name" value="{{ user.username }}" />
...@@ -180,6 +181,7 @@ ...@@ -180,6 +181,7 @@
{% trans "Remove" %} {% trans "Remove" %}
</button> </button>
</form> </form>
{% endif %}
<form action="{% url "revoke-owner" project=object.slug %}" method="post"> <form action="{% url "revoke-owner" project=object.slug %}" method="post">
{% csrf_token %} {% csrf_token %}
<input type="hidden" name="name" value="{{ user.username }}" /> <input type="hidden" name="name" value="{{ user.username }}" />
...@@ -193,6 +195,7 @@ ...@@ -193,6 +195,7 @@
</tr> </tr>
{% endfor %} {% endfor %}
{% endwith %} {% endwith %}
{% if object.enable_acl %}
{% for user in object.all_users %} {% for user in object.all_users %}
<tr> <tr>
<td>{{ user.username }}</td> <td>{{ user.username }}</td>
...@@ -218,6 +221,7 @@ ...@@ -218,6 +221,7 @@
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
{% endif %}
</tbody> </tbody>
</table> </table>
</div> </div>
...@@ -227,10 +231,20 @@ ...@@ -227,10 +231,20 @@
<div class="col-lg-6"> <div class="col-lg-6">
{% if object.enable_acl %}
<form action="{% url "add-user" project=object.slug %}" method="post"> <form action="{% url "add-user" project=object.slug %}" method="post">
{% else %}
<form action="{% url "make-owner" project=object.slug %}" method="post">
{% endif %}
{% csrf_token %} {% csrf_token %}
<div class="panel panel-primary"> <div class="panel panel-primary">
<div class="panel-heading"><h4 class="panel-title">{% trans "Add new user" %}</h4></div> <div class="panel-heading"><h4 class="panel-title">
{% if object.enable_acl %}
{% trans "Add new user" %}
{% else %}
{% trans "Add new owner" %}
{% endif %}
</h4></div>
<div class="panel-body"> <div class="panel-body">
{{ add_user_form|crispy }} {{ add_user_form|crispy }}
</div> </div>
......
...@@ -250,7 +250,4 @@ def can_manage_acl(user, project): ...@@ -250,7 +250,4 @@ def can_manage_acl(user, project):
""" """
Checks whether user can manage ACL on given project. Checks whether user can manage ACL on given project.
""" """
if not project.enable_acl:
return False
return check_permission(user, project, 'trans.manage_acl') return check_permission(user, project, 'trans.manage_acl')
...@@ -88,7 +88,7 @@ def revoke_owner(request, project): ...@@ -88,7 +88,7 @@ def revoke_owner(request, project):
def add_user(request, project): def add_user(request, project):
obj, form = check_user_form(request, project) obj, form = check_user_form(request, project)
if form is not None: if form is not None and obj.enable_acl:
obj.add_user(form.cleaned_data['user']) obj.add_user(form.cleaned_data['user'])
messages.success( messages.success(
request, _('User has been added to this project.') request, _('User has been added to this project.')
...@@ -106,7 +106,7 @@ def add_user(request, project): ...@@ -106,7 +106,7 @@ def add_user(request, project):
def delete_user(request, project): def delete_user(request, project):
obj, form = check_user_form(request, project) obj, form = check_user_form(request, project)
if form is not None: if form is not None and obj.enable_acl:
is_owner = obj.owners.filter( is_owner = obj.owners.filter(
id=form.cleaned_data['user'].id id=form.cleaned_data['user'].id
).exists() ).exists()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment