def delete_dog(cls, delete_dog_data): delete_dog_name = delete_dog_data["dog_name"] delete_dog = Dog.query.filter( Dog.id == delete_dog_data["dog_id"]).delete() db.session.commit() flash("Information About " + delete_dog_name + " Deleted") return delete_dog
def delete_billing_address(cls, delete_billing_data): delete_billing_address = billing_address.query.filter( billing_address.customer_id == delete_billing_data["delete_billing"]).delete() db.session.commit() flash("You Deleted This Billing Address.") return delete_billing_address
def like_quote(cls, like_quote): add_like = cls(user_id=like_quote["login_id"], quote_id=like_quote["liked_quote_value"]) db.session.add(add_like) db.session.commit() flash("You liked a quote!") return add_like
def delete_shipping_address(cls, delete_shipping_data): delete_shipping_address = shipping_address.query.filter( shipping_address.id == delete_shipping_data["delete_shipping"]).delete() db.session.commit() flash("You Deleted This Shipping Address.") return delete_shipping_address
def edit_customer(cls, edit_customer_data): edit_customer = customer.query.get(edit_customer_data["login_id"]) edit_customer.first_name = edit_customer_data["first_name"] edit_customer.last_name = edit_customer_data["last_name"] edit_customer.phone_number = edit_customer_data["phone_number"] db.session.commit() flash("Customer Information Updated") return edit_customer
def add_new_quote(cls, new_quote_data): add_new_quote = cls(user_id=new_quote_data["login_id"], author_of_quote=new_quote_data["author_of_quote"], quote_content=new_quote_data["quote_content"]) db.session.add(add_new_quote) db.session.commit() flash("Quote successfully added!!") return add_new_quote
def validate_quote(cls, new_quote_data): is_valid = True if len(new_quote_data["author_of_quote"]) < 3: is_valid = False flash("Please enter a valid author name.") if len(new_quote_data["quote_content"]) < 10: is_valid = False flash("Please enter a quote length of 10 characters long.") return is_valid
def edit_user(cls, edit_user_data): user_instance_to_update = User.query.get(edit_user_data["login_id"]) print(user_instance_to_update) user_instance_to_update.first_name = edit_user_data["edit_first_name"] user_instance_to_update.last_name = edit_user_data["edit_last_name"] user_instance_to_update.email = edit_user_data["edit_email"] db.session.commit() flash("Updated account information successful!") return user_instance_to_update
def add_billing_shipping(cls, new_billing_data): add_billing = cls(customer_id=new_billing_data['customer_id'], street=new_billing_data['street'], city=new_billing_data['city'], state=new_billing_data['state'], zipcode=new_billing_data['zipcode']) db.session.add(add_billing) db.session.commit() flash("New Billing Address Added") return add_billing
def edit_shipping_address(cls, edit_shipping_data): edit_shipping = shipping_address.query.get( edit_shipping_data['address_id']) edit_shipping.street = edit_shipping_data["street"] edit_shipping.city = edit_shipping_data["city"] edit_shipping.state = edit_shipping_data['state'] edit_shipping.zipcode = edit_shipping_data['zipcode'] db.session.commit() flash("Shipping Address Edited") return edit_shipping
def add_new_user(cls, new_user_data): add_user = cls(first_name=new_user_data["first_name"], last_name=new_user_data["last_name"], email=new_user_data["email"], password=bcrypt.generate_password_hash( new_user_data["password"])) db.session.add(add_user) db.session.commit() flash( "User successfully added! Login to view the Quote Dash Dashboard!") return add_user
def add_new_customer(cls, new_customer_data): add_customer = cls(first_name=new_customer_data["first_name"], last_name=new_customer_data["last_name"], email=new_customer_data["email"], phone_number=new_customer_data["phone_number"], password=bcrypt.generate_password_hash( new_customer_data["password"])) db.session.add(add_customer) db.session.commit() flash("Registration successful! Log in to continue.") return add_customer
def edit_user(cls, edit_user_data): edit_user = User.query.get(edit_user_data["login_id"]) edit_user.first_name = edit_user_data["first_name"] edit_user.last_name = edit_user_data["last_name"] edit_user.email = edit_user_data["email"] edit_user.date_of_birth = edit_user_data["birthday"] edit_user.phone_number = edit_user_data["phone_number"] edit_user.password = bcrypt.generate_password_hash( edit_user_data["password"]) db.session.commit() flash("User Information Updated") return edit_user
def edit_walk(cls, edit_walk_data): edit_walk = Walk.query.get(edit_walk_data["edit_walk_value"]) edit_walk.location = edit_walk_data["location"] edit_walk.date = edit_walk_data["walk_date"] edit_walk.time = datetime.strptime(edit_walk_data["walk_time"], '%H:%M').strftime('%I:%M %p') edit_walk.dogs = edit_walk_data["dogs"] edit_walk.walk_info = edit_walk_data["walk_info"] db.session.add(edit_walk) db.session.commit() flash("Walk Information Updated") return edit_walk
def edit_dog(cls, edit_dog_data): edit_dog = Dog.query.get(edit_dog_data["dog_id"]) edit_dog.name = edit_dog_data["dog_name"] edit_dog.breed = edit_dog_data["breed"] edit_dog.age = edit_dog_data["age"] edit_dog.gender = edit_dog_data["gender"] edit_dog.eye_color = edit_dog_data["eye_color"] edit_dog.fur_color = edit_dog_data["fur_color"] edit_dog.fur_type = edit_dog_data["fur_type"] edit_dog.allergies = edit_dog_data["allergies"] edit_dog.brief_bio = edit_dog_data["brief_bio"] db.session.commit() flash(edit_dog.name + "'s Information Was Updated") return edit_dog
def add_new_user(cls, new_user_data): add_user = cls(first_name=new_user_data["first_name"], last_name=new_user_data["last_name"], email=new_user_data["email"], phone_number=new_user_data["phone_number"], date_of_birth=new_user_data["birthday"], password=bcrypt.generate_password_hash( new_user_data["password"]), image="static/img/default_img.jpg") db.session.add(add_user) db.session.commit() flash( "User successfully added! Login to view the Dog Buddy Dashboard!") return add_user
def add_walk(cls, add_walk_data): add_walk = cls( planned_by_user_id=add_walk_data["user_id"], location=add_walk_data["location"], # date = datetime.strptime(add_walk_data["walk_date"], '%Y-%m-%d').strftime('%m-%d-%Y'), date=add_walk_data["walk_date"], time=datetime.strptime(add_walk_data["walk_time"], '%H:%M').strftime('%I:%M %p'), dogs=add_walk_data["dogs"], walk_info=add_walk_data["walk_info"]) db.session.add(add_walk) db.session.commit() flash("You created a walk!") return add_walk
def add_dog(cls, new_dog_data): add_dog = cls(owner_id=new_dog_data["user_id"], dog_name=new_dog_data["dog_name"], breed=new_dog_data["breed"], age=new_dog_data["age"], gender=new_dog_data["gender"], eye_color=new_dog_data["eye_color"], fur_color=new_dog_data["fur_color"], fur_type=new_dog_data["fur_type"], allergies=new_dog_data["allergies"], brief_bio=new_dog_data["brief_bio"]) db.session.add(add_dog) db.session.commit() flash(new_dog_data["dog_name"] + " successfully added!") return add_dog
def validate_edit_user(cls, edit_user_data): is_valid = True if len(edit_user_data["edit_first_name"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", edit_user_data["edit_first_name"]): is_valid = False flash("Please enter a valid first name.") if len(edit_user_data["edit_last_name"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", edit_user_data["edit_last_name"]): is_valid = False flash("Please enter a valid last name.") if len(edit_user_data["edit_email"]) < 1 or ( edit_user_data["edit_email"] == edit_user_data["edit_email"]) or not re.search( "[^@]+@[^@]+\.[^@]+", edit_user_data["edit_email"]): is_valid = False return is_valid
def validate_new_walk(cls, validate_new_walk): is_valid = True if len(validate_new_walk["location"]) < 1: is_valid = False flash( "Location cannot be less than 1 character in length. Try again." ) if validate_new_walk["walk_date"] == "": is_valid = False flash("Walk date missing.") elif validate_new_walk["walk_date"] < str(datetime.today()): is_valid = False flash( "This walk can't be created in the past or on today's date. Please create a walk starting with tomorrow's date." ) if validate_new_walk["walk_time"] == "": is_valid = False flash("Please enter a time.") if len(validate_new_walk["dogs"]) < 1: is_valid = False flash("You can't create a walk without dogs!") return is_valid
def validate_user(cls, new_user_data): is_valid = True if len(new_user_data["first_name"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_user_data["first_name"]): is_valid = False flash("Please enter a valid first name.") if len(new_user_data["last_name"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_user_data["last_name"]): is_valid = False flash("Please enter a valid last name.") if len(new_user_data["email"]) < 1 or not re.search( "[^@]+@[^@]+\.[^@]+", new_user_data["email"]): is_valid = False flash( "Please enter a valid email address containing @ AND . followed by com/org/etc." ) if len(new_user_data["password"]) < 8: is_valid = False flash("Password should be at least 8 characters.") if new_user_data["confirm_password"] != new_user_data["password"]: is_valid = False flash("Passwords do not match!") return is_valid
def validate_billing(cls, new_billing_data): is_valid = True if len(new_billing_data["street"]) < 1 or not re.search( "^[#.0-9a-zA-Z\s,-]+$", new_billing_data["street"]): is_valid = False flash("Please enter a valid street address.") if len(new_billing_data["city"]) < 1 or not re.search( "^[a-zA-Z',.\s-]{1,25}$", new_billing_data["city"]): is_valid = False flash("Please enter a valid city.") if len(new_billing_data["state"]) < 1 or not re.search( "^[a-zA-Z',.\s-]{1,25}$", new_billing_data["state"]): is_valid = False flash("Please enter a state.") if len(new_billing_data["zipcode"]) < 1 or not re.search( "^\d{5}(?:[-\s]\d{4})?$", new_billing_data["zipcode"]): is_valid = False flash("Please enter a valid zipcode.") return is_valid
def validate_edit_customer(cls, new_customer_data): is_valid = True if len(new_customer_data["first_name"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_customer_data["first_name"]): is_valid = False flash("Please enter a valid first name.") if len(new_customer_data["last_name"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_customer_data["last_name"]): is_valid = False flash( "Please enter a valid last name. Must be between 3-20 characters in length and contain no numbers or special characters." ) if len(new_customer_data["phone_number"]) < 1 or not re.search( "^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$", new_customer_data["phone_number"]): is_valid = False flash("Please enter a valid phone number.") return is_valid
def validate_dog(cls, new_dog_data): is_valid = True if len(new_dog_data["dog_name"]) < 1: is_valid = False flash("Please enter a valid dog name.") if len(new_dog_data["breed"]) < 1: is_valid = False flash("Please enter a valid breed.") if len(new_dog_data["age"]) < 0: is_valid = False flash("Please enter a valid dog age.") if len(new_dog_data["eye_color"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_dog_data["eye_color"]): is_valid = False flash("Please enter a valid dog eye color.") if len(new_dog_data["fur_color"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_dog_data["fur_color"]): is_valid = False flash("Please enter a valid dog fur color.") if len(new_dog_data["fur_type"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_dog_data["fur_type"]): is_valid = False flash("Please enter a valid fur type.") if len(new_dog_data["allergies"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_dog_data["allergies"]): is_valid = False flash("Please enter a valid dog allergies.") if len(new_dog_data["brief_bio"]) < 1 or len( new_dog_data["brief_bio"]) > 255: is_valid = False flash("Please enter a valid dog bio.") return is_valid
def cancel_walk(cls, cancel_walk_data): cancel_walk = Walk.query.filter( Walk.id == cancel_walk_data["cancelled_walk_value"]).delete() db.session.commit() flash("You cancelled this walk!") return cancel_walk
def delete_wish(cls, delete_wish_data): wish_instance_to_delete = wishlist.query.filter( wishlist.product_id == delete_wish_data['product_id']).delete() db.session.commit() flash("You deleted this from your wishlist!") return wish_instance_to_delete
def validate_user(cls, new_user_data): is_valid = True if len(new_user_data["first_name"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_user_data["first_name"]): is_valid = False flash("Please enter a valid first name.") if len(new_user_data["last_name"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_user_data["last_name"]): is_valid = False flash( "Please enter a valid last name. Must be between 3-20 characters in length and contain no numbers or special characters." ) if len(new_user_data["email"]) < 1 or not re.search( "[^@]+@[^@]+\.[^@]+", new_user_data["email"]): is_valid = False flash( "Please enter a valid email address containing @ AND . followed by com/org/etc." ) if len(new_user_data["phone_number"]) < 1 or not re.search( "^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$", new_user_data["phone_number"]): is_valid = False flash("Please enter a valid phone number.") if new_user_data["confirm_password"] != new_user_data["password"]: is_valid = False flash("Passwords do not match!") try: birthday = datetime.strptime(new_user_data["birthday"], "%Y-%m-%d") diff = datetime.now() - birthday if int(diff.total_seconds()) < 56764800: is_valid = False flash("You must be 18 years old or older to register!") except: is_valid = False flash("Please enter a valid birthday.") return is_valid
def delete_quote(cls, delete_quote_data): quote_instance_to_delete = Quote.query.filter( Quote.id == delete_quote_data['deleted_quote_value']).delete() db.session.commit() flash("You deleted this quote!") return quote_instance_to_delete
def validate_customer(cls, new_customer_data): is_valid = True if len(new_customer_data["first_name"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_customer_data["first_name"]): is_valid = False flash("Please enter a valid first name.") if len(new_customer_data["last_name"]) < 1 or re.search( "[^a-zA-ZäöüßÄÖÜ]", new_customer_data["last_name"]): is_valid = False flash( "Please enter a valid last name. Must be between 3-20 characters in length and contain no numbers or special characters." ) if len(new_customer_data["email"]) < 1 or not re.search( "[^@]+@[^@]+\.[^@]+", new_customer_data["email"]): is_valid = False flash("Please enter a valid email address.") if len(new_customer_data["phone_number"]) < 1 or not re.search( "^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$", new_customer_data["phone_number"]): is_valid = False flash("Please enter a valid phone number.") if len(new_customer_data["password"]) < 8: is_valid = False flash( "Password should be at least 8 characters and contain one number and uppercase letter" ) if new_customer_data["confirm_password"] != new_customer_data[ "password"]: is_valid = False flash("Passwords do not match!") return is_valid