diff --git a/mediagoblin/media_types/blog/views.py b/mediagoblin/media_types/blog/views.py index 5a9498cd..35ed5809 100644 --- a/mediagoblin/media_types/blog/views.py +++ b/mediagoblin/media_types/blog/views.py @@ -14,15 +14,19 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import logging + +_log = logging.getLogger(__name__) + from datetime import datetime from werkzeug.exceptions import Forbidden -from mediagoblin import messages from mediagoblin import mg_globals from mediagoblin.media_types.blog import forms as blog_forms -from mediagoblin.messages import add_message, SUCCESS +from mediagoblin.media_types.blog.models import Blog +from mediagoblin.messages import add_message, SUCCESS, ERROR #from mediagoblin.edit.lib import may_edit_media from mediagoblin.decorators import (require_active_login, active_user_from_url, get_media_entry_by_id, user_may_alter_collection, @@ -35,96 +39,69 @@ from mediagoblin.tools.text import ( convert_to_tag_list_of_dicts, media_tags_as_string) from mediagoblin.tools.url import slugify from mediagoblin.db.util import check_media_slug_used, check_collection_slug_used -from mediagoblin.db.models import User, Collection +from mediagoblin.db.models import User, Collection, MediaEntry + @require_active_login -def blog_create(request, media=None): +def blog_edit(request): """ - View to create and edit a blog + View for editing the existing blog or automatically + creating a new blog if user does not have any yet. """ + url_user = request.matchdict.get('user', None) + blog_slug = request.matchdict.get('blog_slug', None) - blog_form = blog_forms.BlogEditForm(request.form) + max_blog_count = 1 + form = blog_forms.BlogEditForm(request.form) + # the blog doesn't exists yet + if not blog_slug: + if Blog.query.filter_by(author=request.user.id).count()