reg/views.py
author nishanth
Mon, 12 Apr 2010 16:17:53 +0530
changeset 17 125b6fc8f20b
parent 16 bef53aaf9085
child 18 7dae32a2439b
permissions -rw-r--r--
users can view and edit profile .
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
     1
from django.contrib.auth.models import User
3
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
     2
from django.contrib.auth import authenticate, login, logout
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
     3
from django.contrib.auth.decorators import login_required
2
c11afa8623f7 incorporated gen_key .
nishanth
parents: 0
diff changeset
     4
4
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
     5
from django.shortcuts import render_to_response, redirect
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
     6
6
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
     7
from workshop.reg.models import Event
3
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
     8
from workshop.reg import forms as reg_forms
6
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
     9
from workshop.reg import events as reg_events
3
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    10
11
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
    11
from workshop.feedback.models import Feedback
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
    12
4
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    13
from django.http import HttpResponse
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    14
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    15
def homepage(request):
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    16
    """ see if the user is active.
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    17
    If not, only show the re send activation email link.
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    18
    else show all the options in homepage.
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    19
    """
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    20
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    21
    user = request.user
6
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    22
    events = Event.objects.all()[:10]
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    23
17
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
    24
    return render_to_response('index.html', {'user':user, 'events':events})
11
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
    25
4
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    26
def user_login(request):
3
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    27
    """ get the user object from e-mail and then check for password.
2
c11afa8623f7 incorporated gen_key .
nishanth
parents: 0
diff changeset
    28
    """
c11afa8623f7 incorporated gen_key .
nishanth
parents: 0
diff changeset
    29
3
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    30
    user = request.user
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    31
    if user.is_authenticated():
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    32
        return redirect('/reg')
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    33
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    34
    if request.method == "POST":
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    35
        form = reg_forms.LoginForm(request.POST)
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    36
        if form.is_valid():
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    37
            email = form.cleaned_data['email']
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    38
            password = form.cleaned_data['password']
4
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    39
            username = User.objects.get(email__iexact=email).username
3
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    40
4
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    41
            user = authenticate(username=username, password=password)
3
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    42
            login(request, user)
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    43
            return redirect('/reg')
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    44
        else:
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
    45
            return render_to_response('login.html', {'user':user, 'form':form})
3
182f216da4a8 made the login view. have to write templates and check it.
nishanth
parents: 2
diff changeset
    46
    else:
4
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    47
        form = reg_forms.LoginForm()
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
    48
        return render_to_response('login.html', {'user':user, 'form':form})
4
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    49
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    50
def user_logout(request):
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    51
    """ simply logout the user and redirect to homepage.
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    52
    """
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    53
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    54
    logout(request)
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    55
    return redirect('/reg')
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    56
6
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    57
def user_register(request):
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    58
    """ take the credentials like name, college and gender here itself.
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    59
    """
4
ededea9ad08b login and logout works .
nishanth
parents: 3
diff changeset
    60
6
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    61
    if request.method == "POST":
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    62
        form = reg_forms.RegisterForm(request.POST)
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    63
        if form.is_valid():
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    64
            data = form.cleaned_data
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    65
            reg_events.create_user(email=data['email'], 
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    66
                                   password=data['password'],
17
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
    67
                                   first_name=data['first_name'],
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
    68
                                   last_name=data['last_name'], 
6
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    69
                                   gender=data['gender'], 
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    70
                                   profession=data['profession'], 
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    71
                                   affiliated_to=data['affiliated_to'], 
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    72
                                   interests=data['interests']
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    73
                                  )
15
b06f0fefbd20 fixed a bug in register user view .
nishanth
parents: 14
diff changeset
    74
            return render_to_response('account_created.html')
6
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    75
        else:
15
b06f0fefbd20 fixed a bug in register user view .
nishanth
parents: 14
diff changeset
    76
            return render_to_response('register.html', {'form':form})
