def add_product_to_agent(product_type, agent=None): from mu.model.domain.user import UserDomain if UserDomain.username_of_session() is None or not ProductDomain.is_valid_product_type(product_type): # , 401 return redirect(url_for('home.show_home')) from mu.form.add_product import AddProductForm, AddProductTypeForm if product_type.lower() == 'release': add_product_form = AddProductForm(request.form, obj={ 'agent_type': 'Artist' }) else: add_product_form = AddProductTypeForm(request.form, obj={ 'agent_type': 'Artist', 'product_type': product_type }) if request.method == "POST" and add_product_form.validate(): product_info = { 'agent_name': request.form.get('agent'), 'agent_type_id': request.form.get('agent_type'), 'content_owner_name': request.form.get('content_owner'), 'event_release_date': request.form.get('release_date'), 'product_title': request.form.get('title'), 'product_type_id': request.form.get('type'), 'product_status_id': request.form.get('status'), 'product_medium_id': request.form.get('medium') } ProductDomain.add_product(**product_info) return render_template('product/add_product.html', product_type=product_type, agent=agent, form=add_product_form)
def inject_user(): # note: At some point this could be placed in a helper module and passed to specific blueprints. from mu.model.domain.user import UserDomain user = UserDomain.user_of_session() if user: return dict(user=user.to_dict()) return dict()
def login(): from mu.form.login import LoginForm login_form = LoginForm(formdata=request.form, obj={ 'next': request.referrer if request.referrer else None }) if request.method == "POST" and login_form.validate(): user_identity = request.form.get('user_identity') password = request.form.get('password') try: if UserDomain.login(user_identity, password): return login_form.redirect('home.show_home', force_endpoint=True) else: flash("There are no accounts with this username and password.", "error") return login_form.redirect('user.login', force_endpoint=True) except Exception, e: flash(e, "error")
def register(): from mu.form.registration import RegistrationForm registration_form = RegistrationForm(request.form, obj={ 'next': request.referrer if request.referrer else None }) if request.method == "POST" and registration_form.validate(): # We only need to access the UserDomain when we are passed # POST data with which to attempt user registration. email = request.form.get('email') username = request.form.get('username', default=email) password = request.form.get('password') try: user_id = UserDomain.register(email, username, password, force_login=True) # flash("Thanks for registering!", "success") return registration_form.redirect('home.show_home', True) except AccountNotUnique, e: flash("An account already exists with these details.", "error") return registration_form.redirect("user.register", True)
def logout(): UserDomain.logout() redirect_url = request.headers.get('HTTP_REFERER') return redirect(redirect_url) if redirect_url else redirect('/')