def user_view(request): user_id = request.matchdict['user_id'] user = User.get_by_user_id(user_id) if isinstance(user, NoneType): return HTTPFound(location=route_url('not_found', request)) # calculate for next/previous navigation max_id = User.get_max_id() # previous if user.id == 1: # if looking at first id prev_id = max_id # --> choose highest db row, 'wrap around' else: # if looking at any other id prev_id = user.id - 1 # --> choose previous # next if user.id != max_id: # if not on highest id next_id = user.id + 1 # --> choose next elif user.id == max_id: # if highest id next_id = 1 # --> choose first id ('wrap around')) # show who is watching. maybe we should log this ;-) viewer_username = authenticated_userid(request) return { 'blank': 'blank', 'user': user, 'viewer_username': viewer_username, 'prev_id': prev_id, 'next_id': next_id, }
def test_get_by_user_id(self): if DEBUG: # pragma: no cover print "----- this is UserModelTests.test_get_by_user_id" instance = self._makeOne() self.session.add(instance) self.session.flush() # to get the id from the db from c3sar.models import User result = User.get_by_user_id(1) self.assertEqual(instance.username, 'SomeUsername') self.assertEqual(result.username, 'SomeUsername')
def user_set_default_license(request): """ let users change some of their details """ dbsession = DBSession() user_id = request.matchdict['user_id'] user = User.get_by_user_id(user_id) form = Form(request, schema=UserDefaultLicenseSchema, obj=user) if 'form.submitted' in request.POST and form.validate(): request.session.flash('form validated!') return { 'the_user_id': user_id, 'the_username': user.username, 'form': FormRenderer(form), }
def user_profile(request): user_id = request.matchdict['user_id'] user = User.get_by_user_id(user_id) # calculate for next/previous navigation prev_id = int(user_id) - 1 next_id = int(user_id) + 1 # ToDo: what if foo_id == 0 or nonexistant? # maybe use template logic to not show prev-next-link? # maybe try to figure out max_id? what is cheaper? just fail/404? # we need the 404 anyway, if user picks random url/user_id # show who is watching. maybe we should log this ;-) viewer_username = authenticated_userid(request) return { 'user': user, 'viewer_username': viewer_username, 'prev_id': prev_id, 'next_id': next_id, }
def __getitem__(self, key): user = User.get_by_user_id(key) user.__parent__ = self user.__name__ = key return user
DEBUG = False if not has_permission('editUser', request.context, request): #print "NOT has_permission !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" request.message = "You do not have permissions to edit this user!" raise HTTPForbidden # if no user_id in URL and not logged in, tell user to login try: user_id = request.matchdict['user_id'] except KeyError, ke: #print ke return HTTPFound(location=request.route_url('not_found')) user = User.get_by_user_id(user_id) if user is None: msg = "User was not founf in database." return HTTPFound(location=request.route_url('not_found')) form = Form(request, schema=UserSettingsSchema, obj=user) if 'form.submitted' in request.POST and not form.validate(): # form didn't validate request.session.flash('Please check the form below for errors!') if DEBUG: # pragma: no cover print "submitted but not validated!" if 'form.submitted' in request.POST and form.validate(): # ready for changing database entries!