Add templates panel to admin section

Task: #22577
Story: #2002729

Change-Id: I82afa98506ca0b806277369dd423dc93690f1d28
This commit is contained in:
Yuval Adar 2018-06-27 13:15:16 +03:00
parent 7d86ed03c8
commit 12d42c1782
8 changed files with 156 additions and 1 deletions

View File

@ -20,6 +20,9 @@ recursive-include vitrageentities/templates *
recursive-include vitragetemplates/static *
recursive-include vitragetemplates/templates *
recursive-include vitrageadmintemplates/static *
recursive-include vitrageadmintemplates/templates *
recursive-include vitrageadminalarms/static *
recursive-include vitrageadminalarms/templates *
@ -27,4 +30,4 @@ recursive-include vitrageadminentities/static *
recursive-include vitrageadminentities/templates *
recursive-include vitrageadmindashboard/static *
recursive-include vitrageadmindashboard/templates *
recursive-include vitrageadmindashboard/templates *

View File

@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import pbr.version
__version__ = pbr.version.VersionInfo(
'vitrage-dashboard').version_string()

View File

@ -0,0 +1,22 @@
# Copyright 2018 Nokia
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from django.utils.translation import ugettext_lazy as _
import horizon
class TemplatesAdminVitrage(horizon.Panel):
name = _("Templates")
slug = "vitrageadmintemplates"

View File

@ -0,0 +1,16 @@
{% extends 'base.html' %}
{% load i18n %}
{% block title %}{% trans "Templates List" %}{% endblock %}
{% block page_header %}
{% include "horizon/common/_page_header.html" with title=_("Templates List") %}
{% endblock page_header %}
{% block main %}
<div ng-cloak ng-init='init({{ TOPOLOGY_VITRAGE_SETTINGS }})'>
<ng-include src="'{{STATIC_URL}}dashboard/project/templateList/templateList.html'"></ng-include>
</div>
{% endblock %}

View File

@ -0,0 +1,21 @@
# Copyright 2018 Nokia
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from django.conf.urls import url
from vitrage_dashboard.admin_templates import views
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name='index'),
]

View File

@ -0,0 +1,15 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import pbr.version
version_info = pbr.version.VersionInfo('vitrage_templates_ui')

View File

@ -0,0 +1,32 @@
# Copyright 2018 Nokia
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from horizon import views
import json
class IndexView(views.APIView):
# A very simple class-based view...
template_name = 'admintemplates/index.html'
def get_data(self, request, context, *args, **kwargs):
topology_settings = {
'VITRAGE_VERSION': {
'VER': 1,
'REL': 1
}
}
context['TOPOLOGY_VITRAGE_SETTINGS'] = json.dumps(topology_settings)
return context

View File

@ -0,0 +1,27 @@
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# The name of the panel to be added to HORIZON_CONFIG. Required.
PANEL = 'templates_vitrage_panel'
# The name of the dashboard the PANEL associated with. Required.
PANEL_DASHBOARD = 'admin'
# The name of the panel group the PANEL is associated with.
PANEL_GROUP = 'admin_vitrage_panel_group'
# Python panel class of the PANEL to be added.
ADD_PANEL = 'vitrage_dashboard.admin_templates.panel.TemplatesAdminVitrage'
ADD_INSTALLED_APPS = ['vitrage_dashboard.admin_templates']
ADD_ANGULAR_MODULES = ['horizon.dashboard.project.vitrage']
AUTO_DISCOVER_STATIC_FILES = True