def save_contact(self, request): log.debug("Saving contact") data = self.cleaned_data password = data['password1'] email = data['email'] username = data['username'] verify = (config_value('SHOP', 'ACCOUNT_VERIFICATION') == 'EMAIL') if verify: site = Site.objects.get_current() from registration.models import RegistrationProfile # TODO: # In django-registration trunk this signature has changed. # Satchmo is going to stick with the latest release so I'm changing # this to work with 0.7 # When 0.8 comes out we're going to have to refactor to this: #user = RegistrationProfile.objects.create_inactive_user( # username, email, password, site) # See ticket #1028 where we checked in the above line prematurely user = RegistrationProfile.objects.create_inactive_user(username, '', password, email) else: user = User.objects.create_user(username, email, password) user.save() # If the user already has a contact, retrieve it. # Otherwise, create a new one. try: contact = Contact.objects.from_request(request, create=False) except Contact.DoesNotExist: contact = Contact() contact.user = user contact.name = username contact.email = email contact.title = data.get('title', '') contact.save() if 'newsletter' not in data: subscribed = False else: subscribed = data['newsletter'] signals.satchmo_registration.send(self, contact=contact, subscribed=subscribed, data=data) if not verify: user = authenticate(username=username, password=password) login(request, user) send_welcome_email(email, username, '') signals.satchmo_registration_verified.send(self, contact=contact) self.contact = contact return contact
def save_contact(self, request): log.debug("Saving contact") data = self.cleaned_data password = data['password1'] email = data['email'] first_name = data['first_name'] last_name = data['last_name'] username = generate_id(first_name, last_name, email) verify = (config_value('SHOP', 'ACCOUNT_VERIFICATION') == 'EMAIL') if verify: from registration.models import RegistrationProfile user = RegistrationProfile.objects.create_inactive_user( username, password, email, send_email=True) else: user = User.objects.create_user(username, email, password) user.first_name = first_name user.last_name = last_name user.save() # If the user already has a contact, retrieve it. # Otherwise, create a new one. try: contact = Contact.objects.from_request(request, create=False) except Contact.DoesNotExist: contact = Contact() contact.user = user contact.first_name = first_name contact.last_name = last_name contact.email = email contact.role = 'Customer' contact.title = data.get('title', '') contact.save() if 'newsletter' not in data: subscribed = False else: subscribed = data['newsletter'] signals.satchmo_registration.send(self, contact=contact, subscribed=subscribed, data=data) if not verify: user = authenticate(username=username, password=password) login(request, user) send_welcome_email(email, first_name, last_name) signals.satchmo_registration_verified.send(self, contact=contact) self.contact = contact return contact
def save(self, site_skin): cd = self.cleaned_data user = User() user.username=cd['username'] user.email = cd['email'] user.first_name = cd['first_name'] user.last_name = cd['last_name'] user.is_active = True user.save() user.set_password(cd['password1']) contact = Contact() contact.user = user contact.role = ContactRole.objects.get(key='Concierge') contact.email = cd['email'] contact.save() # the listeners.sfst_object_link creates the concierge and adds it to contact.concierge. concierge = contact.concierge concierge.site_skin = site_skin concierge.contact = contact concierge.booking_type = cd['booking_type'] if 'send_checks_to_bool' in cd and cd['send_checks_to_bool']: concierge.send_checks_to = Concierge.SEND_CHECKS_TO_HOME concierge.save() super(ConciergeRegistrationForm, self).save(concierge) # create default commissions for this new concierge for tour_type in TourType.objects.filter(active=True): ConciergeCommission.objects.create(concierge=concierge, tour_type=tour_type, amount=tour_type.default_commission) # shoot emails to concierge about this c_subject = 'Your Concierge Account with SF Shuttle Tours / NY Sprinter Tours has been setup!' c_message = 'Thank you for creating your Concierge Account with us! You will now be able to easily book tours online, track your sales commission, request brochures, and send us messages through your own account.\n\n' c_message += 'PLEASE BOOKMARK THIS LINK: http://%s%s\n\n' % (django_settings.SITE_DOMAIN, reverse('concierges_home')) c_message += 'This is the link you will use on a daily basis. If you are having any trouble with your account, please call us at 415-513-5400 (for NY concierges call 1-888-996-9286) and we will be happy to help you!\n\n' c_message += 'Regards,\nSF Shuttle Tours / NY Sprinter Tours Team!\n\n' start_thread(send_mail, c_subject, c_message, django_settings.DEFAULT_FROM_EMAIL, [django_settings.DEFAULT_TO_EMAIL, contact.email]) # shoot an email to admins about this a_subject = '"%s %s" has just created a Concierge Account' % (user.first_name, user.last_name) a_message = 'Concierge Name: %s %s\n' % (user.first_name, user.last_name) a_message += 'Hotel name: %s\n' % concierge.hotel_name a_message += 'Phone number: %s %s\n' % (concierge.hotel_phone(), concierge.home_phone()) a_message += 'How often they book our tours: %s\n' % concierge.frequency a_message += 'Average number of tours they book per week: %s\n' % concierge.per_week start_thread(send_mail, a_subject, a_message, django_settings.DEFAULT_FROM_EMAIL, [django_settings.DEFAULT_TO_EMAIL,])
def handler_create_profile(sender, user, **kwargs): try: contact = Contact.objects.get(user=user) except Contact.DoesNotExist: contact = Contact() contact.user = user #contact.first_name = first_name #contact.last_name = last_name contact.email = user.email contact.role = ContactRole.objects.get(pk='Customer') contact.title = '' contact.save() l.debug("Signal Profile Create default -> satchmo_registration_verified") signals.satchmo_registration_verified.send(sender=sender, contact=contact)
def register(self, request, **kwargs): """Use HtmlRegistrationProfile instead of default RegistrationProfile """ username = kwargs['username'] email = kwargs['email'] password = kwargs['password1'] first_name = kwargs['first_name'] last_name = kwargs['last_name'] if not username: username = generate_id(first_name, last_name, email) if Site._meta.installed: site = Site.objects.get_current() else: site = RequestSite(request) new_user = HtmlRegistrationProfile.objects.create_inactive_user( username, email, password, site) new_user.first_name = first_name new_user.last_name = last_name new_user.save() signals.user_registered.send(sender=self.__class__, user=new_user, request=request) # If the user already has a contact, retrieve it. # Otherwise, create a new one. contact = None try: contact = Contact.objects.from_request(request, create=False) except Contact.DoesNotExist: pass if contact is None: contact = Contact() contact.user = new_user contact.first_name = first_name contact.last_name = last_name contact.email = email contact.role = ContactRole.objects.get(pk='Customer') contact.title = "%s %s" % (first_name, last_name) contact.save() return new_user
def save_contact(self, request, force_new_contact = False): log.debug("Saving contact") data = self.cleaned_data password = data['password1'] email = data['email'] first_name = data['first_name'] last_name = data['last_name'] allow_nickname = config_value('SHOP', 'ALLOW_NICKNAME_USERNAME') if allow_nickname and data['username']: username = data['username'] else: username = generate_id(first_name, last_name, email) verify = (config_value('SHOP', 'ACCOUNT_VERIFICATION') == 'EMAIL') if verify: site = Site.objects.get_current() from registration.models import RegistrationProfile user = RegistrationProfile.objects.create_inactive_user( username, email, password, site) else: user = User.objects.create_user(username, email, password) user.first_name = first_name user.last_name = last_name user.save() # If the user already has a contact, retrieve it. # Otherwise, create a new one. contact = None if not force_new_contact: try: contact = Contact.objects.from_request(request, create=False) except Contact.DoesNotExist: pass if contact is None: contact = Contact() contact.user = user contact.first_name = first_name contact.last_name = last_name contact.email = email contact.role = ContactRole.objects.get(pk='Customer') contact.title = data.get('title', '') contact.save() if 'newsletter' not in data: subscribed = False else: subscribed = data['newsletter'] signals.satchmo_registration.send(self, contact=contact, subscribed=subscribed, data=data) if not verify: username_field = getattr(User, "USERNAME_FIELD", 'username') if username_field == 'username': user = authenticate(username=username, password=password) else: user = authenticate(username=email, password=password) login(request, user) send_welcome_email(email, first_name, last_name) signals.satchmo_registration_verified.send(self, contact=contact) self.contact = contact return contact
def save_contact(self, request): log.debug("Saving contact") data = self.cleaned_data password = data['password1'] email = data['email'] first_name = data['first_name'] last_name = data['last_name'] username = generate_id(first_name, last_name, email) verify = (config_value('SHOP', 'ACCOUNT_VERIFICATION') == 'EMAIL') if verify: site = Site.objects.get_current() from registration.models import RegistrationProfile # TODO: # In django-registration trunk this signature has changed. # Satchmo is going to stick with the latest release so I'm changing # this to work with 0.7 # When 0.8 comes out we're going to have to refactor to this: #user = RegistrationProfile.objects.create_inactive_user( # username, email, password, site) # See ticket #1028 where we checked in the above line prematurely user = RegistrationProfile.objects.create_inactive_user( username, password, email) else: user = User.objects.create_user(username, email, password) user.first_name = first_name user.last_name = last_name user.save() # If the user already has a contact, retrieve it. # Otherwise, create a new one. try: contact = Contact.objects.from_request(request, create=False) except Contact.DoesNotExist: contact = Contact() contact.user = user contact.first_name = first_name contact.last_name = last_name contact.email = email contact.role = ContactRole.objects.get(pk='Customer') contact.title = data.get('title', '') contact.save() if 'newsletter' not in data: subscribed = False else: subscribed = data['newsletter'] signals.satchmo_registration.send(self, contact=contact, subscribed=subscribed, data=data) if not verify: user = authenticate(username=username, password=password) login(request, user) send_welcome_email(email, first_name, last_name) signals.satchmo_registration_verified.send(self, contact=contact) self.contact = contact return contact
def save_contact(self, request, force_new_contact = False): log.debug("Saving contact") data = self.cleaned_data password = data['password1'] email = data['email'] first_name = data['first_name'] last_name = data['last_name'] allow_nickname = config_value('SHOP', 'ALLOW_NICKNAME_USERNAME') if allow_nickname and data['username']: username = data['username'] else: username = generate_id(first_name, last_name, email) verify = (config_value('SHOP', 'ACCOUNT_VERIFICATION') == 'EMAIL') if verify: site = Site.objects.get_current() from registration.models import RegistrationProfile user = RegistrationProfile.objects.create_inactive_user( username, email, password, site) else: user = User.objects.create_user(username, email, password) user.first_name = first_name user.last_name = last_name user.save() # If the user already has a contact, retrieve it. # Otherwise, create a new one. contact = None if not force_new_contact: try: contact = Contact.objects.from_request(request, create=False) except Contact.DoesNotExist: pass if contact is None: contact = Contact() contact.user = user contact.first_name = first_name contact.last_name = last_name contact.email = email contact.role = ContactRole.objects.get(pk='Customer') contact.title = data.get('title', '') contact.save() if 'newsletter' not in data: subscribed = False else: subscribed = data['newsletter'] signals.satchmo_registration.send(self, contact=contact, subscribed=subscribed, data=data) if not verify: user = authenticate(username=username, password=password) login(request, user) send_welcome_email(email, first_name, last_name) signals.satchmo_registration_verified.send(self, contact=contact) self.contact = contact return contact