summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/Controller/ClientFlowLoginController.php3
-rw-r--r--core/css/header.scss23
-rw-r--r--core/css/styles.scss61
-rw-r--r--core/js/sharedialogshareelistview.js19
4 files changed, 68 insertions, 38 deletions
diff --git a/core/Controller/ClientFlowLoginController.php b/core/Controller/ClientFlowLoginController.php
index 47bbbce640e..7d6e79d39bc 100644
--- a/core/Controller/ClientFlowLoginController.php
+++ b/core/Controller/ClientFlowLoginController.php
@@ -319,6 +319,9 @@ class ClientFlowLoginController extends Controller {
$redirectUri = 'nc://login/server:' . $serverPath . '&user:' . urlencode($loginName) . '&password:' . urlencode($token);
}
+ // Clear the token from the login here
+ $this->tokenProvider->invalidateToken($sessionId);
+
return new Http\RedirectResponse($redirectUri);
}
}
diff --git a/core/css/header.scss b/core/css/header.scss
index b38c0bcb401..7021762bf7f 100644
--- a/core/css/header.scss
+++ b/core/css/header.scss
@@ -206,12 +206,15 @@ nav {
margin-left: -54px;
}
-.header-left #navigation,
-.ui-datepicker,
-.ui-timepicker.ui-widget {
+.header-left #navigation {
position: relative;
left: -100%;
width: 160px;
+}
+
+.header-left #navigation,
+.ui-datepicker,
+.ui-timepicker.ui-widget {
background-color: $color-main-background;
filter: drop-shadow(0 1px 10px $color-box-shadow);
&:after {
@@ -440,7 +443,6 @@ nav {
display: inline-block;
width: auto;
clear: both;
- height: 44px;
li {
float: left;
@@ -462,7 +464,7 @@ nav {
}
}
.app-loading .icon-loading-small-dark {
- top:12px;
+ top: 12px;
width: 20px;
height: 20px;
}
@@ -495,10 +497,11 @@ nav {
color: rgba($color-main-text, .7);
width: auto;
left: 50%;
- top: 45px;
+ top: 100%;
transform: translateX(-50%);
padding: 4px 10px;
filter: drop-shadow(0 1px 10px $color-box-shadow);
+ z-index: 100;
}
li:hover span {
@@ -519,7 +522,6 @@ nav {
transform: translateX(-50%);
left: 50%;
bottom: 0;
- z-index: 100;
display: none;
}
li a.active:before,
@@ -527,6 +529,13 @@ nav {
li:hover a.active:before {
display: block;
}
+ li a.active:before {
+ z-index: 99;
+ }
+ li:hover a:before,
+ li a.active:hover:before {
+ z-index: 101;
+ }
&.menu-open li:hover a:before,
&.menu-open li a.active:before,
&.menu-open li:hover span {
diff --git a/core/css/styles.scss b/core/css/styles.scss
index c479d6df888..b782c4e558a 100644
--- a/core/css/styles.scss
+++ b/core/css/styles.scss
@@ -1035,15 +1035,6 @@ code {
background-color: inherit;
}
td {
- > * {
- border-radius: 50%;
- text-align: center;
- font-weight: normal;
- color: $color-main-text;
- padding: 6px;
- line-height: 12px;
- }
-
&.ui-datepicker-today a:not(.ui-state-hover) {
background-color: nc-lighten($color-main-text, 86%);
}
@@ -1056,7 +1047,7 @@ code {
font-weight: bold;
}
- &.ui-datepicker-week-end :not(.ui-state-hover),
+ &.ui-datepicker-week-end:not(.ui-state-disabled) :not(.ui-state-hover),
.ui-priority-secondary:not(.ui-state-hover) {
color: nc-lighten($color-main-text, 33%);
opacity: .8;
@@ -1099,26 +1090,25 @@ code {
font-weight: 300;
}
}
+ /* AM/PM fix */
+ table.ui-timepicker tr .ui-timepicker-hour-cell:first-child {
+ margin-left: 30px;
+ }
.ui-timepicker-table {
th {
font-weight: normal;
color: nc-lighten($color-main-text, 33%);
opacity: .8;
+ &.periods {
+ padding: 0;
+ width: 30px;
+ line-height: 30px;
+ }
}
tr:hover {
background-color: inherit;
}
td {
- > * {
- border-radius: 50%;
- text-align: center;
- font-weight: normal;
- color: $color-main-text;
- padding: 8px 7px;
- font-size: .9em;
- line-height: 12px;
- }
-
&.ui-timepicker-hour-cell a.ui-state-active,
&.ui-timepicker-minute-cell a.ui-state-active,
.ui-state-hover,
@@ -1139,6 +1129,37 @@ code {
}
}
+/* ---- jQuery UI datepicker & timepicker global rules ---- */
+.ui-widget.ui-datepicker .ui-datepicker-calendar,
+.ui-widget.ui-timepicker table.ui-timepicker {
+ tr {
+ display: flex;
+ flex-wrap: nowrap;
+ justify-content: space-between;
+ td {
+ display: block;
+ flex: 1 1;
+ margin: 0;
+ padding: 2px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ > * {
+ border-radius: 50%;
+ text-align: center;
+ font-weight: normal;
+ color: $color-main-text;
+ display: block;
+ line-height: 18px;
+ width: 18px;
+ height: 18px;
+ padding: 3px;
+ font-size: .9em;
+ }
+ }
+ }
+}
+
/* ---- DIALOGS ---- */
#oc-dialog-filepicker-content {
diff --git a/core/js/sharedialogshareelistview.js b/core/js/sharedialogshareelistview.js
index b4828e3b0dc..30cbeff3c64 100644
--- a/core/js/sharedialogshareelistview.js
+++ b/core/js/sharedialogshareelistview.js
@@ -116,7 +116,7 @@
'<label for="expireDate-{{cid}}-{{shareId}}">{{expireDateLabel}}</label>' +
'<div class="expirationDateContainer-{{cid}}-{{shareId}} {{#unless hasExpireDate}}hidden{{/unless}}">' +
' <label for="expirationDatePicker-{{cid}}-{{shareId}}" class="hidden-visually" value="{{expirationDate}}">{{expirationLabel}}</label>' +
- ' <input id="expirationDatePicker-{{cid}}-{{shareId}}" class="datepicker" type="text" placeholder="{{expirationDatePlaceholder}}" value="{{expireDate}}" />' +
+ ' <input id="expirationDatePicker-{{cid}}-{{shareId}}" class="datepicker" type="text" placeholder="{{expirationDatePlaceholder}}" value="{{#if hasExpireDate}}{{expireDate}}{{else}}{{defaultExpireDate}}{{/if}}" />' +
'</div>' +
'</span>' +
'</li>' +
@@ -266,6 +266,8 @@
expireDateLabel: t('core', 'Set expiration date'),
passwordLabel: t('core', 'Password protect'),
crudsLabel: t('core', 'Access control'),
+ expirationDatePlaceholder: t('core', 'Expiration date'),
+ defaultExpireDate: moment().add(1, 'day').format('DD-MM-YYYY'), // Can't expire today
triangleSImage: OC.imagePath('core', 'actions/triangle-s'),
isResharingAllowed: this.configModel.get('isResharingAllowed'),
isPasswordForMailSharesRequired: this.configModel.get('isPasswordForMailSharesRequired'),
@@ -513,19 +515,14 @@
var shareId = li.data('share-id');
var expirationDatePicker = '#expirationDatePicker-' + this.cid + '-' + shareId;
var view = this;
- $(expirationDatePicker).closest('div').datepicker({
+ $(expirationDatePicker).datepicker({
dateFormat : 'dd-mm-yy',
- onSelect:
- function (expireDate) {
- view.setExpirationDate(shareId, expireDate);
- },
- onClose:
- function () {
- $(expirationDatePicker).removeClass('hidden-visually');
- }
+ onSelect: function (expireDate) {
+ view.setExpirationDate(shareId, expireDate);
+ }
});
+ $(expirationDatePicker).focus();
- $(expirationDatePicker).addClass('hidden-visually');
},
setExpirationDate: function(shareId, expireDate) {