##// END OF EJS Templates
implemented rawdiff and diff download into diff view....
implemented rawdiff and diff download into diff view. Few css changes

File last commit:

r151:988477a0 default
r160:0f7f93df default
Show More
users.py
111 lines | 3.7 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
implemented autentication
r52 from pylons_app.lib.auth import authenticate
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
implemented autentication
r52 @authenticate
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')
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
)