6
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    77
    else:
057498d12450 users can now register but still there is no concept of activation e-mail .
nishanth
parents: 5
diff changeset
    78
        form = reg_forms.RegisterForm()
15
b06f0fefbd20 fixed a bug in register user view .
nishanth
parents: 14
diff changeset
    79
        return render_to_response('register.html', {'form':form})
8
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    80
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    81
def create_event(request):
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    82
    """ see if the user is a staff and only then let him do it.
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    83
    """
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    84
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    85
    user = request.user
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    86
    if user.is_authenticated() and user.is_staff:
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    87
        if request.method ==  "POST":
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    88
            form = reg_forms.EventCreateForm(request.POST)
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    89
            if form.is_valid():
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    90
                data = form.cleaned_data
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    91
                new_event = reg_events.create_event(title=data['title'],
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    92
                                                    description=data['description'],
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    93
                                                    start_date=data['start_date'],
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    94
                                                    stop_date=data['stop_date'],
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    95
                                                    created_by=user,
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    96
                                                   )
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    97
                event_url = "/reg/event/view/%s"%(new_event.key)
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    98
                return redirect(event_url)
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
    99
            else:
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   100
                return render_to_response('event_create.html', {'user':user, 'form':form})
8
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   101
        else:
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   102
            form = reg_forms.EventCreateForm()
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   103
            return render_to_response('event_create.html', {'user':user, 'form':form})
8
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   104
    else:
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   105
        return redirect('/reg')
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   106
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   107
def view_event(request, key):
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   108
    """ get the event by its key and display it.
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   109
    """
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   110
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   111
    user = request.user
11
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
   112
    user_ip = request.META['REMOTE_ADDR']
8
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   113
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   114
    try:
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   115
        event = Event.objects.get(key__iexact=key)
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   116
    except Event.DoesNotExist:
10
c52d170969f0 quite a few changes. modified models and feedback views .
nishanth
parents: 9
diff changeset
   117
        return redirect("/reg")
c52d170969f0 quite a few changes. modified models and feedback views .
nishanth
parents: 9
diff changeset
   118
c52d170969f0 quite a few changes. modified models and feedback views .
nishanth
parents: 9
diff changeset
   119
    is_guest = False if user.is_authenticated() else True
c52d170969f0 quite a few changes. modified models and feedback views .
nishanth
parents: 9
diff changeset
   120
    is_attendee = True if user in event.attendees.all() else False
c52d170969f0 quite a few changes. modified models and feedback views .
nishanth
parents: 9
diff changeset
   121
    is_org = True if user in event.organizers.all() else False
8
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   122
11
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
   123
    can_submit_feedback = False
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
   124
    if not event.feedback_status == "0":
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
   125
        try:
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
   126
            event.feedback.get(user_ip__iexact=user_ip, day=event.feedback_status)
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
   127
        except Feedback.DoesNotExist:
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
   128
            can_submit_feedback = True 
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
   129
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   130
    context = {'user': user,
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   131
               'is_guest': is_guest,
11
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
   132
               'event': event,
10
c52d170969f0 quite a few changes. modified models and feedback views .
nishanth
parents: 9
diff changeset
   133
               'is_attendee': is_attendee,
c52d170969f0 quite a few changes. modified models and feedback views .
nishanth
parents: 9
diff changeset
   134
               'is_org': is_org,
11
334550460bd7 added the view event functionality and submitting feedback according to the status .
nishanth
parents: 10
diff changeset
   135
               'can_submit_feedback': can_submit_feedback,
10
c52d170969f0 quite a few changes. modified models and feedback views .
nishanth
parents: 9
diff changeset
   136
              }
c52d170969f0 quite a few changes. modified models and feedback views .
nishanth
parents: 9
diff changeset
   137
    return render_to_response('view_event.html', context)
