Esempio n. 1
0
def save_entry(request):
	if not request.is_ajax() or not request.method == 'POST':
		raise Http404
	
	form= EntryForm(request.POST)
	
	if not form.is_valid():
		return HttpResponse('{}', mimetype='application/javascript')
	
	if 'pk' in request.POST:
		entry= get_object_or_404(Entry, pk= request.POST['pk'])
		form= EntryForm(request.POST, instance= entry)
		entry= form.save(commit= False)
		
		entry.body = strip_tags(entry.body)
		entry.title = strip_tags(entry.title)
		entry.save()
	else:
		entry= form.save(commit= False)
		entry.body = strip_tags(entry.body)
		entry.title = strip_tags(entry.title)
		entry.save()
	
	entry_content_type= ContentType.objects.get_for_model(entry.__class__)
	
	response_data= json.dumps({
		'pk': entry.pk,
		'model': '%s.%s' % (entry_content_type.app_label, entry_content_type.model),
	})
	
	return HttpResponse(response_data, mimetype='application/javascript')
def subscribe(request):
    form = EntryForm()
    if request.method == "POST":
        form = EntryForm(request.POST)
        if form.is_valid():
            form.save()
            success = True
            form = EntryForm()
            return render_to_response(
                "subscribe.html", {"success": success, "form": form}, context_instance=RequestContext(request)
            )

    return render_to_response("subscribe.html", {"form": form}, context_instance=RequestContext(request))
Esempio n. 3
0
def edit_entry(request, entry_id):
    """Редактирует существующую запись."""
    entry = Entry.objects.get(id=entry_id)
    topic = entry.topic
    if request.method != 'POST':
        # Исходный запрос; форма заполняется данными текущей записи.
        form = EntryForm(instance=entry)
    else:
        # Отправка данных POST; обработать данные.
        form = EntryForm(instance=entry, data=request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(
                reverse('learning_logs:topic', args=[topic.id]))
    context = {'entry': entry, 'topic': topic, 'form': form}
    return render(request, 'learning_logs/edit_entry.html', context)
Esempio n. 4
0
def create(request):
	if request.user.is_authenticated() is False:
		args = {}
		args['entry_list'] = Entry.objects.all()
		args['error'] = 'You must be signed in before creating a new post.'	
		return render_to_response('coltrane/entry_index.html', args)
	if request.POST:
		#post_values = request.POST.copy()
		#post_values['author'] = 4
		post_values = request.POST.copy()
		form = EntryForm(request.POST, request.FILES)
		if form.is_valid():
			#form.save()
			obj = form.save(commit=False)
			obj.author = request.user
			#get entry and category id:
			e1 = obj.id
			c1 = post_values['categories']
			c2 = Category.objects.get(id=c1)
			#save entry to category	
			obj.save()	
			#add the hashtags from the post into the database:
			getHashtags = obj.body + " " + obj.title
			s = {tag.strip("#") for tag in getHashtags.split() if tag.startswith("#")}
			for item in s:
				h = Hashtag.objects.filter(title=item)
				if not h:
					item = item.lower()
					newhash = Hashtag(title=item, num_used=1)
					newhash.save()
					obj.tags.add(newhash)
					#obj.save()
				else:
					#oldh = Hashtag.objects.get(title=item)	
					for item2 in h:
						item2.num_used += 1
						item2.save()
						obj.tags.add(item2)			
					#obj.save()	
			#this code increments each time a specific user creates a post
			inc_post = request.user.id
			count_post = User_Profile.objects.get(uid_id=inc_post)
			count_post.num_posts += 1
			count_post.save()
			
			obj.categories.add(c1)
			return HttpResponseRedirect('/weblog')
	else:
		form = EntryForm()
		form.author = request.user
	args = {}
	args.update(csrf(request))
	args['form'] = form 
	args['username'] = request.user.username
	args['uid'] = request.user.id
	return render_to_response('coltrane/newpost.html', args)
def subscribe(request):
    form = EntryForm()
    if request.method == 'POST':
        form = EntryForm(request.POST)
        if form.is_valid():
            form.save()
            success = True
            form = EntryForm()
            return render_to_response('subscribe.html', {
                'success': success,
                'form': form
            },
                                      context_instance=RequestContext(request))

    return render_to_response(
        'subscribe.html',
        {'form': form},
        context_instance=RequestContext(request),
    )
Esempio n. 6
0
def new_entry(request):

    if not request.user.is_authenticated():
        return HttpResponseRedirect('/accounts/login/')

    if request.POST:
        form = EntryForm(request.POST)
        if form.is_valid():
            form.save()

            return HttpResponseRedirect('/newentry/')
    else:
        form = EntryForm()

    args = {}
    args.update(csrf(request))

    args['form'] = form

    return render_to_response('newentry.html', args)
Esempio n. 7
0
def new_entry(request, topic_id):
    """Добавляет новую запись по конкретной теме."""
    topic = Topic.objects.get(id=topic_id)
    if request.method != 'POST':

        form = EntryForm()
    else:
        # Отправлены данные POST; обработать данные.
        form = EntryForm(data=request.POST)
        if form.is_valid():
            new_entry = form.save(commit=False)
            new_entry.topic = topic
            new_entry.save()
            return HttpResponseRedirect(
                reverse('learning_logs:topic', args=[topic_id]))
    context = {'topic': topic, 'form': form}
    return render(request, 'learning_logs/new_entry.html', context)
Esempio n. 8
0
def create_entry(request):
    """
    Create entry:
      Model form which automatically fills in the author and uses slugify to
      create a slug for the entry based on the tittle.
    """
    if request.method == 'POST':
        try:
            user = User.objects.get(username=request.user)
            new_entry = Entry(author=user)
            form = EntryForm(request.POST, instance=new_entry)
        except User.DoesNotExist:
            return HttpResponse("Invalid username")
        if form.is_valid():
            new_entry = form.save(commit=False)
            new_entry.slug = slugify(new_entry.title)
            new_entry.save()
            return HttpResponseRedirect("/")
    else:
        form = EntryForm()

    return render_to_response("mingus/create_entry.html",
                              {"form": form, },
                              context_instance=RequestContext(request))