Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

""" 

Copyright (c) 2012-2013 RockStor, Inc. <http://rockstor.com> 

This file is part of RockStor. 

 

RockStor is free software; you can redistribute it and/or modify 

it under the terms of the GNU General Public License as published 

by the Free Software Foundation; either version 2 of the License, 

or (at your option) any later version. 

 

RockStor is distributed in the hope that it will be useful, but 

WITHOUT ANY WARRANTY; without even the implied warranty of 

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 

General Public License for more details. 

 

You should have received a copy of the GNU General Public License 

along with this program. If not, see <http://www.gnu.org/licenses/>. 

""" 

 

from django.template import RequestContext 

from django.shortcuts import render_to_response 

from django.contrib.auth import (authenticate, login, logout) 

 

from storageadmin.models import (Appliance, Setup, UpdateSubscription) 

from django.shortcuts import redirect 

from django.contrib import messages 

from django.conf import settings 

 

 

def login_page(request): 

    return render_to_response('login.html', 

                              context_instance=RequestContext(request)) 

 

 

def login_submit(request): 

    username = request.POST['login'] 

    password = request.POST['password'] 

    user = authenticate(username=username, password=password) 

    if (user is not None): 

        if (user.is_active): 

            login(request, user) 

            return redirect('/home') 

    messages.add_message(request, messages.INFO, 'Login incorrect!') 

    return render_to_response('login.html', 

                              context_instance=RequestContext(request)) 

 

 

def home(request): 

    current_appliance = None 

    try: 

        current_appliance = Appliance.objects.get(current_appliance=True) 

    except Exception: 

        pass 

 

    setup = Setup.objects.all()[0] 

    update_channel = 'Testing' 

    stable_name = 'Stable' 

    if (UpdateSubscription.objects.filter( 

            name=stable_name, status='active').exists()): 

        update_channel = stable_name 

 

    context = { 

        'request': request, 

        'current_appliance': current_appliance, 

        'setup_user': setup.setup_user, 

        'page_size': settings.REST_FRAMEWORK['PAGE_SIZE'], 

        'update_channel': update_channel 

    } 

    if request.user.is_authenticated(): 

        return render_to_response('index.html', 

                                  context, 

                                  context_instance=RequestContext(request)) 

    else: 

        if setup.setup_user: 

            return render_to_response('login.html', 

                                      context, 

                                      context_instance=RequestContext(request)) 

        else: 

            return render_to_response('setup.html', 

                                      context, 

                                      context_instance=RequestContext(request)) 

 

 

def logout_user(request): 

    logout(request) 

    return redirect('/')