From f0bfb8a13b6b488c561084a4a33acc9b75984b03 Mon Sep 17 00:00:00 2001
From: RaNaN <Mast3rRaNaN@hotmail.de>
Date: Wed, 24 Jul 2013 17:42:43 +0200
Subject: improved login mechanism

---
 pyload/web/app/scripts/models/UserSession.js | 28 +++++++++++++++++++++++-----
 1 file changed, 23 insertions(+), 5 deletions(-)

(limited to 'pyload/web/app/scripts/models')

diff --git a/pyload/web/app/scripts/models/UserSession.js b/pyload/web/app/scripts/models/UserSession.js
index a7e9aa848..7bf6abd8f 100644
--- a/pyload/web/app/scripts/models/UserSession.js
+++ b/pyload/web/app/scripts/models/UserSession.js
@@ -1,20 +1,38 @@
-define(['jquery', 'backbone', 'underscore',  'utils/apitypes', 'cookie'],
-    function($, Backbone, _, Api) {
+define(['jquery', 'backbone', 'underscore', 'utils/apitypes', 'app'],
+    function($, Backbone, _, Api, App) {
         'use strict';
 
+        // Used in app -> can not have a dependency on app
         return Backbone.Model.extend({
 
-            idAttribute: 'username',
+            idAttribute: 'name',
 
             defaults: {
-                username: null,
+                uid: -1,
+                name: 'User',
                 permissions: null,
                 session: null
             },
 
             // Model Constructor
             initialize: function() {
-                this.set('session', $.cookie('beaker.session.id'));
+                this.set(JSON.parse(localStorage.getItem('user')));
+            },
+
+            save: function() {
+                localStorage.setItem('user', JSON.stringify(this.toJSON()));
+            },
+
+            destroy: function() {
+                localStorage.removeItem('user');
+            },
+
+            // TODO
+            fetch: function(options) {
+                options = App.apiRequest('todo', null, options);
+
+                return Backbone.Model.prototype.fetch.call(this, options);
             }
+
         });
     });
\ No newline at end of file
-- 
cgit v1.2.3