def gen_forward_offercode(self,original_code,phone): #forwarder = OfferCode.objects.filter(code__iexact=original_code) gen_code = gen_offer_code() phone =parse_phone_number(phone) while (OfferCode.objects.filter(code__iexact=gen_code).count()>0): gen_code = gen_offer_code() forwarder=original_code.customer #friend = Customer.objects.get(phone=(phone)) print phone if CustomerPhone.objects.filter(number=phone).exists(): p = CustomerPhone.objects.get(number=phone) #if p.shoppleyuser.is_customer(): friend = p.customer o=self.offercode_set.create( customer=friend, code = gen_code, forwarder=forwarder, time_stamp=datetime.now(), expiration_time=original_code.expiration_time, rtype = 3) o.save() forwarder.customer_friends.add(p.customer) return o, None # for existing customer # except Customer.DoesNotExist: # TODO: Need to replace the following with code below # create a customer # create a username with phone num and create random password #print "Creating NEW user with username:"******"" s = string.letters+string.digits rand_passwd = ''.join(random.sample(s,6)) u.set_password(rand_passwd) u.save() friend, created = Customer.objects.get_or_create(user=u, address_1="", address_2="", zipcode=original_code.customer.zipcode) p= CustomerPhone.objects.create(number = phone, customer = friend) if created: friend.set_location_from_address() # send out a new offercode o=self.offercode_set.create( customer = friend, code = gen_code, forwarder=forwarder, time_stamp=datetime.now(), expiration_time=original_code.expiration_time, rtype = 3) o.save() forwarder.customer_friends.add(friend) return o, rand_passwd # for new customer
def gen_offer_code(self, customer, rtype = 1): if self.offercode_set.filter(customer=customer).exists(): return gen_code = gen_offer_code().lower() while self.offercode_set.filter(code__iexact=gen_code): gen_code = gen_offer_code() if rtype != 4 and self.redistribute_processing == True: rtype = 2 self.offercode_set.create ( customer=customer, code=gen_code, time_stamp=self.time_stamp, expiration_time=self.starting_time+timedelta(minutes=self.duration), rtype = rtype, )
def gen_offer_code(self, customer, rtype=1): if self.offercode_set.filter(customer=customer).exists(): return gen_code = gen_offer_code().lower() while self.offercode_set.filter(code__iexact=gen_code): gen_code = gen_offer_code() if rtype != 4 and self.redistribute_processing == True: rtype = 2 self.offercode_set.create( customer=customer, code=gen_code, time_stamp=self.time_stamp, expiration_time=self.starting_time + timedelta(minutes=self.duration), rtype=rtype, )
def gen_forward_offercode(self, original_code, phone): #forwarder = OfferCode.objects.filter(code__iexact=original_code) gen_code = gen_offer_code() phone = parse_phone_number(phone) while (OfferCode.objects.filter(code__iexact=gen_code).count() > 0): gen_code = gen_offer_code() forwarder = original_code.customer #friend = Customer.objects.get(phone=(phone)) print phone if CustomerPhone.objects.filter(number=phone).exists(): p = CustomerPhone.objects.get(number=phone) #if p.shoppleyuser.is_customer(): friend = p.customer o = self.offercode_set.create( customer=friend, code=gen_code, forwarder=forwarder, time_stamp=datetime.now(), expiration_time=original_code.expiration_time, rtype=3) o.save() forwarder.customer_friends.add(p.customer) return o, None # for existing customer # except Customer.DoesNotExist: # TODO: Need to replace the following with code below # create a customer # create a username with phone num and create random password #print "Creating NEW user with username:"******"" s = string.letters + string.digits rand_passwd = ''.join(random.sample(s, 6)) u.set_password(rand_passwd) u.save() friend, created = Customer.objects.get_or_create( user=u, address_1="", address_2="", zipcode=original_code.customer.zipcode) p = CustomerPhone.objects.create(number=phone, customer=friend) if created: friend.set_location_from_address() # send out a new offercode o = self.offercode_set.create( customer=friend, code=gen_code, forwarder=forwarder, time_stamp=datetime.now(), expiration_time=original_code.expiration_time, rtype=3) o.save() forwarder.customer_friends.add(friend) return o, rand_passwd # for new customer