forked from shaba/openuds
Upgrading components & removing unused stuff
This commit is contained in:
parent
638817f98b
commit
5bc650eaa9
@ -111,6 +111,11 @@ STATICFILES_FINDERS = (
|
||||
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
|
||||
)
|
||||
|
||||
# Related to file uploading
|
||||
FILE_UPLOAD_PERMISSIONS = 0o640
|
||||
FILE_UPLOAD_DIRECTORY_PERMISSIONS = 0o760
|
||||
FILE_UPLOAD_MAX_MEMORY_SIZE = 512 * 1024 # 512 Kb
|
||||
|
||||
# Make this unique, and don't share it with anybody.
|
||||
SECRET_KEY = 's5ky!7b5f#s35!e38xv%e-+iey6yi-#630x)tm1hf6_j8rie2*'
|
||||
# This is a very long string, an RSA KEY (this can be changed, but if u loose it, all encription will be lost)
|
||||
|
@ -55,8 +55,8 @@ class Image(UUIDModel):
|
||||
This is intended for small images (i will limit them to 128x128), so storing at db is fine
|
||||
|
||||
'''
|
||||
MAX_IMAGE_SIZE = (128, 128)
|
||||
THUMBNAIL_SIZE = (20, 20)
|
||||
MAX_IMAGE_SIZE = (64, 64)
|
||||
THUMBNAIL_SIZE = (16, 16)
|
||||
|
||||
name = models.CharField(max_length=128, unique=True, db_index=True)
|
||||
stamp = models.DateTimeField() # Date creation or validation of this entry. Set at write time
|
||||
|
File diff suppressed because one or more lines are too long
174
server/src/uds/static/adm/css/bootstrap-switch.css
vendored
174
server/src/uds/static/adm/css/bootstrap-switch.css
vendored
@ -1,5 +1,5 @@
|
||||
/* ========================================================================
|
||||
* bootstrap-switch - v3.0.2
|
||||
* bootstrap-switch - v3.2.0
|
||||
* http://www.bootstrap-switch.org
|
||||
* ========================================================================
|
||||
* Copyright 2012-2013 Mattia Larentis
|
||||
@ -34,91 +34,11 @@
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
vertical-align: middle;
|
||||
min-width: 100px;
|
||||
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-mini {
|
||||
min-width: 71px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label {
|
||||
padding-bottom: 4px;
|
||||
padding-top: 4px;
|
||||
font-size: 10px;
|
||||
line-height: 9px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-small {
|
||||
min-width: 79px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label {
|
||||
padding-bottom: 3px;
|
||||
padding-top: 3px;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-large {
|
||||
min-width: 120px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label {
|
||||
padding-bottom: 9px;
|
||||
padding-top: 9px;
|
||||
font-size: 16px;
|
||||
line-height: normal;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container {
|
||||
-webkit-transition: margin-left 0.5s;
|
||||
transition: margin-left 0.5s;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-container {
|
||||
margin-left: 0%;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label {
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-container {
|
||||
margin-left: -50%;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-container {
|
||||
margin-left: -25%;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-disabled,
|
||||
.bootstrap-switch.bootstrap-switch-readonly,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: default !important;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label {
|
||||
cursor: default !important;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-focused {
|
||||
border-color: #66afe9;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-container {
|
||||
display: inline-block;
|
||||
width: 150%;
|
||||
top: 0;
|
||||
border-radius: 4px;
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
@ -133,8 +53,7 @@
|
||||
cursor: pointer;
|
||||
display: inline-block !important;
|
||||
height: 100%;
|
||||
padding-bottom: 4px;
|
||||
padding-top: 4px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
}
|
||||
@ -142,7 +61,6 @@
|
||||
.bootstrap-switch .bootstrap-switch-handle-off {
|
||||
text-align: center;
|
||||
z-index: 1;
|
||||
width: 33.333333333%;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
|
||||
@ -174,6 +92,14 @@
|
||||
color: #000;
|
||||
background: #eeeeee;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-label {
|
||||
text-align: center;
|
||||
margin-top: -1px;
|
||||
margin-bottom: -1px;
|
||||
z-index: 100;
|
||||
color: #333333;
|
||||
background: #ffffff;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
@ -182,15 +108,6 @@
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-label {
|
||||
text-align: center;
|
||||
margin-top: -1px;
|
||||
margin-bottom: -1px;
|
||||
z-index: 100;
|
||||
width: 33.333333333%;
|
||||
color: #333333;
|
||||
background: #ffffff;
|
||||
}
|
||||
.bootstrap-switch input[type='radio'],
|
||||
.bootstrap-switch input[type='checkbox'] {
|
||||
position: absolute !important;
|
||||
@ -204,3 +121,74 @@
|
||||
.bootstrap-switch input[type='checkbox'].form-control {
|
||||
height: auto;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label {
|
||||
padding: 1px 5px;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label {
|
||||
padding: 5px 10px;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label {
|
||||
padding: 6px 16px;
|
||||
font-size: 18px;
|
||||
line-height: 1.33;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-disabled,
|
||||
.bootstrap-switch.bootstrap-switch-readonly,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate {
|
||||
cursor: default !important;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: default !important;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container {
|
||||
-webkit-transition: margin-left 0.5s;
|
||||
transition: margin-left 0.5s;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on {
|
||||
border-bottom-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off {
|
||||
border-bottom-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-focused {
|
||||
border-color: #66afe9;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
|
12
server/src/uds/static/adm/css/bootstrap.min.css
vendored
12
server/src/uds/static/adm/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
13
server/src/uds/static/adm/js/bootstrap.min.js
vendored
13
server/src/uds/static/adm/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
502
server/src/uds/static/css/bootstrap-switch.css
vendored
502
server/src/uds/static/css/bootstrap-switch.css
vendored
@ -1,24 +1,30 @@
|
||||
/* ============================================================
|
||||
* bootstrapSwitch v1.8 by Larentis Mattia @SpiritualGuru
|
||||
* http://www.larentis.eu/
|
||||
/* ========================================================================
|
||||
* bootstrap-switch - v3.2.0
|
||||
* http://www.bootstrap-switch.org
|
||||
* ========================================================================
|
||||
* Copyright 2012-2013 Mattia Larentis
|
||||
*
|
||||
* Enhanced for radiobuttons by Stein, Peter @BdMdesigN
|
||||
* http://www.bdmdesign.org/
|
||||
* ========================================================================
|
||||
* 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
|
||||
*
|
||||
* Project site:
|
||||
* http://www.larentis.eu/switch/
|
||||
* ============================================================
|
||||
* Licensed under the Apache License, Version 2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* ============================================================ */
|
||||
.has-switch {
|
||||
* 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.
|
||||
* ========================================================================
|
||||
*/
|
||||
|
||||
.bootstrap-switch {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
border-color: #cccccc;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
overflow: hidden;
|
||||
@ -26,383 +32,163 @@
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
vertical-align: middle;
|
||||
min-width: 100px;
|
||||
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
||||
}
|
||||
.has-switch.switch-mini {
|
||||
min-width: 72px;
|
||||
}
|
||||
.has-switch.switch-mini i.switch-mini-icons {
|
||||
height: 1.20em;
|
||||
line-height: 9px;
|
||||
vertical-align: text-top;
|
||||
text-align: center;
|
||||
transform: scale(0.6);
|
||||
margin-top: -1px;
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
.has-switch.switch-small {
|
||||
min-width: 80px;
|
||||
}
|
||||
.has-switch.switch-large {
|
||||
min-width: 120px;
|
||||
}
|
||||
.has-switch.deactivate {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: default !important;
|
||||
}
|
||||
.has-switch.deactivate label,
|
||||
.has-switch.deactivate span {
|
||||
cursor: default !important;
|
||||
}
|
||||
.has-switch > div {
|
||||
.bootstrap-switch .bootstrap-switch-container {
|
||||
display: inline-block;
|
||||
width: 150%;
|
||||
position: relative;
|
||||
top: 0;
|
||||
border-radius: 4px;
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
.has-switch > div.switch-animate {
|
||||
-webkit-transition: left 0.5s;
|
||||
-moz-transition: left 0.5s;
|
||||
-o-transition: left 0.5s;
|
||||
transition: left 0.5s;
|
||||
}
|
||||
.has-switch > div.switch-off {
|
||||
left: -50%;
|
||||
}
|
||||
.has-switch > div.switch-on {
|
||||
left: 0%;
|
||||
}
|
||||
.has-switch input[type=radio],
|
||||
.has-switch input[type=checkbox] {
|
||||
display: none;
|
||||
}
|
||||
.has-switch span,
|
||||
.has-switch label {
|
||||
.bootstrap-switch .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch .bootstrap-switch-label {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
display: inline-block !important;
|
||||
height: 100%;
|
||||
padding-bottom: 4px;
|
||||
padding-top: 4px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.has-switch span.switch-mini,
|
||||
.has-switch label.switch-mini {
|
||||
padding-bottom: 4px;
|
||||
padding-top: 4px;
|
||||
font-size: 10px;
|
||||
line-height: 9px;
|
||||
.bootstrap-switch .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off {
|
||||
text-align: center;
|
||||
z-index: 1;
|
||||
}
|
||||
.has-switch span.switch-small,
|
||||
.has-switch label.switch-small {
|
||||
padding-bottom: 3px;
|
||||
padding-top: 3px;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
|
||||
color: #fff;
|
||||
background: #428bca;
|
||||
}
|
||||
.has-switch span.switch-large,
|
||||
.has-switch label.switch-large {
|
||||
padding-bottom: 9px;
|
||||
padding-top: 9px;
|
||||
font-size: 16px;
|
||||
line-height: normal;
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info {
|
||||
color: #fff;
|
||||
background: #5bc0de;
|
||||
}
|
||||
.has-switch label {
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success {
|
||||
color: #fff;
|
||||
background: #5cb85c;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning {
|
||||
background: #f0ad4e;
|
||||
color: #fff;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger {
|
||||
color: #fff;
|
||||
background: #d9534f;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default {
|
||||
color: #000;
|
||||
background: #eeeeee;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-label {
|
||||
text-align: center;
|
||||
margin-top: -1px;
|
||||
margin-bottom: -1px;
|
||||
z-index: 100;
|
||||
width: 34%;
|
||||
border-left: 1px solid #cccccc;
|
||||
border-right: 1px solid #cccccc;
|
||||
color: #333333;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
background-color: #f5f5f5;
|
||||
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
|
||||
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
|
||||
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
*background-color: #e6e6e6;
|
||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background: #ffffff;
|
||||
}
|
||||
.has-switch label:hover,
|
||||
.has-switch label:focus,
|
||||
.has-switch label:active,
|
||||
.has-switch label.active,
|
||||
.has-switch label.disabled,
|
||||
.has-switch label[disabled] {
|
||||
color: #333333;
|
||||
background-color: #e6e6e6;
|
||||
*background-color: #d9d9d9;
|
||||
.bootstrap-switch .bootstrap-switch-handle-on {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.has-switch label:active,
|
||||
.has-switch label.active {
|
||||
background-color: #cccccc \9;
|
||||
.bootstrap-switch .bootstrap-switch-handle-off {
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.has-switch label i {
|
||||
color: #000;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
line-height: 18px;
|
||||
pointer-events: none;
|
||||
.bootstrap-switch input[type='radio'],
|
||||
.bootstrap-switch input[type='checkbox'] {
|
||||
position: absolute !important;
|
||||
top: 0;
|
||||
left: 0;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
z-index: -1;
|
||||
}
|
||||
.has-switch span {
|
||||
text-align: center;
|
||||
z-index: 1;
|
||||
width: 33%;
|
||||
.bootstrap-switch input[type='radio'].form-control,
|
||||
.bootstrap-switch input[type='checkbox'].form-control {
|
||||
height: auto;
|
||||
}
|
||||
.has-switch span.switch-left {
|
||||
-webkit-border-top-left-radius: 4px;
|
||||
-moz-border-radius-topleft: 4px;
|
||||
border-top-left-radius: 4px;
|
||||
-webkit-border-bottom-left-radius: 4px;
|
||||
-moz-border-radius-bottomleft: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label {
|
||||
padding: 1px 5px;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.has-switch span.switch-right {
|
||||
color: #333333;
|
||||
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
||||
background-color: #f0f0f0;
|
||||
background-image: -moz-linear-gradient(top, #e6e6e6, #ffffff);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#ffffff));
|
||||
background-image: -webkit-linear-gradient(top, #e6e6e6, #ffffff);
|
||||
background-image: -o-linear-gradient(top, #e6e6e6, #ffffff);
|
||||
background-image: linear-gradient(to bottom, #e6e6e6, #ffffff);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffffffff', GradientType=0);
|
||||
border-color: #ffffff #ffffff #d9d9d9;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
*background-color: #ffffff;
|
||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label {
|
||||
padding: 5px 10px;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.has-switch span.switch-right:hover,
|
||||
.has-switch span.switch-right:focus,
|
||||
.has-switch span.switch-right:active,
|
||||
.has-switch span.switch-right.active,
|
||||
.has-switch span.switch-right.disabled,
|
||||
.has-switch span.switch-right[disabled] {
|
||||
color: #333333;
|
||||
background-color: #ffffff;
|
||||
*background-color: #f2f2f2;
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label {
|
||||
padding: 6px 16px;
|
||||
font-size: 18px;
|
||||
line-height: 1.33;
|
||||
}
|
||||
.has-switch span.switch-right:active,
|
||||
.has-switch span.switch-right.active {
|
||||
background-color: #e6e6e6 \9;
|
||||
.bootstrap-switch.bootstrap-switch-disabled,
|
||||
.bootstrap-switch.bootstrap-switch-readonly,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate {
|
||||
cursor: default !important;
|
||||
}
|
||||
.has-switch span.switch-primary,
|
||||
.has-switch span.switch-left {
|
||||
color: #ffffff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
background-color: #005fcc;
|
||||
background-image: -moz-linear-gradient(top, #0044cc, #0088cc);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0044cc), to(#0088cc));
|
||||
background-image: -webkit-linear-gradient(top, #0044cc, #0088cc);
|
||||
background-image: -o-linear-gradient(top, #0044cc, #0088cc);
|
||||
background-image: linear-gradient(to bottom, #0044cc, #0088cc);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0044cc', endColorstr='#ff0088cc', GradientType=0);
|
||||
border-color: #0088cc #0088cc #005580;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
*background-color: #0088cc;
|
||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: default !important;
|
||||
}
|
||||
.has-switch span.switch-primary:hover,
|
||||
.has-switch span.switch-left:hover,
|
||||
.has-switch span.switch-primary:focus,
|
||||
.has-switch span.switch-left:focus,
|
||||
.has-switch span.switch-primary:active,
|
||||
.has-switch span.switch-left:active,
|
||||
.has-switch span.switch-primary.active,
|
||||
.has-switch span.switch-left.active,
|
||||
.has-switch span.switch-primary.disabled,
|
||||
.has-switch span.switch-left.disabled,
|
||||
.has-switch span.switch-primary[disabled],
|
||||
.has-switch span.switch-left[disabled] {
|
||||
color: #ffffff;
|
||||
background-color: #0088cc;
|
||||
*background-color: #0077b3;
|
||||
.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container {
|
||||
-webkit-transition: margin-left 0.5s;
|
||||
transition: margin-left 0.5s;
|
||||
}
|
||||
.has-switch span.switch-primary:active,
|
||||
.has-switch span.switch-left:active,
|
||||
.has-switch span.switch-primary.active,
|
||||
.has-switch span.switch-left.active {
|
||||
background-color: #006699 \9;
|
||||
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on {
|
||||
border-bottom-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.has-switch span.switch-info {
|
||||
color: #ffffff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
background-color: #41a7c5;
|
||||
background-image: -moz-linear-gradient(top, #2f96b4, #5bc0de);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2f96b4), to(#5bc0de));
|
||||
background-image: -webkit-linear-gradient(top, #2f96b4, #5bc0de);
|
||||
background-image: -o-linear-gradient(top, #2f96b4, #5bc0de);
|
||||
background-image: linear-gradient(to bottom, #2f96b4, #5bc0de);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2f96b4', endColorstr='#ff5bc0de', GradientType=0);
|
||||
border-color: #5bc0de #5bc0de #28a1c5;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
*background-color: #5bc0de;
|
||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off {
|
||||
border-bottom-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.has-switch span.switch-info:hover,
|
||||
.has-switch span.switch-info:focus,
|
||||
.has-switch span.switch-info:active,
|
||||
.has-switch span.switch-info.active,
|
||||
.has-switch span.switch-info.disabled,
|
||||
.has-switch span.switch-info[disabled] {
|
||||
color: #ffffff;
|
||||
background-color: #5bc0de;
|
||||
*background-color: #46b8da;
|
||||
.bootstrap-switch.bootstrap-switch-focused {
|
||||
border-color: #66afe9;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
||||
}
|
||||
.has-switch span.switch-info:active,
|
||||
.has-switch span.switch-info.active {
|
||||
background-color: #31b0d5 \9;
|
||||
.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.has-switch span.switch-success {
|
||||
color: #ffffff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
background-color: #58b058;
|
||||
background-image: -moz-linear-gradient(top, #51a351, #62c462);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#51a351), to(#62c462));
|
||||
background-image: -webkit-linear-gradient(top, #51a351, #62c462);
|
||||
background-image: -o-linear-gradient(top, #51a351, #62c462);
|
||||
background-image: linear-gradient(to bottom, #51a351, #62c462);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff51a351', endColorstr='#ff62c462', GradientType=0);
|
||||
border-color: #62c462 #62c462 #3b9e3b;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
*background-color: #62c462;
|
||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
}
|
||||
.has-switch span.switch-success:hover,
|
||||
.has-switch span.switch-success:focus,
|
||||
.has-switch span.switch-success:active,
|
||||
.has-switch span.switch-success.active,
|
||||
.has-switch span.switch-success.disabled,
|
||||
.has-switch span.switch-success[disabled] {
|
||||
color: #ffffff;
|
||||
background-color: #62c462;
|
||||
*background-color: #4fbd4f;
|
||||
}
|
||||
.has-switch span.switch-success:active,
|
||||
.has-switch span.switch-success.active {
|
||||
background-color: #42b142 \9;
|
||||
}
|
||||
.has-switch span.switch-warning {
|
||||
color: #ffffff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
background-color: #f9a123;
|
||||
background-image: -moz-linear-gradient(top, #f89406, #fbb450);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f89406), to(#fbb450));
|
||||
background-image: -webkit-linear-gradient(top, #f89406, #fbb450);
|
||||
background-image: -o-linear-gradient(top, #f89406, #fbb450);
|
||||
background-image: linear-gradient(to bottom, #f89406, #fbb450);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff89406', endColorstr='#fffbb450', GradientType=0);
|
||||
border-color: #fbb450 #fbb450 #f89406;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
*background-color: #fbb450;
|
||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
}
|
||||
.has-switch span.switch-warning:hover,
|
||||
.has-switch span.switch-warning:focus,
|
||||
.has-switch span.switch-warning:active,
|
||||
.has-switch span.switch-warning.active,
|
||||
.has-switch span.switch-warning.disabled,
|
||||
.has-switch span.switch-warning[disabled] {
|
||||
color: #ffffff;
|
||||
background-color: #fbb450;
|
||||
*background-color: #faa937;
|
||||
}
|
||||
.has-switch span.switch-warning:active,
|
||||
.has-switch span.switch-warning.active {
|
||||
background-color: #fa9f1e \9;
|
||||
}
|
||||
.has-switch span.switch-danger {
|
||||
color: #ffffff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
background-color: #d14641;
|
||||
background-image: -moz-linear-gradient(top, #bd362f, #ee5f5b);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bd362f), to(#ee5f5b));
|
||||
background-image: -webkit-linear-gradient(top, #bd362f, #ee5f5b);
|
||||
background-image: -o-linear-gradient(top, #bd362f, #ee5f5b);
|
||||
background-image: linear-gradient(to bottom, #bd362f, #ee5f5b);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbd362f', endColorstr='#ffee5f5b', GradientType=0);
|
||||
border-color: #ee5f5b #ee5f5b #e51d18;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
*background-color: #ee5f5b;
|
||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
}
|
||||
.has-switch span.switch-danger:hover,
|
||||
.has-switch span.switch-danger:focus,
|
||||
.has-switch span.switch-danger:active,
|
||||
.has-switch span.switch-danger.active,
|
||||
.has-switch span.switch-danger.disabled,
|
||||
.has-switch span.switch-danger[disabled] {
|
||||
color: #ffffff;
|
||||
background-color: #ee5f5b;
|
||||
*background-color: #ec4844;
|
||||
}
|
||||
.has-switch span.switch-danger:active,
|
||||
.has-switch span.switch-danger.active {
|
||||
background-color: #e9322d \9;
|
||||
}
|
||||
.has-switch span.switch-default {
|
||||
color: #333333;
|
||||
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
||||
background-color: #f0f0f0;
|
||||
background-image: -moz-linear-gradient(top, #e6e6e6, #ffffff);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#ffffff));
|
||||
background-image: -webkit-linear-gradient(top, #e6e6e6, #ffffff);
|
||||
background-image: -o-linear-gradient(top, #e6e6e6, #ffffff);
|
||||
background-image: linear-gradient(to bottom, #e6e6e6, #ffffff);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffffffff', GradientType=0);
|
||||
border-color: #ffffff #ffffff #d9d9d9;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
*background-color: #ffffff;
|
||||
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
||||
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
}
|
||||
.has-switch span.switch-default:hover,
|
||||
.has-switch span.switch-default:focus,
|
||||
.has-switch span.switch-default:active,
|
||||
.has-switch span.switch-default.active,
|
||||
.has-switch span.switch-default.disabled,
|
||||
.has-switch span.switch-default[disabled] {
|
||||
color: #333333;
|
||||
background-color: #ffffff;
|
||||
*background-color: #f2f2f2;
|
||||
}
|
||||
.has-switch span.switch-default:active,
|
||||
.has-switch span.switch-default.active {
|
||||
background-color: #e6e6e6 \9;
|
||||
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
12
server/src/uds/static/css/bootstrap.min.css
vendored
12
server/src/uds/static/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
10
server/src/uds/static/js/bootstrap-select.min.js
vendored
10
server/src/uds/static/js/bootstrap-select.min.js
vendored
File diff suppressed because one or more lines are too long
34
server/src/uds/static/js/bootstrap-switch.min.js
vendored
34
server/src/uds/static/js/bootstrap-switch.min.js
vendored
File diff suppressed because one or more lines are too long
13
server/src/uds/static/js/bootstrap.min.js
vendored
13
server/src/uds/static/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
@ -32,7 +32,6 @@
|
||||
<link href="{% get_static_prefix %}css/fix.css" rel="stylesheet" media="screen">
|
||||
{% endifbrowser %}
|
||||
|
||||
<link href="{% get_static_prefix %}css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/bootstrap-switch.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/uds-html5.css" rel="stylesheet" media="screen">
|
||||
|
||||
|
@ -1,7 +0,0 @@
|
||||
{% extends "uds/html5/templates/base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
|
||||
|
||||
{% block body %}
|
||||
{% endblock %}
|
@ -1,29 +0,0 @@
|
||||
{% extends "uds/html5/templates/base.html" %}
|
||||
{% load i18n static %}
|
||||
|
||||
{% block title %}{% trans "Login redirection to UDS" %}{% endblock %}
|
||||
|
||||
{% block script %}
|
||||
<script src="{% get_static_prefix %}js/PluginDetect_Java.js" type="text/javascript" ></script>
|
||||
<script type="text/javascript">
|
||||
function isJavaAvailable() {
|
||||
if( PluginDetect.isMinVersion('Java', '1,6,0,0','{% get_static_prefix %}/other/getJavaInfo.jar') == 1 )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
var java = isJavaAvailable() ? "y" : "n";
|
||||
window.location.replace("{% url "uds.web.views.authJava" idAuth=idAuth hasJava='' %}" + java);
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<!--<div>
|
||||
<a href="<a href="{% url "uds.web.views.index" %}">{% trans "Go to main page" %}
|
||||
</div>-->
|
||||
{% endblock %}
|
@ -1,21 +0,0 @@
|
||||
{% extends "uds/html5/templates/base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block body %}
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
{% trans "Downloads" %}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>{% trans "This page contains a list of downloadables provided by different modules" %}</p>
|
||||
<div class="list-group">
|
||||
{% for f in files %}
|
||||
<a class="list-group-item" href="{% url "uds.web.views.download" idDownload=f.id %}">
|
||||
<h4 class="list-group-item-heading">{{ f.name }}</h4>
|
||||
<p class="list-group-item-text">{{ f.comment|safe }}</p>
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
@ -1,14 +0,0 @@
|
||||
extends "uds/html5/templates/base.html"
|
||||
- load i18n
|
||||
block body
|
||||
div.panel.panel-info
|
||||
div.panel-heading
|
||||
- trans "Downloads"
|
||||
div.panel-body
|
||||
p
|
||||
- trans "This page contains a list of downloadables provided by different modules"
|
||||
div.list-group
|
||||
for f in files
|
||||
a.list-group-item(href!="{% url "uds.web.views.download" idDownload=f.id %}")
|
||||
h4.list-group-item-heading: f.name
|
||||
p.list-group-item-text: {{ f.comment|safe }}
|
@ -1,18 +0,0 @@
|
||||
{% extends "uds/html5/templates/base.html" %}
|
||||
{% load i18n static %}
|
||||
|
||||
{% block title %}{% trans 'Error' %}{% endblock %}
|
||||
{% block css %}
|
||||
<style>
|
||||
.center {text-align: center; margin-left: auto; margin-right: auto; margin-bottom: auto; margin-top: auto;}
|
||||
</style>
|
||||
{% endblock %}
|
||||
{% block body %}
|
||||
<div class="jumbotron center">
|
||||
<h1>{% trans 'An error occurred' %}</h1>
|
||||
<br />
|
||||
<p>{% trans "Error" %}: <b class="text-danger">{{ errorString }}</b></p>
|
||||
<br />
|
||||
<a href="{% url 'uds.web.views.index' %}" class="btn btn-lg btn-info"><i class="fa fa-home"></i> {% trans "Back to services list" %}</a>
|
||||
</div>
|
||||
{% endblock %}
|
@ -1,131 +0,0 @@
|
||||
{% extends "uds/html5/templates/base.html" %}
|
||||
{% load i18n html5 %}
|
||||
|
||||
{% block title %}{% trans 'Available services list' %}{% endblock %}
|
||||
|
||||
{% block css %}
|
||||
<style media="screen">
|
||||
.list-btn-group {
|
||||
margin-bottom: 24px;
|
||||
margin-right: 24px;
|
||||
}
|
||||
.list-btn {
|
||||
padding-top: 24px;
|
||||
height: 96px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.list-btn-reduced {
|
||||
width: 96px;
|
||||
}
|
||||
.list-btn-normal {
|
||||
width: 112px;
|
||||
}
|
||||
|
||||
.list-dropdown-toggle {
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
.transport {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
}
|
||||
|
||||
/* We need to write under button */
|
||||
.btn-group {
|
||||
max-width: 114px;
|
||||
}
|
||||
|
||||
{% ifbrowser firefox %}
|
||||
{% else %}
|
||||
.btn .caret {
|
||||
margin-left: -4px;
|
||||
}
|
||||
{% endifbrowser %}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script>
|
||||
$(function() {
|
||||
{% if not java %}
|
||||
$("a.nojava").click( function() {
|
||||
$('#no-java-dialog').modal({
|
||||
keyboard: false
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
{% endif %}
|
||||
$('.transport-caption-small').popover({container: 'body', trigger: 'hover', delay: { show: 500, hide: 100 }, placement: 'auto bottom'});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<h2>{% trans "Services" %}</h2>
|
||||
<div class="clearfix">
|
||||
{% for ser in services %}
|
||||
{% if ser.transports %}
|
||||
{% with trans=ser.transports|first numTransports=ser.transports|length %}
|
||||
<div class="btn-group list-btn-group">
|
||||
<a class="{% if not java and trans.needsJava %} nojava{% endif %} btn list-btn btn-default list-btn-{% if numTransports > 1 %}reduced{% else %}normal{% endif %}"
|
||||
href="{% url "uds.web.views.service" idService=ser.id idTransport=trans.id %}"
|
||||
title="{{ ser.name }}"
|
||||
data-toggle="tooltip">
|
||||
<img src="{% url "uds.web.views.serviceImage" idImage=ser.imageId %}" class="transport" alt="{{ ser.name }}" />
|
||||
</a>
|
||||
{% if numTransports > 1 %}
|
||||
<button type="button" class="btn list-btn btn-default dropdown-toggle list-dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
<span class="sr-only">{% trans 'transports' %}</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
{% for trans in ser.transports %}
|
||||
{% if not forloop.first %}
|
||||
<li><a{% if not java and trans.needsJava %} class="nojava"{% endif %} href="{% url "uds.web.views.service" idService=ser.id idTransport=trans.id %}"><img src="{% url "uds.web.views.transportIcon" idTrans=trans.id %}" alt="{{ trans.name }}" />{{ trans.name }}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
<div class="transport-caption{% if ser.name|length > 16 %}-small{% endif %} text-center" data-content="{{ser.name|capfirst}}">{{ ser.name|capfirst|truncatechars:16 }}</div>
|
||||
</div>
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% if not java %}
|
||||
<div class="modal fade" id="no-java-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 "Java not found" %}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{% trans "Java is not available on your browser, and the selected transport needs it." %}</p>
|
||||
<p>{% trans "Please, install latest version from" %} <a href="http://www.java.com" target="_blank">{% trans "Java website" %}</a> {% trans "and restart browser" %}</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 -->
|
||||
{% endif %}
|
||||
|
||||
{% 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 %}
|
@ -1,107 +0,0 @@
|
||||
{% extends "uds/html5/templates/base.html" %}
|
||||
{% load i18n static html5 %}
|
||||
|
||||
{% block title %}{% trans 'Welcome to UDS' %}{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script src="{% get_static_prefix %}js/PluginDetect_Java.js" type="text/javascript" ></script>
|
||||
<script type="text/javascript">
|
||||
function isJavaAvailable() {
|
||||
if( PluginDetect.isMinVersion('Java', '1,6,0,0','{% get_static_prefix %}/other/getJavaInfo.jar') == 1 )
|
||||
return true;
|
||||
|
||||
//PluginDetect.getVersion('Java', '{% get_static_prefix %}/other/getJavaInfo.jar')
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function chkNonStandardAuth(val, nonStandard) {
|
||||
if( $.inArray(val, nonStandard) >= 0) {
|
||||
var vv = val;
|
||||
$("#login").hide(300, function() {
|
||||
$.get('{%url "uds.web.views.customAuth" idAuth=''%}' + vv, function(data) {
|
||||
$('#nonStandardLogin').html(data);
|
||||
$('#nonStandard').show(300);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#id_java').val(isJavaAvailable() ? "y" : "n");
|
||||
var nonStandard = $('#id_nonStandard').val();
|
||||
|
||||
if( nonStandard.length == 0 )
|
||||
nonStandard = [];
|
||||
else
|
||||
nonStandard = nonStandard.split(',');
|
||||
var standard = $('#id_standard').val();
|
||||
if( standard.length == 0 )
|
||||
standard = [];
|
||||
else
|
||||
standard = standard.split(',');
|
||||
|
||||
$('#id_authenticator').change(function() { chkNonStandardAuth($(this).val(), nonStandard) });
|
||||
if( standard.length > 0 ) {
|
||||
$('#backToLogin').click(function() {
|
||||
$('#id_authenticator').val(standard[0]);
|
||||
$('#nonStandard').hide(300, function() {
|
||||
$('#nonStandardLogin').html('');
|
||||
$("#login").show(300);
|
||||
});
|
||||
return false;
|
||||
});
|
||||
} else {
|
||||
$('#divBackToLogin').html('');
|
||||
}
|
||||
// Check initial value (may default auth is non Standard)
|
||||
chkNonStandardAuth($('#id_authenticator').val(), nonStandard);
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="container">
|
||||
<div class="row" id="login">
|
||||
<div class="col-md-4 col-md-offset-4">
|
||||
<h1 class="text-center login-title">{% trans 'Welcome to UDS' %}</h1>
|
||||
<div class="account-wall">
|
||||
<img class="profile-img" src="{% get_static_prefix %}img/login-img.png" alt="">
|
||||
<form id="loginform" class="form-signin" name="loginform" method="post">
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-dismissable alert-danger">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{% trans 'invalid credentials'|capfirst %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% csrf_token %}
|
||||
{% for hidden in form.hidden_fields %}
|
||||
{{ hidden }}
|
||||
{% endfor %}
|
||||
<div class="form-group">
|
||||
<input id="id_{{form.user.name}}" name="{{form.user.name}}" type="text" class="form-control" placeholder="{% trans 'username'|capfirst %}" autofocus required>
|
||||
<input id="id_{{form.password.name}}" name="{{form.password.name}}" type="password" class="form-control" placeholder="{% trans 'password'|capfirst %}">
|
||||
{{ form.authenticator }}
|
||||
</div>
|
||||
<button class="btn btn-lg btn-primary btn-block" type="submit"><span class="fa fa-sign-in"></span> {% trans 'Sign in' %}</button>
|
||||
<div id="nonStandard" style="display: none">
|
||||
<div id="nonStandardLogin" class="form">
|
||||
non standard logins
|
||||
</div>
|
||||
<div id="divBackToLogin">
|
||||
<a href="#" id="backToLogin" title="{% trans "Back to login" %}">{% trans "Back to login" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="customHtml">
|
||||
{% autoescape off %}
|
||||
{{ customHtml }}
|
||||
{% endautoescape %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
@ -1,14 +0,0 @@
|
||||
{% extends "uds/html5/templates/base.html" %}
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %}{% trans "UDS User Preferences" %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<form name="form1" method="post" class="form-preferences">
|
||||
{% csrf_token %}
|
||||
{% autoescape off %}{{ prefs_form }}{% endautoescape %}
|
||||
<a href="{% url "uds.web.views.index" %}" class="btn btn-warning">{% trans "Cancel" %}</a>
|
||||
<button type="submit" class="btn btn-success pull-right">{% trans "Save Preferences" %}</button>
|
||||
</form>
|
||||
{% endblock %}
|
@ -1,19 +0,0 @@
|
||||
{% extends "uds/html5/templates/base.html" %}
|
||||
{% load i18n static %}
|
||||
|
||||
{% block title %}{% trans 'The service is not ready' %}{% endblock %}
|
||||
{% block css %}
|
||||
<style>
|
||||
.center {text-align: center; margin-left: auto; margin-right: auto; margin-bottom: auto; margin-top: auto;}
|
||||
</style>
|
||||
{% endblock %}
|
||||
{% block body %}
|
||||
<div class="jumbotron center">
|
||||
<h1> {% trans 'The service is not ready' %}</h1>
|
||||
<br />
|
||||
<p>{% trans 'The service is not ready at this moment. Please, try it again after a few seconds.' %}</p>
|
||||
<h5>{% trans 'The service you has requested was not ready, and is being created right now. It will be availabe shortly' %}</h5>
|
||||
<br />
|
||||
<a href="{% url 'uds.web.views.index' %}" class="btn btn-lg btn-info"><i class="fa fa-home"></i> {% trans "Back" %}</a>
|
||||
</div>
|
||||
{% endblock %}
|
@ -1,20 +0,0 @@
|
||||
{% extends "uds/html5/templates/base.html" %}
|
||||
{% load i18n static %}
|
||||
|
||||
{% block body %}
|
||||
<div class="panel panel-default text-center">
|
||||
<div id="transport">
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<a href="{% url 'uds.web.views.index' %}" class="btn btn-info"><i class="fa fa-home"></i> {% trans "Back to services list" %}</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$('#transport').append("{{ transport|escapejs }}");
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
@ -1,57 +0,0 @@
|
||||
{% load i18n html5 static %}
|
||||
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
|
||||
<span class="sr-only">{% trans 'toggle navigation'|capfirst %}</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a href="{% url 'uds.web.views.index' %}"><span class="navbar-brand">Universal Desktop Services</span></a>
|
||||
</div>
|
||||
<div class="collapse navbar-collapse navbar-ex1-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
</ul>
|
||||
<form id="form_language" action="{% url "django.views.i18n.set_language" %}" method="post">
|
||||
{% csrf_token %}
|
||||
<input id="id_language" type="hidden" name="language" value=""/>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><a href="#">{% trans 'About' %}</a></li>
|
||||
<li class="dropdown">
|
||||
{% for lang in LANGUAGES %}
|
||||
{% if lang.0 == LANGUAGE_CODE %}
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon bfh-flag-{{ lang.0|country }}"></i>{% trans lang.1|capfirst %}<b class="caret"></b></a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<ul class="dropdown-menu">
|
||||
{% for lang in LANGUAGES %}
|
||||
{% if lang.0 != LANGUAGE_CODE %}
|
||||
<li><a href="#" onclick='$("#id_language").val("{{ lang.0 }}"); $("#form_language").submit()'><i class="glyphicon bfh-flag-{{ lang.0|country }}"></i>{% trans lang.1|capfirst %}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% if user and not user.is_anonymous %}
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> {{ user.real_name }} <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="{% url "uds.web.views.prefs" %}"><span class="fa fa-edit"></span> {% trans 'Preferences' %}</a></li>
|
||||
{% if user.staff_member or user.is_admin %}
|
||||
<li><a href="{% url "uds.web.views.download" idDownload='' %}"><span class="fa fa-download"></span> {% trans "Downloads" %}</a></li>
|
||||
{% ifbrowser ie<8 %}
|
||||
{% else %}
|
||||
<li><a href="{% url "uds.admin.views.index" %}"><span class="fa fa-dashboard"></span> Dashboard</a></li>
|
||||
{% endifbrowser %}
|
||||
{% endif %}
|
||||
<li><a href="{% url 'uds.web.views.logout' %}"><span class="fa fa-power-off text-danger"></span> {% trans 'Logout' %}</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
</ul>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
</nav>
|
@ -1,102 +0,0 @@
|
||||
{% load l10n i18n static html5 compress %}{% spaceless %}
|
||||
{% get_current_language as LANGUAGE_CODE %}
|
||||
{% get_available_languages as LANGUAGES %}
|
||||
<!DOCTYPE html>{% endspaceless %}
|
||||
<html lang='{{LANGUAGE_CODE}}'>
|
||||
<head>
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
{% block meta %}{% endblock %}
|
||||
|
||||
{% block icon %}<link href="{% get_static_prefix %}img/favicon.png" rel="icon" type="image/x-icon" />{% endblock %}
|
||||
|
||||
<!-- Bootstrap -->
|
||||
{% compress css %}
|
||||
<link href="{% get_static_prefix %}css/bootstrap.min.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/font-awesome.min.css" rel="stylesheet" media="screen">
|
||||
{% endcompress %}
|
||||
|
||||
{% ifbrowser ie<9 %}
|
||||
<script src="{% get_static_prefix %}/js/respond.min.js"></script>
|
||||
{% endifbrowser %}
|
||||
|
||||
{% compress css %}
|
||||
<link href="{% get_static_prefix %}css/bootstrap-theme.min.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/bootstrap-formhelpers.min.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/bootstrap-select.min.css" rel="stylesheet" media="screen">
|
||||
|
||||
{% ifbrowser ie<10 %}
|
||||
<link href="{% get_static_prefix %}css/fix.css" rel="stylesheet" media="screen">
|
||||
{% endifbrowser %}
|
||||
|
||||
<link href="{% get_static_prefix %}css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/bootstrap-switch.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/uds-html5.css" rel="stylesheet" media="screen">
|
||||
|
||||
{% endcompress %}
|
||||
|
||||
{% compress css %}
|
||||
{% ifbrowser ie<9 %}
|
||||
<script src="{% get_static_prefix %}/js/html5shiv.js"></script>
|
||||
{% endifbrowser %}
|
||||
|
||||
{% block css %}{% endblock %}
|
||||
{% endcompress %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Navigation bar -->
|
||||
{% block menu %}{% include 'uds/html5/snippets/navbar.html' %}{% endblock %}
|
||||
<!-- End of menu -->
|
||||
<div class="st-sticky-wrap">
|
||||
<div class="container">
|
||||
{% ifbrowser ie<10 %}
|
||||
<div class="alert alert-dismissable alert-danger">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{% trans 'Your browser is supported only partially. Please, upgrade it to a modern html5 browser like Firefox, Chrome, Opera, ... (IE must be 10 or better)' %}
|
||||
</div>
|
||||
{% endifbrowser %}
|
||||
{% block messages %}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-dismissable {{ message.tags }}">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ message }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
<!-- Content -->
|
||||
{% block body %}{% endblock %}
|
||||
<!-- End of content -->
|
||||
</div> <!-- End of container -->
|
||||
<div class="st-sticky-push"></div>
|
||||
</div>
|
||||
<footer>
|
||||
{% block footer %}
|
||||
<a href="http://www.udsenterprise.com">© 2012-2014 Virtual Cable S.L.U.</a>
|
||||
{% endblock %}
|
||||
</footer>
|
||||
|
||||
<script src="{% url 'uds.web.views.jsCatalog' LANGUAGE_CODE %}"></script>
|
||||
{% compress js %}
|
||||
<script src="{% get_static_prefix %}js/jquery-1.10.2.min.js"></script>
|
||||
<script src="{% get_static_prefix %}js/jquery.cookie.js"></script>
|
||||
<script src="{% get_static_prefix %}js/bootstrap.min.js"></script>
|
||||
<script src="{% get_static_prefix %}js/bootstrap-switch.min.js"></script>
|
||||
<script src="{% get_static_prefix %}js/bootstrap-select.min.js"></script>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$('.selectpicker').selectpicker();
|
||||
});
|
||||
</script>
|
||||
|
||||
{% block js %}{% endblock %}
|
||||
{% endcompress %}
|
||||
|
||||
</body>
|
||||
</html>
|
@ -39,8 +39,10 @@ from django.template import RequestContext
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.views.decorators.http import last_modified
|
||||
from django.views.decorators.cache import cache_page
|
||||
from django.views.i18n import javascript_catalog
|
||||
from django.utils import timezone
|
||||
from django.contrib.staticfiles import finders
|
||||
|
||||
from uds.core.auths.auth import webLogin, webLogout, webLoginRequired, authenticate, webPassword, authenticateViaCallback, authLogLogin, authLogLogout, getUDSCookie
|
||||
from uds.models import Authenticator, DeployedService, Transport, UserService, Network, Image
|
||||
@ -329,6 +331,7 @@ def sernotify(request, idUserService, notification):
|
||||
return HttpResponse('ok', content_type='text/plain')
|
||||
|
||||
|
||||
@cache_page(60 * 10) # Cache images 10 minutes
|
||||
def transportIcon(request, idTrans):
|
||||
try:
|
||||
icon = Transport.objects.get(uuid=idTrans).getInstance().icon(False)
|
||||
@ -337,6 +340,7 @@ def transportIcon(request, idTrans):
|
||||
return HttpResponseRedirect('/static/img/unknown.png')
|
||||
|
||||
|
||||
@cache_page(60 * 10) # Cache images 10 minutes
|
||||
def serviceImage(request, idImage):
|
||||
try:
|
||||
icon = Image.objects.get(uuid=idImage)
|
||||
@ -348,7 +352,12 @@ def serviceImage(request, idImage):
|
||||
icon = Transport.objects.get(uuid=idImage).getInstance().icon(False)
|
||||
return HttpResponse(icon, content_type='image/png')
|
||||
except Exception:
|
||||
return HttpResponseRedirect('/static/img/uds-service.png')
|
||||
result = finders.find('img/uds-service.png')
|
||||
if isinstance(result, (list, tuple)):
|
||||
result = result[0]
|
||||
with open(result) as f:
|
||||
icon = f.read()
|
||||
return HttpResponse(icon, content_type='image/png')
|
||||
|
||||
|
||||
@transformId
|
||||
@ -466,7 +475,7 @@ def download(request, idDownload):
|
||||
last_modified_date = timezone.now()
|
||||
|
||||
|
||||
@last_modified(lambda req, **kw: last_modified_date)
|
||||
@last_modified(lambda req, *args, **kwargs: last_modified_date)
|
||||
def jsCatalog(request, lang, domain='djangojs', packages=None):
|
||||
if lang != '':
|
||||
request.GET = {'language': lang} # Fake args for catalog :-)
|
||||
|
Loading…
Reference in New Issue
Block a user