mirror of
https://github.com/YunoHost/yunohost-admin.git
synced 2024-09-03 20:06:15 +02:00
Add login handling
This commit is contained in:
parent
c696ea8b58
commit
c6c2e6b352
2 changed files with 73 additions and 44 deletions
31
js/app.js
31
js/app.js
|
@ -83,6 +83,9 @@ app = Sammy('#main', function (sam) {
|
||||||
view: function (view, data) {
|
view: function (view, data) {
|
||||||
rendered = this.render('views/'+ view +'.ms', data);
|
rendered = this.render('views/'+ view +'.ms', data);
|
||||||
|
|
||||||
|
enableSlide = true; // Change to false to disable animation
|
||||||
|
|
||||||
|
if (enableSlide) {
|
||||||
function leSwap() {
|
function leSwap() {
|
||||||
rendered.swap(function() {
|
rendered.swap(function() {
|
||||||
$('.slide').on('click', function() {
|
$('.slide').on('click', function() {
|
||||||
|
@ -120,6 +123,9 @@ app = Sammy('#main', function (sam) {
|
||||||
} else {
|
} else {
|
||||||
leSwap();
|
leSwap();
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
rendered.swap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -167,13 +173,29 @@ app = Sammy('#main', function (sam) {
|
||||||
sam.get('#/login', function (c) {
|
sam.get('#/login', function (c) {
|
||||||
$('#logout-button').hide();
|
$('#logout-button').hide();
|
||||||
store.set('path-1', '#/login');
|
store.set('path-1', '#/login');
|
||||||
|
|
||||||
|
// Check if te client is hosted on a yunohost node
|
||||||
|
domain = window.location.hostname
|
||||||
|
$.getJSON('http://'+ domain +':6767/api', function(data) {
|
||||||
|
$.getJSON('http://'+ domain +':6767/installed', function(data) {
|
||||||
|
if (!data.installed) {
|
||||||
|
c.view('postinstall');
|
||||||
|
} else {
|
||||||
|
c.view('login', { 'domain': domain });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.fail(function() {
|
||||||
c.view('login');
|
c.view('login');
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
sam.post('#/login', function (c) {
|
sam.post('#/login', function (c) {
|
||||||
store.set('url', 'http://'+ c.params['url']);
|
store.set('url', 'http://'+ c.params['domain'] +':6767');
|
||||||
store.set('user', 'admin');
|
store.set('user', 'admin');
|
||||||
store.set('password', btoa(c.params['password']));
|
store.set('password', btoa(c.params['password']));
|
||||||
|
c.api('/api', function(data) {
|
||||||
|
if (data.apiVersion == '0.1') {
|
||||||
c.api('/users', function(data) {
|
c.api('/users', function(data) {
|
||||||
store.set('connected', true);
|
store.set('connected', true);
|
||||||
$('#logout-button').fadeIn();
|
$('#logout-button').fadeIn();
|
||||||
|
@ -184,6 +206,11 @@ app = Sammy('#main', function (sam) {
|
||||||
c.redirect('#/');
|
c.redirect('#/');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
c.flash('fail', 'Non-compatible API (0.1 required)');
|
||||||
|
c.redirect('#/login');
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
sam.get('#/logout', function (c) {
|
sam.get('#/logout', function (c) {
|
||||||
|
@ -338,6 +365,8 @@ app = Sammy('#main', function (sam) {
|
||||||
*/
|
*/
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
app.run('#/');
|
app.run('#/');
|
||||||
|
|
||||||
|
// Fixes for sliding effect
|
||||||
$('#slider-container').width(2*$('#slider').width() +'px');
|
$('#slider-container').width(2*$('#slider').width() +'px');
|
||||||
$(window).resize(function() {
|
$(window).resize(function() {
|
||||||
$('#slideBack').css('display', 'none');
|
$('#slideBack').css('display', 'none');
|
||||||
|
|
|
@ -5,14 +5,14 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form action="#/login" id="form" method="post">
|
<form action="#/login" id="form" method="post">
|
||||||
<div class="input-group">
|
<div class="input-group"{{#domain}} style="display: none"{{/domain}}>
|
||||||
<span class="input-group-addon">http://</span>
|
<span class="input-group-addon"> <span class="glyphicon glyphicon-cloud"></span> </span>
|
||||||
<input type="text" name="url" class="form-control" placeholder="myserver.org:6767">
|
<input type="text" name="domain" class="form-control" placeholder="myserver.org"{{#domain}} value="{{domain}}" disabled{{/domain}}>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon"> <span class="glyphicon glyphicon-lock"> </span></span>
|
<span class="input-group-addon"><span class="glyphicon glyphicon-lock"></span> </span>
|
||||||
<input type="password" name="password" class="form-control" placeholder="Password">
|
<input type="password" name="password" class="form-control" placeholder="Admin password">
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
<input id="submit" type="submit" value="Login" class="btn btn-success pull-right"/>
|
<input id="submit" type="submit" value="Login" class="btn btn-success pull-right"/>
|
||||||
|
|
Loading…
Add table
Reference in a new issue