Mercurial > hg > agora
changeset 207:d534881629ff
Updated snippet's template and views files to fix rating code collision which prevented posting new snippets.
Updated snippet's models file so that now secret id of each snippet will be unique. It also means that the no two or more than two snippets will have same secret id.
author | Ahsan Ali Shahid <ahsan.ali.shahid@gmail.com> |
---|---|
date | Mon, 19 Aug 2013 20:30:19 +0500 |
parents | 1f1e867cb37f |
children | a22259c9862e |
files | apps/snippet/forms.py apps/snippet/models.py apps/snippet/views.py templates/snippet/snippet_details.djhtml |
diffstat | 4 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/apps/snippet/forms.py +++ b/apps/snippet/forms.py @@ -35,8 +35,6 @@ ) - form_choices = ( (x,x) for x in range(1,6) ) - Rate = forms.ChoiceField(form_choices,widget=forms.RadioSelect(attrs={'onclick' :"document.getElementById('rate_form').submit();","class":"rate_radio"})) def __init__(self, *args, **kwargs): request = kwargs.pop('request')
--- a/apps/snippet/models.py +++ b/apps/snippet/models.py @@ -12,7 +12,10 @@ t = 'abcdefghijkmnopqrstuvwwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ1234567890' def generate_secret_id(length=4): - return ''.join([random.choice(t) for i in range(length)]) + unique_id = ''.join([random.choice(t) for i in range(length)]) + while Snippet.objects.filter(secret_id = unique_id ).count()!= 0: + unique_id = ''.join([random.choice(t) for i in range(length)]) + return unique_id class SnippetManager(models.Manager): def public(self):
--- a/apps/snippet/views.py +++ b/apps/snippet/views.py @@ -108,9 +108,11 @@ default_pygments_style = PygmentsStyle.objects.get(pk=1) + r = snippet.rating.votes + if snippet.rating.votes == 0: + r = 1 - score = (snippet.rating.score/snippet.rating.votes) - + score = snippet.rating.score/(r) context = { 'snippet_form': snippet_form,
--- a/templates/snippet/snippet_details.djhtml +++ b/templates/snippet/snippet_details.djhtml @@ -91,7 +91,13 @@ <form action = "rating/process/" method = "POST" id="rate_form"> {% csrf_token%} <h3 id ="rate_label">Rate this Snippet:</h3> - {{ snippet_form.Rate }} + <ul> +<li><label for="id_Rate_0"><input name="Rate" onclick="document.getElementById('rate_form').submit();" type="radio" class="rate_radio" value="1" id="id_Rate_0"> 1</label></li> +<li><label for="id_Rate_1"><input name="Rate" onclick="document.getElementById('rate_form').submit();" type="radio" class="rate_radio" value="2" id="id_Rate_1"> 2</label></li> +<li><label for="id_Rate_2"><input name="Rate" onclick="document.getElementById('rate_form').submit();" type="radio" class="rate_radio" value="3" id="id_Rate_2"> 3</label></li> +<li><label for="id_Rate_3"><input name="Rate" onclick="document.getElementById('rate_form').submit();" type="radio" class="rate_radio" value="4" id="id_Rate_3"> 4</label></li> +<li><label for="id_Rate_4"><input name="Rate" onclick="document.getElementById('rate_form').submit();" type="radio" class="rate_radio" value="5" id="id_Rate_4"> 5</label></li> +</ul> <input type="hidden" name="next" value="{{ request.get_full_path }}" /> </form> </div>