from enum import IntEnum, Enum CRM_PIPELINE_NAME = 'Operations - Social Housing' class HubspotProcessStatus(IntEnum): def __new__(cls, value, label): obj = int.__new__(cls, value) obj._value_ = value obj.label = label return obj # the numerical values of this enum aren't important, but they define the order of operations # This is the first stage, where a survey is ready to go READY_TO_BE_SCHEDULED = 1, "READY TO BE SCHEDULED" # The property didn't get access and needs sign off SURVEYED_NO_ACCESS_NEEDS_SIGN_OFF = 2, "NO ACCESS - NEED SIGN OFF" # The survey has been completed. We don't have any update as to whether the property has been installed SURVEYED_COMPLETED_SIGNED_OFF = 3, "SURVEYED - AUTOMATED SIGNED OFF" # The property turned out to be ineligibile NOT_VIABLE = 4, "NOT VIABLE" # The property is with the installer. This will likely be the default for historic programmes SUBMITTED_TO_INSTALLER = 5, "SUBMITTED TO INSTALLER" # The property has been installed INSTALL_COMPLETE = 6, "INSTALL COMPLETE" # The install has complete and lodgement is complete LODGEMENT_COMPLETE = 7, "LODGEMENT COMPLETE" # The property has been cancelled INSTALLER_CANCELLED_FINALIZED = 8, "INSTALLER CANCELLED - FINALIZED" class Installer(Enum): SCIS = "SCIS" JJ_CRUMP = "J & J CRUMP" SGEC = "SGEC" WARMFRONT = "WARM FRONT" @classmethod def is_valid_value(cls, value): """ Check if the value is a valid installer. """ return value in cls._value2member_map_ CRM_UPLOAD_COLUMNS = [ 'Name