コード例 #1
0
ファイル: views.py プロジェクト: HalasNet/felix
def user_cert_manage(request, user_id):
    """Allow the user to download/regenerate/upload a GCF certificate.
    
    @param request: the request object
    @param user_id: the id of the user whose certificate we are managing.
    """
    
    user = get_object_or_404(User, pk=user_id)
    user_profile = UserProfile.get_or_create_profile(request.user)
    user_cert = user_profile.certificate
    private_ssh_key_exists = len(user_profile.private_ssh_key) > 0
    public_ssh_key_exists = len(user_profile.public_ssh_key) > 0

    
    must_have_permission(request.user, user, "can_change_user_cert")
    
    cert_fname = get_user_cert_fname(user)
    if not os.access(cert_fname, os.F_OK):
        cert = None
        
    else:
        cert = read_cert_from_string(user_cert)
    
    return simple.direct_to_template(
        request,
        template= TEMPLATE_PATH + "/user_cert_manage.html",
        extra_context={
            "curr_user": user,
            "cert": cert,
            "private_ssh_key_exists" : private_ssh_key_exists,
            "public_ssh_key_exists": public_ssh_key_exists
        },
    )
コード例 #2
0
def user_cert_manage(request, user_id):
    """Allow the user to download/regenerate/upload a GCF certificate.
    
    @param request: the request object
    @param user_id: the id of the user whose certificate we are managing.
    """

    user = get_object_or_404(User, pk=user_id)
    user_profile = UserProfile.get_or_create_profile(request.user)
    user_cert = user_profile.certificate
    private_ssh_key_exists = len(user_profile.private_ssh_key) > 0
    public_ssh_key_exists = len(user_profile.public_ssh_key) > 0

    must_have_permission(request.user, user, "can_change_user_cert")

    cert_fname = get_user_cert_fname(user)
    if not os.access(cert_fname, os.F_OK):
        cert = None

    else:
        cert = read_cert_from_string(user_cert)

    return simple.direct_to_template(
        request,
        template=TEMPLATE_PATH + "/user_cert_manage.html",
        extra_context={
            "curr_user": user,
            "cert": cert,
            "private_ssh_key_exists": private_ssh_key_exists,
            "public_ssh_key_exists": public_ssh_key_exists
        },
    )
コード例 #3
0
    def setUp(self):
        self.u = User.objects.create_user("test_user", "*****@*****.**",
                                          "password")

        self.cert_fname = get_user_cert_fname(self.u)
        self.key_fname = get_user_key_fname(self.u)

        try_unlink(self.cert_fname)
        try_unlink(self.key_fname)
コード例 #4
0
 def setUp(self):
     self.u = User.objects.create_user(
         "test_user", "*****@*****.**", "password")
     
     self.cert_fname = get_user_cert_fname(self.u)
     self.key_fname = get_user_key_fname(self.u)
     
     try_unlink(self.cert_fname)
     try_unlink(self.key_fname)
コード例 #5
0
 def save(self, user):
     """Write the key and cert into files.
     
     @param user: the user to save the cert and key for.
     @type user: C{django.contrib.auth.models.User}
     """
     
     key_fname = get_user_key_fname(user)
     cert_fname = get_user_cert_fname(user)
     
     self.key.save_to_file(key_fname)
     self.cert.save_to_file(cert_fname)
コード例 #6
0
 def get_user_client(self, user):
     """Get a client to talk to the aggregate as the user."""
     return self._get_client(get_user_cert_fname(user),
                             get_user_key_fname(user))
コード例 #7
0
 def get_user_client(self, user):
     """Get a client to talk to the aggregate as the user."""
     return self._get_client(
         get_user_cert_fname(user), get_user_key_fname(user))