diff options
author | Peter Grassberger <petertheone@gmail.com> | 2016-04-20 15:58:14 (GMT) |
---|---|---|
committer | Peter Grassberger <petertheone@gmail.com> | 2016-04-20 15:58:14 (GMT) |
commit | 16b507e9ab3b7d9bfbe72319d2197cea98905294 (patch) | |
tree | acc475be6eda15d098b166f7f37ebd6d0b75a572 /www/js/router.js | |
parent | aff9aaaa27bfb989432e23c768b2ec52fc8e70f7 (diff) |
rewrite auth and apps
Diffstat (limited to 'www/js/router.js')
-rw-r--r-- | www/js/router.js | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/www/js/router.js b/www/js/router.js new file mode 100644 index 0000000..ce84950 --- /dev/null +++ b/www/js/router.js @@ -0,0 +1,74 @@ +/* + * rhwebimport + * + * Copyright (C) 2014-2016 Christian Pointner <equinox@helsinki.at> + * Copyright (C) 2015-2016 Peter Grassberger <petertheone@gmail.com> + * + * This file is part of rhwebimport. + * + * rhwebimport is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + * + * rhwebimport is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with rhwebimport. If not, see <http://www.gnu.org/licenses/>. + */ + +'use strict'; + +var auth = null; +var router = null; + +$(document).ready(function() { + auth = new Rdxport.Auth(); + router = new Rdxport.Router(auth); + router.route(); +}); + +Rdxport.Router = function(auth) { + console.log('Router'); + this.auth = auth; + this.authView = new Rdxport.AuthView(this.auth); +}; + +Rdxport.Router.prototype.route = function(page, subpage) { + console.log('route'); + if (!this.auth.isLoggedIn()) { + this.login(); + return; + } + + this.authView.renderLoggedIn(); + + // todo: if previously login form + //$('#username-field').html(auth_fullname + ' (' + auth_username + ')'); + //$('#loginbox').slideUp(); + //$('#mainwindow').fadeIn(); + + // todo: route.. +}; + +Rdxport.Router.prototype.login = function() { + console.log('login'); + this.authView.renderLoginForm(); +}; + +Rdxport.Router.prototype.logout = function() { + console.log('logout'); + if (importer && importer.isUploading()) { + alert('Achtung: Es laufen noch imports.'); + return; + } + + this.auth.cleanup(); + // todo: more cleanup? + //apps_cleanup(); + + this.login(); +}; |