def add_article(request,blogslug): blog = get_object_or_404(Blog, slug=blogslug, user=request.user) if request.method == 'POST': form = ArticleForm(request.POST) if request.FILES.get('featured_image',''): format = request.FILES.get('featured_image','').name.split('.')[-1] if format.lower().strip() not in (u'jpg',u'png',u'gif'): form.add_error('featured_image',_('Invalid image format. Please, change the format!')) if form.is_valid(): article = form.save(commit=False) if not Article.objects.filter(slug=slugify(article.title)).exists(): article.slug = slugify(article.title) else: article.slug = slugify(article.title)+"-"+time_slug_string() if request.FILES.get('featured_image',''): article.featured_image = handle_uploaded_file(request.FILES['featured_image'], request.user) article.author = request.user article.blog = blog article.save() form.save_m2m() if form.cleaned_data['send_notification']: send_mail(_('New article to publish'), _('%s wants to publish this article: http://%s%s') % (article.blog.user.get_fullname(), Site.objects.get_current().domain, article.get_absolute_url()), settings.DEFAULT_FROM_EMAIL, [settings.BITAKORA_SEND_MAIL], fail_silently=False) return HttpResponseRedirect(reverse('article', kwargs={'blogslug': blogslug,'slug': article.slug})) else: form = ArticleForm() return render_to_response('base/add_article.html', locals(), context_instance=RequestContext(request))
def edit_profile(request): tab = 'personal' user = request.user blog = user.get_blog() msg = '' if request.method == 'POST' and 'personal' in request.POST: posta=request.POST.copy() profileform = ProfileForm(posta, instance=user) imageform = ProfilePhotoForm() if profileform.is_valid(): profileform.save() msg = _('New user data saved') messages.add_message(request, messages.SUCCESS, msg, fail_silently=True) elif request.method == 'POST' and 'image' in request.POST: imageform = ProfilePhotoForm(request.POST, request.FILES) profileform = ProfileForm(instance=user) if imageform.is_valid(): photo = handle_uploaded_file(request.FILES['avatarpic'], user) user.photo = photo user.save() msg = _('New photo saved') messages.add_message(request, messages.SUCCESS, msg, fail_silently=True) else: profileform = ProfileForm(instance=user) imageform = ProfilePhotoForm() return render_to_response('profile/edit_personal.html', locals(), context_instance=RequestContext(request))
def upload_photologue(request): from bitakora.utils.images import handle_uploaded_file if request.FILES: photo = handle_uploaded_file(request.FILES['image'], request.user) data = {"thumbnail": photo.get_home_url(), "original": photo.image.url, 'status': 0} else: data = { 'status': 1, 'msg': _('No image selected. Please, pick a image'), } return HttpResponse( json.dumps(data), content_type='application/json')
def upload_photologue(request): from bitakora.utils.images import handle_uploaded_file if request.FILES: photo = handle_uploaded_file(request.FILES['image'], request.user) data = { "thumbnail": photo.get_home_url(), "original": photo.image.url, 'status': 0 } else: data = { 'status': 1, 'msg': _('No image selected. Please, pick a image'), } return HttpResponse(json.dumps(data), content_type='application/json')
def new_blog(request): if request.method == 'POST': form = BlogForm(request.POST) wp_form = WPXMLForm() if form.is_valid(): blog = form.save(commit=False) blog.slug = slugify(request.user.username) if request.FILES.get('header_image',''): blog.header_image = handle_uploaded_file(request.FILES['header_image'], request.user) blog.user = request.user blog.save() return HttpResponseRedirect(reverse('blog_index', kwargs={'slug': blog.slug})) else: form = BlogForm() wp_form = WPXMLForm() return render_to_response('base/new_blog.html', locals(), context_instance=RequestContext(request))
def edit_article(request,blogslug,slug): article = get_object_or_404(Article, blog__slug=blogslug,slug=slug,blog__user=request.user) blog = article.blog if request.method == 'POST': form = ArticleForm(request.POST,instance=article) if request.FILES.get('featured_image',''): format = request.FILES.get('featured_image','').name.split('.')[-1] if format.lower().strip() not in (u'jpg',u'png',u'gif'): form.add_error('featured_image',_('Invalid image format. Please, change the format!')) if form.is_valid(): article = form.save(commit=False) if request.FILES and request.FILES.get('featured_image',''): article.featured_image = handle_uploaded_file(request.FILES['featured_image'], request.user) article.save() form.save_m2m() if form.cleaned_data['send_notification']: send_mail(_('New article to publish'), _('%s wants to publish this article: http://%s%s') % (article.blog.user.get_fullname(), Site.objects.get_current().domain, article.get_absolute_url()), settings.DEFAULT_FROM_EMAIL, [settings.BITAKORA_SEND_MAIL], fail_silently=False) return HttpResponseRedirect(reverse('article', kwargs={'blogslug': blogslug,'slug': article.slug})) else: form.fields['categories'].widget.choices = [(c.id,c.title) for c in Category.objects.filter(id__in=form.cleaned_data['categories'])] form.fields['related_posts'].widget.choices = [(r.id,r.title) for r in Article.objects.filter(id__in=form.cleaned_data['related_posts'])] else: form = ArticleForm(cat=article.categories.all(),rel=article.related_posts.all(),instance=article) return render_to_response('base/edit_article.html', locals(), context_instance=RequestContext(request))
def edit_blog(request): tab = 'blog' user = request.user blog = user.get_blog() msg = '' if request.method == 'POST': form = BlogFormNoCaptcha(request.POST) wp_form = WPXMLForm() link_form = External_linkForm(request.POST) if form.is_valid(): blog.name = form.cleaned_data.get('name') blog.tagline = form.cleaned_data.get('tagline') if request.FILES.get('header_image',''): blog.header_image = handle_uploaded_file(request.FILES['header_image'], user) blog.license = form.cleaned_data.get('license') blog.analytics_code = form.cleaned_data.get('analytics_code') blog.custom_html = form.cleaned_data.get('custom_html') blog.template = form.cleaned_data.get('template') blog.save() msg = _('New blog data saved') if link_form.is_valid(): link = External_link() link.title = link_form.cleaned_data.get('title') link.url = link_form.cleaned_data.get('url') link.blog = blog link.save() form = BlogFormNoCaptcha(instance=blog) link_form = External_linkForm() msg = _('New link saved') if msg: messages.add_message(request, messages.SUCCESS, msg, fail_silently=True) else: form = BlogFormNoCaptcha(instance=blog) wp_form = WPXMLForm() link_form = External_linkForm() return render_to_response('profile/edit_blog.html', locals(), context_instance=RequestContext(request))