changeset 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 683d41e124b7
children ef4c73999c6c
files apps/bundle/views.py apps/snippet/views.py templates/snippet/snippet_box.djhtml templates/snippet/snippet_form.djhtml
diffstat 4 files changed, 32 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/apps/bundle/views.py	Tue Jun 18 19:59:40 2013 +0500
+++ b/apps/bundle/views.py	Thu Jun 20 17:17:16 2013 +0500
@@ -31,6 +31,7 @@
         'file': file,
         'previous_versions': xrange(1, bundle.latest_version + 1),
         'this_version': version,
+        'show': True,
     }
 
     return render(request, 'bundle/bundle.djhtml', context)
--- a/apps/snippet/views.py	Tue Jun 18 19:59:40 2013 +0500
+++ b/apps/snippet/views.py	Thu Jun 20 17:17:16 2013 +0500
@@ -35,6 +35,7 @@
         if request.user.is_authenticated():
             snippet.author = request.user
 
+
         snippet_form = SnippetForm(request.POST,
                                    request.FILES,
                                    request=request,
@@ -51,17 +52,29 @@
     context = {
         'snippet_form': snippet_form,
         'recent_snippets' : recent,
+        'show': True, # always true b/c guest posting is allowed
     }
 
     return render(request, 'snippet/snippet_new.djhtml', context)
 
 
-def snippet_details(request, snippet_id,
-    template_name='snippet/snippet_details.djhtml', is_raw=False):
+def snippet_details(request, snippet_id,template_name='snippet/snippet_details.djhtml', is_raw=False):
+    
     snippet = get_object_or_404(Snippet, secret_id=snippet_id)
     snippet.num_views += 1
     snippet.save()
 
+
+    if request.user.is_authenticated() and hasattr(snippet,'author'):
+        show = True
+    elif ( request.user.is_anonymous() ) and (hasattr(snippet,'author') ):
+        if snippet.author == None:
+            show = True
+        else:
+            show = False
+    else:
+        show = False
+
     tree = snippet.get_root()
     tree = tree.get_descendants(include_self=True)
 
@@ -74,6 +87,7 @@
         'content': snippet.content,
         'lexer': snippet.lexer,
         'title': reply_title,
+        
     }
 
     if request.method == "POST":
@@ -102,6 +116,7 @@
         'pygments_styles': PygmentsStyle.objects.all(),
         'default_style': default_pygments_style,
         'no_descendants': len(tree) == 1,
+        'show': show,
     }
 
     response = render(request, template_name, context)
--- a/templates/snippet/snippet_box.djhtml	Tue Jun 18 19:59:40 2013 +0500
+++ b/templates/snippet/snippet_box.djhtml	Thu Jun 20 17:17:16 2013 +0500
@@ -1,5 +1,8 @@
 {% autoescape off %}
+
 <div class="snippet {{ default_style }}">
+{%  if  show   %}
+
     <div class="code-lines">
         {% for line in lines %}
         <p class="line" id="l{{ forloop.counter }}">{% if line %}{{ line }}{% else %}&nbsp;{% endif %}</p>
@@ -7,4 +10,12 @@
     </div>
     <div class="line-counters"></div>
 </div>
+{%  else %}
+    <div class="code-lines">
+        
+
+<p class="hint">  You need to register first if you want to see the content. Register for a new account or log in. </p>
+</div>
+</div>
+{% endif %}
 {% endautoescape %}
--- a/templates/snippet/snippet_form.djhtml	Tue Jun 18 19:59:40 2013 +0500
+++ b/templates/snippet/snippet_form.djhtml	Thu Jun 20 17:17:16 2013 +0500
@@ -1,4 +1,6 @@
 {% load i18n %}
+
+{% if show %}
 <form method="post" action="" class="snippetform"
     enctype="multipart/form-data">
     {% if snippet_form.non_field_errors %}
@@ -40,3 +42,4 @@
         <button type="submit" class="button large">{% trans "Paste it" %}</button>
     </div>
 </form>
+{% endif %}