Skip to content

Commit

Permalink
Merge 12b32f3 into b43a86a
Browse files Browse the repository at this point in the history
  • Loading branch information
Anjaneyulu committed Jul 15, 2016
2 parents b43a86a + 12b32f3 commit 20f9abd
Show file tree
Hide file tree
Showing 5 changed files with 149 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,18 @@
</div>
</div>
{% endfor %}
<div class="form-group">
<label>History:</label>
<div class="controls">
<select name="history" class="form-control">
<option value=""> Please choose previous edit </option>
{% for history in history_list %}
<option value="{{history.id}}">{{ history.created_at }}</option>
{% endfor %}
</select>
<p class="help-inline"><small>Revert to previous edits</small></p>
</div>
</div>
</div>
<br clear="all">
<div class=" col-md-12 buttons_row text-left">
Expand Down Expand Up @@ -112,5 +124,19 @@


});

// revert to history
$("select[name=history]").change(function(e){
var id = $(this).val()
if(!id){
return false;
}
$.post("", {"history_id": id, "csrfmiddlewaretoken": "{{ csrf_token }}"}, function(response){
if(response.content){
$('[name=content]').val(response.content);
CKEDITOR.instances.id_content.setData(response.content)
}
})
});
</script>
{% endblock %}
37 changes: 32 additions & 5 deletions django_blog_it/django_blog_it/templates/posts/blog_view.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,47 @@
{% block title %} {{ blog_name.title }} {% endblock %}
{% block blog_content %}
<div class="row col-sm-12 col-md-9 blog-container-left">
<div class="blogs">
<!-- breadcrumbs-schema -->
<ol itemscope itemtype="http://schema.org/BreadcrumbList" class="breadcrumb">
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/">
<span itemprop="name">Blog</span></a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="{% url 'selected_category' category_slug=blog_name.category.slug %}">
<span itemprop="name"> {{ blog_name.category }}</span></a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="">
<span itemprop="name"> {{ blog_name.title }}</span></a>
<meta itemprop="position" content="3" />
</li>
</ol>
<!-- end -->
<div class="blogs" itemtype="http://schema.org/BlogPosting">
<ul class="blog-list">
<table align="center" class="table table-bordered">
<thead>
<th>
Title: {{ blog_name.title }}
<span itemprop="blog-article">Title: <span itemprop="name headline">{{ blog_name.title }}</span> </span>
</th>
</thead>
<tbody>
<tr>
<td><strong>Author</strong>: {{ blog_name.user }}</td>
<td>
<span itemprop="author" itemtype="http://schema.org/Person">
<strong>Author</strong>:
<span itemprop="name">{{ blog_name.user }}</span>
</span>
</td>
</tr>
<tr>
<td><strong>Content</strong>: {{ blog_name.content|safe }}</td>
<td><strong>Content</strong>: <div class="content" itemprop="articleBody">{{ blog_name.content|safe }}</div></td>
</tr>
<tr>
<td class="widget tags"><strong>Tags</strong>:
Expand All @@ -26,7 +53,7 @@
</td>
</tr>
<tr>
<td><strong>Keywords</strong>: {{ blog_name.keywords|safe }}</td>
<td><strong>Keywords</strong>: <div itemprop="keywords" itemtype="http://schema.org/keywords">{{ blog_name.keywords|safe }}</div></td>
</tr>
</tbody>
</table>
Expand Down
65 changes: 61 additions & 4 deletions django_blog_it/django_blog_it/templates/posts/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,77 @@
{% load paginate %}
{% load blog_tags %}
{% block blog_content %}

<!-- breadcrumbs-schema -->
<ol itemscope itemtype="http://schema.org/BreadcrumbList" class="breadcrumb">
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/">
<span itemprop="name">Blog</span></a>
<meta itemprop="position" content="1" />
</li>
{% if tag %}
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/">
<span itemprop="name">Tag</span></a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/">
<span itemprop="tag">{{ tag }}</span></a>
<meta itemprop="position" content="3" />
</li>
{% endif %}
{% if date %}
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/">
<span itemprop="name">Archive</span></a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/">
<span itemprop="month">{{ date|date:"F Y"}}</span></a>
<meta itemprop="position" content="3" />
</li>
{% endif %}
{% if category %}
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/">
<span itemprop="name">Category</span></a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="">
<span itemprop="name"> {{ category }}</span></a>
<meta itemprop="position" content="3" />
</li>
{% endif %}
</ol>
<!-- end -->
<div class="row col-sm-12 col-md-9 blog-container-left">
<div class="blogs">
<ul class="blog-list">
{% if blog_posts %}
{% paginate 5 blog_posts %}
{% for blog in blog_posts %}
<li class="list-item">
<li class="list-item" itemtype="http://schema.org/BlogPosting">
<div class="blog-left">
<h3 class="title" itemprop="headline"><a href="{% url 'blog_post_view' blog_slug=blog.slug %}">{{ blog }}</a></h3>
<h3 class="title" itemprop="name headline"><a href="{% url 'blog_post_view' blog_slug=blog.slug %}">{{ blog }}</a></h3>
</div>
<div class="desc">
<span> {{ blog.user|title }} | {{ blog.updated_on|date:"d F Y" }}</span>
<span>
<span itemprop="author" itemtype="http://schema.org/Person">{{ blog.user|title }} |</span>
<span itemprop="datePublished" itemtype="https://schema.org/datePublished"> {{ blog.updated_on|date:"d F Y" }}
</span>
</span>
<div class="content" itemprop="articleBody">
{{ blog.content|safe|truncatewords_html:50 }}
</div>
{% for tag in blog.tags.all %}
<span class="tags">
<a href="{% url 'selected_tag' tag_slug=tag.slug %}" ><i class="fa fa-tags"></i> {{ tag }}</a>
Expand Down
32 changes: 23 additions & 9 deletions django_blog_it/django_blog_it/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,15 @@ class PostEditView(UpdateView):
template_name = "dashboard/blog/new_blog_add.html"
form_class = BlogPostForm

