def add_rating(request, profID): if request.method == 'POST': form = RatingForm(request.POST) if form.is_valid(): rating = Rating() rating.professor = Professor.objects.get(id=profID) rating.poster = request.user rating.overall = form.cleaned_data['overall'] rating.humor = form.cleaned_data['humor'] rating.difficulty = form.cleaned_data['difficulty'] rating.availability = form.cleaned_data['availability'] if Rating.objects.filter(poster=request.user).filter(professor=rating.professor).count > 0: params = { 'message': 'You cannot rate a professor multiple times', } return render(request, 'message.html', params) rating.save() return HttpResponseRedirect('/accounts/profs/profID/' + profID + '/') else: form = RatingForm() prof = Professor.objects.get(id=profID) params = { 'form': form, 'formTitle': 'Add a rating for ' + str(prof.firstName) + ' ' + str(prof.lastName), } return render(request, 'profSearch.html', params)
def saveRatingSource(request, source_id): # print "saving rating event" if request.POST["userID"] == "None": userID = -1 else: userID = request.POST["userID"] if request.POST["rating"] >= 1: ratings = Rating.objects.filter(ratee_id=source_id, rater_id=userID) source = NewsSource.objects.get(id=source_id) if len(ratings) > 0: rating = ratings[0] source.score -= rating.rating else: rating = Rating() rating.rating = request.POST["rating"] rating.rater_id = userID rating.ratee_id = source_id source.score += request.POST["rating"] if userID != -1: print userID rating.save() else: print "just kidding" return HttpResponse("woohoo")
def add_rating(request): target_model = request.POST.get('model', '').lower() target_name = request.POST.get('id', '').lower() rating = request.POST.get('rating', '').lower() errors = [] if target_model.strip() and target_name.strip(): try: cleaned_rating = int(rating) rating_object = Rating(target_model=target_model, target_name=target_name, rating=cleaned_rating) rating_object.save() try: total_rating_object = TotalRating.objects.get( target_model=target_model, target_name=target_name) except ObjectDoesNotExist: total_rating_object = TotalRating(target_model=target_model, target_name=target_name) total_rating_object.save() total_rating_object.total_rating = total_rating_object.total_rating + cleaned_rating total_rating_object.rating_count += 1 total_rating_object.save() except Exception: errors.append('INVALID_RATING') response = {'success': True, 'errors': errors} return shortcuts.render_to_response( 'json.html', {'response': json.dumps(response)}, context_instance=RequestContext(request), mimetype="application/json")
def add_rating(request): target_model = request.POST.get('model', '').lower() target_name = request.POST.get('id', '').lower() rating = request.POST.get('rating', '').lower() errors = [] if target_model.strip() and target_name.strip(): try: cleaned_rating = int(rating) rating_object = Rating(target_model = target_model, target_name = target_name, rating = cleaned_rating) rating_object.save() try: total_rating_object = TotalRating.objects.get(target_model = target_model, target_name = target_name) except ObjectDoesNotExist: total_rating_object = TotalRating(target_model = target_model, target_name = target_name) total_rating_object.save() total_rating_object.total_rating = total_rating_object.total_rating + cleaned_rating total_rating_object.rating_count += 1 total_rating_object.save() except Exception: errors.append('INVALID_RATING') response = {'success':True, 'errors':errors} return shortcuts.render_to_response('json.html', {'response':json.dumps(response)}, context_instance = RequestContext(request), mimetype = "application/json")
def import_ratings(f): votes = defaultdict(list) with open(f) as csvfile: reader = csv.DictReader(csvfile) for row in reader: votes[row['id']].append(row["this_dish_is_an_entree_on_a_dinner_menu__as_opposed_to_beverages_appetizers_or_sides"]) with open(f) as csvfile: reader = csv.DictReader(csvfile) for row in reader: if valid_item(votes, row): try: item = MenuItem.objects.get(locu_id=row["id"]) except MenuItem.DoesNotExist: print "Could not find a menuitem", row["id"] continue username = row["_worker_id"] try: user = User.objects.get(username=username) except User.DoesNotExist: user = User(username=username) user.save() if row["i_would_like_to_eat_this_dish"] == "Yes": value = Rating.LIKE else: value = Rating.DISLIKE r = Rating(user=user, menu_item=item, value=value) r.save() for m in MenuItem.objects.all(): if not Rating.objects.filter(menu_item=m).exists(): m.delete() for v in Venue.objects.all(): if not MenuItem.objects.filter(venue=v).exists(): v.delete()
def rate(request, cafe_id): # create a rating object for a cafe from POST data if request.method == 'POST': try: # get the value of the rating value from the form, redirect if value is invalid value = int(request.POST['rating']) except ValueError: messages.add_message(request, messages.INFO, 'please choose a valid rating') return redirect('/cafe_hop/') # create new rating object for current cafe with datetime set to current cafe = Cafe.objects.get(id = cafe_id) now = datetime.now() # throw error/redirect if rating > 5 or < 0 if (value > 5 or value < 0): messages.add_message(request, messages.INFO, 'please choose rating from 1-5') return redirect('/') if validate(request.session, cafe_id): rating = Rating(value = value, cafe = cafe, time = now) rating.save() else: messages.add_message(request, messages.INFO, 'please wait before you rate again') return redirect('/') else: form = RatingForm() return redirect('/')
def _add_rating(tray, user, points): """ Add a rating to a tray for a user, deleting other ratings by that user first. """ Rating.objects.filter(tray=tray, added_by=user).delete() rating = Rating(tray=tray, points=points, added_by=user) rating.save()
def rate(request,movie_id,rating_value): user = _getuser(request) try: rating = Rating.objects.get(user__id=user.id,movie__id=movie_id) rating.rating = rating_value except Rating.DoesNotExist: rating = Rating(user=user,movie=Movie.objects.get(id=movie_id),rating=rating_value) rating.save() print rating return redirect('/movie/'+movie_id)
def submitRating(request, bookName): book = Book.objects.filter(name=bookName)[0] user = request.user profile = Profile.objects.filter(user = user)[0] rating = request.POST['star'] rating = int(rating) rating = Rating(book=book, profile = profile, rating = rating) rating.save() return HttpResponseRedirect('/books/' + bookName)
def post(self, request, *args, **kwargs): if not request.is_ajax(): return HttpResponseBadRequest() data = request.POST.copy() vote = 1 if data['action'] == "add" else -1 guest_message = GuestMessage.objects.get(pk=data['message_id']) guest_message.rating += vote guest_message.save() rating = Rating(guest_message=guest_message, session_id=request.session['guest_id']) rating.save() return HttpResponse(guest_message.rating)
def saveRating(request, feed_id): print "hi" print request.POST["rating"] feed = get_object_or_404(NewsFeed, pk=feed_id) if (request.POST["rating"] >= 1): print request.POST["rating"] rating = Rating() rating.rating = request.POST["rating"]; rating.save() feed.ratings.add(rating); feed.save() print feed return HttpResponseRedirect("/feed/" + str(feed.id))
def rate(request, slug): restaurant = get_object_or_404(Restaurant, slug=slug) score = request.GET["value"] ratings = Rating.objects.filter(restaurant=restaurant).filter(user=request.user) if len(ratings) > 0: ratings[0].score = int(score) ratings[0].save() else: newRating = Rating(restaurant=restaurant, user=request.user, score=int(score)) newRating.save() newScore = restaurant.get_int_rating() to_return = {"score":newScore} serialized = simplejson.dumps(to_return) return HttpResponse(serialized, mimetype="application/json")
def RatingView(request, postID, valor): try: usuario = request.user rate = valor publicacion = Post.objects.get(id = postID) rate = Rating(usuario=usuario.profile, rate=rate, publicacion=publicacion) publicacion.set_rate(valor) rate.save() except Post.DoesNotExist: raise Http404 return HttpResponseRedirect('/Posts/'+postID)
def create_comment(request, user_id): for_user = User.objects.get(id=user_id) rater = request.user #stop user from rating them score = request.POST.get('score', None) review = request.POST.get('review', None) if score and review: rating = Rating( for_user=for_user, rater=rater, score=score, review=review ) rating.save() user_url = '/users/%s' % user_id return redirect(user_url)
def rate_event_process(external_id, rating, token): """ Insert, Update or delete the event """ if int(rating) < 0: try: Rating.objects.get(event=Event.objects.get(external_id=external_id)).delete() except ObjectDoesNotExist: # The value doesn't exist, so it's already deleted pass else: e = Event.objects.get(external_id=external_id) u = User.objects.get(external_id=Graph(token).get_me()['id']) r = None try: r = Rating.objects.get(event=e, user=u) r.rating = rating except ObjectDoesNotExist: r = Rating(event=e, user=u, rating=rating) r.save()
def get(self, request, recorded=False): scores = Rating.objects.all() try: curr_users_score = Rating.objects.get(user = request.user) except ObjectDoesNotExist: rating = Rating(user=request.user, score=500) rating.save() curr_users_score = rating [score.calculate_game(curr_users_score) for score in scores] message = None if recorded: message = 'Score Recorded' return render_to_response( 'handicap.html', { 'curr_users_score': curr_users_score, 'scores': scores, 'message': message}, context_instance=RequestContext(request))
def rate_movie(request): movie_id = request.POST.get("movie_id", -1) rating = request.POST.get("rating", 0) user_id = request.user.id movie = get_object_or_404(Movie, pk=movie_id) user = get_object_or_404(User, pk=user_id) try: rate = Rating.objects.filter(movie=movie, user=user) try: rate = rate[0] except (IndexError): rate = Rating() rate.user = user rate.movie = movie rate.rating = rating rate.save() return redirect('sidebar:index') except (KeyError, Movie.DoesNotExist, User.DoesNotExist), e: print e return redirect('sidebar:index')
def rate_event_process(external_id, rating, token): """ Insert, Update or delete the event """ if int(rating) < 0: try: Rating.objects.get(event=Event.objects.get( external_id=external_id)).delete() except ObjectDoesNotExist: # The value doesn't exist, so it's already deleted pass else: e = Event.objects.get(external_id=external_id) u = User.objects.get(external_id=Graph(token).get_me()['id']) r = None try: r = Rating.objects.get(event=e, user=u) r.rating = rating except ObjectDoesNotExist: r = Rating(event=e, user=u, rating=rating) r.save()
def rate_item(request, data): dajax = Dajax() unserializedData = simplejson.loads(data) itemId = int(unserializedData['item_id']) ratingValue = int(unserializedData['value']) user = request.user logger.debug('Rating item id [%s] value [%d] for user [%s]' % (itemId, ratingValue, user.username)) ratedDate = datetime.today() # Update the rating if it exists, otherwise create it try: rating = Rating.objects.get( user=user, item=itemId ) rating.value = ratingValue rating.created_datetime = ratedDate except (Rating.DoesNotExist): item = Item.objects.get(id=itemId) rating = Rating( user=user, item=item, value=ratingValue, created_datetime=ratedDate ) rating.save() return dajax.json()
def make_rate(teacher_id, **values): """ Perform the teacher rate Args: teacher_id (int): Teacher id. user_id (int): User id. Kwargs: values (list): Values of rating of evil, easier, vague and brainy kinds. Raises: ObjectDoesNotExist """ try: rating = Rating(teacher=Teacher.objects.get(pk=teacher_id), evil_value=values['evil_value'], easier_value=values['easier_value'], vague_value=values['vague_value'], brainy_value=values['brainy_value']) rating.save() _update_global_rating(rating) except (Teacher.DoesNotExist, User.DoesNotExist) as e: raise ObjectDoesNotExist(e.message)
def test_setup(**kwargs): from django.contrib.auth.models import User from random import choice from desktopsite.apps.snapboard import chomsky from desktopsite.apps.repository.categories import REPOSITORY_CATEGORIES from models import Package, Rating, Version import datetime if not settings.DEBUG: return if Package.objects.all().count() > 0: # return, since there seem to already be threads in the database. return # ask for permission to create the test msg = """ You've installed Repository with DEBUG=True, do you want to populate the board with random users/packages/ratings to test-drive the application? (yes/no): """ populate = raw_input(msg).strip() while not (populate == "yes" or populate == "no"): populate = raw_input("\nPlease type 'yes' or 'no': ").strip() if populate == "no": return # create 10 random users users = ('john', 'sally', 'susan', 'amanda', 'bob', 'tully', 'fran' 'rick', 'alice', 'mary', 'steve', 'chris', 'becca', 'rob' 'peter', 'amy', 'bill', 'nick', 'dustin', 'alex', 'jesus') for u in users: user, created = User.objects.get_or_create(username=u) user.email = "%s@%s.com" % (u, u) user.set_password(u) user.save() # user.is_staff = True # create up to 30 posts tc = range(1, 20) words = chomsky.objects.split(' ') for i in range(0, 20): print 'package ', i, 'created' subj = words[i]+" "+words[i-4]+" "+words[i+2]+" "+words[i-3] package = Package( name=subj, sysname=subj.replace(" ", "_").replace(".", "").replace("(", "").replace(")", "").replace("\n", ""), category=choice(REPOSITORY_CATEGORIES)[0], description = '\n\n'.join([chomsky.chomsky() for x in range(0, choice(range(2, 5)))]), maintainer=choice(User.objects.all()), url="http://www.foo.com/", ) package.save() for j in range(0, choice(range(1, 10))): text = '\n\n'.join([chomsky.chomsky() for x in range(0, choice(range(2, 5)))]) v=Version( name="%s.%s.%s" % (choice(range(1, 5)), choice(range(1, 50)), choice(range(1, 170))), package=package, changelog=text, #package_url="http://www.foo.com/bar.lucid.zip", checksum= "".join([choice("abcdef0123456789") for x in range(1, 50)]), verified_safe=choice((True, False)), ) v.save() for adf in range(0, choice(tc)): rating = Rating( user=User.objects.get(pk=adf+1), version= v, score=choice((1,2,3,4,5)), ) rating.save()
def initialiseRatings(): rating = Rating.objects(name='Squire') if not rating: rating = Rating() rating.score = 0 rating.name = 'Squire' rating.image = '/media/images/squire.png' rating.save() rating = Rating.objects(name='Baron') if not rating: rating = Rating() rating.score = 1000 rating.name = 'Baron' rating.image = '/media/images/baron.png' rating.save() rating = Rating.objects(name='Count') if not rating: rating = Rating() rating.score = 1500 rating.name = 'Count' rating.image = '/media/images/count.png' rating.save() rating = Rating.objects(name='Duke') if not rating: rating = Rating() rating.score = 3000 rating.name = 'Duke' rating.image = '/media/images/duke.png' rating.save() rating = Rating.objects(name='Prince') if not rating: rating = Rating() rating.score = 5000 rating.name = 'Prince' rating.image = '/media/images/prince.png' rating.save() rating = Rating.objects(name='Archduke') if not rating: rating = Rating() rating.score = 6000 rating.name = 'Archduke' rating.image = '/media/images/archduke.png' rating.save() rating = Rating.objects(name='Grand Duke') if not rating: rating = Rating() rating.score = 7000 rating.name = 'Grand Duke' rating.image = '/media/images/grandduke.png' rating.save() rating = Rating.objects(name='Viceroy') if not rating: rating = Rating() rating.score = 8000 rating.name = 'Viceroy' rating.image = '/media/images/viceroy.png' rating.save() rating = Rating.objects(name='King') if not rating: rating = Rating() rating.score = 9000 rating.name = 'King' rating.image = '/media/images/king.png' rating.save() rating = Rating.objects(name='Emperor') if not rating: rating = Rating() rating.score = 10000 rating.name = 'Emperor' rating.image = '/media/images/emperor.png' rating.save()
def after_signup(self, form): rating = Rating(user=self.created_user, score=500) rating.save() super(SignupView, self).after_signup(form)