mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-18 21:49:37 -04:00
Merge pull request #1008 from alphagov/deactivate-service
Deactivate service
This commit is contained in:
@@ -186,37 +186,16 @@ def service_switch_can_send_letters(service_id):
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/delete", methods=['GET', 'POST'])
|
||||
@main.route("/services/<service_id>/service-settings/deactivate", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions('manage_settings', admin_override=True)
|
||||
def service_delete(service_id):
|
||||
if request.method == 'GET':
|
||||
return render_template(
|
||||
'views/service-settings/delete.html'
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
return redirect(url_for('.service_delete_confirm', service_id=service_id))
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/delete/confirm", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions('manage_settings', admin_override=True)
|
||||
def service_delete_confirm(service_id):
|
||||
# Validate password for form
|
||||
def _check_password(pwd):
|
||||
return user_api_client.verify_password(current_user.id, pwd)
|
||||
|
||||
form = ConfirmPasswordForm(_check_password)
|
||||
|
||||
if form.validate_on_submit():
|
||||
service_api_client.delete_service(service_id)
|
||||
return redirect(url_for('.choose_service'))
|
||||
|
||||
return render_template(
|
||||
'views/service-settings/confirm.html',
|
||||
heading='Delete this service from Notify',
|
||||
destructive=True,
|
||||
form=form)
|
||||
def deactivate_service(service_id):
|
||||
if request.method == 'POST':
|
||||
service_api_client.deactivate_service(service_id)
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
else:
|
||||
flash('There\'s no way to reverse this! Are you sure you want to archive this service?', 'delete')
|
||||
return service_settings(service_id)
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/set-reply-to-email", methods=['GET', 'POST'])
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
from __future__ import unicode_literals
|
||||
from flask import url_for
|
||||
from notifications_python_client.notifications import NotificationsAPIClient
|
||||
from notifications_python_client.base import BaseAPIClient
|
||||
from app.utils import BrowsableItem
|
||||
from app.notify_client import _attach_current_user
|
||||
|
||||
|
||||
class ServiceAPIClient(NotificationsAPIClient):
|
||||
class ServiceAPIClient(BaseAPIClient):
|
||||
# Fudge assert in the super __init__ so
|
||||
# we can set those variables later.
|
||||
def __init__(self):
|
||||
@@ -31,14 +31,6 @@ class ServiceAPIClient(NotificationsAPIClient):
|
||||
data = _attach_current_user(data)
|
||||
return self.post("/service", data)['data']['id']
|
||||
|
||||
def delete_service(self, service_id):
|
||||
"""
|
||||
Delete a service.
|
||||
"""
|
||||
endpoint = "/service/{0}".format(service_id)
|
||||
data = _attach_current_user({})
|
||||
return self.delete(endpoint, data)
|
||||
|
||||
def get_service(self, service_id):
|
||||
return self._get_service(service_id, detailed=False, today_only=False)
|
||||
|
||||
@@ -105,6 +97,9 @@ class ServiceAPIClient(NotificationsAPIClient):
|
||||
def update_service_with_properties(self, service_id, properties):
|
||||
return self.update_service(service_id, **properties)
|
||||
|
||||
def deactivate_service(self, service_id):
|
||||
return self.post('/service/{}/deactivate'.format(service_id), data=None)
|
||||
|
||||
def remove_user_from_service(self, service_id, user_id):
|
||||
"""
|
||||
Remove a user from a service
|
||||
|
||||
@@ -109,6 +109,13 @@
|
||||
{{ 'Stop sending letters' if current_service.can_send_letters else 'Allow to send letters' }}
|
||||
</a>
|
||||
</li>
|
||||
{% if current_service.active %}
|
||||
<li class="bottom-gutter">
|
||||
<a href="{{ url_for('.deactivate_service', service_id=current_service.id) }}" class="button">
|
||||
Archive service
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user