def idea_vote(request): post_data = request.POST target = post_data.get('target') session = DBSession() idea = Idea.get_by_id(target) voter_username = authenticated_userid(request) voter = User.get_by_username(voter_username) if post_data.get('form.vote_hit'): vote = 'hit' idea.hits += 1 idea.author.hits += 1 voter.delivered_hits += 1 elif post_data.get('form.vote_miss'): vote = 'miss' idea.misses += 1 idea.author.misses += 1 voter.delivered_misses += 1 idea.voted_users.append(voter) session.flush() redirect_url = route_url('idea', request, idea_id=idea.idea_id) response = HTTPMovedPermanently(location=redirect_url) return response
def user_add(request): form = Form(request, schema=RegistrationSchema) if 'form.submitted' in request.POST and form.validate(): session = DBSession() username=form.data['username'] user = User( username=username, password=form.data['password'], name=form.data['name'], email=form.data['email'] ) session.add(user) headers = remember(request, username) redirect_url = route_url('main', request) return HTTPFound(location=redirect_url, headers=headers) login_form = login_form_view(request) return { 'form': FormRenderer(form), 'toolbar': toolbar_view(request), 'cloud': cloud_view(request), 'latest': latest_view(request), 'login_form': login_form, }
def user_add(request): form = Form(request, schema=RegistrationSchema) if "form.submitted" in request.POST and form.validate(): session = DBSession() username = form.data["username"] user = User(username=username, password=form.data["password"], name=form.data["name"], email=form.data["email"]) session.add(user) headers = remember(request, username) redirect_url = request.route_url("main") return HTTPFound(location=redirect_url, headers=headers) login_form = login_form_view(request) return { "form": FormRenderer(form), "toolbar": toolbar_view(request), "cloud": cloud_view(request), "latest": latest_view(request), "login_form": login_form, }
def tearDown(self): import transaction from shootout.models import DBSession transaction.abort() DBSession.remove() testing.tearDown()
def user_add(request): form = Form(request, schema=RegistrationSchema) if 'form.submitted' in request.POST and form.validate(): session = DBSession() username = form.data['username'] user = User(username=username, password=form.data['password'], name=form.data['name'], email=form.data['email']) session.add(user) headers = remember(request, username) redirect_url = route_url('main', request) return HTTPFound(location=redirect_url, headers=headers) login_form = login_form_view(request) return { 'form': FormRenderer(form), 'toolbar': toolbar_view(request), 'cloud': cloud_view(request), 'latest': latest_view(request), 'login_form': login_form, }
def main(argv=sys.argv): if len(argv) != 2: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.create_all(engine)
def main(argv=sys.argv): if len(argv) != 2: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, "sqlalchemy.") DBSession.configure(bind=engine) Base.metadata.create_all(engine)
def _initTestingDB(): from shootout.models import DBSession from shootout.models import Base from sqlalchemy import create_engine engine = create_engine('sqlite://') DBSession.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine) return DBSession
def init_db(): from shootout.models import DBSession, Base from sqlalchemy import create_engine engine = create_engine("sqlite://") DBSession.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine) session = DBSession() return session
def init_db(): from shootout.models import DBSession from shootout.models import Base from sqlalchemy import create_engine engine = create_engine('sqlite://') DBSession.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine) session = DBSession() return session
def idea_add(request): target = request.GET.get('target') session = DBSession() if target: target = Idea.get_by_id(target) if not target: return HTTPNotFound() kind = 'comment' else: kind = 'idea' form = Form(request, schema=AddIdeaSchema) if 'form.submitted' in request.POST and form.validate(): author_username = authenticated_userid(request) author = User.get_by_username(author_username) idea = Idea( target=target, author=author, title=form.data['title'], text=form.data['text'] ) tags = Tag.create_tags(form.data['tags']) if tags: idea.tags = tags session.add(idea) redirect_url = route_url('idea', request, idea_id=idea.idea_id) return HTTPFound(location=redirect_url) login_form = login_form_view(request) return { 'form': FormRenderer(form), 'toolbar': toolbar_view(request), 'cloud': cloud_view(request), 'latest': latest_view(request), 'login_form': login_form, 'target': target, 'kind': kind, }
def idea_add(request): target = request.GET.get('target') session = DBSession() if target: target = Idea.get_by_id(target, with_joinedload=False) if not target: return HTTPNotFound() kind = 'comment' else: kind = 'idea' form = Form(request, schema=AddIdeaSchema) if 'form.submitted' in request.POST and form.validate(): author_username = authenticated_userid(request) author = User.get_by_username(author_username) idea = Idea(target=target, author=author, title=form.data['title'], text=form.data['text']) tags = Tag.create_tags(form.data['tags']) if tags: idea.tags = tags session.add(idea) redirect_url = route_url('idea', request, idea_id=idea.idea_id) return HTTPFound(location=redirect_url) login_form = login_form_view(request) return { 'form': FormRenderer(form), 'toolbar': toolbar_view(request), 'cloud': cloud_view(request), 'latest': latest_view(request), 'login_form': login_form, 'target': target, 'kind': kind, }
def main(global_config, **settings): # pragma: no cover """ This function returns a Pyramid WSGI application. """ engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) session_factory = session_factory_from_settings(settings) authn_policy = AuthTktAuthenticationPolicy('s0secret') authz_policy = ACLAuthorizationPolicy() config = Configurator( settings=settings, root_factory='shootout.models.RootFactory', authentication_policy=authn_policy, authorization_policy=authz_policy, session_factory=session_factory ) config.add_subscriber('shootout.subscribers.add_base_template', 'pyramid.events.BeforeRender') config.add_subscriber('shootout.subscribers.csrf_validation', 'pyramid.events.NewRequest') config.add_static_view('static', 'shootout:static') config.add_route('idea', '/ideas/{idea_id}') config.add_route('user', '/users/{username}') config.add_route('tag', '/tags/{tag_name}') config.add_route('idea_add', '/idea_add') config.add_route('idea_vote', '/idea_vote') config.add_route('register', '/register') config.add_route('login', '/login') config.add_route('logout', '/logout') config.add_route('about', '/about') config.add_route('main', '/') config.scan() return config.make_wsgi_app()
def idea_add(request): target = request.params.get("target") session = DBSession() if target: target = Idea.get_by_id(target, with_joinedload=False) if not target: return HTTPNotFound() kind = "comment" else: kind = "idea" form = Form(request, schema=AddIdeaSchema) if "form.submitted" in request.POST and form.validate(): author_username = authenticated_userid(request) author = User.get_by_username(author_username) idea = Idea(target=target, author=author, title=form.data["title"], text=form.data["text"]) tags = Tag.create_tags(form.data["tags"]) if tags: idea.tags = tags session.add(idea) redirect_url = request.route_url("idea", idea_id=idea.idea_id) return HTTPFound(location=redirect_url) login_form = login_form_view(request) return { "form": FormRenderer(form), "toolbar": toolbar_view(request), "cloud": cloud_view(request), "latest": latest_view(request), "login_form": login_form, "target": target, "kind": kind, }
def main(global_config, **settings): # pragma: no cover """ This function returns a Pyramid WSGI application. """ engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) session_factory = session_factory_from_settings(settings) authn_policy = AuthTktAuthenticationPolicy('s0secret') authz_policy = ACLAuthorizationPolicy() config = Configurator(settings=settings, root_factory='shootout.models.RootFactory', authentication_policy=authn_policy, authorization_policy=authz_policy, session_factory=session_factory) config.add_subscriber('shootout.subscribers.add_base_template', 'pyramid.events.BeforeRender') config.add_subscriber('shootout.subscribers.csrf_validation', 'pyramid.events.NewRequest') config.add_static_view('static', 'shootout:static') config.add_route('idea', '/ideas/{idea_id}') config.add_route('user', '/users/{username}') config.add_route('tag', '/tags/{tag_name}') config.add_route('idea_add', '/idea_add') config.add_route('idea_vote', '/idea_vote') config.add_route('register', '/register') config.add_route('login', '/login') config.add_route('logout', '/logout') config.add_route('about', '/about') config.add_route('main', '/') config.scan() return config.make_wsgi_app()
def idea_vote(request): post_data = request.POST target = post_data.get('target') session = DBSession() idea = Idea.get_by_id(target, with_joinedload=False) voter_username = authenticated_userid(request) voter = User.get_by_username(voter_username) redirect_url = route_url('idea', request, idea_id=idea.idea_id) response = HTTPMovedPermanently(location=redirect_url) if voter.user_id == idea.author_id: request.session.flash(u'You cannot vote on your own ideas.') return response if post_data.get('form.vote_hit'): idea.vote(voter, True) elif post_data.get('form.vote_miss'): idea.vote(voter, False) session.flush() return response
def idea_vote(request): post_data = request.POST target = post_data.get("target") session = DBSession() idea = Idea.get_by_id(target, with_joinedload=False) voter_username = authenticated_userid(request) voter = User.get_by_username(voter_username) redirect_url = request.route_url("idea", idea_id=idea.idea_id) response = HTTPMovedPermanently(location=redirect_url) if voter.user_id == idea.author_id: request.session.flash(u"You cannot vote on your own ideas.") return response if post_data.get("form.vote_hit"): idea.vote(voter, True) elif post_data.get("form.vote_miss"): idea.vote(voter, False) session.flush() return response