def dispatch(self, request, *args, **kwargs):
if request.POST:
instance = self.get_object()
if request.POST.get("history_id"):
history_post = instance.history.filter(id=request.POST.get("history_id")).last()
if history_post:
return JsonResponse({"content": history_post.content})
return super(PostEditView, self).dispatch(request, *args, **kwargs)

def get_object(self):
return get_object_or_404(Post, slug=self.kwargs['blog_slug'])

Expand All @@ -171,6 +180,7 @@ def form_invalid(self, form):

def form_valid(self, form):
previous_status = self.get_object().status
previous_content = self.get_object().content
self.blog_post = form.save(commit=False)
self.blog_post.user = self.request.user
if self.request.user.is_superuser or get_user_role(self.request.user) != 'Author':
Expand All @@ -188,16 +198,19 @@ def form_valid(self, form):
else:
blog_tag = Tags.objects.create(name=s.strip())
self.blog_post.tags.add(blog_tag)

if self.blog_post.status == previous_status:
self.blog_post.create_activity(
user=self.request.user, content="updated")
else:
if previous_content != self.blog_post.content:
self.blog_post.create_activity(
user=self.request.user,
content="changed status from " +
str(previous_status) + " to " + str(blog_post.status)
)
user=self.request.user, content=previous_content)
# if self.blog_post.status == previous_status:
# self.blog_post.create_activity(
# user=self.request.user, content="updated")
# else:
# self.blog_post.create_activity(
# user=self.request.user,
# content="changed status from " +
# str(previous_status) + " to " + str(blog_post.status)
# )

messages.success(self.request, 'Successfully updated your blog post')
data = {'error': False,
'response': 'Successfully updated your blog post'}
Expand All @@ -216,6 +229,7 @@ def get_context_data(self, **kwargs):
context['blog_name'] = self.get_object()
context['status_choices'] = STATUS_CHOICE,
context['categories_list'] = categories_list
context['history_list'] = self.get_object().history.all()
return context


Expand Down
10 changes: 7 additions & 3 deletions django_blog_it/posts/views.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from datetime import datetime
from django.shortcuts import render, get_list_or_404, get_object_or_404
from django_blog_it.django_blog_it.models import Post, Category, Tags, Page
from django.db.models import Count
Expand Down Expand Up @@ -39,29 +40,32 @@ def blog_post_view(request, blog_slug):


def selected_category(request, category_slug):
category = get_object_or_404(Category, slug=category_slug)
blog_posts = Post.objects.filter(category__slug=category_slug, category__is_active=True, status='Published')
context = list({'blog_posts': blog_posts}.items()) + list(categories_tags_lists().items())
return render(request, 'posts/index.html', context)
return render(request, 'posts/index.html', context + [("category", category)])


def selected_tag(request, tag_slug):
tag = get_object_or_404(Tags, slug=tag_slug)
blog_posts = get_list_or_404(
Post, tags__slug=tag_slug,
status='Published', category__is_active=True
)
context = list({'blog_posts': blog_posts}.items()) + list(categories_tags_lists().items())
context = list({'blog_posts': blog_posts}.items()) + list(categories_tags_lists().items()) + [("tag", tag)]
return render(request, 'posts/index.html', context)


def archive_posts(request, year, month):
date = datetime(int(year), int(month), 1)
blog_posts = Post.objects.filter(
category__is_active=True,
status="Published",
updated_on__year=year,
updated_on__month=month
).order_by('-updated_on')
blog_posts = [post for post in blog_posts if post.category.is_active]
context = list({'blog_posts': blog_posts}.items()) + list(categories_tags_lists().items())
context = list({'blog_posts': blog_posts}.items()) + list(categories_tags_lists().items()) + [("date", date)]
return render(request, 'posts/index.html', context)


Expand Down

0 comments on commit 20f9abd

Please sign in to comment.