Al/small updates #17
			
				
			
		
		
		
	| 
						 | 
					@ -40,6 +40,14 @@ class RateableEntity(models.Model):
 | 
				
			||||||
			return None
 | 
								return None
 | 
				
			||||||
		return rating_sum / reviews.count()
 | 
							return rating_sum / reviews.count()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Gets a 5-item list of the count of each rating.
 | 
				
			||||||
 | 
						def getRatingDistribution(self):
 | 
				
			||||||
 | 
							reviews = self.review_set.select_related()
 | 
				
			||||||
 | 
							distribution = [0, 0, 0, 0, 0]
 | 
				
			||||||
 | 
							for review in reviews:
 | 
				
			||||||
 | 
								distribution[review.rating-1] += 1
 | 
				
			||||||
 | 
							return distribution
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# Simply returns the name as the string representation.
 | 
						# Simply returns the name as the string representation.
 | 
				
			||||||
	def __str__(self):
 | 
						def __str__(self):
 | 
				
			||||||
		return self.name
 | 
							return self.name
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,11 +9,13 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{% block content %}
 | 
					{% block content %}
 | 
				
			||||||
<div class="container entity">
 | 
					<div class="container entity">
 | 
				
			||||||
 | 
					    {% block entity_info %}
 | 
				
			||||||
        <div class="row">
 | 
					        <div class="row">
 | 
				
			||||||
            <div class="col-sm-6">
 | 
					            <div class="col-sm-6">
 | 
				
			||||||
            <h1 class="muted text-center">{{ entity.name }} {{ entity.average }}</h1>
 | 
					                <h1 class="muted text-center">{{ entity.name }}</h1>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
					    {% endblock %}
 | 
				
			||||||
    <hr>
 | 
					    <hr>
 | 
				
			||||||
    <div class="row">
 | 
					    <div class="row">
 | 
				
			||||||
        <div class="col-sm-3">
 | 
					        <div class="col-sm-3">
 | 
				
			||||||
| 
						 | 
					@ -22,6 +24,16 @@
 | 
				
			||||||
                <h2 class="bold padding-bottom-7">{{ entity.average_rating|floatformat:"-2" }} <small>/ 5</small></h2>
 | 
					                <h2 class="bold padding-bottom-7">{{ entity.average_rating|floatformat:"-2" }} <small>/ 5</small></h2>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
					        {# Rating Distribution Display #}
 | 
				
			||||||
 | 
					        <div class="col-sm-3">
 | 
				
			||||||
 | 
					            <ul>
 | 
				
			||||||
 | 
					                <li>5: {{ entity.rating_distribution.4 }}</li>
 | 
				
			||||||
 | 
					                <li>4: {{ entity.rating_distribution.3 }}</li>
 | 
				
			||||||
 | 
					                <li>3: {{ entity.rating_distribution.2 }}</li>
 | 
				
			||||||
 | 
					                <li>2: {{ entity.rating_distribution.1 }}</li>
 | 
				
			||||||
 | 
					                <li>1: {{ entity.rating_distribution.0 }}</li>
 | 
				
			||||||
 | 
					            </ul>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <div class="row">
 | 
					    <div class="row">
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,6 +49,8 @@ def rateable_entity(request, entity_id):
 | 
				
			||||||
		# Set any auxiliary variables needed, like average rating.
 | 
							# Set any auxiliary variables needed, like average rating.
 | 
				
			||||||
		# This MUST be done after categorizing the object above.
 | 
							# This MUST be done after categorizing the object above.
 | 
				
			||||||
		entity.average_rating = entity.getAverageRating()
 | 
							entity.average_rating = entity.getAverageRating()
 | 
				
			||||||
 | 
							entity.rating_distribution = entity.getRatingDistribution()
 | 
				
			||||||
 | 
							print(entity.rating_distribution)
 | 
				
			||||||
	except RateableEntity.DoesNotExist:
 | 
						except RateableEntity.DoesNotExist:
 | 
				
			||||||
		raise Http404("RateableEntity with id " + str(entity_id) + " does not exist.")
 | 
							raise Http404("RateableEntity with id " + str(entity_id) + " does not exist.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue