def invite(request): if request.POST: form = InviteForm(request.POST) if form.is_valid(): site = Site.objects.get(pk=settings.SITE_ID) key = ActivateKey.objects.next() key.email = form.cleaned_data['email'] key.save() activate_url = '%s%s' % ( site.domain, reverse('regist', kwargs=dict(activate_key=key.activate_key))) t = loader.get_template('event/mail/invite.mail') c = RequestContext(request, { 'domain': site.name, 'activate_url': activate_url }) mail = EmailMessage(_(u'Invitation from %s') % site.name, t.render(c), to=[form.cleaned_data['email']]) mail.send() #request.user.message_set.create( # message=_('Sent invitation message to %(address)s') % {'address': form.cleaned_data['email']}) #return HttpResponseRedirect(URL_HOME) return HttpResponseRedirect(reverse('invite_email_sent')) else: form = InviteForm() return render_to_response('event/invite.html', context_instance=RequestContext( request, {'form': form}))
def api_invite(request, output_format="json"): """Create a user, but make it disabled. Formats: json HTTP Method: GET Requires authentication: false Parameters: * email: E-mail address for the new user. """ status = 201 # HTTP return status. We'll be optimistic. data = {} # response data try: if request.method == "POST": form = InviteForm(request.POST) if form.is_valid(): email = form.cleaned_data["email"] try: user = User.objects.get(email=email) raise UserEmailExists("It looks like you've already requested an invitation.") except User.DoesNotExist: username = email # Username defaults to e-mail address if len(email) > 30: print email # Django usernames can't be longer than 30 characters # Just take the first 30 characters of the part of # the email address before the '@' email_parts = email.partition("@") username = email_parts[0][:30] user = User.objects.create_user(username=username, email=email) user.is_active = False user.set_unusable_password() user.save() user_profile = UserProfile(user=user) user_profile.save() else: print form.errors status = 400 # Caught in a bad request data["error"] = "Invalid e-mail address." else: raise MethodUnsupported("%s is not supported at this time." % (request.method)) except MethodUnsupported, e: status = 405 # Method not allowed data["error"] = "%s" % e
def site_invite(request, template_name="account/invite_non_member.html", **kwargs): if request.POST: form = InviteForm(request.POST) if form.is_valid(): form.save(request.user) return HttpResponseRedirect(reverse("messages_all")) else: form = InviteForm(request.POST) else: form = InviteForm() return render_to_response( template_name, {"form": form, "hubs": get_hubs()}, context_instance=RequestContext(request) )
def index(request): vars = {} if request.method == "POST": invite_form = InviteForm(request.POST, request.FILES) if invite_form.is_valid(): invite_form.save(request.user) context = {"notice": "Thanks for inviting more people to join!"} return HttpResponseRedirect(addToQueryString(reverse("tasks"), context)) else: vars["invite_form"] = invite_form else: vars["invite_form"] = InviteForm() vars["siteurl"] = quote("http://%s" % Site.objects.get_current().domain) request.user.seen_invite = True request.user.save() return render_with_context(request, "invite/invite_page.html", vars)
def invite(request, next=None): """Handles invite form submission""" invite_form = InviteForm(instance=Invitation(user=request.user), data=request.POST) if invite_form.is_valid(): invites = invite_form.save() emails = ", ".join([invite.email for invite in invites]) messages.success(request, 'Invitation sent to %s' % emails) else: messages.error(request, 'Form values where invalid, please try fill out the form again.') if request.is_ajax() and request.method == 'POST': message_html = loader.render_to_string('_messages.html', {}, RequestContext(request)) return HttpResponse(message_html) next = request.POST.get("next", next) if next: return redirect(next) return redirect("index")
def index(request): vars = {} if request.method == "POST": invite_form = InviteForm(request.POST, request.FILES) if invite_form.is_valid(): invite_form.save(request.user) return HttpResponseRedirect(addToQueryString(reverse("inviteindex"), {'notice': strings.INVITE_NOTICE_SUCCESS})) else: vars['invite_form'] = invite_form else: vars['invite_form'] = InviteForm() vars['siteurl'] = quote("http://%s" % Site.objects.get_current().domain) return render_with_context(request, "invite/invite_page.html", vars)
def site_invite(request, template_name='account/invite_non_member.html', **kwargs): if request.POST: form = InviteForm(request.POST) if form.is_valid(): form.save(request.user) return HttpResponseRedirect(reverse('messages_all')) else: form = InviteForm(request.POST) else: form = InviteForm() return render_to_response(template_name, { 'form': form, 'hubs': get_hubs(), }, context_instance=RequestContext(request))
def invite(request, next=None): """Handles invite form submission""" invite_form = InviteForm(instance=Invitation(user=request.user), data=request.POST) if invite_form.is_valid(): invites = invite_form.save() emails = ", ".join([invite.email for invite in invites]) messages.success(request, 'Invitation sent to %s' % emails) else: messages.error( request, 'Form values where invalid, please try fill out the form again.') if request.is_ajax() and request.method == 'POST': message_html = loader.render_to_string('_messages.html', {}, RequestContext(request)) return HttpResponse(message_html) next = request.POST.get("next", next) if next: return redirect(next) return redirect("index")
def invite_user(request): active_users = User.objects.filter(is_active=True) not_active_users = User.objects.filter(is_active=False) if request.method == 'POST': form = InviteForm(request.POST) if form.is_valid(): form.save() logger.info("Invited new user with email %s" % \ form.cleaned_data['email'] ) messages.info(request, _("Invite email was send for %s" % \ form.cleaned_data['email']) ) return HttpResponseRedirect(reverse('invite-user')) else: form = InviteForm() data = { 'form': form, 'active_users': active_users, 'not_active_users': not_active_users } return render_to_response('people/invite.html', data, RequestContext(request))
def api_invite(request, output_format='json'): """Create a user, but make it disabled. Formats: json HTTP Method: GET Requires authentication: false Parameters: * email: E-mail address for the new user. * interest: User's interest in signing up. Value can be either "publisher", "consumer", or an empty string. Default is an empty string. """ status = 201 # HTTP return status. We'll be optimistic. data = {} # response data try: if request.method == 'POST': #print "DEBUG: POST" form = InviteForm(request.POST) #print "DEBUG: form object created" if form.is_valid(): #print "DEBUG: form validated" email = form.cleaned_data['email'] interest = form.cleaned_data['interest'] try: user = User.objects.get(email=email) raise UserEmailExists("It looks like you've already requested an invitation.") except User.DoesNotExist: username = email # Username defaults to e-mail address if len(email) > 30: #print email # Django usernames can't be longer than 30 characters # Just take the first 30 characters of the part of # the email address before the '@' email_parts = email.partition('@') username = email_parts[0][:30] user = User.objects.create_user(username=username, email=email) user.is_active = False user.set_unusable_password() user.save() #print "DEBUG: saved user" user_profile = UserProfile(user=user, interest=interest) user_profile.save() #print "DEBUG: saved user profile" else: #print "DEBUG: %s" % (form.errors) status = 400 # Caught in a bad request data['error'] = "Invalid e-mail address." else: raise MethodUnsupported("%s is not supported at this time." % \ (request.method)) except MethodUnsupported, e: logger.warning("API call to %s with unsupported method %s" % \ (request.path, request.method)) status = 405 # Method not allowed data['error'] = "%s" % e