From 646b5518bbd33c6979cac548adca2416d401833a Mon Sep 17 00:00:00 2001
From: Tom Galloway
Date: Wed, 16 Jan 2013 13:08:48 +0000
Subject: [PATCH] withsqlite is now retrieved from github. Manage User & Groups
pages now display correctly but don't do anything yet.
---
.gitignore | 1 +
Makefile | 9 ++++++++-
modules/installed/system/users.py | 19 ++++++++++---------
start.sh | 1 -
4 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/.gitignore b/.gitignore
index 3b943e1bb..d5be6856d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,4 @@ cherrypy.config
data/users.sqlite3
predepend
build/
+*.pid
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 72d916965..f5bf865b9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,7 @@
#SHELL := /bin/bash
MAKE=make
BUILD_DIR = build
+VENDOR_DIR = vendor
#TODO: add install target
@@ -10,12 +11,15 @@ COMPRESSED_CSS := $(patsubst %.css,%.tiny.css,$(CSS))
PWD=`pwd`
## Catch-all tagets
-default: predepend cfg cherrypy.config dirs template css docs dbs $(BUILD_DIR)/exmachina #$(BUILD_DIR)/bjsonrpc
+default: predepend cfg cherrypy.config dirs template css docs dbs $(BUILD_DIR)/exmachina $(VENDOR_DIR)/withsqlite #$(BUILD_DIR)/bjsonrpc
all: default
build:
mkdir -p $(BUILD_DIR)
+vendor:
+ mkdir -p $(VENDOR_DIR)
+
predepend:
sudo sh -c "apt-get install augeas-tools python-bjsonrpc python-augeas python-simplejson pandoc python-cheetah"
touch predepend
@@ -23,6 +27,9 @@ predepend:
$(BUILD_DIR)/exmachina: build
git clone git://github.com/tomgalloway/exmachina $(BUILD_DIR)/exmachina
+$(VENDOR_DIR)/withsqlite: vendor
+ git clone git://github.com/jvasile/withsqlite.git $(VENDOR_DIR)/withsqlite
+
$(BUILD_DIR)/bjsonrpc: build
git clone git://github.com/deavid/bjsonrpc.git $(BUILD_DIR)/bjsonrpc
diff --git a/modules/installed/system/users.py b/modules/installed/system/users.py
index c4ac97771..81e747b2f 100644
--- a/modules/installed/system/users.py
+++ b/modules/installed/system/users.py
@@ -5,22 +5,23 @@ from plugin_mount import PagePlugin, FormPlugin
import cfg
from forms import Form
from util import *
+from pprint import pprint
class users(PagePlugin):
order = 20 # order of running init in PagePlugins
def __init__(self, *args, **kwargs):
PagePlugin.__init__(self, *args, **kwargs)
self.register_page("sys.users")
+ self.register_page("sys.users.add")
+ self.register_page("sys.users.edit")
@cherrypy.expose
@require()
def index(self):
- parts = self.forms('/sys/config')
- parts['title']=_("Manage Users and Groups")
- return self.fill_template(**parts)
+ return self.fill_template(title="Manage Users and Groups", sidebar_right="""Add User
Edit Users""")
class add(FormPlugin, PagePlugin):
- url = ["/sys/users"]
+ url = ["/sys/users/add"]
order = 30
sidebar_left = ''
@@ -63,10 +64,10 @@ class add(FormPlugin, PagePlugin):
msg = add_message(msg, "%s saved." % username)
main = self.make_form(username, name, email, message=msg)
- return self.fill_template(title="", main=main, sidebar_left=self.sidebar_left, sidebar_right=self.sidebar_right)
+ return self.fill_template(title="Manage Users and Groups", main=main, sidebar_left=self.sidebar_left, sidebar_right=self.sidebar_right)
class edit(FormPlugin, PagePlugin):
- url = ["/sys/users"]
+ url = ["/sys/users/edit"]
order = 35
sidebar_left = ''
@@ -77,7 +78,7 @@ class edit(FormPlugin, PagePlugin):
system.
Deleting users is permanent!
""" % (cfg.product_name, cfg.box_name))
def main(self, msg=''):
- users = cfg.users.keys()
+ users = cfg.users
add_form = Form(title=_("Edit or Delete User"), action="/sys/users/edit", message=msg)
add_form.html('Delete
')
for uname in sorted(users.keys()):
@@ -114,7 +115,7 @@ class edit(FormPlugin, PagePlugin):
else:
msg.add = _("Must specify at least one valid, existing user.")
main = self.make_form(msg=msg.text)
- return self.fill_template(title="", main=main, sidebar_left=self.sidebar_left, sidebar_right=self.sidebar_right)
+ return self.fill_template(title="Manage Users and Groups", main=main, sidebar_left=self.sidebar_left, sidebar_right=self.sidebar_right)
sidebar_right = ''
u = cfg.users[kwargs['username']]
@@ -125,4 +126,4 @@ class edit(FormPlugin, PagePlugin):
main = _("""Edit User '%s'""" % u['username'])
sidebar_right = ''
- return self.fill_template(title="", main=main, sidebar_left=self.sidebar_left, sidebar_right=sidebar_right)
+ return self.fill_template(title="Manage Users and Groups", main=main, sidebar_left=self.sidebar_left, sidebar_right=sidebar_right)
diff --git a/start.sh b/start.sh
index 1a16d1a5f..4be20c1b6 100755
--- a/start.sh
+++ b/start.sh
@@ -1,7 +1,6 @@
#! /bin/sh
PYTHONPATH=build/exmachina:$PYTHONPATH
-PYTHONPATH=build/bjsonrpc:$PYTHONPATH
export PYTHONPATH