def save_to_focus(self, parent=None): first_name, last_name = self.name.rsplit(maxsplit=1) total_price = self.price() parent = '' if parent is None else str(parent) # Yearbook receive_yearbook = self.receive_yearbook() if self.enrollment.country != 'NO' and receive_yearbook: total_price += FOREIGN_SHIPMENT_PRICE # Address adr1 = self.enrollment.address1 if self.enrollment.country == 'NO': adr2 = '' adr3 = '' zipcode = self.enrollment.zipcode area = self.enrollment.area elif self.enrollment.country == 'DK' or self.enrollment.country == 'SE': adr2 = '' adr3 = "%s-%s %s" % (self.enrollment.country, self.enrollment.zipcode, self.enrollment.area) zipcode = '0000' area = '' else: adr2 = self.enrollment.address2 adr3 = self.enrollment.address3 zipcode = '0000' area = '' if self.get_age() >= Enrollment.PARTNEROFFERS_OPTIN_MIN_AGE: partneroffers_optin = self.enrollment.partneroffers_optin else: partneroffers_optin = False if partneroffers_optin: partneroffers_optin_date = datetime.now() else: partneroffers_optin_date = None # Fetch and increment memberid with stored procedure cursor = current_focus_db_connection().cursor() cursor.execute("exec sp_custTurist_updateMemberId") memberid = cursor.fetchall()[0][0] focus_user = FocusEnrollment( memberid=memberid, last_name=last_name, first_name=first_name, birth_date=self.dob, gender=Actor.convert_gender(self.gender), parent=parent, adr1=adr1, adr2=adr2, adr3=adr3, country_code=self.enrollment.country, phone_home='', email=self.email, receive_yearbook=receive_yearbook, type=self.focus_type(), yearbook=ENROLLMENT_YEARBOOK_TYPE if receive_yearbook else '', payment_method=PAYMENT_METHOD_CODES[self.enrollment.payment_method], phone_mobile=self.phone, zipcode_id=zipcode, area=area, language='nb_no', totalprice=total_price, partneroffers_optin=partneroffers_optin, partneroffers_optin_date=partneroffers_optin_date, ) focus_user.save() self.memberid = memberid self.save()