Issue with handling conditional slot logic and validations in the same action in Rasa 2.0

Hey all, I currently have some issues with conditional slot logic as well and tried your solutions but cannot get it to work properly. I also created a separate post for it here.

My required slots look like this and I tried implementing the run method by @Joseesc24 but now my form only allows me to fill in my first slot:

def required_slots(tracker: Tracker) -> List[Text]:
"""A list of required slots that the form has to fill."""

if (tracker.get_slot("box_damaged_slot") is False and tracker.get_slot("product_damaged_slot") is False) or (
        tracker.get_slot("box_damaged_slot") is True and tracker.get_slot("product_damaged_slot") is False):
    return ["box_damaged_slot", "product_damaged_slot"]
else:
    if tracker.get_slot("multiple_product_slot") is False:
        if tracker.get_slot("return_product_slot") is False:
            return ["box_damaged_slot", "product_damaged_slot",
                    "multiple_product_slot",
                    "value_product_slot", "return_product_slot"]
        else:
            return ["box_damaged_slot", "product_damaged_slot",
                    "multiple_product_slot",
                    "value_product_slot", "return_product_slot",
                    "product_or_money_slot"]
    else:
        if tracker.get_slot("return_product_slot") is False:
            return ["box_damaged_slot", "product_damaged_slot",
                    "multiple_product_slot", "products_damaged_slot",
                    "value_product_slot", "return_product_slot"]
        else:
            return ["box_damaged_slot", "product_damaged_slot",
                    "multiple_product_slot", "products_damaged_slot",
                    "value_product_slot", "return_product_slot",
                    "product_or_money_slot"]

Can somebody help me with this please.