def create_catalog():
    title = 'Create new catalog'
    if request.method == 'GET':
        return render_template('catalog/catalog-form.html', title=title)
    else:
        name = request.form['name'].strip()
        description = request.form['description'].strip()
        if name and description:
            catalog = Catalog(bleach.clean(name),
                              bleach.clean(description),
                              user_id=login_session['user_id'])
            catalog.save_to_db()
            flash('%s is successfully Created' % catalog.name)
            return redirect(url_for('show_catalogs'))
        error = 'Name and description are required'
        return render_template('catalog/catalog-form.html',
                               title=title,
                               error=error)
def create_catalog(user):
    if not user:
        return jsonify({'message': 'Unauthorized'}), 401
    data = request.json
    if 'name' not in data or not data['name']:
        return jsonify({'message': 'No catalog name'}), 400
    if 'description' not in data or not data['description']:
        data['description'] = ''
    name = data['name'].strip()
    description = data['description'].strip()
    if len(name) > MAX_NAME_LENGTH or len(
            description) > MAX_DESCRIPTION_LENGTH:
        return jsonify({'message': 'Bad request'}), 400
    catalog = Catalog(name, description, user.id)
    catalog.save_to_db()
    return jsonify({
        'message': 'Catalog created',
        'catalog': catalog.serializer
    }), 200