def additional_information_of_pin(self):
     from ppars.apps.core import dealer_red_pocket
     status = ''
     try:
         answer = dealer_red_pocket.log_in_red_pocket(self.carrieradmin)
         result = dealer_red_pocket.get_pin_status(self.transaction.pin, answer['session'])
         if result['status']:
             status = '%s' % result['details']
         if result['url']:
             status = status + ', %s' % result['url']
     except Exception, e:
         logger.error("Exception: %s. Trace: %s." % (e, traceback.format_exc(limit=10)))
    from models import CarrierAdmin
    carrier_admin = CarrierAdmin.objects.filter(company=company,
                                                carrier__name__icontains='RED POCKET')
    result = {'failed_login': False,
              'result': []}
    try:
        answer = dealer_red_pocket.log_in_red_pocket(carrier_admin[0])
        if not answer['valid']:
            raise Exception(answer['error'])
    except Exception, e:
        result['failed_login'] = True
        logger.error("Exception: %s. Trace: %s."
                     % (e, traceback.format_exc(limit=10)))
        return result
    for pin in pins:
        status_pin = dealer_red_pocket.get_pin_status(pin, answer['session'])
        result['result'].append(status_pin)
    return result


def create_log_message_for_verify_carrier(answer_dict):
    """
    This function to transform answer_dict to str for user.
    :param answer_dict: dict
    :return: answer_str
    """
    answer_str = ''
    if answer_dict['valid']:
        answer_str = answer_dict['mdn_status']
    else:
        answer_str = answer_dict['error']