示例#1
0
def user_save_callback(sender, **kwargs):
    couch_user = kwargs.get("couch_user", None)
    if couch_user and couch_user.is_web_user():
        properties = {}
        properties.update(get_subscription_properties_by_user(couch_user))
        properties.update(get_domain_membership_properties(couch_user))
        identify.delay(couch_user.username, properties)
        update_hubspot_properties(couch_user, properties)
示例#2
0
def user_save_callback(sender, **kwargs):
    couch_user = kwargs.get("couch_user", None)
    if couch_user and couch_user.is_web_user():
        properties = {}
        properties.update(get_subscription_properties_by_user(couch_user))
        properties.update(get_domain_membership_properties(couch_user))
        identify.delay(couch_user.username, properties)
        update_hubspot_properties(couch_user, properties)
示例#3
0
 def register_new_user(self, data):
     reg_form = RegisterWebUserForm(
         data['data'],
         show_number=(
             self.ab.version == ab_tests.NEW_USER_NUMBER_OPTION_SHOW_NUM))
     if reg_form.is_valid():
         self._create_new_account(reg_form)
         try:
             requested_domain = request_new_domain(self.request,
                                                   reg_form,
                                                   is_new_user=True)
             # If user created a form via prelogin demo, create an app for them
             if reg_form.cleaned_data['xform']:
                 lang = 'en'
                 app = Application.new_app(requested_domain,
                                           "Untitled Application")
                 module = Module.new_module(_("Untitled Module"), lang)
                 app.add_module(module)
                 save_xform(app, app.new_form(0, "Untitled Form", lang),
                            reg_form.cleaned_data['xform'])
                 app.save()
                 web_user = WebUser.get_by_username(
                     reg_form.cleaned_data['email'])
                 if web_user:
                     update_hubspot_properties(web_user, {
                         'signup_via_demo': 'yes',
                     })
         except NameUnavailableException:
             # technically, the form should never reach this as names are
             # auto-generated now. But, just in case...
             logging.error(
                 "There as an issue generating a unique domain name "
                 "for a user during new registration.")
             return {
                 'errors': {
                     'project name unavailable': [],
                 }
             }
         return {
             'success': True,
         }
     logging.error(
         "There was an error processing a new user registration form."
         "This shouldn't happen as validation should be top-notch "
         "client-side. Here is what the errors are: {}".format(
             reg_form.errors))
     return {
         'errors': reg_form.errors,
     }
示例#4
0
 def register_new_user(self, data):
     reg_form = RegisterWebUserForm(data['data'])
     if reg_form.is_valid():
         self._create_new_account(reg_form)
         try:
             requested_domain = request_new_domain(
                 self.request, reg_form, is_new_user=True
             )
             # If user created a form via prelogin demo, create an app for them
             if reg_form.cleaned_data['xform']:
                 lang = 'en'
                 app = Application.new_app(requested_domain, "Untitled Application")
                 module = Module.new_module(_("Untitled Module"), lang)
                 app.add_module(module)
                 save_xform(app, app.new_form(0, "Untitled Form", lang), reg_form.cleaned_data['xform'])
                 app.save()
                 web_user = WebUser.get_by_username(reg_form.cleaned_data['email'])
                 if web_user:
                     update_hubspot_properties(web_user, {
                         'signup_via_demo': 'yes',
                     })
         except NameUnavailableException:
             # technically, the form should never reach this as names are
             # auto-generated now. But, just in case...
             logging.error("There as an issue generating a unique domain name "
                           "for a user during new registration.")
             return {
                 'errors': {
                     'project name unavailable': [],
                 }
             }
         return {
             'success': True,
         }
     logging.error(
         "There was an error processing a new user registration form."
         "This shouldn't happen as validation should be top-notch "
         "client-side. Here is what the errors are: {}".format(reg_form.errors))
     return {
         'errors': reg_form.errors,
     }
示例#5
0
def update_subscription_properties_by_user(couch_user):
    properties = get_subscription_properties_by_user(couch_user)
    identify.delay(couch_user.username, properties)
    update_hubspot_properties(couch_user, properties)
示例#6
0
def update_subscription_properties_by_user(couch_user):
    properties = get_subscription_properties_by_user(couch_user)
    identify.delay(couch_user.username, properties)
    update_hubspot_properties(couch_user, properties)