8
e2699e042129 now a user can create an event if he is a staff
nishanth
parents: 6
diff changeset
   138
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   139
def reset_password(request):
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   140
    """ check for the existance of e-mail.
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   141
    Then call the event.
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   142
    """
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   143
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   144
    user = request.user
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   145
    if user.is_authenticated():
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   146
        return redirect('/reg')
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   147
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   148
    if request.method == "POST":
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   149
        form = reg_forms.PasswordResetForm(request.POST)
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   150
        if form.is_valid():
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   151
            email = form.cleaned_data['email']
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   152
            user = User.objects.get(email__iexact=email)
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   153
            new_password = reg_events.reset_password(user)
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   154
            return render_to_response('password_reset.html', {'user':user, 'new_password':new_password})
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   155
        else:
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   156
            return render_to_response('password_reset.html', {'user':user, 'form':form})
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   157
    else:
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   158
        form = reg_forms.PasswordResetForm()
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   159
        return render_to_response('password_reset.html', {'user':user, 'form':form})
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   160
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   161
def change_password(request):
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   162
    """ check for the password and then set the new password.
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   163
    """
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   164
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   165
    user = request.user
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   166
    if not user.is_authenticated():
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   167
        return redirect('/reg')
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   168
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   169
    if request.method == "POST":
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   170
        data = request.POST.copy()
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   171
        data.__setitem__('username', user.username)
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   172
        form = reg_forms.PasswordChangeForm(data)
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   173
        if form.is_valid():
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   174
            new_password = form.cleaned_data['new_password']
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   175
            reg_events.change_password(user, new_password)
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   176
            return render_to_response('password_change.html', {'user':user, 'password_changed': True})
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   177
        else:
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   178
            return render_to_response('password_change.html', {'user':user, 'form':form})
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   179
    else:
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   180
        form = reg_forms.PasswordChangeForm()
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   181
        return render_to_response('password_change.html', {'user':user, 'form':form})
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   182
12
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   183
def open_feedback(request, event_key):
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   184
    """ see if the event exists.
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   185
    then see if feedback is closed.
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   186
    then give option for opening the feedback.
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   187
    Any feedback can be opened on any day.
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   188
    """
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   189
12
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   190
    user = request.user
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   191
    try:
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   192
        event = Event.objects.get(key__iexact=event_key)
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   193
    except Event.DoesNotExist:
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   194
        return redirect("/reg")
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   195
12
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   196
    is_org = True if user in event.organizers.all() else False
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   197
12
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   198
    if is_org and event.feedback_status == '0':
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   199
        #days = event.stop_date.day() - event.start_date.day() + 1
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   200
        days = 2
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   201
        if request.method == "POST":
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   202
            day = request.POST['day']
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   203
            event.feedback_status = day
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   204
            event.save()
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   205
            return render_to_response('open_feedback.html', {'user':user, 'success': True, 'day':day, 'event':event})
12
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   206
        else:
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   207
            return render_to_response('open_feedback.html', {'user':user, 'event': event, 'days': range(1,days+1)})
12
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   208
    else:
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   209
        return redirect('/reg')
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   210
12
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   211
def close_feedback(request, event_key):
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   212
    """ check if the user is org.
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   213
    and then check if the feedback is open already.
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   214
    """
9
e29ecb7819e7 password change and password reset have been done.
nishanth
parents: 8
diff changeset
   215
12
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   216
    user = request.user
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   217
    try:
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   218
        event = Event.objects.get(key__iexact=event_key)
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   219
    except Event.DoesNotExist:
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   220
        return redirect("/reg")
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   221
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   222
    is_org = True if user in event.organizers.all() else False
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   223
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   224
    if is_org:
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   225
        day = event.feedback_status
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   226
        event.feedback_status = '0'
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   227
        event.save()
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   228
        return render_to_response('close_feedback.html', {'user':user, 'event': event, 'day':day})
12
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   229
    else:
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   230
        return redirect('/reg')
