def invite(request, code): profile = check_profile(code) if not profile: messages.error(request, 'Your personal URL is incorrect, please reset your account or provide proper url') return redirect('index') from forms import InvitationForm if request.method == 'POST': form = InvitationForm(request.POST) if form.is_valid(): emails=form.cleaned_data['emails'] emails=emails.split(',') for e in emails: e=e.strip() i=Invitation(email=e, key=generate_key()) i.save() u, created=User.objects.get_or_create(username=e[:30], email=e) notification.send([u], 'invite', {'key': i.key, 'profile':profile }) if len(emails): messages.info(request, '%d invitation(s) has been sent ' % len(emails)) return redirect('homepage', code=code) else: form=InvitationForm(initial={'key':code}) return render_to_response('researchers/invite.html', {'profile':profile, 'form':form, 'key':code}, context_instance=RequestContext(request))
def join_with_invitation(): form = InvitationForm() next = request.args.get('next') or url_for('.register') if form.validate_on_submit(): username = form.username.data recommender_id = current_app.redis.get('uname:%s:uid'%username) current_app.logger.info('recommender_id:%s' % recommender_id) if not recommender_id: flash("查无此人") return render_template('join_with_invitation.html', form=form, next=next) fields = ['id', 'username', 'photo'] recommender = current_app.redis.hmget('user:%s'%recommender_id, fields) recommender = dict(zip(fields, recommender)) current_app.logger.info('recommender: %s' % recommender) if int(recommender.get('invite_quota_left', 0)) < 1: flash("邀请名额已用完") return render_template('join_with_invitation.html', form=form, next=next) session['uid'] = recommender_id return redirect(next) return render_template('join_with_invitation.html', form=form, next=next)
def index(): form = InvitationForm() if form.validate_on_submit(): person = Person(booking_number=form.booking_number.data, name=form.name.data, last_name=form.last_name.data, sex=form.sex.data, passport_number=form.passport_number.data, delivery_needed=form.delivery_needed.data, address=form.address.data, citizenship=form.citizenship.data, birth_date=form.birth_date.data, entry_date=form.entry_date.data, exit_date=form.exit_date.data, kids=form.kids.data, transport=form.transport.data, email=form.email.data, cities=form.cities.data, if_double=form.if_double.data) db.session.add(person) db.session.commit() flash('Thank you!') return redirect('/') return render_template('index.html', title="Invitation form", form=form)
def invite_people(request, project_id): # TODO: verify user is owner of the project model_project = Project.objects.get(id=int(project_id)) if request.method == "POST": form = InvitationForm(request.POST) if form.is_valid(): emails = form.cleaned_data["emails"] email_people(model_project, emails) return render_to_response('email_success.html', {"li_emails": emails, "proj": model_project}, context_instance=RequestContext(request)) else: form = InvitationForm() return render_to_response('invite_people.html', {"form": form}, context_instance=RequestContext(request))
def post(self, request): form = InvitationForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] subject = 'Invitation to join MyTweet App' sender_name = request.user.username sender_email = request.user.email invite_code = Invite.generate_invite_code(email) link = 'http://%s/users/invite/accept/%s/' % (settings.SITE_HOST, invite_code) context = Context({"sender_name": sender_name, "sender_email": sender_email, "email": email, "link": link}) invite_email_template = render_to_string('partials/_invite_email_template.html', context) msg = EmailMultiAlternatives(subject, invite_email_template, settings.EMAIL_HOST_USER, [email], cc=[settings.EMAIL_HOST_USER]) user = User.objects.get(username=request.user.username) invitation = Invitation() invitation.email = email invitation.code = invite_code invitation.sender = user invitation.save() success = msg.send() return HttpResponseRedirect('/users/invite?success='+str(success) +'&email='+email)
def invitation_retrieve(request, response_format='html'): "Retrieve invitation and create account" if request.user.username: return HttpResponseRedirect('/') email = request.REQUEST.get('email') key = request.REQUEST.get('key') if email and key: try: invitation = Invitation.objects.get(email=email, key=key) except: raise Http404 else: raise Http404 if request.POST: form = InvitationForm(invitation, request.POST) if form.is_valid(): profile = form.save() username = profile.user.username password = form.cleaned_data['password'] user = authenticate(username=username, password=password) if user: invitation.delete() login(request, user) return HttpResponseRedirect('/') else: form = InvitationForm(invitation) return render_to_response('core/invitation_retrieve', {'invitation': invitation, 'form': form}, context_instance=RequestContext(request), response_format=response_format)
def invite(request, code): profile = check_profile(code) if not profile: messages.error( request, 'Your personal URL is incorrect, please reset your account or provide proper url' ) return redirect('index') from forms import InvitationForm if request.method == 'POST': form = InvitationForm(request.POST) if form.is_valid(): emails = form.cleaned_data['emails'] emails = emails.split(',') for e in emails: e = e.strip() i = Invitation(email=e, key=generate_key()) i.save() u, created = User.objects.get_or_create(username=e[:30], email=e) notification.send([u], 'invite', { 'key': i.key, 'profile': profile }) if len(emails): messages.info(request, '%d invitation(s) has been sent ' % len(emails)) return redirect('homepage', code=code) else: form = InvitationForm(initial={'key': code}) return render_to_response('researchers/invite.html', { 'profile': profile, 'form': form, 'key': code }, context_instance=RequestContext(request))
def invite(): form = InvitationForm() if request.method == 'POST' and form.validate_on_submit(): emails = request.form.get('emails') message = request.form.get('message') invite_info = Invitations( user_id=current_user.id, emails=emails, message=message ) db.session.add(invite_info) db.session.commit() email_list = emails.split() for email in email_list: msg_body = '%s <br><br> %s <br><br> esyakutuphanesi.com'\ % (current_user.name, message) html_msg = '%s <br><br> %s <br><br> <a href="http://esyakutuphanesi.com/">esyakutuphanesi.com</a>' \ % (current_user.name, message) msg_subject = u"%s seni Eşya Kütüphanesi'ne davet ediyor!" % current_user.name msg = MailMessage( body=msg_body, html=html_msg, subject=msg_subject, sender=(u"Eşya Kütüphanesi", "*****@*****.**"), recipients=[email] ) mail.send(msg) flash(u"Davetini ilettik!") return redirect(url_for('invite')) return render_template("invite.html", form=form, user=current_user)
def post_comment(request, project_id): dct_return = { "status": "error", "data": "" } model_project = Project.objects.get(id=int(project_id)) if model_project.owner != request.user and not model_project.members.filter(user=request.user): dct_return["data"] = "Not authorized" return dct_return if request.method == "POST": form = CommentForm(request.POST) if form.is_valid(): comment = form.cleaned_data["comment"] ProjectComment.objects.create(proj=model_project, user=request.user, comment=comment) else: form = InvitationForm() dct_return["status"] = "success" dct_return["data"] = form.as_table() return dct_return