def profile(request): ''' View for User Profile ''' #Getting Gravatar Image email = request.user.email size=150 gravatar_url = "http://www.gravatar.com/avatar/" + hashlib.md5(email.lower()).hexdigest() + "?" gravatar_url += urllib.urlencode({'s':str(size)}) #Getting User Status for App status = "Active" if request.user.is_active==True else "Gone Fishin'" # If form is already submitted if request.method == 'POST': #The constructor has been overridden. [] necessary form = forms.Profile(request.POST) if form.is_valid(): # set Profile Details old_name = mmclient.getUserName(email) msg = mmclient.setProfileDetails(email, form.cleaned_data) messages.info(request, msg) #Change all occurances of old_name to new_name in the db msg = MessageRenderer.updateScreenname(old_name,form.cleaned_data['display_name']) return HttpResponseRedirect("/profile") else: #Get dictionary from mmclient profile_details = mmclient.getProfileDetails(email) form = forms.Profile(profile_details) # Create new form pwdform = forms.ChangePwd() return render_to_response('profile.html', {'gurl': gravatar_url, 'form':form, 'pwdform':pwdform, 'status':status}, context_instance=RequestContext(request))
def conversation(request, threadid): ''' To View a conversation given the threadid ''' if request.user.is_authenticated(): # Get all messages in the conversation mslist = MessageRenderer.getMessageByThreadID(threadid) return render_to_response('view_conversation.html', {'mslist':mslist}, context_instance=RequestContext(request)) else: return render_to_response('welcome.html',context_instance=RequestContext(request))
def home(request): ''' View for User's Home Page ''' if request.user.is_authenticated(): # Filter messages for user mslist = MessageRenderer.getLatestMessages(request.user.email) return render_to_response('home.html', {'mslist':mslist}, context_instance=RequestContext(request)) else: return render_to_response('welcome.html',context_instance=RequestContext(request))
def archives(request): ''' View for the archives ''' if request.method == 'POST': form = forms.ArchiveRenderer(request.user.email, request.POST) if form.is_valid(): listname = form.cleaned_data['listnames'] to_date = form.cleaned_data['to_date'] from_date = form.cleaned_data['from_date'] mslist = MessageRenderer.getMessagesBasicAchive(listname, from_date, to_date) if not mslist: #MSLIST is empty messages.error(request, "No messages for "+ listname + " list from " + str(from_date) + " to " + str(to_date)) return render_to_response('archives.html', {'mslist':mslist}, context_instance=RequestContext(request)) else: form = forms.ArchiveRenderer(request.user.email) # An unbound form return render_to_response('archives.html', {'form': form}, context_instance=RequestContext(request))