first commit
Change-Id: I8a65ee5527dd16d81e87c8ac5d4bdb471e5e759d
Signed-off-by: lombardof <flombardo@cnit.it>
diff --git a/template/base.html b/template/base.html
new file mode 100644
index 0000000..60576d1
--- /dev/null
+++ b/template/base.html
@@ -0,0 +1,159 @@
+{% load staticfiles %}
+<!DOCTYPE html>
+<html>
+<head>
+
+ {% block head_base %}
+ {% include "head.html" %}
+ {% endblock %}
+ {% block head_block %}
+
+ {% endblock %}
+ <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+ <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+ <!--[if lt IE 9]>
+ <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+ <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+ <![endif]-->
+
+ <!-- Google Font
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">-->
+</head>
+
+
+{% block body %}
+
+{% if request.COOKIES.collapsed_sidebar == '1' %}
+<body class="skin-purple sidebar-mini sidebar-collapse">
+{% else %}
+<body class="skin-purple hold-transition sidebar-mini">
+{% endif %}
+
+<div class="wrapper">
+
+ <header class="main-header">
+ <!-- Logo -->
+ {% block logo_sidebar %}
+ {% include "logo_sidebar.html" %}
+ {% endblock %}
+ <!-- Header Navbar: style can be found in header.less -->
+ <nav class="navbar navbar-static-top">
+ <!-- Sidebar toggle button-->
+ <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </a>
+
+ <div class="navbar-custom-menu">
+ <ul class="nav navbar-nav">
+ {% if user.get_full_name %}
+ <!-- User Account: style can be found in dropdown.less -->
+ <li class="dropdown user user-menu">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+ <img src="{% static user.get_avatar %}" class="user-image" alt="User Image">
+ <span class="hidden-xs">{{ user.username }}</span>
+ </a>
+ <ul class="dropdown-menu">
+ <!-- User image -->
+ <li class="user-header">
+ <img src="{% static user.get_avatar %}" class="img-circle" alt="User Image">
+ <p id="user_menu_name_role">
+ {{ user.get_full_name }}
+ <small id="user_menu_role">{{ user.get_user_role_name }}</small>
+ </p>
+ </li>
+ <!-- Menu Footer-->
+ <li class="user-footer">
+ <div class="pull-left">
+ <a href="#" class="btn btn-default btn-flat" disabled>Settings</a>
+ </div>
+ <div class="pull-right">
+ <a href="/auth" class="btn btn-default btn-flat">Sign out</a>
+ </div>
+ </li>
+ </ul>
+ </li>
+ {% endif %}
+ </ul>
+ </div>
+ </nav>
+ </header>
+
+ <!-- =============================================== -->
+ {% block left_sidebar %}
+
+ {% endblock %}
+
+ <!-- =============================================== -->
+
+ <!-- Content Wrapper. Contains page content -->
+ <div class="content-wrapper">
+ <!-- Content Header (Page header) -->
+ <section class="content-header">
+ <h1 id="title_header">
+ {% block title_header_big %}
+
+ {% endblock %}
+ <small>
+ {% block title_header_small %}
+
+ {% endblock %}
+ </small>
+ </h1>
+ <ol id="breadcrumb" class="breadcrumb">
+ {% block breadcrumb_body %}
+ <li><a href='{% url "home" %}'><i class="fa fa-home fa-fw"></i> Home</a></li>
+ {% endblock %}
+ </ol>
+ </section>
+
+ <!-- Main content -->
+ <section id="main_content" class="content">
+ {% block content_body %}
+
+ {% endblock %}
+ </section>
+ <!-- /.content -->
+ {% include "modals/error_alert.html" %}
+ </div><!-- /.content-wrapper -->
+ {% block footer %}
+ {% include "footer.html" %}
+ {% endblock %}
+
+
+ </div>
+<!-- ./wrapper -->
+
+<!-- jQuery 3 -->
+<script src="/static/bower_components/jquery/dist/jquery.min.js"></script>
+<!-- Bootstrap 3.3.7 -->
+<script src="/static/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
+<!-- FastClick -->
+<script src="/static/bower_components/fastclick/lib/fastclick.js"></script>
+<!-- AdminLTE App -->
+<script src="/static/bower_components/admin-lte/dist/js/adminlte.min.js"></script>
+<!-- iCheck -->
+<script src="/static/bower_components/admin-lte/plugins/iCheck/icheck.min.js"></script>
+<!-- pace -->
+<script src="/static/bower_components/admin-lte/plugins/pace/pace.min.js"></script>
+<!-- bootbox -->
+<script src="/static/bower_components/bootbox.js/bootbox.js"></script>
+<!-- RDCL3D AdminLTE session storage handler -->
+<script src="/static/src/adminlte_session_storage.js"></script>
+<!-- Utility JS -->
+<script src="/static/src/utils.js"></script>
+
+<script>
+ $(document).ready(function () {
+ $('[data-toggle="tooltip"]').tooltip()
+ });
+
+</script>
+{% block resource_block %}
+
+{% endblock %}
+</body>
+{% endblock %}
+</html>
diff --git a/template/error.html b/template/error.html
new file mode 100644
index 0000000..a55d97b
--- /dev/null
+++ b/template/error.html
@@ -0,0 +1,28 @@
+{% extends 'base.html' %}
+
+{% block title_header_big %}
+ {{ block.super }}
+ Error Page
+{% endblock %}
+
+{% block content_body %}
+<div class="error-page">
+ <h2 class="headline text-yellow"> Error</h2>
+
+ <div class="error-content">
+ <h3><i class="fa fa-warning text-yellow"></i> {{error_message}}</h3>
+
+ <p>
+ Meanwhile, you may <a href='{% url "home" %}'>return to dashboard</a> .
+ </p>
+
+ </div>
+ <!-- /.error-content -->
+ </div>
+{% endblock %}
+
+{% block resource_block %}
+
+{% endblock %}
+
+
diff --git a/template/footer.html b/template/footer.html
new file mode 100644
index 0000000..e29c9ad
--- /dev/null
+++ b/template/footer.html
@@ -0,0 +1,12 @@
+{% load staticfiles %}
+{% load i18n %}
+
+<footer class="main-footer">
+ <div class="pull-right hidden-xs">
+ <strong>{{ SITE_NAME }}</strong>
+ </div>
+
+ <strong><a href="https://osm.etsi.org">OSM</a></strong>
+
+
+</footer>
diff --git a/template/forbidden.html b/template/forbidden.html
new file mode 100644
index 0000000..4a798c2
--- /dev/null
+++ b/template/forbidden.html
@@ -0,0 +1,28 @@
+{% extends 'base.html' %}
+
+{% block title_header_big %}
+ {{ block.super }}
+ Error Page
+{% endblock %}
+
+{% block content_body %}
+<div class="error-page">
+ <h2 class="headline text-yellow"> Error 403</h2>
+
+ <div class="error-content">
+ <h3><i class="fa fa-warning text-yellow"></i> {{error_message}}</h3>
+
+ <p>
+ Meanwhile, you may <a href='{% url "home" %}'>return to dashboard</a> .
+ </p>
+
+ </div>
+ <!-- /.error-content -->
+ </div>
+{% endblock %}
+
+{% block resource_block %}
+
+{% endblock %}
+
+
diff --git a/template/head.html b/template/head.html
new file mode 100644
index 0000000..44ae00c
--- /dev/null
+++ b/template/head.html
@@ -0,0 +1,26 @@
+{% load staticfiles %}
+{% load i18n %}
+
+ <title>{{ SITE_NAME }}</title>
+
+ <!-- Tell the browser to be responsive to screen width -->
+ <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
+ <!-- Bootstrap 3.3.7 -->
+ <link rel="stylesheet" href="/static/bower_components/bootstrap/dist/css/bootstrap.min.css">
+ <!-- Font Awesome -->
+ <link rel="stylesheet" href="/static/bower_components/font-awesome/css/font-awesome.min.css">
+ <!-- Ionicons -->
+ <link rel="stylesheet" href="/static/bower_components/Ionicons/css/ionicons.min.css">
+ <!-- Theme style -->
+ <link rel="stylesheet" href="/static/bower_components/admin-lte/dist/css/AdminLTE.min.css">
+ <!-- AdminLTE Skins. Choose a skin from the css/skins
+ folder instead of downloading all of them to reduce the load. -->
+ <link rel="stylesheet" href="/static/bower_components/admin-lte/dist/css/skins/_all-skins.min.css">
+
+ <link rel="stylesheet" href="/static/css/rdcl.css">
+
+ <link rel="stylesheet" href="/static/bower_components/admin-lte/plugins/pace/pace.min.css">
+ <link rel="icon" href="/static/assets/img/favicon.ico">
+
+
+
diff --git a/template/home.html b/template/home.html
new file mode 100644
index 0000000..ac1b2f4
--- /dev/null
+++ b/template/home.html
@@ -0,0 +1,73 @@
+{% extends "base.html" %}
+
+{% load staticfiles %}
+
+{% block head_block %}
+ {{ block.super }}
+
+{% endblock %}
+
+{% block left_sidebar %}
+ {% include 'left_sidebar_base.html' %}
+{% endblock %}
+
+{% block breadcrumb_body %}
+ {{ block.super }}
+
+{% endblock %}
+
+{% block content_body %}
+ {{ block.super }}
+
+ <div class="row">
+ <div class="col-md-5 ">
+
+ <div class="small-box bg-purple">
+ <div class="inner">
+ <h3>{{ projects }}</h3>
+ <h3>Projects</h3>
+ <p></p>
+ </div>
+ <div class="icon">
+ <i class="fa fa-code"></i>
+ </div>
+ <a href="/projects/list" class="small-box-footer">
+ Open list <i class="fa fa-arrow-circle-right"></i>
+ </a>
+ </div>
+ </div>
+ <!--
+ <div class="col-md-6 ">
+ <div class="small-box bg-aqua">
+ <div class="inner">
+ <h3>{{deployments}}</h3>
+ <h3>Deployments</h3>
+ <p></p>
+ </div>
+ <div class="icon">
+ <i class="fa fa-terminal"></i>
+ </div>
+ {% if user.is_guest %}
+ <a href="#" class="small-box-footer">
+ Guest Users don't have permission <i class="fa fa-arrow-circle-right"></i>
+ </a>
+ {% else %}
+ <a href="/deployments/list" class="small-box-footer">
+ Open list <i class="fa fa-arrow-circle-right"></i>
+ </a>
+ {% endif %}
+ </div>
+ </div>
+-->
+</div>
+<div class="row">
+ <img style="display:block; margin:0 auto; width: 60%;" class="pad" src="/static/assets/img/osm_logo.svg" alt="Photo">
+</div>
+{% endblock %}
+
+{% block resource_block %}
+ {{ block.super }}
+
+
+
+{% endblock %}
diff --git a/template/left_sidebar_base.html b/template/left_sidebar_base.html
new file mode 100644
index 0000000..2ed2e2a
--- /dev/null
+++ b/template/left_sidebar_base.html
@@ -0,0 +1,23 @@
+<!-- Left side column. contains the sidebar -->
+<aside class="main-sidebar" id="globalmenu">
+ <!-- sidebar: style can be found in sidebar.less -->
+ <section class="sidebar">
+ <!-- sidebar menu: : style can be found in sidebar.less -->
+ <ul class="sidebar-menu">
+ <li class="header">MAIN NAVIGATION</li>
+ {% url "home" as home_url %}
+ <li {% if request.get_full_path == home_url %} class="active" {% endif %} ><a href='{% url "home" %}'><i class="fa fa-home fa-fw"></i><span>Home</span></a></li>
+ {% url "projects:projects_list" as projects_list_url %}
+ <li {% if request.get_full_path == projects_list_url %} class="active" {% endif %}><a href='{% url "projects:projects_list" %}'><i class="fa fa-code fa-fw"></i><span>Projects</span></a></li>
+ {% url "vim:list" as vims_list_url %}
+ <li {% if request.get_full_path == vims_list_url %} class="active" {% endif %}><a href='{% url "vim:list" %}'><i class="fa fa-th-list fa-fw"></i><span>VIM Accounts</span></a></li>
+
+
+
+ {% block left_sidebar_base %}
+
+ {% endblock %}
+ </ul>
+ </section>
+ <!-- /.sidebar -->
+</aside>
diff --git a/template/login.html b/template/login.html
new file mode 100644
index 0000000..2323200
--- /dev/null
+++ b/template/login.html
@@ -0,0 +1,51 @@
+{% extends 'base.html' %}
+
+{% block content_body %}
+<div class="login-box">
+ <div class="login-logo">
+ <a href='{% url "home" %}'><b>{{ SITE_NAME }} </b>Login</a>
+ </div>
+ <!-- /.login-logo -->
+ <div class="login-box-body">
+ <p class="login-box-msg">Sign in to start your session</p>
+
+ <form action="../auth/" method="post" onsubmit="">
+ <input id="next_input" type="hidden" name="next" class="form-control">
+ {% csrf_token %}
+ <div class="form-group has-feedback">
+ <input type="username" name="username" class="form-control" placeholder="Username">
+ <span class="glyphicon glyphicon-user form-control-feedback"></span>
+ </div>
+ <div class="form-group has-feedback">
+ <input type="password" name="password" class="form-control" placeholder="Password">
+ <span class="glyphicon glyphicon-lock form-control-feedback"></span>
+ </div>
+ <div class="row">
+ <div class="col-xs-8">
+
+ </div>
+ <!-- /.col -->
+ <div class="col-xs-4">
+ <button type="submit" class="btn btn-primary btn-block btn-flat">Sign In</button>
+ </div>
+ <!-- /.col -->
+ </div>
+ </form>
+
+
+ </div>
+ <!-- /.login-box-body -->
+</div>
+<!-- /.login-box -->
+{% endblock %}
+
+{% block resource_block %}
+<script>
+ $(document).ready(function () {
+ var next_value = getUrlParameter('next');
+ console.log('next_value', next_value);
+ if(next_value)
+ $('#next_input').val(next_value);
+ });
+</script>
+{% endblock %}
diff --git a/template/logo_sidebar.html b/template/logo_sidebar.html
new file mode 100644
index 0000000..916bef9
--- /dev/null
+++ b/template/logo_sidebar.html
@@ -0,0 +1,8 @@
+{% load staticfiles %}
+{% load i18n %}
+<a href="#" class="logo" style="background-color: white !important;">
+ <!-- mini logo for sidebar mini 50x50 pixels -->
+ <span class="logo-mini"><img src="{% static logo_mini|default:"assets/img/osm_small_logo.png" %}" style="height: 40px;margin-top: -10px;"></span>
+ <!-- logo for regular state and mobile devices -->
+ <span class="logo-lg"><img src="{% static logo|default:"assets/img/OSM-logo.png" %}" style="height: 40px;margin-top: -10px;"></span>
+ </a>
diff --git a/template/modals/error_alert.html b/template/modals/error_alert.html
new file mode 100644
index 0000000..89a8ed4
--- /dev/null
+++ b/template/modals/error_alert.html
@@ -0,0 +1,20 @@
+<div class="modal" id="modal_alert" xmlns="http://www.w3.org/1999/html">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">×</span></button>
+ <h4 class="modal-title" >Warning</h4>
+ </div>
+ <div class="modal-body">
+ <label id="modal_alert_text"> </label>
+
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-primary pull-right" data-dismiss="modal">Ok</button>
+ </div>
+ </div>
+ <!-- /.modal-content -->
+ </div>
+ <!-- /.modal-dialog -->
+</div>
\ No newline at end of file
diff --git a/template/topology_toolbar.html b/template/topology_toolbar.html
new file mode 100644
index 0000000..c5f8baa
--- /dev/null
+++ b/template/topology_toolbar.html
@@ -0,0 +1,38 @@
+<div class="btn-group-vertical left-tool-bar">
+
+ <!-- <button id="topology_zoom_plus" type="button" class="btn btn-default"><i class="fa fa-plus"></i></button> -->
+ <!-- <button id="topology_zoom_minus" type="button" class="btn btn-default"><i class="fa fa-minus"></i></button> -->
+
+ <button id="topology_play" type="button" title="Play force" class="btn btn btn-default" onclick="handleForce(this)"><i
+ class="fa fa-play"></i></button>
+ <button id="topology_pause" type="button" title="Stop force" class="btn btn btn-default active" onclick="handleForce(this)"><i
+ class="fa fa-pause"></i></button>
+ {% block topology_toolbar_buttons %}
+
+ {% endblock %}
+
+ <!-- <button id="topology_settings" type="button" class="btn btn-default"><i class="fa fa-gear"></i></button> -->
+
+ <button id="topology_open_editor" type="button" title="Edit descriptor" class="btn btn-default" onclick="openEditor({{project_id}})"><i
+ class="fa fa-edit"></i></button>
+
+ <button id="topology_save" type="button" title="Save positions" class="btn btn-default" onclick="savePositions(this)"><i
+ class="fa fa-save"></i></button>
+
+ <button id="topology_info_button" type="button" title="Info keyboard" class="btn btn-default" data-toggle="modal"
+ data-target="#modalTopologyInfoButton"><i class="fa fa-keyboard-o"></i></button>
+</div>
+{% block boxes_toolbar %}
+
+{% endblock %}
+
+
+
+<div id="palette" >
+ <div id="palette_status_indicator" class="palette-status-indicator">
+ <i class="fa fa-refresh fa-spin fa-3x fa-fw" aria-hidden="true"></i>
+ </div>
+ <div id="paletteContainer" class="palette-container">
+
+ </div>
+</div>