Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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))
Ejemplo n.º 3
0
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')
Ejemplo n.º 4
0
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')
Ejemplo n.º 5
0
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))
Ejemplo n.º 6
0
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))
Ejemplo n.º 7
0
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))