f57b0a7f24d9 added closing and opening of feedback.
nishanth
parents: 11
diff changeset
   231
13
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   232
def open_registration(request, event_key):
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   233
    """ simply check for is_org and then set the registration_is_open flag.
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   234
    """
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   235
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   236
    user = request.user
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   237
    try:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   238
        event = Event.objects.get(key__iexact=event_key)
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   239
    except Event.DoesNotExist:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   240
        return redirect("/reg")
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   241
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   242
    is_org = True if user in event.organizers.all() else False
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   243
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   244
    if is_org:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   245
        event.registration_is_open = True
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   246
        event.save()
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   247
        return render_to_response('reg_open.html', {'user':user, 'event': event})
13
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   248
    else:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   249
        return redirect('/reg')
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   250
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   251
def close_registration(request, event_key):
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   252
    """ simply check for is_org and then unset the registration_is_open flag.
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   253
    """
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   254
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   255
    user = request.user
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   256
    try:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   257
        event = Event.objects.get(key__iexact=event_key)
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   258
    except Event.DoesNotExist:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   259
        return redirect("/reg")
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   260
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   261
    is_org = True if user in event.organizers.all() else False
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   262
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   263
    if is_org:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   264
        event.registration_is_open = False
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   265
        event.save()
14
cd6911eaac2c moved templates into templates directory and added user in context .
nishanth
parents: 13
diff changeset
   266
        return render_to_response('reg_close.html', {'user':user, 'event': event})
13
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   267
    else:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   268
        return redirect('/reg')
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   269
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   270
def register_for_event(request, event_key):
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   271
    """ check if the user is logged in.
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   272
    simply add him to the attendees list.
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   273
    """
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   274
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   275
    user = request.user
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   276
    if user.is_authenticated():
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   277
        try:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   278
            event = Event.objects.get(key__iexact=event_key)
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   279
        except Event.DoesNotExist:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   280
            return redirect("/reg")
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   281
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   282
        event.attendees.add(user)
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   283
        return render_to_response("event_register.html", {"user":user, 'event':event})
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   284
    else:
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   285
        return redirect("/reg")
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   286
17
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   287
def view_profile(request):
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   288
    """ check if user is logged in.
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   289
    then show the profile.
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   290
    """
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   291
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   292
    user = request.user
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   293
    if not user.is_authenticated():
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   294
        return redirect('/reg')
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   295
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   296
    user_profile = user.get_profile()
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   297
    return render_to_response('view_profile.html', {'user':user, 'user_profile':user_profile})
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   298
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   299
def edit_profile(request):
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   300
    """ check if user is logged in.
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   301
    """
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   302
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   303
    user = request.user
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   304
    if not user.is_authenticated():
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   305
        return redirect('/reg')
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   306
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   307
    user_profile = user.get_profile()
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   308
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   309
    if request.method == "POST":
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   310
        form = reg_forms.EditProfileForm(request.POST)
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   311
        if form.is_valid():
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   312
            reg_events.update_profile(user, form.cleaned_data)
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   313
            return redirect('/reg/profile/view')
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   314
        else:
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   315
            return render_to_response('edit_profile.html', {'user':user, 'form':form})
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   316
    else:
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   317
        old_info = {'first_name': user.first_name,
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   318
                    'last_name': user.last_name,
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   319
                    'gender':user_profile.gender,
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   320
                    'profession': user_profile.profession,
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   321
                    'affiliated_to': user_profile.affiliated_to,
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   322
                    'interests': user_profile.interests,
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   323
                   }
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   324
        form = reg_forms.EditProfileForm(old_info)
125b6fc8f20b users can view and edit profile .
nishanth
parents: 16
diff changeset
   325
        return render_to_response('edit_profile.html', {'user':user, 'form':form})
13
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   326
05248e27104a added closing registration and registering for a workshop .
nishanth
parents: 12
diff changeset
   327