Merge "the files of the settings panel of Mellanox dashboard"
This commit is contained in:
commit
ae2985530b
|
@ -0,0 +1,64 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Copyright 2016 Mellanox Technologies, Ltd
|
||||||
|
#
|
||||||
|
# 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 datetime import datetime
|
||||||
|
from datetime import timedelta
|
||||||
|
|
||||||
|
from django.forms import ValidationError # noqa
|
||||||
|
from django import shortcuts
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
from django.views.decorators.debug import sensitive_variables # noqa
|
||||||
|
|
||||||
|
from horizon import forms
|
||||||
|
|
||||||
|
|
||||||
|
def _one_year():
|
||||||
|
now = datetime.utcnow()
|
||||||
|
return now + timedelta(days=365)
|
||||||
|
|
||||||
|
|
||||||
|
class SettingsForm(forms.SelfHandlingForm):
|
||||||
|
neo_host = forms.CharField(label=_('NEO Server'), required=False)
|
||||||
|
ufm_host = forms.CharField(label=_('UFM Server'), required=False)
|
||||||
|
neo_host_user = forms.CharField(label=_('NEO Username'), required=False)
|
||||||
|
n_a_ = forms.CharField(label=_('a'), required=False)
|
||||||
|
neo_host_password = forms.CharField(label=_('NEO Password'),
|
||||||
|
required=False,
|
||||||
|
widget=forms.PasswordInput(
|
||||||
|
render_value=False))
|
||||||
|
no_autocomplete = False
|
||||||
|
|
||||||
|
def handle(self, request, data):
|
||||||
|
response = shortcuts.redirect(request.build_absolute_uri())
|
||||||
|
request.session['mellanox_neo_host'] = data['neo_host']
|
||||||
|
response.set_cookie('mellanox_neo_host', data['neo_host'],
|
||||||
|
expires=_one_year())
|
||||||
|
|
||||||
|
request.session['mellanox_neo_host_user'] = data['neo_host_user']
|
||||||
|
response.set_cookie('mellanox_neo_host_user', data['neo_host_user'],
|
||||||
|
expires=_one_year())
|
||||||
|
|
||||||
|
request.session['mellanox_neo_host_password'] = \
|
||||||
|
data['neo_host_password']
|
||||||
|
response.set_cookie('mellanox_neo_host_password',
|
||||||
|
data['neo_host_password'],
|
||||||
|
expires=_one_year())
|
||||||
|
|
||||||
|
request.session['mellanox_ufm_host'] = data['ufm_host']
|
||||||
|
response.set_cookie('mellanox_ufm_host', data['ufm_host'],
|
||||||
|
expires=_one_year())
|
||||||
|
|
||||||
|
return response
|
|
@ -0,0 +1,28 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Copyright 2016 Mellanox Technologies, Ltd
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
|
||||||
|
from horizon_mellanox import dashboard
|
||||||
|
|
||||||
|
|
||||||
|
class SettingsPanel(horizon.Panel):
|
||||||
|
name = _("Settings")
|
||||||
|
slug = 'settingspanel'
|
||||||
|
|
||||||
|
dashboard.MlnxDashboard.register(SettingsPanel)
|
|
@ -0,0 +1,4 @@
|
||||||
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,94 @@
|
||||||
|
{% extends 'base.html' %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% load static %}
|
||||||
|
{% block title %}{% trans "Mellanox Settings" %}{% endblock %}
|
||||||
|
|
||||||
|
{% block main %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<style>
|
||||||
|
#content_body .container-fluid .row .col-xs-12 .page-header{
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-header{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.static_page{
|
||||||
|
float: none;
|
||||||
|
width: 600px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-group{
|
||||||
|
float: left;
|
||||||
|
width: 220px;
|
||||||
|
margin-right: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
label[for^="id_n_a_"]{
|
||||||
|
visibility: hidden;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#id_n_a_{
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col-sm-6{
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.product_header_neo{
|
||||||
|
background-color:#428BCA;
|
||||||
|
width:250px;
|
||||||
|
padding:7px;
|
||||||
|
margin-top:30px;
|
||||||
|
float: left;
|
||||||
|
height: 50px;
|
||||||
|
margin-right: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product_header_ufm{
|
||||||
|
background-color:#428BCA;
|
||||||
|
width:250px;
|
||||||
|
margin-top:30px;
|
||||||
|
float: left;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ufm_lable{
|
||||||
|
color: #fff;
|
||||||
|
font-size: 27px;
|
||||||
|
font-style: italic;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="product_header_neo">
|
||||||
|
<img height=32 src="{% static 'horizon_mellanox/images/neo_logo_trans.png' %}">
|
||||||
|
</div>
|
||||||
|
<div class="product_header_ufm">
|
||||||
|
<label class="ufm_lable">UFM</label>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;height:0px;"></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% include "horizon_mellanox/settingspanel/_change.html" %}
|
||||||
|
|
||||||
|
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
|
||||||
|
<script>
|
||||||
|
$( document ).ready(function() {
|
||||||
|
horizon.horizon_mellanox.prepareSettingsPanel();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{% endblock %}
|
|
@ -0,0 +1,26 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Copyright 2016 Mellanox Technologies, Ltd
|
||||||
|
#
|
||||||
|
# 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 patterns
|
||||||
|
from django.conf.urls import url
|
||||||
|
|
||||||
|
|
||||||
|
from horizon_mellanox.settingspanel import views
|
||||||
|
|
||||||
|
|
||||||
|
urlpatterns = patterns(
|
||||||
|
'',
|
||||||
|
url(r'^$', views.SettingsView.as_view(), name='index'))
|
|
@ -0,0 +1,34 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Copyright 2016 Mellanox Technologies, Ltd
|
||||||
|
#
|
||||||
|
# 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.core.urlresolvers import reverse_lazy
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from horizon import forms
|
||||||
|
|
||||||
|
from horizon_mellanox.settingspanel \
|
||||||
|
import forms as settings_forms
|
||||||
|
|
||||||
|
|
||||||
|
class SettingsView(forms.ModalFormView):
|
||||||
|
form_class = settings_forms.SettingsForm
|
||||||
|
form_id = "change_settings_modal_form"
|
||||||
|
modal_header = ""
|
||||||
|
modal_id = "change_settings_modal"
|
||||||
|
page_title = _("Settings")
|
||||||
|
submit_label = _("Save")
|
||||||
|
submit_url = reverse_lazy("horizon:horizon_mellanox:settingspanel:index")
|
||||||
|
template_name = 'horizon_mellanox/settingspanel/change.html'
|
Loading…
Reference in New Issue