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