Revision 270dd48d snf-astakos-app/astakos/im/api.py

b/snf-astakos-app/astakos/im/api.py
46 46
from astakos.im.faults import BadRequest, Unauthorized, InternalServerError
47 47
from astakos.im.models import AstakosUser
48 48
from astakos.im.settings import CLOUD_SERVICES, INVITATIONS_ENABLED
49
from astakos.im.util import has_signed_terms
49 50

  
50 51
logger = logging.getLogger(__name__)
51 52

  
......
85 86
        # Check if the token has expired.
86 87
        if (time() - mktime(user.auth_token_expires.timetuple())) > 0:
87 88
            return render_fault(request, Unauthorized('Authentication expired'))
88

  
89
        
90
        if not has_signed_terms(user):
91
            return render_fault(request, Unauthorized('Pending approval terms'))
92
        
89 93
        response = HttpResponse()
90 94
        response.status=204
91 95
        user_info = {'username':user.username,
......
93 97
                     'auth_token':user.auth_token,
94 98
                     'auth_token_created':user.auth_token_created.isoformat(),
95 99
                     'auth_token_expires':user.auth_token_expires.isoformat(),
96
                     'has_credits':user.has_credits}
100
                     'has_credits':user.has_credits,
101
                     'has_signed_terms':has_signed_terms(user)}
97 102
        response.content = json.dumps(user_info)
98 103
        response['Content-Type'] = 'application/json; charset=UTF-8'
99 104
        response['Content-Length'] = len(response.content)

Also available in: Unified diff