예제 #1
0
def like_event(request, pk):
    """Adds a like to an event.
    
    Creates and saves a Like object which contains the User who liked the event.
    
    Args:
        request: Django's HttpRequest object that contains metadata.
            https://docs.djangoproject.com/en/dev/ref/request-response/
        pk: ID of event receiving the "Like".
        
    Returns:
        redirect to index.
    
    Raises:
        None.
        
    """
    template_var = base_template_vals(request)
    previousLike = Like.objects.filter(event=Event.objects.get(id=pk), 
                                        user=UserProfile.objects.filter(
                                        django_user=request.user)[0])
    if(len(previousLike) == 0):
        like = Like(event=Event.objects.get(id=pk))
        like.user = UserProfile.objects.filter(django_user=request.user)[0]
        like.save()
        #sys notification
        from_user = UserProfile.objects.get(django_user = User.objects.get(
                                            username__exact='admin')) 
        to_user = UserProfile.objects.get(django_user=request.user)
        event_id = pk
        sys_notification(to_user, "save_event", from_user, event_id)
    return redirect('index')
예제 #2
0
def add_comment(request, pk, pk2):
    """Posts comment to specific event.
    
    Checks if the request has "content" and the user is authenticated.
    If they both are "True", creates and saves comment object.
    Then sends a notification to the event poster with the sys_notification function.
    
    Args:
        request: Django's HttpRequest object that contains metadata.
            https://docs.djangoproject.com/en/dev/ref/request-response/
        pk: ID for event that's recieving comment.
        pk2: ID for user posting the comment.
    
    Returns: 
        Calls "single"" function passing in "request"  from input args
        
    Raises:
        None.
    """
    template_var = base_template_vals(request)
    p = request.POST
    
    if p.has_key("content") and p["content"]:
        if request.user.is_authenticated():
            comment = Comment(event=Event.objects.get(id=pk))
            comment.user = UserProfile.objects.get(django_user=request.user)
            comment.content = p["content"]
            comment.save()

            # Sys notification
            from_user = UserProfile.objects.get(django_user=pk2) # Who's event that is commented on
            to_user = Event.objects.get(id=pk).author
            event_id = pk
            sys_notification(to_user, "add_comment", from_user, event_id)
    return single(request, pk)
예제 #3
0
파일: views.py 프로젝트: jtanigawa/usfevent
def approve_event(request, pk): 
    template_var = base_template_vals(request)
    user = template_var["u"]
    if user.is_superuser:
        approved_event = Event.objects.get(id=pk)
        approved_event.is_approved = True
        approved_event.save()
        #system notification
        to_user = approved_event.author
        from_user = template_var["u"]
        event_id = pk
        sys_notification(to_user, "approve_event", from_user, event_id)
        return HttpResponseRedirect(reverse('overview'))
    else:
        return HttpResponseRedirect(reverse('index'))
예제 #4
0
파일: views.py 프로젝트: jtanigawa/usfevent
def approve_user(request, pk): 
    template_var = base_template_vals(request)
    user = template_var["u"]
    if user.is_superuser:
        approved_user = UserProfile.objects.get(id=pk)
        approved_user.affiliation_msg = ""
        approved_user.is_moderator = True
        approved_user.is_approved = True
        approved_user.save()
        #system notification
        to_user = approved_user
        from_user = template_var["u"]
        event_id = 0
        sys_notification(to_user, "approve_user", from_user, event_id)
        return HttpResponseRedirect(reverse('overview'))
    else:
        return HttpResponseRedirect(reverse('index'))
예제 #5
0
def add_friend(request, pk): 
    """Adds targeted user as a friend of the current user.
    
    Only works if current user is authenticated.
    Retrieves the current user and the targeted user's (user_id = pk)
    UserProfile objects, check if they are friends already; and if not, create
    a new friendship object and store it in database.
    
    Args:
        request: Django's HttpRequest object that contains metadata.
            https://docs.djangoproject.com/en/dev/ref/request-response/
        pk: Parameter in URL, representing targeted user's UserProfile id.
    
    Returns:
        HttpResponseRedirect, to the homepage (index) with no parameters.
    
    Raises:
        Http404, if either of the friendship participants is non-existent.      
    """    
    template_var = base_template_vals(request)   
    try:
        from_user = UserProfile.objects.get(django_user=request.user)    
    except UserProfile.DoesNotExist:
        raise Http404  
    try:
        to_user = UserProfile.objects.get(id=pk)    
    except UserProfile.DoesNotExist:
        raise Http404  

    if(from_user == to_user):#should not follow self
        return HttpResponseRedirect(reverse('index'))
    
    size = len(Friendship.objects.filter(friend_from=from_user,
                                         friend_to=to_user))
    if(size == 0):
        f = Friendship(friend_from=from_user, friend_to=to_user)
        f.save()
        # System notification
        event_id = 0  # Should be nothing in this case
        print str(to_user)
        print str(from_user)
        sys_notification(to_user, "followed", from_user, event_id)

    return HttpResponseRedirect(reverse('index'))