diff options
author | Simo Sorce <simo@redhat.com> | 2013-12-12 14:21:41 -0500 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2013-12-18 23:05:57 -0500 |
commit | 1e97d03807bd893152bf2cbd0f20102af9c8f80d (patch) | |
tree | bd2e6e483d800edc8d9c4db596a46b18e6da2d8b /src/root.py | |
parent | 29d8f5eca90bcca199d7ad84f9934f3f24eed906 (diff) | |
download | ipsilon-1e97d03807bd893152bf2cbd0f20102af9c8f80d.tar.gz ipsilon-1e97d03807bd893152bf2cbd0f20102af9c8f80d.tar.xz ipsilon-1e97d03807bd893152bf2cbd0f20102af9c8f80d.zip |
Initial user preferences infrastructure
Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'src/root.py')
-rwxr-xr-x | src/root.py | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/src/root.py b/src/root.py index d4cd900..0c6cd41 100755 --- a/src/root.py +++ b/src/root.py @@ -17,8 +17,67 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. +from util import data import cherrypy +class Site(object): + def __init__(self, value): + # implement lookup of sites id for link/name + self.link = value + self.name = value + +class User(object): + def __init__(self, username): + if username is None: + self.name = None + self._userdata = dict() + else: + self._userdata = self._get_user_data(username) + self.name = username + + def _get_user_data(self, username): + store = data.Store() + return store._get_user_preferences(username) + + @property + def is_admin(self): + if 'is_admin' in self._userdata: + if self._userdata['is_admin'] == '1': + return True + return False + + @is_admin.setter + def is_admin(self, value): + if value is True: + self._userdata['is_admin'] = '1' + else: + self._userdata['is_admin'] = '0' + + @property + def fullname(self): + if 'fullname' in self._userdata: + return self._userdata['fullname'] + else: + return self.name + + @fullname.setter + def fullname(self, value): + self._userdata['fullname'] = value + + @property + def sites(self): + if 'sites' in self._userdata: + d = [] + for site in self._userdata['sites']: + d.append(Site(site)) + else: + return [] + + @sites.setter + def sites(self): + #TODO: implement setting sites via the user object ? + raise AttributeError + class Root(object): def __init__(self, template_env): @@ -27,7 +86,7 @@ class Root(object): @cherrypy.expose def index_html(self): tmpl = self._env.get_template('index.html') - return tmpl.render(title='Root', content='Awesome!') + return tmpl.render(title='Root', user=User(None)) @cherrypy.expose def index(self): |