def select_tags(request): form = TagsForm() if request.POST: form = TagsForm(request.POST) if form.is_valid: dummy_idea = form.save(commit=False) tags = form.cleaned_data['tags'] idea_list = Idea.objects.all() similars_dict = {} if idea_list: for idea in idea_list: if idea.is_hidden == False and idea.is_duplicate == False: idea_tag_list = idea.tags.all() counter = 0 for tag in tags: if tag in idea_tag_list: counter = counter + 1 for i in range(0, tags.count()): if tags.count() - counter == i: value = '<a href="' + reverse( 'idea_detail', args=(idea.id, )) + '">' + idea.title if idea.category: value += ' | ' + str( idea.vote_value / 10 ) + ' Puan' + ' | ' + idea.category.name + '</a>' else: value += ' | ' + str( idea.vote_value / 10 ) + ' Puan' + ' | ' + 'Kategori belirtilmemiş' + '</a>' value += '<br />' + idea.description[: 140] + '...' + '<br /><br />' similars_dict[str(i) + " " + value] = value else: return HttpResponse("IdeaYok") if similars_dict: output = "" liste = sorted(similars_dict.keys()) for k in liste[:10]: output += similars_dict[k] return HttpResponse(output) else: return HttpResponse("EslesmeYok") else: form = TagsForm() return render_response(request, 'beyin2/select_tags.html', {'form': form}) return render_response(request, 'beyin2/select_tags.html', {'form': form})
def add_new(request, phase): if phase == "1": ScreenShotSet = formset_factory(ScreenShotForm, extra=3, max_num=3) ScreenShotFormSet = ScreenShotSet(prefix='imageform') form = TagsForm(request.POST) dummy_idea = form.save(commit=False) tags = form.cleaned_data['tags'] title = form.cleaned_data['title'] form = IdeaForm( { 'ideaform-title': title, 'ideaform-tags': [tag.id for tag in tags] }, prefix='ideaform') return render_response(request, 'beyin2/idea_new.html', { 'form': form, 'ScreenShotFormSet': ScreenShotFormSet }) if phase == "2": form = IdeaForm( { 'title': '', 'description': '', 'status': DefaultStatus, 'category': DefaultCategory }, prefix='ideaform') ScreenShotSet = formset_factory(ScreenShotForm, extra=3, max_num=3) if request.POST: try: form = IdeaForm(request.POST, prefix='ideaform') ScreenShotFormSet = ScreenShotSet(request.POST, request.FILES, prefix='imageform') except: return render_response(request, 'beyin2/idea_errorpage.html', { 'error': 'Form bulunamadı.', }) if form.is_valid(): forum = Forum.objects.get(name=ForumCategory) topic = Topic(forum=forum, title=form.cleaned_data['title']) topic.save() idea = form.save(commit=False) idea.submitter = request.user idea.description = form.cleaned_data['description'] idea.dateSubmitted = datetime.now() idea.topic = topic if not idea.status: def_stat = get_object_or_404(Status, pk=DefaultStatus) idea.status = def_stat if not idea.category: def_cate = get_object_or_404(Category, pk=DefaultCategory) idea.category = def_cate idea.save() try: for screenshotform in ScreenShotFormSet.forms: image = screenshotform.save(commit=False) if image.image: image.idea = idea image.save() except: pass for tag in form.cleaned_data['tags']: tag = Tag.objects.get(name=tag) idea.tags.add(tag) topic.tags.add(tag) post_text = '<a href="' + reverse('idea_detail', args=(idea.id, )) post_text += '">#' + str(idea.id) + ": " post_text += idea.title + "</a>" post_text += "<p>" + idea.description + "</p>" for image in idea.screenshot_set.all(): post_text += '<br /><img src="' + image.image.url + '" height="320" width"240" /><br />' post = Post(topic=topic, author=request.user, text=post_text) post.save() topic.topic_latest_post = post topic.posts = 1 topic.save() topic.forum.forum_latest_post = post topic.forum.topics += 1 topic.forum.posts += 1 topic.forum.save() return HttpResponseRedirect(reverse('oi.beyin2.views.main')) else: return render_response(request, 'beyin2/idea_errorpage.html', { 'error': form.errors, }) else: ScreenShotFormSet = ScreenShotSet(prefix='imageform') return render_response(request, 'beyin2/idea_new.html', { 'form': form, 'ScreenShotFormSet': ScreenShotFormSet })