<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_notifications(myclass):
 """ Decorator which adds fields dynamically to User Notification Settings models. Each of the keys in the TEXTS dictionary are added as a field and DB column. """

    for key, value in TEXTS.items():
        # custom notifications cannot be disabled
        if 'custom' in [key, value]:
            continue

        field_type = USER_SETTING[key]['type']

        if field_type == 'boolean':
            field = models.BooleanField(_(key), default=DEFAULT_BOOLEAN)
        elif field_type == 'distance':
            field = models.IntegerField(
                _(key),
                default=DEFAULT_DISTANCE,
                help_text=_('-1 (less than 0): disabled; 0: enabled for all;\
                            1 (less than 0): enabled for those in the specified distance range (km)')
            )
            field.geo_field = USER_SETTING[key]['geo_field']

        field.name = field.column = field.attname = key
        field.user_setting_type = field_type
        setattr(myclass, key, field)
        myclass.add_to_class(key, field)

    return myclass