mirror of
https://github.com/dkmstr/openuds.git
synced 2025-01-03 01:17:56 +03:00
Advancing with semantic
This commit is contained in:
parent
99b17e573c
commit
242d9b5e6e
@ -11,3 +11,62 @@
|
|||||||
footer {
|
footer {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# cookiebar
|
||||||
|
#cookie-bar {
|
||||||
|
background: #333333;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 24px;
|
||||||
|
color: #eeeeee;
|
||||||
|
text-align: center;
|
||||||
|
padding: 3px 0;
|
||||||
|
}
|
||||||
|
#cookie-bar.fixed {
|
||||||
|
background: #333333;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 24px;
|
||||||
|
color: #eeeeee;
|
||||||
|
text-align: center;
|
||||||
|
padding: 3px 0;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0px;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
#cookie-bar p {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
#cookie-bar a {
|
||||||
|
color: #ffffff;
|
||||||
|
display: inline-block;
|
||||||
|
border-radius: 3px;
|
||||||
|
text-decoration: none;
|
||||||
|
padding: 0 6px;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
#cookie-bar .cb-enable {
|
||||||
|
background: #007700;
|
||||||
|
}
|
||||||
|
#cookie-bar .cb-enable:hover {
|
||||||
|
background: #009900;
|
||||||
|
}
|
||||||
|
#cookie-bar .cb-disable {
|
||||||
|
background: #990000;
|
||||||
|
}
|
||||||
|
#cookie-bar .cb-disable:hover {
|
||||||
|
background: #bb0000;
|
||||||
|
}
|
||||||
|
#cookie-bar .cb-policy {
|
||||||
|
background: #0033bb;
|
||||||
|
}
|
||||||
|
#cookie-bar .cb-policy:hover {
|
||||||
|
background: #0055dd;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
#cookie-bar {
|
||||||
|
height: 60px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
4604
server/src/uds/static/semantic/js/handlebars-v4.0.2.js
Normal file
4604
server/src/uds/static/semantic/js/handlebars-v4.0.2.js
Normal file
File diff suppressed because one or more lines are too long
@ -1,369 +1,73 @@
|
|||||||
{% extends "uds/html5/templates/base.html" %}
|
{% extends "uds/semantic/templates/base.html" %}
|
||||||
{% load i18n html5 static %}
|
{% load i18n html5 REST static %}
|
||||||
{% block title %}{% trans 'Available services list' %}{% endblock %}
|
{% block title %}{% trans 'Available services list' %}{% endblock %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<ul class="nav nav-tabs nav-justified" id="services-tabs">
|
<div class="ui container">
|
||||||
{% for grp in groups %}
|
<div class="ui top attached tabular menu">
|
||||||
<li{% if forloop.first %} class="active"{% endif %} data-name='tab-services-{{ forloop.counter }}'>
|
{% for grp in groups %}
|
||||||
<a href="#tab-services-{{ forloop.counter }}" data-toggle="tab">
|
<a class="tab {% if forloop.first %}active{% endif %} item" data-group="{{ grp.name }}">
|
||||||
<img src="{% url 'galleryImage' grp.imageUuid %}" class="img-round se-agranda" style="width: 40px;">
|
<img src="{% url 'galleryImage' grp.imageUuid %}" class="ui image mini">
|
||||||
{{ grp.name }}
|
{{ grp.name }}
|
||||||
</a>
|
</a>
|
||||||
{% comment %}<a href="#tab-services-{{ forloop.counter }}" data-toggle="tab" style="background: url('{% url 'galleryImage' grp.imageUuid %}') no-repeat left; display: block; background-size: 32px; min-width: 128px; padding-left: 32px; height: 40px;">{{ grp.name }}</a>{% endcomment %}
|
{% endfor %}
|
||||||
</li>
|
</div>
|
||||||
{% endfor %}
|
<div class="ui bottom attached segment">
|
||||||
</ul>
|
<p></p>
|
||||||
<div class="tab-content">
|
</div>
|
||||||
{% for grp in groups %}
|
</div>
|
||||||
<div class="tab-pane fade{% if forloop.first %} in active{% endif %}" id="tab-services-{{ forloop.counter }}">
|
{% endblock %}
|
||||||
|
|
||||||
{% for ser in services %}
|
{% block jsnc %}
|
||||||
{% if ser.group.name == grp.name %}
|
<!-- preloading of templates -->
|
||||||
{% if ser.transports %}
|
{% js_template_path 'uds/semantic/tmpl' %}
|
||||||
<div class="service-container">
|
{% js_template 'items' %}
|
||||||
{% with trans=ser.transports|first numTransports=ser.transports|length %}
|
|
||||||
<div class="service{% if ser.maintenance %} maintenance{% endif %}{% if ser.not_accesible %} notaccesible{% endif %}{% if ser.in_use %} inuse{% endif %}"
|
|
||||||
{% if ser.maintenance %}
|
|
||||||
data-content="{% trans "Under maintenance" %}"
|
|
||||||
{% elif ser.not_accesible %}
|
|
||||||
data-content="{% trans "Access limited by calendar" %}"
|
|
||||||
{% elif ser.in_use %}
|
|
||||||
data-content="{%trans "Currently in use" %}"
|
|
||||||
{% endif %}
|
|
||||||
data-href="{{ trans.link }}"
|
|
||||||
data-href-alt="{% url 'uds.web.views.client_downloads' %}">
|
|
||||||
<div class="service-image">
|
|
||||||
<img class="se-agranda" src="{% url "uds.web.views.serviceImage" idImage=ser.imageId %}" />
|
|
||||||
</div>
|
|
||||||
<span {% if ser.name|length > 16 %}class="with-tooltip" data-content="{{ser.name|capfirst}}"{% endif %}{% if ser.show_transports and numTransports > 1 %} style="width: 80%;"{% endif %}>{{ ser.name|capfirst|truncatechars:16 }}</span>
|
|
||||||
{% if ser.show_transports and numTransports > 1 %}
|
|
||||||
<span class="gear"><span class="fa fa-gear fa-spin"> </span></span>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% if ser.show_transports and numTransports > 1 %}
|
|
||||||
<div class="modal fade in">
|
|
||||||
<div class="modal-dialog modal-sm">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
||||||
<h4 class="modal-title text-center">{% trans "Connections" %}</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<ul class="transports">
|
|
||||||
{% for trans in ser.transports %}
|
|
||||||
<li><a class="uds-service-transport" data-href-alt="{% url 'uds.web.views.client_downloads' %}" href="{{ trans.link }}"><img class="transport" src="{% url "uds.web.views.transportIcon" idTrans=trans.id %}" alt="{{ trans.name }}" />{{ trans.name }}</a></li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div><!-- /.modal-content -->
|
|
||||||
</div><!-- /.modal-dialog -->
|
|
||||||
</div><!-- /.modal -->
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% endwith %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="modal fade" id="maintenance-dialog">
|
|
||||||
<div class="modal-dialog">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
||||||
<h4 class="modal-title">{% trans "Service under maintenance" %}</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body text-center">
|
|
||||||
<p>{% trans "This service is in maintenance mode." %}</p>
|
|
||||||
<p>{% trans "Please, retry access in a while." %}</p>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
||||||
</div>
|
|
||||||
</div><!-- /.modal-content -->
|
|
||||||
</div><!-- /.modal-dialog -->
|
|
||||||
</div><!-- /.modal -->
|
|
||||||
|
|
||||||
<div class="modal fade" id="notaccesible-dialog">
|
|
||||||
<div class="modal-dialog">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
||||||
<h4 class="modal-title">{% trans "Service access not allowed" %}</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body text-center">
|
|
||||||
<p>{% trans "This service is currently not accesible due to schedule restrictions" %}</p>
|
|
||||||
<p>{% trans "Please, retry access in a while." %}</p>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
||||||
</div>
|
|
||||||
</div><!-- /.modal-content -->
|
|
||||||
</div><!-- /.modal-dialog -->
|
|
||||||
</div><!-- /.modal -->
|
|
||||||
|
|
||||||
|
|
||||||
{% if user.isStaff %}
|
|
||||||
<div class="panel panel-warning">
|
|
||||||
<div class="panel-heading">
|
|
||||||
{% trans "Administrator info panel" %}
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<p>{% trans "Ip" %}: {{ ip }}</p>
|
|
||||||
<p>{% trans "Networks" %}: {{ nets }}</p>
|
|
||||||
<p>{% trans "Transports" %}: {{ transports }}</p>
|
|
||||||
<p>{% trans "User Agent" %}: {{ request.META.HTTP_USER_AGENT }}</p>
|
|
||||||
<p>{% trans "OS" %}: {{ request.session.OS.OS }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block css %}
|
|
||||||
<style media="screen">
|
|
||||||
|
|
||||||
.tab-content {
|
|
||||||
margin-top: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.with-tooltip {
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.transports > li {
|
|
||||||
list-style-type: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
img.transport {
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
height: 32px;
|
|
||||||
width: 32px;
|
|
||||||
margin-right: 8px;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.service-container {
|
|
||||||
display: inline-block;
|
|
||||||
width: 140px;
|
|
||||||
height: 162px;
|
|
||||||
margin: 0px 8px 24px 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.service {
|
|
||||||
/*background-color: #FAFAFA;*/
|
|
||||||
/*background-image: url("{% get_static_prefix %}/img/uds-small-back.png");*/
|
|
||||||
padding: 6px;
|
|
||||||
/*border: 1px solid #BABABA;
|
|
||||||
border-radius: 2px;*/
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
box-shadow: 6px 6px 5px #E0E0E0;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.service.disabled {
|
|
||||||
opacity: 0.4;
|
|
||||||
filter: alpha(opacity=40);
|
|
||||||
}
|
|
||||||
|
|
||||||
div.service.maintenance {
|
|
||||||
opacity: 0.6;
|
|
||||||
filter: alpha(opacity=60);
|
|
||||||
}
|
|
||||||
|
|
||||||
div.service.inuse {
|
|
||||||
background-color: #DCDCFF;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
div.service-image {
|
|
||||||
width: 128px;
|
|
||||||
height: 128px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
img.se-agranda {
|
|
||||||
max-width: 100%;
|
|
||||||
opacity: .8;
|
|
||||||
-webkit-transform: scale(.8,.8);
|
|
||||||
transform: scale(.8,.8);
|
|
||||||
-webkit-transition: all 0.3s 0s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
||||||
transition: all 0.3s 0s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
||||||
}
|
|
||||||
|
|
||||||
li.active > a > img.se-agranda,
|
|
||||||
img.se-agranda:hover,
|
|
||||||
img.se-agranda:focus {
|
|
||||||
opacity: 1;
|
|
||||||
-webkit-transform: none;
|
|
||||||
transform: none;
|
|
||||||
-webkit-transition: all 0.3s 0s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
||||||
transition: all 0.3s 0s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
||||||
}
|
|
||||||
|
|
||||||
div.service.over:not(.disabled) {
|
|
||||||
background-color: #F0F0F0;
|
|
||||||
animation: pulse 0.5s infinite alternate;
|
|
||||||
-webkit-animation-name: pulse;
|
|
||||||
-webkit-animation-duration: 0.8s;
|
|
||||||
-webkit-animation-iteration-count: infinite;
|
|
||||||
-webkit-animation-timing-function: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes pulse {
|
|
||||||
from { box-shadow: 0px 0px 3px 3px #0066cc; }
|
|
||||||
to { box-shadow: 0px 0px 8px 5px #0066cc; }
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes pulse {
|
|
||||||
from { box-shadow: 0px 0px 3px 3px #0066cc; }
|
|
||||||
to { box-shadow: 0px 0px 8px 5px #0066cc; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
div.service > img {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.service > span {
|
|
||||||
display: inline-block;
|
|
||||||
position: absolute;
|
|
||||||
vertical-align: bottom;
|
|
||||||
text-align: center;
|
|
||||||
left: 0px;
|
|
||||||
bottom: 0px;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.service > span.gear {
|
|
||||||
text-align: right;
|
|
||||||
padding-right: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.gear > span.fa {
|
|
||||||
cursor: zoom-in;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block js %}
|
{% block js %}
|
||||||
{% pageReloadTime as reloadTime %}
|
<script>
|
||||||
<script>
|
var itemsTemplate = null;
|
||||||
function getUrlVars() {
|
var groups = {
|
||||||
var vars = [], hash;
|
{% for grp in groups %}
|
||||||
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
|
"{{ grp.name }}": {
|
||||||
for(var i = 0; i < hashes.length; i++)
|
"items": [
|
||||||
{
|
{% for ser in services %}
|
||||||
hash = hashes[i].split('=');
|
{% if ser.group.name == grp.name and ser.transports %}
|
||||||
vars.push(hash[0]);
|
{
|
||||||
vars[hash[0]] = hash[1];
|
"maintenance": {{ ser.maintenance|yesno:"true,false" }},
|
||||||
}
|
"not_accesible": {{ ser.not_accesible|yesno:"true,false" }},
|
||||||
return vars;
|
"in_use": {{ ser.in_use|yesno:"true,false" }},
|
||||||
}
|
"show_transports": {{ ser.show_transports|yesno:"true,false" }},
|
||||||
function launchURL(el) {
|
"name": "{{ ser.name|escape }}",
|
||||||
var $el = $(el);
|
"description": "{{ ser.description|escape }}",
|
||||||
|
"image": "{% url "uds.web.views.serviceImage" idImage=ser.imageId %}",
|
||||||
|
"transports": [{% for trans in ser.transports %}{
|
||||||
|
"name": "{{ trans.name }}",
|
||||||
|
"link": "{{ trans.link }}",
|
||||||
|
"image": "{% url "uds.web.views.transportIcon" idTrans=trans.id %}"
|
||||||
|
},{% endfor %}],
|
||||||
|
},
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{% endfor %}
|
||||||
|
};
|
||||||
|
|
||||||
uds.resetReloadCounter(); // Resets page update
|
function showSelectedTabItems() {
|
||||||
|
var gName = $(".tab.active").attr('data-group');
|
||||||
|
$('.attached.segment').html(itemsTemplate(groups[gName].items));
|
||||||
|
}
|
||||||
|
|
||||||
url = $el.attr('data-href');
|
$(function(){
|
||||||
url = url != null ? url : $el.attr('href');
|
itemsTemplate = Handlebars.compile($("#tmpl_items").html());
|
||||||
if ( url.substring(0, 7) == 'udsa://' ) {
|
|
||||||
uds.launch($el);
|
|
||||||
} else {
|
|
||||||
window.location = url;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$(function() {
|
showSelectedTabItems();
|
||||||
|
$(".tab.item").on('click', function(){
|
||||||
var autorun = {% if autorun %}true{% else %}false{% endif %};
|
$(".tab").removeClass('active');
|
||||||
uds.reloadCounterBase = {{ reloadTime }};
|
$(this).addClass('active');
|
||||||
uds.reloadCounterBase /= uds.counterGranurality;
|
showSelectedTabItems();
|
||||||
uds.resetReloadCounter();
|
});
|
||||||
|
});
|
||||||
$('.with-tooltip').popover({container: 'body', trigger: 'hover', delay: { show: 500, hide: 100 }, placement: 'auto bottom'});
|
</script>
|
||||||
|
|
||||||
$('.inuse').popover({container: 'body', trigger: 'hover', delay: { show: 500, hide: 100 }, placement: 'auto top'});
|
|
||||||
|
|
||||||
$('div.service:not(.maintenance, .notaccesible)').on("click", function (event){
|
|
||||||
var url, el;
|
|
||||||
event.preventDefault();
|
|
||||||
|
|
||||||
launchURL(this);
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}).on("mouseenter mouseleave", function (event) {
|
|
||||||
$(this).toggleClass('over');
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.uds-service-transport').on("click", function (event){
|
|
||||||
var url, el, modal;
|
|
||||||
|
|
||||||
event.preventDefault();
|
|
||||||
|
|
||||||
modal = $(this).parent().parent().parent().parent().parent().parent();
|
|
||||||
modal.modal('hide');
|
|
||||||
|
|
||||||
// check url
|
|
||||||
el = $(this)
|
|
||||||
url = el.attr('data-href');
|
|
||||||
url = url != null ? url : el.attr('href');
|
|
||||||
|
|
||||||
if ( url.substring(0, 7) == 'udsa://' ) {
|
|
||||||
uds.launch(el);
|
|
||||||
} else {
|
|
||||||
window.location = url;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
})
|
|
||||||
|
|
||||||
$('div.service:not(.maintenance, .notaccesible) > span.gear > span.fa').on("click", function (event) {
|
|
||||||
event.stopPropagation();
|
|
||||||
event.preventDefault();
|
|
||||||
$(this).parent().parent().next().modal();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$(".maintenance").click( function(event) {
|
|
||||||
$('#maintenance-dialog').modal({
|
|
||||||
keyboard: false
|
|
||||||
})
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$(".notaccesible").click( function(event) {
|
|
||||||
$('#notaccesible-dialog').modal({
|
|
||||||
keyboard: false
|
|
||||||
})
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
if( autorun ) {
|
|
||||||
if( $('.service').length > 0)
|
|
||||||
launchURL($('.service')[0]);
|
|
||||||
autorun = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
uds.setReload();
|
|
||||||
|
|
||||||
// Select the correct tab if needed (on reload)
|
|
||||||
var tab = getUrlVars().tab;
|
|
||||||
if (tab != undefined) {
|
|
||||||
$("ul#services-tabs a[href='#" + tab + "']").tab('show')
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
</a>
|
</a>
|
||||||
{% if user and user.pk != None %}
|
{% if user and user.pk != None %}
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="ui dropdown item">
|
<div class="ui dropdown selection item">
|
||||||
<i class="user icon"></i> {{ user.real_name }}
|
<i class="user icon"></i> {{ user.real_name }}
|
||||||
<i class="dropdown icon"></i>
|
<i class="dropdown icon"></i>
|
||||||
<div class="menu">
|
<div class="menu">
|
||||||
|
@ -47,20 +47,19 @@
|
|||||||
<!-- Content -->
|
<!-- Content -->
|
||||||
{% block body %}{% endblock %}
|
{% block body %}{% endblock %}
|
||||||
<!-- End of content -->
|
<!-- End of content -->
|
||||||
</div> <!-- End of container -->
|
|
||||||
<div class="st-sticky-push"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{% block footer %}
|
{% block footer %}
|
||||||
<a href="http://www.udsenterprise.com">UDS Enterprise Edition. © 2012-2016 Virtual Cable S.L.U.</a>
|
<a href="http://www.udsenterprise.com">UDS Enterprise Edition. © 2012-2016 Virtual Cable S.L.U.</a>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script src="{% url 'uds.web.views.jsCatalog' LANGUAGE_CODE %}"></script>
|
<script src="{% url 'uds.web.views.jsCatalog' LANGUAGE_CODE %}"></script>
|
||||||
{% compress js %}
|
{% compress js %}
|
||||||
<script src="{% get_static_prefix %}semantic/js/jquery.min.js"></script>
|
<script src="{% get_static_prefix %}semantic/js/jquery.min.js"></script>
|
||||||
|
<script src="{% get_static_prefix %}semantic/js/handlebars-v4.0.2.js"></script>
|
||||||
<script src="{% get_static_prefix %}semantic/js/semantic.min.js"></script>
|
<script src="{% get_static_prefix %}semantic/js/semantic.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
var clientRest = "/" + "{% url 'ClientAccessEnabler' 'x' 'x' %}".split("/")[1];
|
var clientRest = "/" + "{% url 'ClientAccessEnabler' 'x' 'x' %}".split("/")[1];
|
||||||
@ -81,6 +80,6 @@
|
|||||||
{% compress js %}
|
{% compress js %}
|
||||||
{% block js %}{% endblock %}
|
{% block js %}{% endblock %}
|
||||||
{% endcompress %}
|
{% endcompress %}
|
||||||
|
{% block jsnc %}{% endblock %}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
28
server/src/uds/templates/uds/semantic/tmpl/items.html
Normal file
28
server/src/uds/templates/uds/semantic/tmpl/items.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{% load i18n %}
|
||||||
|
{% verbatim %}
|
||||||
|
<div class="ui five link cards">
|
||||||
|
{{#each this}}
|
||||||
|
<div class="card">
|
||||||
|
<div class="ui fluid image centered">
|
||||||
|
<img src="{{ image }}">
|
||||||
|
</div>
|
||||||
|
<div class="content">
|
||||||
|
<a class="header">{{ name }}</a>
|
||||||
|
<div class="meta">
|
||||||
|
<span>{{#if in_use }}{% endverbatim %}{% trans 'Session in use' %}{% verbatim %}{{/if}}</span>
|
||||||
|
<span>{{#if maintenance }}{% endverbatim %}{% trans 'Maintenance' %}{% verbatim %}{{/if}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="description">
|
||||||
|
{{ description }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="extra content">
|
||||||
|
<a>
|
||||||
|
<i class="user icon"></i>
|
||||||
|
22 Friends
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/each }}
|
||||||
|
</div>
|
||||||
|
{% endverbatim %}
|
@ -51,7 +51,7 @@ import logging
|
|||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
__updated__ = '2016-02-18'
|
__updated__ = '2016-04-22'
|
||||||
|
|
||||||
|
|
||||||
def about(request):
|
def about(request):
|
||||||
@ -126,6 +126,7 @@ def index(request):
|
|||||||
services.append({
|
services.append({
|
||||||
'id': 'A' + svr.uuid,
|
'id': 'A' + svr.uuid,
|
||||||
'name': svr.name,
|
'name': svr.name,
|
||||||
|
'description': svr.deployed_service.comments,
|
||||||
'group': group,
|
'group': group,
|
||||||
'transports': trans,
|
'transports': trans,
|
||||||
'imageId': imageId,
|
'imageId': imageId,
|
||||||
@ -171,6 +172,7 @@ def index(request):
|
|||||||
services.append({
|
services.append({
|
||||||
'id': 'F' + svr.uuid,
|
'id': 'F' + svr.uuid,
|
||||||
'name': svr.name,
|
'name': svr.name,
|
||||||
|
'description': svr.comments,
|
||||||
'group': group,
|
'group': group,
|
||||||
'transports': trans,
|
'transports': trans,
|
||||||
'imageId': imageId,
|
'imageId': imageId,
|
||||||
|
Loading…
Reference in New Issue
Block a user