示例#1
0
文件: views.py 项目: praekelt/ummeli
def profile_view(request, user_id):
    user_node = Person.get_and_update(request.user)
    other_user = get_object_or_404(User, pk=user_id)
    other_user_node = Person.get_and_update(other_user)
    num_connections = len(other_user_node.connections())

    already_requested = other_user.get_profile().is_connection_requested(request.user.pk)
    connection_requested = request.user.get_profile().is_connection_requested(user_id)
    status_content_type = ContentType.objects.get(
            app_label="opportunities",
            model="statusupdate"
        )
    skills_content_type = ContentType.objects.get(
        app_label="opportunities",
        model="skillsupdate"
    )
    return render(request, 'profile/profile_view.html',
                {'other_user_profile': other_user.get_profile(),
                 'other_user_jobs': other_user.modelbase_set.filter(ummeliopportunity__isnull=False)\
                                                            .exclude(content_type__in=[status_content_type,
                                                                skills_content_type])\
                                                            .order_by('-created').count(),
                 'other_user_pk':other_user.pk,
                 'num_connections': num_connections,
                 'connected_to_user': user_node.is_connected_to(other_user_node),
                 'is_self': int(user_id) == request.user.pk,
                 'already_requested':already_requested,
                 'connection_requested':connection_requested,
                 })
示例#2
0
文件: utils.py 项目: praekelt/ummeli
def add_connection_for_user(parent, child):
    if parent and child:
        parent_person = Person.get_and_update(parent)        
        child_person = Person.get_and_update(child)
        
        parent_person.knows.add(child_person)
        parent_person.save()
    else:
        raise ValueError("Both parent and child cannont be null.")
示例#3
0
文件: tests.py 项目: praekelt/ummeli
 def test_user_node_creation(self):
     tom = Person.get_and_update(self.tom)
     luke = Person.get_and_update(self.luke)
     
     self.assertEquals(len(tom.connections()), 0)
     
     add_connection_for_user(self.tom, self.luke)
     
     self.assertEquals(len(tom.connections()), 1)
     self.assertEquals(len(luke.connections()), 1)
     
     self.assertTrue(tom.is_connected_to(luke))
示例#4
0
文件: views.py 项目: praekelt/ummeli
def connections(request, user_id):
    other_user = get_object_or_404(User, pk = user_id)
    other_user_node = Person.get_and_update(other_user)

    user_node = Person.get_and_update(request.user)
    connections = [(node, user_node.is_connected_to(node), \
                    request.user.connection_requests.filter(user__pk=node.user_id).exists(), \
                    request.user.get_profile().is_connection_requested(node.user_id)) \
                   for node in other_user_node.connections()]

    already_requested = other_user.get_profile().connection_requests.filter(pk=request.user.pk).exists()
    return render(request, 'profile/connections.html',
                {'user_node': user_node,
                 'other_user_node': other_user_node,
                 'connections': connections,
                 'is_self': int(user_id) == request.user.pk,
                 'already_requested':already_requested,
                 })
示例#5
0
文件: views.py 项目: praekelt/ummeli
def profile(request):
    user_node = Person.get_and_update(request.user)
    num_connections = len(user_node.connections())
    return render(request, 'profile/profile.html', {'num_connections': num_connections})
示例#6
0
文件: models.py 项目: praekelt/ummeli
    def get_connection_node(self):
        from ummeli.graphing.models import Person

        user_node = Person.get_and_update(self.user)
        return user_node