def is_too_early_to_signup(self, now=None):
        """Return whether it is too early to sign up for the activity if it is a presign (48 hour
        logic is here)."""
        if now is None:
            now = datetime.datetime.now()

        activity_date = (datetime.datetime.combine(self.block.date, datetime.time(0, 0, 0)))
        # Presign activities can only be signed up for 2 days in advance.
        presign_period = datetime.timedelta(days=2)

        return (now < (activity_date - presign_period))