def invite_web_user(request, domain, template="users/invite_web_user.html"): role_choices = UserRole.role_choices(domain) if request.method == "POST": current_users = [user.username for user in WebUser.by_domain(domain)] pending_invites = [di.email for di in DomainInvitation.by_domain(domain)] form = AdminInvitesUserForm(request.POST, excluded_emails= current_users + pending_invites, role_choices=role_choices ) if form.is_valid(): data = form.cleaned_data # create invitation record data["invited_by"] = request.couch_user.user_id data["invited_on"] = datetime.utcnow() data["domain"] = domain invite = DomainInvitation(**data) invite.save() invite.send_activation_email() messages.success(request, "Invitation sent to %s" % invite.email) return HttpResponseRedirect(reverse("web_users", args=[domain])) else: form = AdminInvitesUserForm(role_choices=role_choices) context = _users_context(request, domain) context.update( registration_form=form ) return render(request, template, context)
def invite_web_user(request, domain, template="users/invite_web_user.html"): role_choices = UserRole.role_choices(domain) if request.method == "POST": current_users = [user.username for user in WebUser.by_domain(domain)] pending_invites = [di.email for di in DomainInvitation.by_domain(domain)] form = AdminInvitesUserForm(request.POST, excluded_emails= current_users + pending_invites, role_choices=role_choices ) if form.is_valid(): data = form.cleaned_data # create invitation record data["invited_by"] = request.couch_user.user_id data["invited_on"] = datetime.utcnow() data["domain"] = domain invite = DomainInvitation(**data) invite.save() invite.send_activation_email() messages.success(request, "Invitation sent to %s" % invite.email) return HttpResponseRedirect(reverse("web_users", args=[domain])) else: form = AdminInvitesUserForm(role_choices=role_choices) context = _users_context(request, domain) context.update( registration_form=form ) return render(request, template, context)
def invite_web_user_form(self): role_choices = _get_editable_role_choices(self.domain, self.request.couch_user, allow_admin_role=True) loc = None domain_request = DomainRequest.objects.get( id=self.request_id) if self.request_id else None initial = { 'email': domain_request.email if domain_request else None, } if 'location_id' in self.request.GET: from corehq.apps.locations.models import SQLLocation loc = SQLLocation.objects.get( location_id=self.request.GET.get('location_id')) if self.request.method == 'POST': current_users = [ user.username for user in WebUser.by_domain(self.domain) ] pending_invites = [ di.email for di in SQLInvitation.by_domain(self.domain) ] return AdminInvitesUserForm(self.request.POST, excluded_emails=current_users + pending_invites, role_choices=role_choices, domain=self.domain) return AdminInvitesUserForm(initial=initial, role_choices=role_choices, domain=self.domain, location=loc)
def invite_web_user_form(self): role_choices = UserRole.role_choices(self.domain) if self.request.method == 'POST': current_users = [user.username for user in WebUser.by_domain(self.domain)] pending_invites = [di.email for di in DomainInvitation.by_domain(self.domain)] return AdminInvitesUserForm( self.request.POST, excluded_emails=current_users + pending_invites, role_choices=role_choices, domain=self.domain ) return AdminInvitesUserForm(role_choices=role_choices, domain=self.domain)
def invite_web_user_form(self): role_choices = UserRole.role_choices(self.domain) loc = None if 'location_id' in self.request.GET: from corehq.apps.locations.models import SQLLocation loc = SQLLocation.objects.get( location_id=self.request.GET.get('location_id')) if self.request.method == 'POST': current_users = [ user.username for user in WebUser.by_domain(self.domain) ] pending_invites = [ di.email for di in DomainInvitation.by_domain(self.domain) ] return AdminInvitesUserForm(self.request.POST, excluded_emails=current_users + pending_invites, role_choices=role_choices, domain=self.domain) return AdminInvitesUserForm(role_choices=role_choices, domain=self.domain, location=loc)