[Triggers] Submit detail view function
Change-Id: Id36973f629da1ed52c31eed4c4bb91b9d9f1f090 Closes-Bug: #1568448
This commit is contained in:
26
smaug_dashboard/templates/triggers/_detail.html
Normal file
26
smaug_dashboard/templates/triggers/_detail.html
Normal file
@@ -0,0 +1,26 @@
|
||||
{% load i18n %}
|
||||
|
||||
<div class="detail">
|
||||
<dl class="dl-horizontal">
|
||||
<dt>{% trans "Trigger Name" %}</dt>
|
||||
<dd>{{ trigger.name }}</dd>
|
||||
<dt>{% trans "Trigger Type" %}</dt>
|
||||
<dd>{{ trigger.type }}</dd>
|
||||
{% if trigger.frequence %}
|
||||
<dt>{% trans "Frequence" %}</dt>
|
||||
<dd>{{ trigger.frequence }}</dd>
|
||||
{% endif %}
|
||||
{% if trigger.day %}
|
||||
<dt>{% trans "Day" %}</dt>
|
||||
<dd>{{ trigger.day }}</dd>
|
||||
{% endif %}
|
||||
{% if trigger.date %}
|
||||
<dt>{% trans "Date" %}</dt>
|
||||
<dd>{{ trigger.date }}</dd>
|
||||
{% endif %}
|
||||
{% if trigger.time %}
|
||||
<dt>{% trans "Execution Time (HH:MM)" %}</dt>
|
||||
<dd>{{ trigger.time }}</dd>
|
||||
{% endif %}
|
||||
</dl>
|
||||
</div>
|
||||
19
smaug_dashboard/templates/triggers/detail.html
Normal file
19
smaug_dashboard/templates/triggers/detail.html
Normal file
@@ -0,0 +1,19 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load i18n %}
|
||||
{% load breadcrumb_nav %}
|
||||
|
||||
{% block title %}{% trans "Trigger Details" %}{% endblock %}
|
||||
|
||||
{% block page_header %}
|
||||
<div class='page-header'>
|
||||
{% breadcrumb_nav %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% include "triggers/_detail.html" %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -61,6 +61,7 @@ class TriggerFilterAction(tables.FilterAction):
|
||||
|
||||
class TriggersTable(tables.DataTable):
|
||||
name = tables.Column('name',
|
||||
link="horizon:smaug:triggers:detail",
|
||||
verbose_name=_('Name'))
|
||||
type = tables.Column('type',
|
||||
verbose_name=_('Type'))
|
||||
|
||||
@@ -19,4 +19,6 @@ from smaug_dashboard.triggers import views
|
||||
urlpatterns = [
|
||||
url(r'^$', views.IndexView.as_view(), name='index'),
|
||||
url(r'^create/$', views.CreateView.as_view(), name='create'),
|
||||
url(r'^(?P<trigger_id>[^/]+)/detail/$',
|
||||
views.DetailView.as_view(), name='detail'),
|
||||
]
|
||||
|
||||
@@ -12,16 +12,20 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.urlresolvers import reverse_lazy
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from horizon import exceptions
|
||||
from horizon import forms as horizon_forms
|
||||
from horizon import tables as horizon_tables
|
||||
from horizon.utils import memoized
|
||||
from horizon import views as horizon_views
|
||||
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from smaug_dashboard.triggers import forms
|
||||
from smaug_dashboard.triggers import tables
|
||||
from smaug_dashboard.triggers import utils
|
||||
|
||||
|
||||
class IndexView(horizon_tables.DataTableView):
|
||||
@@ -72,3 +76,38 @@ class CreateView(horizon_forms.ModalFormView):
|
||||
submit_url = reverse_lazy("horizon:smaug:triggers:create")
|
||||
success_url = reverse_lazy('horizon:smaug:triggers:index')
|
||||
page_title = _("Create Trigger")
|
||||
|
||||
|
||||
class DetailView(horizon_views.HorizonTemplateView):
|
||||
template_name = 'triggers/detail.html'
|
||||
page_title = "{{ trigger.name }}"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(DetailView, self).get_context_data(**kwargs)
|
||||
trigger = self.get_data()
|
||||
table = tables.TriggersTable(self.request)
|
||||
|
||||
if trigger is not None and trigger.properties is not None:
|
||||
if trigger.properties["format"] == utils.CRONTAB:
|
||||
data = utils.CrontabUtil\
|
||||
.convert_from_crontab(trigger.properties)
|
||||
if data:
|
||||
for key, value in data.items():
|
||||
setattr(trigger, key, value)
|
||||
|
||||
context["trigger"] = trigger
|
||||
context["url"] = reverse("horizon:smaug:triggers:index")
|
||||
context["actions"] = table.render_row_actions(trigger)
|
||||
return context
|
||||
|
||||
@memoized.memoized_method
|
||||
def get_data(self):
|
||||
try:
|
||||
trigger_id = self.kwargs['trigger_id']
|
||||
trigger = smaugclient.trigger_get(self.request, trigger_id)
|
||||
except Exception:
|
||||
exceptions.handle(
|
||||
self.request,
|
||||
_('Unable to retrieve trigger details.'),
|
||||
redirect=reverse("horizon:smaug:triggers:index"))
|
||||
return trigger
|
||||
|
||||
Reference in New Issue
Block a user