Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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))
Ejemplo n.º 5
0
	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)
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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))
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
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