Mercurial > agora-palash
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 %} {% 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 %}