def blog_entry_add_view(request): """ lets superusers add a blog entry :param request: :return: """ options = blogAttributes() entryForm = EntryForm() options['form'] = entryForm options['tags'] = Tag.objects.all() if request.POST and request.method == 'POST': entryForm = EntryForm(request.POST) if entryForm.is_unique(request): entry = entryForm.customSave(request.user) # loop through the tags if len(entry.tags) > 0: tags = entry.tags.split(',') for tag in tags: # if the tag doesn't exist if not Tag.objects.filter(name=tag).exists(): # save the tag t = Tag() t.name = tag t.save() messages.add_message(request, messages.SUCCESS, 'The Entry has been saved') return redirect(blog_view) else: messages.add_message(request, messages.ERROR, 'An Entry with this Title already exists') return render_to_response('entryForm.html', options, context_instance=RequestContext(request))
def blog_entry_edit_view(request, eID): """ lets superusers edit a blog entry :param request: :return: """ options = blogAttributes() entry = get_object_or_404(Entry, id=eID) options['entry'] = entry options['form'] = EntryForm(instance=entry) if request.POST and request.method == 'POST': entryForm = EntryForm(request.POST, instance=get_object_or_404(Entry, id=eID)) if entryForm.is_unique(request, entry): if entryForm.has_changed(): entry = entryForm.customSave(request.user) # loop through the tags if len(entry.tags) > 0: tags = entry.tags.split(',') for tag in tags: # if the tag doesn't exist if not Tag.objects.filter(name=tag).exists(): # save the tag t = Tag() t.name = tag t.save() messages.add_message(request, messages.SUCCESS, 'The Entry has been updated') return redirect(blog_entry_view, titleSlug=entry.title_slug) else: messages.add_message(request, messages.INFO, 'No changes have been made') else: messages.add_message(request, messages.ERROR, 'An Entry with this Title already exists') return render_to_response('entryForm.html', options, context_instance=RequestContext(request))