Changeset 1506:73fd160d0a83

Show
Ignore:
Timestamp:
03/09/10 21:14:41 (5 months ago)
Author:
Ferllings <cedric@…>
Branch:
default
Message:

[django] REST Auth login

Location:
src/domogik/ui/djangodomo/core
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • src/domogik/ui/djangodomo/core/models.py

    r1489 r1506  
    225225        if resp : 
    226226            return resp 
     227     
     228    @staticmethod 
     229    def Auth(login, password): 
     230        resp = Accounts.objects.get({'parameters':"auth/" + login + "/" + password}) 
     231        if resp : 
     232            return resp 
  • src/domogik/ui/djangodomo/core/templates/login.html

    r1388 r1506  
    4545                        <li> 
    4646                            <a href="#" id="id{{ account.login }}" onclick="chooseUser('id{{ account.login }}', '{{ account.login }}');"> 
    47                                 <img src="/design/{{ request.session.user.skin_used|default:'skins/default' }}/images/userid.jpg" alt="" width="64" height="64" />{{ account.login }} 
     47                                <img src="/design/{{ request.session.user.skin_used|default:'skins/default' }}/images/userid.jpg" alt="" width="64" height="64" />{{ account.person.first_name }} 
    4848                            </a> 
    4949                        </li> 
  • src/domogik/ui/djangodomo/core/views.py

    r1505 r1506  
    100100        login = QueryDict.get(request.POST, "login", False) 
    101101        password = QueryDict.get(request.POST, "password", False) 
    102         #sys_account = __db.get_system_account_by_login_and_pass(login, password) 
    103         #if sys_account is not None: 
    104         #    user_account = __db.get_user_account_by_system_account(sys_account.id) 
    105         #    if user_account is not None: 
    106         #        first_name = user_account.first_name 
    107         #        last_name = user_account.last_name 
    108         #    else: 
    109         #        first_name = login 
    110         #        last_name = login 
    111         #    request.session['user'] = { 
    112         #        'login': sys_account.login, 
    113         #        'is_admin': sys_account.is_admin, 
    114         ##        'first_name': first_name, 
    115         #        'last_name': last_name, 
    116         #        'skin_used': sys_account.skin_used, 
    117         #    } 
    118         #    return index(request) 
    119         #else: 
    120         #    # User not found, ask again to log in 
    121         #    account_list = __db.list_system_accounts() 
    122         #    error_msg = _("Sorry unable to log in. Please check login name / password and try again.") 
    123         #    return __go_to_page(request, 'login.html', page_title, 
    124         #                       account_list=account_list, error_msg=error_msg) 
    125         request.session['user'] = { 
    126                 'login': 'admin', 
    127                 'is_admin': True, 
    128                 'first_name': 'jojo', 
    129                 'last_name': 'lapin', 
    130                 'skin_used': 'skins/default' 
     102        try: 
     103            resultAuth = Accounts.Auth(login, password) 
     104        except ResourceNotAvailableException: 
     105            return render_to_response('error/ResourceNotAvailableException.html') 
     106             
     107        if resultAuth.status == 'OK': 
     108            account = resultAuth.account[0] 
     109            request.session['user'] = { 
     110                'login': account.login, 
     111                'is_admin': (account.is_admin == "True"), 
     112                'first_name': account.person.first_name, 
     113                'last_name': account.person.last_name, 
     114                'skin_used': account.skin_used 
    131115            } 
    132         return index(request) 
    133  
     116            return index(request) 
     117        else: 
     118            # User not found, ask again to log in 
     119            error_msg = _("Sorry unable to log in. Please check login name / password and try again.") 
     120            try: 
     121                resultAllAccounts = Accounts.getAllUsers() 
     122            except ResourceNotAvailableException: 
     123                return render_to_response('error/ResourceNotAvailableException.html') 
     124            return __go_to_page( 
     125                request, 'login.html', 
     126                page_title, 
     127                error_msg=error_msg, 
     128                account_list=resultAllAccounts.account 
     129            ) 
    134130    else: 
    135131        # User asked to log in