def forgot(request): content = Content() content.title = "Forgot Password" content.header = "Forgot Password" content.body = "Enter your email address and you will receive an email with a link to reset your password" submit_value = "Submit" submit_action = reverse('users.views.forgot') if request.method == 'POST': form = ResetForm(request.POST) if form.is_valid(): user = User.objects.filter(email=form.cleaned_data['email']) if user > 0: user = ProjectUser.objects.get(user=user[0]) user.reset_string = sha.sha(str(random.random())).hexdigest() user.save() current_site = Site.objects.get_current() email_message = """ Click this link to reset your password, http://""" + current_site.domain + reverse("users.views.reset", kwargs={'email':user.user.email, 'reset_string':user.reset_string}) send_mail("Partybeat password reset", email_message, "*****@*****.**", [user.user.email], fail_silently=False) content.body = "An email with the reset link has been sent" else: form = ResetForm() return render_to_response('users/index.html', locals(), context_instance=RequestContext(request))
def reset(request, email, reset_string): content = Content() content.title = "Password Reset" content.header = "Password Reset" content.body = "" user = User.objects.filter(email=email) if user: user = ProjectUser.objects.get(user=user[0]) if user and user.reset_string == reset_string: if request.method == 'POST': form = ResetPasswordForm(request.POST) if form.is_valid(): user.user.set_password(form.cleaned_data["password"]) user.reset_string = None user.user.save() user.save() success_message = 'Your password has been updated. Please try to <a href="%s">log in</a>' % (reverse('users.views.login')) else: content.body = "Please enter a new password" form = ResetPasswordForm() submit_value = "Submit" submit_action = reverse('users.views.reset', kwargs={'email':email, 'reset_string':reset_string}) else: success_message = "The email address or reset key is incorrect. Please use the url provided in the password reset email" return render_to_response('users/index.html', locals(), context_instance=RequestContext(request))
def add_section(request): name=request.POST.get('section_name') title=request.POST.get('section_title') language=str(request.LANGUAGE_CODE) next_index=int(request.POST.get('section_index')) new_section=Section(section_name=name, section_title=title, section_lang=language, section_author=request.user, section_index=next_index) new_section.save() new_content=Content(section_id=new_section, text="No se ha definido contenido para esta sección") new_content.save() return HttpResponseRedirect("/")
def upload(request): mobile = request.POST.get('mobile') album_id = request.POST.get('album') userprof = get_user_profile(request) try: delete = request.POST.get('deleted').split('|') except: delete = [] album = None if album_id != -1 and album_id != None: print album_id try: album = Album.objects.get(id=album_id) except: album = None new_album_name = request.POST.get('new_album_name') if new_album_name: couple = get_couple(userprof) album = Album(name=new_album_name) album.save() couple.albums.add(album) couple.save() index = 0 for uploaded_content in request.FILES.getlist('content'): if str(index) not in delete: print uploaded_content new_content = Content() new_content.owner = userprof file_content = ContentFile(uploaded_content.read()) new_content.image.save(uploaded_content.name, file_content) # ext = uploaded_content.name[uploaded_content.name.find('.')+1:] ext = os.path.splitext(uploaded_content.name)[1] if ext in ["mov","MOV","mp4"]: new_content.is_video = True new_content.metric = int(random.random() * 6) + 8 new_content.save() new_content.save() if album: album.content.add(new_content) album.save() if mobile: userprof.queue.content.add(new_content); userprof.queue.save() else: print "not uploading index:%i" % index index += 1 if mobile: return HttpResponseRedirect('/mobile_confirm/') return HttpResponseRedirect('/browse/')