##// END OF EJS Templates
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.
Added file annotation template. Bumped version to 0.6.8. Changelog and changeset are now cleaned with js, it's still very beta.

File last commit:

r191:b68b2246 default
r193:50a39f92 default
Show More
users.py
110 lines | 3.6 KiB | text/x-python | PythonLexer
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 import logging
from pylons import request, response, session, tmpl_context as c, url, app_globals as g
from pylons.controllers.util import abort, redirect
from pylons_app.lib.base import BaseController, render
Marcin Kuzminski
Added sqlalchemy support...
r49 from formencode import htmlfill
from pylons_app.model.db import Users, UserLogs
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 import crypt
implemented autentication
r52
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 log = logging.getLogger(__name__)
class UsersController(BaseController):
"""REST Controller styled on the Atom Publishing Protocol"""
# To properly map this controller, ensure your config/routing.py
# file has a resource setup:
# map.resource('user', 'users')
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 def __before__(self):
c.admin_user = session.get('admin_user')
c.admin_username = session.get('admin_username')
Authenticated controller with LoginRequired decorator, and cleaned __before__ (used in baseController now). fixed User for clone url with logged in session user....
r191 super(UsersController, self).__before__()
Marcin Kuzminski
Added rest controllers for repos and users,...
r47
def index(self, format='html'):
"""GET /users: All items in the collection"""
# url('users')
Marcin Kuzminski
Css fixes, implemented removal of users, and display draft
r48
Marcin Kuzminski
Added sqlalchemy support...
r49 c.users_list = self.sa.query(Users).all()
Html changes and cleanups, made folders for html templates, implemented tags and branches pages
r127 return render('admin/users/users.html')
Marcin Kuzminski
Added rest controllers for repos and users,...
r47
def create(self):
"""POST /users: Create a new item"""
# url('users')
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 params = dict(request.params)
Marcin Kuzminski
Added rest controllers for repos and users,...
r47
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 try:
new_user = Users()
new_user.active = params.get('active', False)
new_user.username = params.get('username')
new_user.password = crypt.crypt(params.get('password'), '6a')
new_user.admin = False
self.sa.add(new_user)
self.sa.commit()
except:
self.sa.rollback()
raise
return redirect(url('users'))
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 def new(self, format='html'):
"""GET /users/new: Form to create a new item"""
# url('new_user')
Html changes and cleanups, made folders for html templates, implemented tags and branches pages
r127 return render('admin/users/user_add.html')
Marcin Kuzminski
Added rest controllers for repos and users,...
r47
def update(self, id):
"""PUT /users/id: Update an existing item"""
# Forms posted to this method should contain a hidden field:
# <input type="hidden" name="_method" value="PUT" />
# Or using helpers:
# h.form(url('user', id=ID),
# method='put')
# url('user', id=ID)
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 params = dict(request.params)
Marcin Kuzminski
Added rest controllers for repos and users,...
r47
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 try:
new_user = self.sa.query(Users).get(id)
Marcin Kuzminski
Small fix for data display
r65 new_user.active = params.get('active', False)
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 new_user.username = params.get('username')
if params.get('new_password'):
new_user.password = crypt.crypt(params.get('new_password'), '6a')
self.sa.add(new_user)
self.sa.commit()
except:
self.sa.rollback()
raise
return redirect(url('users'))
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 def delete(self, id):
"""DELETE /users/id: Delete an existing item"""
# Forms posted to this method should contain a hidden field:
# <input type="hidden" name="_method" value="DELETE" />
# Or using helpers:
# h.form(url('user', id=ID),
# method='delete')
# url('user', id=ID)
Marcin Kuzminski
Css fixes, implemented removal of users, and display draft
r48 try:
Marcin Kuzminski
Added sqlalchemy support...
r49 self.sa.delete(self.sa.query(Users).get(id))
self.sa.commit()
Marcin Kuzminski
Css fixes, implemented removal of users, and display draft
r48 except:
Marcin Kuzminski
Added sqlalchemy support...
r49 self.sa.rollback()
Marcin Kuzminski
Css fixes, implemented removal of users, and display draft
r48 raise
return redirect(url('users'))
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 def show(self, id, format='html'):
"""GET /users/id: Show a specific item"""
# url('user', id=ID)
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50
Marcin Kuzminski
Css fixes, implemented removal of users, and display draft
r48
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 def edit(self, id, format='html'):
"""GET /users/id/edit: Form to edit an existing item"""
# url('edit_user', id=ID)
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 c.user = self.sa.query(Users).get(id)
Marcin Kuzminski
Updated defaults bug of htmlfill + changed routing
r70 defaults = c.user.__dict__
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 return htmlfill.render(
Html changes and cleanups, made folders for html templates, implemented tags and branches pages
r127 render('admin/users/user_edit.html'),
Marcin Kuzminski
Updated defaults bug of htmlfill + changed routing
r70 defaults=defaults,
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 encoding="UTF-8",
force_defaults=False
)