def post(self): """Handles POST requests.""" username = self.payload.get('username') agreed_to_terms = self.payload.get('agreed_to_terms') default_dashboard = self.payload.get('default_dashboard') can_receive_email_updates = self.payload.get( 'can_receive_email_updates') bulk_email_signup_message_should_be_shown = False if can_receive_email_updates is not None: bulk_email_signup_message_should_be_shown = ( user_services.update_email_preferences( self.user_id, can_receive_email_updates, feconf.DEFAULT_EDITOR_ROLE_EMAIL_PREFERENCE, feconf.DEFAULT_FEEDBACK_MESSAGE_EMAIL_PREFERENCE, feconf.DEFAULT_SUBSCRIPTION_EMAIL_PREFERENCE)) if bulk_email_signup_message_should_be_shown: self.render_json({ 'bulk_email_signup_message_should_be_shown': (bulk_email_signup_message_should_be_shown) }) return has_ever_registered = user_services.has_ever_registered(self.user_id) has_fully_registered_account = ( user_services.has_fully_registered_account(self.user_id)) if has_fully_registered_account: self.render_json({}) return if not isinstance(agreed_to_terms, bool) or not agreed_to_terms: raise self.InvalidInputException( 'In order to edit explorations on this site, you will ' 'need to accept the license terms.') else: user_services.record_agreement_to_terms(self.user_id) if not user_services.get_username(self.user_id): try: user_services.set_username(self.user_id, username) except utils.ValidationError as e: raise self.InvalidInputException(e) # Note that an email is only sent when the user registers for the first # time. if feconf.CAN_SEND_EMAILS and not has_ever_registered: email_manager.send_post_signup_email(self.user_id) user_services.generate_initial_profile_picture(self.user_id) if not has_ever_registered: # Set the default dashboard for new users. user_services.update_user_default_dashboard( self.user_id, default_dashboard) self.render_json({ 'bulk_email_signup_message_should_be_shown': (bulk_email_signup_message_should_be_shown) })
def post(self): """Handles POST requests.""" username = self.payload.get("username") agreed_to_terms = self.payload.get("agreed_to_terms") can_receive_email_updates = self.payload.get("can_receive_email_updates") has_ever_registered = user_services.has_ever_registered(self.user_id) has_fully_registered = user_services.has_fully_registered(self.user_id) if has_fully_registered: self.render_json({}) return if not isinstance(agreed_to_terms, bool) or not agreed_to_terms: raise self.InvalidInputException( "In order to edit explorations on this site, you will " "need to accept the license terms." ) else: user_services.record_agreement_to_terms(self.user_id) if not user_services.get_username(self.user_id): try: user_services.set_username(self.user_id, username) except utils.ValidationError as e: raise self.InvalidInputException(e) if can_receive_email_updates is not None: user_services.update_email_preferences(self.user_id, can_receive_email_updates) # Note that an email is only sent when the user registers for the first # time. if feconf.CAN_SEND_EMAILS_TO_USERS and not has_ever_registered: email_manager.send_post_signup_email(self.user_id) self.render_json({})
def post(self): """Handles POST requests.""" username = self.payload.get('username') agreed_to_terms = self.payload.get('agreed_to_terms') can_receive_email_updates = self.payload.get( 'can_receive_email_updates') has_ever_registered = user_services.has_ever_registered(self.user_id) has_fully_registered = user_services.has_fully_registered(self.user_id) if has_fully_registered: self.render_json({}) return if not isinstance(agreed_to_terms, bool) or not agreed_to_terms: raise self.InvalidInputException( 'In order to edit explorations on this site, you will ' 'need to accept the license terms.') else: user_services.record_agreement_to_terms(self.user_id) if not user_services.get_username(self.user_id): try: user_services.set_username(self.user_id, username) except utils.ValidationError as e: raise self.InvalidInputException(e) if can_receive_email_updates is not None: user_services.update_email_preferences( self.user_id, can_receive_email_updates, feconf.DEFAULT_EDITOR_ROLE_EMAIL_PREFERENCE, feconf.DEFAULT_FEEDBACK_MESSAGE_EMAIL_PREFERENCE, feconf.DEFAULT_SUBSCRIPTION_EMAIL_PREFERENCE) # Note that an email is only sent when the user registers for the first # time. if feconf.CAN_SEND_EMAILS and not has_ever_registered: email_manager.send_post_signup_email(self.user_id) user_services.generate_initial_profile_picture(self.user_id) self.render_json({})
def post(self): """Handles POST requests.""" username = self.payload.get('username') agreed_to_terms = self.payload.get('agreed_to_terms') can_receive_email_updates = self.payload.get( 'can_receive_email_updates') has_ever_registered = user_services.has_ever_registered(self.user_id) has_fully_registered = user_services.has_fully_registered(self.user_id) if has_fully_registered: self.render_json({}) return if not isinstance(agreed_to_terms, bool) or not agreed_to_terms: raise self.InvalidInputException( 'In order to edit explorations on this site, you will ' 'need to accept the license terms.') else: user_services.record_agreement_to_terms(self.user_id) if not user_services.get_username(self.user_id): try: user_services.set_username(self.user_id, username) except utils.ValidationError as e: raise self.InvalidInputException(e) if can_receive_email_updates is not None: user_services.update_email_preferences( self.user_id, can_receive_email_updates, feconf.DEFAULT_EDITOR_ROLE_EMAIL_PREFERENCE) # Note that an email is only sent when the user registers for the first # time. if feconf.CAN_SEND_EMAILS_TO_USERS and not has_ever_registered: email_manager.send_post_signup_email(self.user_id) user_services.generate_initial_profile_picture(self.user_id) self.render_json({})