reg/views.py
changeset 14 cd6911eaac2c
parent 13 05248e27104a
child 15 b06f0fefbd20
equal deleted inserted replaced
13:05248e27104a 14:cd6911eaac2c
    17     If not, only show the re send activation email link.
    17     If not, only show the re send activation email link.
    18     else show all the options in homepage.
    18     else show all the options in homepage.
    19     """
    19     """
    20 
    20 
    21     user = request.user
    21     user = request.user
    22 
       
    23     events = Event.objects.all()[:10]
    22     events = Event.objects.all()[:10]
    24 
    23 
    25     return render_to_response('index.html', {'events':events})
    24     return render_to_response('index.html', {'user':user, 'events':events})
    26 
    25 
    27 def user_login(request):
    26 def user_login(request):
    28     """ get the user object from e-mail and then check for password.
    27     """ get the user object from e-mail and then check for password.
    29     """
    28     """
    30 
    29 
    41 
    40 
    42             user = authenticate(username=username, password=password)
    41             user = authenticate(username=username, password=password)
    43             login(request, user)
    42             login(request, user)
    44             return redirect('/reg')
    43             return redirect('/reg')
    45         else:
    44         else:
    46             return render_to_response('login.html', {'form':form})
    45             return render_to_response('login.html', {'user':user, 'form':form})
    47     else:
    46     else:
    48         form = reg_forms.LoginForm()
    47         form = reg_forms.LoginForm()
    49         return render_to_response('login.html', {'form':form})
    48         return render_to_response('login.html', {'user':user, 'form':form})
    50 
    49 
    51 def user_logout(request):
    50 def user_logout(request):
    52     """ simply logout the user and redirect to homepage.
    51     """ simply logout the user and redirect to homepage.
    53     """
    52     """
    54 
    53 
    70                                    gender=data['gender'], 
    69                                    gender=data['gender'], 
    71                                    profession=data['profession'], 
    70                                    profession=data['profession'], 
    72                                    affiliated_to=data['affiliated_to'], 
    71                                    affiliated_to=data['affiliated_to'], 
    73                                    interests=data['interests']
    72                                    interests=data['interests']
    74                                   )
    73                                   )
    75             return render_to_response('account_created.html')
    74             return render_to_response('account_created.html',{'user':user})
    76         else:
    75         else:
    77             return render_to_response('register.html', {'form':form})
    76             return render_to_response('register.html', {'user':user, 'form':form})
    78     else:
    77     else:
    79         form = reg_forms.RegisterForm()
    78         form = reg_forms.RegisterForm()
    80         return render_to_response('register.html', {'form':form})
    79         return render_to_response('register.html', {'user':user, 'form':form})
    81 
    80 
    82 def create_event(request):
    81 def create_event(request):
    83     """ see if the user is a staff and only then let him do it.
    82     """ see if the user is a staff and only then let him do it.
    84     """
    83     """
    85 
    84 
    96                                                     created_by=user,
    95                                                     created_by=user,
    97                                                    )
    96                                                    )
    98                 event_url = "/reg/event/view/%s"%(new_event.key)
    97                 event_url = "/reg/event/view/%s"%(new_event.key)
    99                 return redirect(event_url)
    98                 return redirect(event_url)
   100             else:
    99             else:
   101                 return render_to_response('event_create.html', {'form':form})
   100                 return render_to_response('event_create.html', {'user':user, 'form':form})
   102         else:
   101         else:
   103             form = reg_forms.EventCreateForm()
   102             form = reg_forms.EventCreateForm()
   104             return render_to_response('event_create.html', {'form':form})
   103             return render_to_response('event_create.html', {'user':user, 'form':form})
   105     else:
   104     else:
   106         return redirect('/reg')
   105         return redirect('/reg')
   107 
   106 
   108 def view_event(request, key):
   107 def view_event(request, key):
   109     """ get the event by its key and display it.
   108     """ get the event by its key and display it.
   126         try:
   125         try:
   127             event.feedback.get(user_ip__iexact=user_ip, day=event.feedback_status)
   126             event.feedback.get(user_ip__iexact=user_ip, day=event.feedback_status)
   128         except Feedback.DoesNotExist:
   127         except Feedback.DoesNotExist:
   129             can_submit_feedback = True 
   128             can_submit_feedback = True 
   130 
   129 
   131     context = {'is_guest': is_guest,
   130     context = {'user': user,
       
   131                'is_guest': is_guest,
   132                'event': event,
   132                'event': event,
   133                'is_attendee': is_attendee,
   133                'is_attendee': is_attendee,
   134                'is_org': is_org,
   134                'is_org': is_org,
   135                'can_submit_feedback': can_submit_feedback,
   135                'can_submit_feedback': can_submit_feedback,
   136               }
   136               }
   149         form = reg_forms.PasswordResetForm(request.POST)
   149         form = reg_forms.PasswordResetForm(request.POST)
   150         if form.is_valid():
   150         if form.is_valid():
   151             email = form.cleaned_data['email']
   151             email = form.cleaned_data['email']
   152             user = User.objects.get(email__iexact=email)
   152             user = User.objects.get(email__iexact=email)
   153             new_password = reg_events.reset_password(user)
   153             new_password = reg_events.reset_password(user)
   154             return render_to_response('password_reset.html', {'new_password':new_password})
   154             return render_to_response('password_reset.html', {'user':user, 'new_password':new_password})
   155         else:
   155         else:
   156             return render_to_response('password_reset.html', {'form':form})
   156             return render_to_response('password_reset.html', {'user':user, 'form':form})
   157     else:
   157     else:
   158         form = reg_forms.PasswordResetForm()
   158         form = reg_forms.PasswordResetForm()
   159         return render_to_response('password_reset.html', {'form':form})
   159         return render_to_response('password_reset.html', {'user':user, 'form':form})
   160 
   160 
   161 def change_password(request):
   161 def change_password(request):
   162     """ check for the password and then set the new password.
   162     """ check for the password and then set the new password.
   163     """
   163     """
   164 
   164 
   171         data.__setitem__('username', user.username)
   171         data.__setitem__('username', user.username)
   172         form = reg_forms.PasswordChangeForm(data)
   172         form = reg_forms.PasswordChangeForm(data)
   173         if form.is_valid():
   173         if form.is_valid():
   174             new_password = form.cleaned_data['new_password']
   174             new_password = form.cleaned_data['new_password']
   175             reg_events.change_password(user, new_password)
   175             reg_events.change_password(user, new_password)
   176             return render_to_response('password_change.html', {'password_changed': True})
   176             return render_to_response('password_change.html', {'user':user, 'password_changed': True})
   177         else:
   177         else:
   178             return render_to_response('password_change.html', {'form':form})
   178             return render_to_response('password_change.html', {'user':user, 'form':form})
   179     else:
   179     else:
   180         form = reg_forms.PasswordChangeForm()
   180         form = reg_forms.PasswordChangeForm()
   181         return render_to_response('password_change.html', {'form':form})
   181         return render_to_response('password_change.html', {'user':user, 'form':form})
   182 
   182 
   183 def open_feedback(request, event_key):
   183 def open_feedback(request, event_key):
   184     """ see if the event exists.
   184     """ see if the event exists.
   185     then see if feedback is closed.
   185     then see if feedback is closed.
   186     then give option for opening the feedback.
   186     then give option for opening the feedback.
   200         days = 2
   200         days = 2
   201         if request.method == "POST":
   201         if request.method == "POST":
   202             day = request.POST['day']
   202             day = request.POST['day']
   203             event.feedback_status = day
   203             event.feedback_status = day
   204             event.save()
   204             event.save()
   205             return render_to_response('open_feedback.html', {'success': True, 'day':day, 'event':event})
   205             return render_to_response('open_feedback.html', {'user':user, 'success': True, 'day':day, 'event':event})
   206         else:
   206         else:
   207             return render_to_response('open_feedback.html', {'event': event, 'days': range(1,days+1)})
   207             return render_to_response('open_feedback.html', {'user':user, 'event': event, 'days': range(1,days+1)})
   208     else:
   208     else:
   209         return redirect('/reg')
   209         return redirect('/reg')
   210 
   210 
   211 def close_feedback(request, event_key):
   211 def close_feedback(request, event_key):
   212     """ check if the user is org.
   212     """ check if the user is org.
   223 
   223 
   224     if is_org:
   224     if is_org:
   225         day = event.feedback_status
   225         day = event.feedback_status
   226         event.feedback_status = '0'
   226         event.feedback_status = '0'
   227         event.save()
   227         event.save()
   228         return render_to_response('close_feedback.html', {'event': event, 'day':day})
   228         return render_to_response('close_feedback.html', {'user':user, 'event': event, 'day':day})
   229     else:
   229     else:
   230         return redirect('/reg')
   230         return redirect('/reg')
   231 
   231 
   232 def open_registration(request, event_key):
   232 def open_registration(request, event_key):
   233     """ simply check for is_org and then set the registration_is_open flag.
   233     """ simply check for is_org and then set the registration_is_open flag.
   242     is_org = True if user in event.organizers.all() else False
   242     is_org = True if user in event.organizers.all() else False
   243 
   243 
   244     if is_org:
   244     if is_org:
   245         event.registration_is_open = True
   245         event.registration_is_open = True
   246         event.save()
   246         event.save()
   247         return render_to_response('reg_open.html', {'event': event})
   247         return render_to_response('reg_open.html', {'user':user, 'event': event})
   248     else:
   248     else:
   249         return redirect('/reg')
   249         return redirect('/reg')
   250 
   250 
   251 def close_registration(request, event_key):
   251 def close_registration(request, event_key):
   252     """ simply check for is_org and then unset the registration_is_open flag.
   252     """ simply check for is_org and then unset the registration_is_open flag.
   261     is_org = True if user in event.organizers.all() else False
   261     is_org = True if user in event.organizers.all() else False
   262 
   262 
   263     if is_org:
   263     if is_org:
   264         event.registration_is_open = False
   264         event.registration_is_open = False
   265         event.save()
   265         event.save()
   266         return render_to_response('reg_close.html', {'event': event})
   266         return render_to_response('reg_close.html', {'user':user, 'event': event})
   267     else:
   267     else:
   268         return redirect('/reg')
   268         return redirect('/reg')
   269 
   269 
   270 def register_for_event(request, event_key):
   270 def register_for_event(request, event_key):
   271     """ check if the user is logged in.
   271     """ check if the user is logged in.