comparison apps/snippet/views.py @ 190:a4f88ac85837

Changes: Now guest users cannot see revision history and they also cannot see snippets posted by registered users. To see snippets posted by registered users, one has to login.
author ahsanalishahid <ahsan.ali.shahid@gmail.com>
date Thu, 20 Jun 2013 17:17:16 +0500
parents c7be7def8b57
children 499e5f47f278
comparison
equal deleted inserted replaced
189:683d41e124b7 190:a4f88ac85837
33 snippet = Snippet() 33 snippet = Snippet()
34 34
35 if request.user.is_authenticated(): 35 if request.user.is_authenticated():
36 snippet.author = request.user 36 snippet.author = request.user
37 37
38
38 snippet_form = SnippetForm(request.POST, 39 snippet_form = SnippetForm(request.POST,
39 request.FILES, 40 request.FILES,
40 request=request, 41 request=request,
41 instance=snippet) 42 instance=snippet)
42 43
49 recent = Snippet.objects.public()[:10] 50 recent = Snippet.objects.public()[:10]
50 51
51 context = { 52 context = {
52 'snippet_form': snippet_form, 53 'snippet_form': snippet_form,
53 'recent_snippets' : recent, 54 'recent_snippets' : recent,
55 'show': True, # always true b/c guest posting is allowed
54 } 56 }
55 57
56 return render(request, 'snippet/snippet_new.djhtml', context) 58 return render(request, 'snippet/snippet_new.djhtml', context)
57 59
58 60
59 def snippet_details(request, snippet_id, 61 def snippet_details(request, snippet_id,template_name='snippet/snippet_details.djhtml', is_raw=False):
60 template_name='snippet/snippet_details.djhtml', is_raw=False): 62
61 snippet = get_object_or_404(Snippet, secret_id=snippet_id) 63 snippet = get_object_or_404(Snippet, secret_id=snippet_id)
62 snippet.num_views += 1 64 snippet.num_views += 1
63 snippet.save() 65 snippet.save()
66
67
68 if request.user.is_authenticated() and hasattr(snippet,'author'):
69 show = True
70 elif ( request.user.is_anonymous() ) and (hasattr(snippet,'author') ):
71 if snippet.author == None:
72 show = True
73 else:
74 show = False
75 else:
76 show = False
64 77
65 tree = snippet.get_root() 78 tree = snippet.get_root()
66 tree = tree.get_descendants(include_self=True) 79 tree = tree.get_descendants(include_self=True)
67 80
68 if snippet.title.startswith('Re: '): 81 if snippet.title.startswith('Re: '):
72 85
73 new_snippet_initial = { 86 new_snippet_initial = {
74 'content': snippet.content, 87 'content': snippet.content,
75 'lexer': snippet.lexer, 88 'lexer': snippet.lexer,
76 'title': reply_title, 89 'title': reply_title,
90
77 } 91 }
78 92
79 if request.method == "POST": 93 if request.method == "POST":
80 snippet_form = SnippetForm(request.POST, 94 snippet_form = SnippetForm(request.POST,
81 request.FILES, 95 request.FILES,
100 'tree': tree, 114 'tree': tree,
101 'language': dict(LEXER_LIST)[snippet.lexer], 115 'language': dict(LEXER_LIST)[snippet.lexer],
102 'pygments_styles': PygmentsStyle.objects.all(), 116 'pygments_styles': PygmentsStyle.objects.all(),
103 'default_style': default_pygments_style, 117 'default_style': default_pygments_style,
104 'no_descendants': len(tree) == 1, 118 'no_descendants': len(tree) == 1,
119 'show': show,
105 } 120 }
106 121
107 response = render(request, template_name, context) 122 response = render(request, template_name, context)
108 123
109 if is_raw: 124 if is_raw: