Commit 564fb058 authored by Michal Čihař's avatar Michal Čihař

Add stub for managing ownership

Issue #720
Signed-off-by: default avatarMichal Čihař <michal@cihar.com>
parent 83a5de4d
......@@ -164,6 +164,7 @@
</tr>
</thead>
<tbody>
{% with object.owners.count as owner_count %}
{% for user in object.owners.all %}
<tr>
<td>{{ user.username }} <span class="badge">{% trans "Owner" %}</span></td>
......@@ -178,9 +179,20 @@
{% trans "Remove" %}
</button>
</form>
{% if owner_count > 1 %}
<form action="{% url "revoke-owner" project=object.slug %}" method="post">
{% csrf_token %}
<input type="hidden" name="name" value="{{ user.username }}" />
<button type="submit" class="btn btn-warning btn-xs">
<i class="fa fa-trash"></i>
{% trans "Revoke ownership" %}
</button>
</form>
{% endif %}
</td>
</tr>
{% endfor %}
{% endwith %}
{% for user in object.all_users %}
<tr>
<td>{{ user.username }}</td>
......@@ -194,6 +206,14 @@
<i class="fa fa-trash"></i>
{% trans "Remove" %}
</button>
</form>
<form action="{% url "make-owner" project=object.slug %}" method="post">
{% csrf_token %}
<input type="hidden" name="name" value="{{ user.username }}" />
<button type="submit" class="btn btn-warning btn-xs">
<i class="fa fa-trash"></i>
{% trans "Make owner" %}
</button>
</form>
</td>
</tr>
......
......@@ -32,6 +32,50 @@ from weblate.trans.views.helper import get_project
from weblate.trans.permissions import can_manage_acl
@require_POST
@login_required
def make_owner(request, project):
obj = get_project(request, project)
if not can_manage_acl(request.user, obj):
raise PermissionDenied()
form = AddUserForm(request.POST)
if form.is_valid():
pass
else:
messages.error(request, _('Invalid user specified!'))
return redirect_param(
'project',
'#acl',
project=obj.slug,
)
@require_POST
@login_required
def revoke_owner(request, project):
obj = get_project(request, project)
if not can_manage_acl(request.user, obj):
raise PermissionDenied()
form = AddUserForm(request.POST)
if form.is_valid():
pass
else:
messages.error(request, _('Invalid user specified!'))
return redirect_param(
'project',
'#acl',
project=obj.slug,
)
@require_POST
@login_required
def add_user(request, project):
......
......@@ -201,6 +201,16 @@ urlpatterns = patterns(
'weblate.trans.views.acl.delete_user',
name='delete-user',
),
url(
r'^make-owner/' + PROJECT + '$',
'weblate.trans.views.acl.make_owner',
name='make-owner',
),
url(
r'^revoke-owner/' + PROJECT + '$',
'weblate.trans.views.acl.revoke_owner',
name='revoke-owner',
),
# Monthly activity
url(
......
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