deleting services feature
This commit is contained in:
parent
6b0e582efd
commit
5d25557bb3
|
@ -31,6 +31,7 @@
|
|||
<div data-service-id="{{ service.Extra.service_id }}"
|
||||
data-slug="{{ service.slug }}"
|
||||
{% if service.wants_frequent_checks %}data-wants-check="true"{% endif %}>
|
||||
<a href="{{ service|delete_url }}" class="delete-service" title="{% trans 'Delete service' %}"></a>
|
||||
<h3>{{ service.title }}</h3>
|
||||
{% if not service.is_operational %}
|
||||
{% if service.wants_frequent_checks %}
|
||||
|
@ -44,7 +45,7 @@
|
|||
{% endif %}
|
||||
{% endif %}
|
||||
<p>
|
||||
<form class="small" method="post" action="{{ service|save_url }}" >
|
||||
<form class="small" method="post" action=" {{ service|save_url }}" >
|
||||
{% csrf_token %}
|
||||
{{ service|as_update_form }}
|
||||
<button class="enable-on-change" disabled="disabled">{% trans 'Save' %}</button>
|
||||
|
@ -85,6 +86,16 @@ $(function() {
|
|||
$(form).dialog({modal: true, title: title, width: 'auto'});
|
||||
});
|
||||
});
|
||||
|
||||
$('a.delete-service').click(function() {
|
||||
var url = $(this).attr('href');
|
||||
$.get($(this).attr('href'), function(data) {
|
||||
var form = $(data).find('form');
|
||||
$(form).dialog({modal: true, title: '{% trans "Service deletion" %}', width: 'auto'});f
|
||||
});
|
||||
event.preventDefault();
|
||||
});
|
||||
|
||||
$("div[data-wants-check='true']").each(function(index, element) {
|
||||
$(element).operational_check();
|
||||
});
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
{% extends "hobo/base.html" %}
|
||||
{% load i18n service %}
|
||||
|
||||
{% block content %}
|
||||
<form action="{{ object|delete_url }}" method="post">
|
||||
{% csrf_token %}
|
||||
{% blocktrans with title=object.title %}
|
||||
Are you sure you want to delete "{{ title }}"?
|
||||
{% endblocktrans %}
|
||||
<div>
|
||||
<input type="submit" value="{% trans 'Yes' %}" >
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
@ -14,3 +14,9 @@ def save_url(object):
|
|||
return reverse_lazy('save-service', kwargs={
|
||||
'service': object.Extra.service_id,
|
||||
'slug': object.slug})
|
||||
|
||||
@register.filter(name='delete_url')
|
||||
def delete_url(object):
|
||||
return reverse_lazy('delete-service', kwargs={
|
||||
'service': object.Extra.service_id,
|
||||
'slug': object.slug})
|
||||
|
|
|
@ -8,6 +8,7 @@ urlpatterns = patterns('',
|
|||
operational_check_view, name='operational-check'),
|
||||
url(r'^new-(?P<service>\w+)$', ServiceCreateView.as_view()),
|
||||
url(r'^save-(?P<service>\w+)/(?P<slug>[\w-]+)$', ServiceUpdateView.as_view(), name='save-service'),
|
||||
url(r'^delete-(?P<service>\w+)/(?P<slug>[\w-]+)$', ServiceDeleteView.as_view(), name='delete-service'),
|
||||
url(r'^installed_services.json$', installed_services_json_view),
|
||||
url(r'^operational_services.json$', operational_services_json_view),
|
||||
)
|
||||
|
|
|
@ -5,7 +5,7 @@ from django.conf import settings
|
|||
from django.core.urlresolvers import reverse_lazy
|
||||
from django.http import HttpResponse
|
||||
from django.views.generic.base import TemplateView
|
||||
from django.views.generic.edit import CreateView, UpdateView
|
||||
from django.views.generic.edit import CreateView, UpdateView, DeleteView
|
||||
|
||||
from .models import Authentic, Wcs, AVAILABLE_SERVICES
|
||||
from . import forms, utils
|
||||
|
@ -92,6 +92,18 @@ class ServiceUpdateView(UpdateView):
|
|||
return form_class
|
||||
return None
|
||||
|
||||
class ServiceDeleteView(DeleteView):
|
||||
success_url = reverse_lazy('environment-home')
|
||||
template_name = 'environment/service_delete_confirm.html'
|
||||
context_object_name = 'object'
|
||||
|
||||
def get_object(self):
|
||||
service_id = self.kwargs.pop('service')
|
||||
service_slug = self.kwargs.pop('slug')
|
||||
for service in AVAILABLE_SERVICES:
|
||||
if service.Extra.service_id == service_id:
|
||||
return service.objects.get(slug=service_slug)
|
||||
return None
|
||||
|
||||
def operational_check_view(request, service, slug, **kwargs):
|
||||
if service == 'wcs':
|
||||
|
|
|
@ -14,3 +14,13 @@ p.being-deployed {
|
|||
background: url(indicator.gif) no-repeat;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
a.delete-service {
|
||||
float: right;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.delete-service:after {
|
||||
font: normal 1.5em FontAwesome;
|
||||
content:"\f057";
|
||||
}
|
Loading…
Reference in New Issue