Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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")
Exemplo n.º 3
0
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")
Exemplo n.º 4
0
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") 
Exemplo n.º 5
0
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()
Exemplo n.º 6
0
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('/')
Exemplo n.º 7
0
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()
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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)
Exemplo n.º 10
0
 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)
Exemplo n.º 11
0
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))
Exemplo n.º 12
0
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")
Exemplo n.º 13
0
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)
	
	
Exemplo n.º 14
0
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()
Exemplo n.º 16
0
    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))
Exemplo n.º 17
0
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()
Exemplo n.º 19
0
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()
Exemplo n.º 20
0
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)
Exemplo n.º 21
0
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()
Exemplo n.º 22
0
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()
Exemplo n.º 23
0
 def after_signup(self, form):
     rating = Rating(user=self.created_user,
                    score=500)
     rating.save()
     super(SignupView, self).after_signup(form)