##// END OF EJS Templates
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.

File last commit:

r245:a83a1799 default
r250:be4621c6 default
Show More
users.py
115 lines | 4.2 KiB | text/x-python | PythonLexer
Fixed access to repos and users.
r235 from formencode import htmlfill
Reimplemented way of caching repos list, hg model now get's repos objects right from cached dict, this way we skipp creating instances of MercurialRepository and gain performance. Some import cleanup
r245 from pylons import request, session, tmpl_context as c, url
from pylons.controllers.util import abort, redirect
Rewrite of user managment, improved forms, added some user info
r238 from pylons.i18n.translation import _
Reimplemented way of caching repos list, hg model now get's repos objects right from cached dict, this way we skipp creating instances of MercurialRepository and gain performance. Some import cleanup
r245 from pylons_app.lib import helpers as h
Adde draft for permissions systems, made all needed decorators, and checks. For future usage in the system.
r239 from pylons_app.lib.auth import LoginRequired, CheckPermissionAll
Fixed access to repos and users.
r235 from pylons_app.lib.base import BaseController, render
from pylons_app.model.db import User, UserLog
from pylons_app.model.forms import UserForm
from pylons_app.model.user_model import UserModel
import formencode
Marcin Kuzminski
Added rest controllers for repos and users,...
r47 import logging
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')
Fixed access to repos and users.
r235 @LoginRequired()
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__()
Adde draft for permissions systems, made all needed decorators, and checks. For future usage in the system.
r239
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
changed naming convention for db modules.
r234 c.users_list = self.sa.query(User).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')
Fixed access to repos and users.
r235
user_model = UserModel()
Rewrite of user managment, improved forms, added some user info
r238 login_form = UserForm()()
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 try:
Fixed access to repos and users.
r235 form_result = login_form.to_python(dict(request.POST))
user_model.create(form_result)
Rewrite of user managment, improved forms, added some user info
r238 h.flash(_('created user %s') % form_result['username'], category='success')
Fixed access to repos and users.
r235 return redirect(url('users'))
except formencode.Invalid as errors:
c.form_errors = errors.error_dict
return htmlfill.render(
render('admin/users/user_add.html'),
defaults=errors.value,
encoding="UTF-8")
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50
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)
Fixed access to repos and users.
r235 user_model = UserModel()
Rewrite of user managment, improved forms, added some user info
r238 login_form = UserForm(edit=True)()
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50 try:
Fixed access to repos and users.
r235 form_result = login_form.to_python(dict(request.POST))
user_model.update(id, form_result)
Rewrite of user managment, improved forms, added some user info
r238 h.flash(_('User updated succesfully'), category='success')
Fixed access to repos and users.
r235 return redirect(url('users'))
except formencode.Invalid as errors:
c.user = user_model.get_user(id)
c.form_errors = errors.error_dict
return htmlfill.render(
render('admin/users/user_edit.html'),
defaults=errors.value,
encoding="UTF-8")
Marcin Kuzminski
user managment implementation continued update/delete/create works...
r50
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:
changed naming convention for db modules.
r234 self.sa.delete(self.sa.query(User).get(id))
Marcin Kuzminski
Added sqlalchemy support...
r49 self.sa.commit()
Rewrite of user managment, improved forms, added some user info
r238 h.flash(_('sucessfully deleted user'), category='success')
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)
changed naming convention for db modules.
r234 c.user = self.sa.query(User).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
)