Commit 0bd73ff1 authored by Fernando Verdugo's avatar Fernando Verdugo Committed by Francesc Guasch
Browse files

866 bootstrap4 (#948)

* wip(frontend):update CDNs

Upgrade to Bootstrap 4

Issue [#866]

* wip(frontend):update settings

Issue [#866]

* wip(frontend): upgrade settings tab

Issue [#866]

* Revert "wip(frontend):update settings"

This reverts commit 01ab4f092cb9e15e9a0cab0493d09ebb7a18d986.

* wip(frontend):bootstrap 4

Issue [#866]

* wip(frontend):navigation upgrade

Issue [#866]

* wip(frontend):bootstrap upgrade

- Add update js library
- Upgrade settings tab
- Polish list_bases

Issue [#866]

* wip(frontend): new syntax boostrap4

- panel -> card

Issue [#866]

* wip(frontend): settings upgrade

Issue [#866]

* wip(frontend): new_machine

Issue #866

* wip(frontend):admin machines upgrade

Issue #866

* wip(frontend): upgrade new_machine

Issue [#866]

* wip(frontend): upgrade new_user

Issue #866

* wip(frontend): user_settings upgrade bootstrap4

Issue #866

* wip(frontend): user settings upgrade bt4

Issue #866

* wip(frontend): help upgrade bt4

Issue #866

* wip(frontend): nodes upgrade bt4

Issue  #866

* wip(frontend): login upgrade

Issue #866
parent e54c1672
......@@ -768,3 +768,20 @@ msgstr ""
msgid "licensed."
msgstr ""
msgid "New Node"
msgstr ""
msgid "Address"
msgstr ""
msgid "A node with that name already exists."
msgstr ""
msgid "Setting your default language"
msgstr ""
msgid "Change password"
msgstr ""
msgid "Update password"
msgstr ""
{
"name": "RavadaVDI",
"description": "Ravada Virtual Desktop",
"version": "0.2.18",
"version": "0.3.1",
"dependencies": {
"angular": "1.5.5",
"angular-animate": "1.5.5",
......@@ -10,8 +10,9 @@
"angular-messages": "1.5.5",
"angular-resource": "1.5.5",
"angular-sanitize": "1.5.5",
"bootstrap": "3.3.7",
"bootstrap-select": "1.12.2",
"bootstrap": "4.1.2",
"popper": "1.0.1",
"bootstrap-select": "1.12.2",
"ckeditor": "4.8.0",
"font-awesome5": "^1.0.5",
"intro.js": "2.7.0",
......@@ -26,7 +27,7 @@
"url": "https://github.com/UPC/ravada.git"
}
],
"license": "GPL-3.0-or-later",
"license": "AGPL-3.0-or-later",
"homepage": "https://ravada.upc.edu",
"repository": "https://github.com/UPC/ravada.git"
}
......@@ -118,7 +118,7 @@ a:focus {
@media(min-width:768px) {
.navbar-custom {
padding: 20px 0;
padding: -1px 0;
border-bottom: 0;
letter-spacing: 1px;
background: 0 0;
......@@ -176,46 +176,6 @@ a:focus {
}
}
.btn-circle {
width: 70px;
height: 70px;
margin-top: 3em;
padding: 7px 16px;
border: 2px solid #fff;
border-radius: 100%!important;
font-size: 40px;
color: #fff;
background: 0 0;
-webkit-transition: background .3s ease-in-out;
-moz-transition: background .3s ease-in-out;
transition: background .3s ease-in-out;
}
.btn-circle:hover,
.btn-circle:focus {
outline: 0;
color: #fff;
background: rgba(255,255,255,.1);
}
.btn-circle i.animated {
-webkit-transition-property: -webkit-transform;
-webkit-transition-duration: 1s;
-moz-transition-property: -moz-transform;
-moz-transition-duration: 1s;
}
.btn-circle:hover i.animated {
-webkit-animation-name: pulse;
-moz-animation-name: pulse;
-webkit-animation-duration: 1.5s;
-moz-animation-duration: 1.5s;
-webkit-animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-moz-animation-timing-function: linear;
}
@-webkit-keyframes pulse {
0% {
-webkit-transform: scale(1);
......@@ -254,18 +214,6 @@ a:focus {
padding-top: 100px;
}
.download-section {
width: 100%;
padding: 50px 0;
color: #fff;
background: url(../img/downloads-bg.jpg) no-repeat center center scroll;
background-color: #000;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
-o-background-size: cover;
}
#map {
width: 100%;
height: 200px;
......@@ -277,44 +225,12 @@ a:focus {
padding-top: 250px;
}
.download-section {
padding: 100px 0;
}
#map {
height: 400px;
margin-top: 250px;
}
}
.btn {
border-radius: 0;
text-transform: uppercase;
font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
font-weight: 400;
-webkit-transition: all .3s ease-in-out;
-moz-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
.btn-default {
border: 1px solid #42dca3;
color: #42dca3;
background-color: transparent;
}
.btn-default:hover,
.btn-default:focus {
border: 1px solid #42dca3;
outline: 0;
color: #000;
background-color: #42dca3;
}
ul.banner-social-buttons {
margin-top: 0;
}
@media(max-width:1199px) {
ul.banner-social-buttons {
margin-top: 15px;
......
......@@ -38,8 +38,8 @@ body {
}
#page-wrapper {
padding: 5px 100px;
min-height: 763px;
padding: 17px 100px;
min-height: 768px;
max-width: 1200px;
margin: 0 auto;
}
......@@ -72,11 +72,6 @@ body {
background-color: #000;
}
.dropdown:hover .dropdown-menu {
display: block;
margin-top: 0; // remove the gap so it doesn't close
}
.top-nav>.open>.dropdown-menu {
float: left;
position: absolute;
......
<footer class="footer">
<div class="container ">
<div class="row">
<br>
<a href="https://www.upc.edu/"><img src="https://www.upc.edu/content/assets/images/logoUPC.png"></a>
<a href="https://ravada.upc.edu/"><img src="https://img.shields.io/badge/Website-Ravada-orange.svg"></a>
<div class="row">
<div class="col">
<a href="https://www.upc.edu/"><img src="https://www.upc.edu/content/assets/images/logoUPC.png"></a>
</div>
<div class="col-5 mt-4">
<a href="https://ravada.upc.edu/"><img src="https://img.shields.io/badge/Website-Ravada-orange.svg"></a>
% $version =~ s/-/--/g;
<a href="https://github.com/UPC/ravada/releases"><img src="https://img.shields.io/badge/version-<%= $version %>-brightgreen.svg"></a>
<a href="https://github.com/UPC/ravada/blob/master/LICENSE"><img src="https://img.shields.io/badge/License-AGPL%20v3-blue.svg"></a>
<a href="https://ravada.readthedocs.io"><img src="https://readthedocs.org/projects/ravada/badge/?version=latest"></a>
&nbsp;<font color="white" size="2">Copyright &copy; 2016 - 2018 RavadaVDI</font>
</div>
<a href="https://github.com/UPC/ravada/releases"><img src="https://img.shields.io/badge/version-<%= $version %>-brightgreen.svg"></a>
<a href="https://github.com/UPC/ravada/blob/master/LICENSE"><img src="https://img.shields.io/badge/License-AGPL%20v3-blue.svg"></a>
<a href="https://ravada.readthedocs.io"><img src="https://readthedocs.org/projects/ravada/badge/?version=latest"></a>
</div>
<div class="col mt-3">
<p class="p-1 text-muted"><font size="2">Copyright &copy; 2016 - 2018 RavadaVDI</font></p>
</div>
</div>
</div>
</footer>
......@@ -10,10 +10,10 @@
<title>Ravada VDI</title>
% if ( !$fallback ) {
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/css/bootstrap-select.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.2/css/bootstrap-select.css">
<link href="https://use.fontawesome.com/releases/v5.0.7/css/all.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/intro.js/2.7.0/introjs.css" rel="stylesheet" type="text/css">
<script src="https://cdn.ckeditor.com/4.8.0/standard/ckeditor.js"></script>
......
......@@ -3,71 +3,60 @@
% if ($navbar_custom) {
navbar-custom \
% }
navbar-inverse navbar-fixed-top" role="navigation">
navbar-dark bg-dark fixed-top navbar-expand-lg navbar-inverse">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<a class="navbar-brand" href="/index.html">RAVADA VDI</a>
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="/index.html">RAVADA VDI</a>
</div>
<div class="collapse navbar-collapse justify-content-end" id="navbarNavDropdown">
<!-- Top Menu Items -->
<ul class="nav navbar-right top-nav">
<ul class="navbar-nav">
% if ($_logged_in) {
% if ( !$_anonymous ) {
<li>
<a href="/"><i class="fa fa-fw fa-desktop"></i><%=l 'Available Machines' %></a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/"><i class="fa fa-fw fa-desktop"></i><%=l 'Available Machines' %></a>
</li>
% }
% if (defined $_user && $_user->is_operator ) {
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">
<i class="fa fa-wrench"></i>&nbsp;<%=l 'Admin tools' %><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="/admin/machines">
<i class="fa fa-desktop" aria-hidden="true"></i>&nbsp;<%=l 'machines' %></a>
</li>
% if ($_user->is_admin || $_user->can_grant || $_user->can_manage_users) {
<li><a href="/admin/users">
<i class="fa fa-user" aria-hidden="true"></i>&nbsp;<%=l 'users' %></a>
</li>
<li><a href="/admin/nodes">
<i class="fa fa-server" aria-hidden="true"></i>&nbsp;<%=l 'nodes' %></a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-wrench"></i>&nbsp;<%=l 'Admin tools' %></a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/admin/machines"><i class="fa fa-desktop" aria-hidden="true"></i>&nbsp;<%=l 'machines' %></a>
% if ($_user->is_admin || $_user->can_grant || $_user->can_manage_users) {
<a class="dropdown-item" href="/admin/users"><i class="fa fa-user" aria-hidden="true"></i>&nbsp;<%=l 'users' %></a>
<a class="dropdown-item" href="/admin/nodes"><i class="fa fa-server" aria-hidden="true"></i>&nbsp;<%=l 'nodes' %></a>
% }
<li><a href="/admin/messages">
<i class="fa fa-envelope" aria-hidden="true"></i>&nbsp;<%=l 'messages' %></a>
</li>
<a class="dropdown-item" href="/admin/messages"><i class="fa fa-envelope" aria-hidden="true"></i>&nbsp;<%=l 'messages' %></a>
% if ($monitoring) {
<li><a href="/admin/monitoring">
<i class="fas fa-tachometer-alt" aria-hidden="true"></i>&nbsp;<%=l 'monitoring' %></a>
</li>
<a class="dropdown-item" href="/admin/monitoring"><i class="fas fa-tachometer-alt" aria-hidden="true"></i>&nbsp<%=l 'monitoring' %></a>
% }
</ul>
</li>
</div>
</li>
% }
% if ( !$_anonymous ) {
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-question"></i>&nbsp;<%=l 'Help' %><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="/requirements"><i class="fa fa-cogs"></i>&nbsp;<%=l 'Requirements' %></a></li>
<li role="separator" class="divider"></li>
<li><a href="/about"><i class="fa fa-info-circle"></i>&nbsp;<%=l 'About' %></a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-question"></i>&nbsp;<%=l 'Help' %><span class="caret"></span></a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/requirements"><i class="fa fa-cogs"></i>&nbsp;<%=l 'Requirements' %></a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="/about"><i class="fa fa-info-circle"></i>&nbsp;<%=l 'About' %></a>
</div>
</li>
% }
% if ( !$_anonymous ) {
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user"></i>&nbsp;<%= $_logged_in %><span class="caret"></span></a>
<ul class="dropdown-menu">
<li role="separator" class="divider"></li>
<li><a href="/user_settings"><i class="fa fa-cog" aria-hidden="true"></i><%=l 'Settings' %></a></li>
<li><a href="/logout"><i class="fa fa-fw fa-power-off"></i><%=l 'Log Out' %></a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user"></i>&nbsp;<%= $_logged_in %><span class="caret"></span></a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/user_settings"><i class="fa fa-cog" aria-hidden="true"></i><%=l 'Settings' %></a>
<a class="dropdown-item" href="/logout"><i class="fa fa-fw fa-power-off"></i><%=l 'Log Out' %></a>
</div>
</li>
% }
% }
</ul>
</ul>
</div>
</nav>
......@@ -3,24 +3,22 @@
%= include 'bootstrap/header'
<body id="page-top" data-spy="scroll" data-target=".navbar-fixed-top" role="document">
<div id="wrapper">
%= include 'bootstrap/navigation'
<div id="page-wrapper">
<!--MANAGE USERS-->
<div ng-controller="AddUserForm">
<div class="page-header">
<div class="panel panel-default">
<div class="panel-heading">
<h2><%=l 'Create a new account' %>
</h2>
%= include 'bootstrap/navigation'
<div id="page-wrapper">
<!--MANAGE USERS-->
<div ng-controller="AddUserForm">
<div class="page-title">
<div class="card">
<div class="card-header">
<h2><%=l 'Create a new account' %>
</h2>
</div>
%= include '/ng-templates/new_user'
</div>
%= include '/ng-templates/new_user'
</div>
</div>
</div>
</div>
</div>
%= include 'bootstrap/scripts'
%= include 'bootstrap/scripts'
</body>
</html>
......@@ -6,18 +6,18 @@
%= include 'bootstrap/navigation'
<div id="page-wrapper">
<div class="page-header">
<div class="panel panel-default">
<div class="panel-heading">
<div class="card">
<div class="card-header">
<h2>Congrats
<!--<button style="float: right; margin: 0 10px;" onclick="location='/users'" ><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></button>-->
</h2>
</div>
<div class="alert alert-success">
<h3>The new user <strong><%= $username %> </strong> has been added successfully!<h3>
<div class="card-text alert alert-success">
The new user <strong><%= $username %> </strong> has been added successfully!
</div>
<div class="panel-body">
<div class="card-body">
<h4>What do you want to do now?</h4>
<button style="float: center; " onclick="location='/users/register'" ><i class="fa fa-plus-circle fa-3x" aria-hidden="true"></i>Add another user</button>
<button class="btn btn-success" style="float: center; " onclick="location='/users/register'" ><i class="fas fa-plus-circle fa-2x" aria-hidden="true"></i>Add another user</button>
</div>
</div>
......
% if ( !$fallback ) {
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-resource.min.js"></script>
......@@ -11,12 +11,12 @@
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-sanitize.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.4.0/ui-bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/js/bootstrap-select.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.3/js/bootstrap-select.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/intro.js/2.7.0/intro.js"></script>
......
<!DOCTYPE html>
<html ng-app="ravada.app">
%= include 'bootstrap/header'
<body id="page-top" data-spy="scroll" data-target=".navbar-fixed-top" role="document">
<body id="page-top" data-spy="scroll" data-target="fixed-top" role="document">
<div id="wrapper">
%= include 'bootstrap/navigation'
<div id="page-wrapper">
......@@ -9,21 +9,13 @@
<!--BASES AND DOMAINS LIST-->
<div ng-controller="user_settings">
<div class="page-header">
<div class="panel panel-default">
<div class="panel-heading">
<div class="card card-dark">
<div class="card-header">
<h2 class="text-center"><%=l 'User Settings' %></h2>
</div>
<div>
% if (scalar @$errors) {
<div class="panel panel-danger">
<div class="panel-heading">
% for (@$errors) {
<%= $_ %>
% }
</div>
</div>
% }
<div class="card-body">
<h3 class="mb-3"><%=l 'Setting your default language' %></h3>
<form method='post' enctype="multipart/form-data">
<%=l 'Language:' %> <select onchange="this.form.submit();" id="tongue" name="tongue" >
<option <%= $c->param("tongue") eq 'en' ? "selected" : "" %> value="en" ><%=l 'English' %></option>
......@@ -39,29 +31,41 @@
<option <%= $c->param("tongue") eq 'ja' ? "selected" : "" %> value="ja" ><%=l 'Japanese' %></option>
</select>
% if ($changed_lang) {
<font color="green"> <%=l 'Your language has been changed successfully' %></font>
% }
</form>
<font color="green"> <%=l 'Your language has been changed successfully' %></font>
% }
</form>
</div>
% if (!$_user->is_external) {
<hr>
<div class="card-body">
<h3><%=l 'Change password' %></h3>
<form method='post' enctype="multipart/form-data">
<p><%=l 'New Password:' %><input type= 'password' name= 'password' id='password'></p>
<p><%=l 'Confirm Password:' %><input type='password' name='conf_password' id='conf_password'></p>
<p><%=l 'Current Password:' %><input type='password' name='current_password' id='current_password'></p>
<p><input type='submit' onclick='this.form.submit();' id='button_click' name='button_click' value='<%=l 'Submit' %>'>
% if ($changed_pass) {
<font color="green"> <%=l 'Your password has been changed successfully' %></font>
% }
</p>
<div class="from-group row">
<label for="password" class="col-xl-3 col-form-label"><%=l 'New Password:' %></label><input type= 'password' name= 'password' id='password'>
</div>
<div class="from-group row">
<label for="password" class="col-xl-3 col-form-label"><%=l 'Confirm Password:' %></label><input type='password' name='conf_password' id='conf_password'>
</div>
<div class="from-group row">
<label for="password" class="col-xl-3 col-form-label"><%=l 'Current Password:' %></label><input type='password' name='current_password' id='current_password'>
</div>
% if (scalar @$errors) {
<div class="alert alert-danger mt-2">
% for (@$errors) {
<%= $_ %>
% }
</div>
% }
<div class="form-group row mt-3 ml-2">
<button type="reset" class="btn btn-outline-secondary mr-2" onclick = "location='/'"><%=l 'Cancel' %></button>
<input class="btn btn-primary" type='submit' onclick='this.form.submit();' id='button_click' name='button_click' value='<%=l 'Update password' %>'>
% if ($changed_pass) {
<font color="green"> <%=l 'Your password has been changed successfully' %></font>
% }
</div>
</form>
% }
% if ($_user->external_auth eq 'ldap') {
% for my $attribute (sort $_user->ldap_entry->attributes ) {
% next if $attribute =~ /assword|Pwd/i;
<b><%= $attribute %></b>: <%= $_user->ldap_entry->get_value($attribute) %><br/>
% }
% }
</div>
</div>
</div>
</div>
</div>
</div>
......
......@@ -3,37 +3,33 @@
%= include 'bootstrap/header'
<body id="page-top" data-spy="scroll" data-target=".navbar-fixed-top" role="document">
<div id="wrapper">
<div ng-controller="about">
%= include 'bootstrap/navigation'
<div id="page-wrapper" class ="row">
<div class="page-header col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">
%= include 'bootstrap/navigation'
<div id="page-wrapper">
<div ng-controller="about">
<div class="page-title">
<div class="card col-lg-8 offset-md-2 bg-light">
<h2 class="text-center"><%=l 'About' %></h2>
<img class="img-responsive center-block" src="img/logo.png">
<img class="img-responsive mx-auto" src="img/logo.png">
<h3><%=l 'Version' %></h3>
<%= $version %>
<h3><%=l 'Authors' %></h3>
%= include 'bootstrap/authors'
<h3><%=l 'Development' %></h3>
<p><%=l 'Below are listed the technologies used in this project:' %></p>
<%=l 'Below are listed the technologies used in this project:' %>
<ul>
<li><%=l 'It is programmed in' %>&nbsp;<a href="https://www.perl.org/">Perl</a>,</li>
<li><%=l 'with perl framework' %>&nbsp;<a href="http://www.mojolicious.org/">Mojolicious</a>,</li>
<li><%=l 'and' %> HTML, CSS, <%=l 'and' %> JS framework <a href="http://getbootstrap.com/">Bootstrap</a></li>
<li><%=l 'It is programmed in' %>&nbsp;<a href="https://www.perl.org/">Perl</a>,</li>
<li><%=l 'with perl framework' %>&nbsp;<a href="http://www.mojolicious.org/">Mojolicious</a>,</li>
<li><%=l 'and' %> HTML, CSS, <%=l 'and' %> JS framework <a href="http://getbootstrap.com/">Bootstrap</a></li>
</ul>
<p> <%=l 'The code is available on ' %><a href="http://bit.ly/get_ravada">Github</a>.</p>
<span><%=l 'The code is available on ' %><a href="http://bit.ly/get_ravada">Github</a>.</span>
<h3><%=l 'License' %></h3>
<p><%=l 'The code is ' %>&nbsp;<a href="https://www.gnu.org/licenses/gpl-3.0-standalone.html">GPL</a>&nbsp;<%=l 'licensed.' %></p>
<span><%=l 'The code is ' %>&nbsp;<a href="https://www.gnu.org/licenses/gpl-3.0-standalone.html">GPL</a>&nbsp;<%=l 'licensed.' %></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
%= include 'bootstrap/scripts'
%= include $footer
%= include 'bootstrap/scripts'
%= include $footer
</body>
</html>
......@@ -113,24 +113,24 @@
%= include 'bootstrap/requests'
<table class="table table-striped admin-cont-body" border="0">
<table class="table admin-cont-body" border="0">
<thead>
<tr>
<th ><div class="lgMachName machine-button" style="display:inline;float:down"
ng-click="orderMachineList('name','')">
<i class="fa fa-exchange fa-rotate-90"
<i class="fas fa-exchange fa-rotate-90"
ng-hide="orderParam[0] === 'name' || orderParam[0] === '-name'"></i>
<i class="fa fa-arrow-down" ng-cloak
<i class="fas fa-arrow-down" ng-cloak
ng-hide="orderParam[0] !== 'name'"></i>
<i class="fa fa-arrow-up" ng-cloak
<i class="fas fa-arrow-up" ng-cloak
ng-hide="orderParam[0] !== '-name'"></i>