Commit 97dfaa78 authored by Michal Čihař's avatar Michal Čihař

Stub methods and interface for subproject locking (issue #56)

parent d0bff06a
{% load i18n %}
{% load url from future %}
{% with object.git_needs_commit as needs_commit %}
{% if perms.trans.commit_translation or perms.trans.update_translation %}
......@@ -9,6 +11,13 @@
{% if perms.trans.reset_translation %}
<li><a href="{{ object.get_reset_url }}" title="{% trans "Reset all changes in local repository" %}" class="confirm-reset">{% trans "Reset" %}</a></li>
{% endif %}
{% if perms.trans.lock_translation and object.repo %}
{% if object.locked %}
<li><a href="{% url 'weblate.trans.views.unlock_subproject' project=object.project.slug subproject=object.slug %}" title="{% trans "Allow changes in the repository" %}">{% trans "Unlock" %}</a></li>
{% else %}
<li><a href="{% url 'weblate.trans.views.lock_subproject' project=object.project.slug subproject=object.slug %}" title="{% trans "Prevent any changes in the repository" %}">{% trans "Lock" %}</a></li>
{% endif %}
{% endif %}
</ul>
{% if needs_commit %}
......
......@@ -492,6 +492,25 @@ def reset_translation(request, project, subproject, lang):
return HttpResponseRedirect(obj.get_absolute_url())
@login_required
@permission_required('trans.lock_translation')
def lock_subproject(request, project, subproject):
obj = get_object_or_404(SubProject, slug = subproject, project__slug = project)
messages.info(request, _('Subproject is now locked for translation updates!'))
return HttpResponseRedirect(obj.get_absolute_url())
@login_required
@permission_required('trans.lock_translation')
def unlock_subproject(request, project, subproject):
obj = get_object_or_404(SubProject, slug = subproject, project__slug = project)
messages.info(request, _('Subproject is now open for translation updates.'))
return HttpResponseRedirect(obj.get_absolute_url())
def download_translation(request, project, subproject, lang):
obj = get_object_or_404(Translation, language__code = lang, subproject__slug = subproject, subproject__project__slug = project)
......
......@@ -55,6 +55,9 @@ urlpatterns = patterns('',
url(r'^reset/(?P<project>[^/]*)/(?P<subproject>[^/]*)/$', 'weblate.trans.views.reset_subproject'),
url(r'^reset/(?P<project>[^/]*)/(?P<subproject>[^/]*)/(?P<lang>[^/]*)/$', 'weblate.trans.views.reset_translation'),
url(r'^lock/(?P<project>[^/]*)/(?P<subproject>[^/]*)/$', 'weblate.trans.views.lock_subproject'),
url(r'^unlock/(?P<project>[^/]*)/(?P<subproject>[^/]*)/$', 'weblate.trans.views.unlock_subproject'),
url(r'^languages/$', 'weblate.trans.views.show_languages'),
url(r'^languages/(?P<lang>[^/]*)/$', 'weblate.trans.views.show_language'),
......
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