Ejemplo n.º 1
0
def save_words_list_name(words_list, queue=False):
    from namex.models import Request as RequestDAO, State, Name as NameDAO
    num = 0
    req = 1460775
    for record in words_list:
        nr_num_label = 'NR 00000'
        num += 1
        req += 1
        nr_num = nr_num_label + str(num)

        nr = RequestDAO()
        nr.nrNum = nr_num
        if queue:
            nr.stateCd = State.DRAFT
            nr.expirationDate = datetime.date.today() + datetime.timedelta(days=1)
        else:
            nr.stateCd = State.APPROVED
        nr.requestId = req
        nr.requestTypeCd = EntityTypes.CORPORATION.value
        nr._source = 'NAMEREQUEST'

        name = NameDAO()
        name.choice = 1
        name.name = record
        name.state = State.APPROVED
        name.corpNum = '0652480'
        nr.names = [name]
        nr.save_to_db()
Ejemplo n.º 2
0
def build_name(test_name, generate_id_seq=True):
    name = NameDAO()
    if generate_id_seq:
        seq = db.Sequence('names_id_seq')
        name_id = db.engine.execute(seq)
        name.id = test_name.get('id', name_id)

    name.choice = 1
    name.name = test_name.get('name', '')
    name.designation = test_name.get('designation', '')
    name.name_type_cd = test_name.get('name_type_cd', '')
    name.consent_words = test_name.get('consent_words', '')
    name.conflict1 = test_name.get('conflict1', '')
    name.conflict1_num = test_name.get('conflict1_num', '')
    name.corpNum = test_name.get('corpNum', None)

    return name
Ejemplo n.º 3
0
def _map_submitted_name_attrs(submitted_name: Name, request_name: dict,
                              **kwargs):
    """
    Used internally by map_submitted_name.
    :param submitted_name: Name
    :param request_name: dict
    :key nr_id: int
    :key new_state_code: str
    :return:
    """
    nr_id = kwargs.get('nr_id')
    new_state_code = kwargs.get('new_state_code')

    try:
        submitted_name.nrId = nr_id
        submitted_name.choice = request_name.get('choice', 1)
        submitted_name.name_type_cd = request_name.get('name_type_cd', 'CO')
        submitted_name.name = convert_to_ascii(request_name.get('name', ''))
        submitted_name.designation = request_name.get('designation', '')
        # For existing businesses
        if isinstance(request_name.get('corpNum'), str):
            # To clear the corpNum use an empty string in the data payload
            submitted_name.corpNum = convert_to_ascii(
                request_name.get('corpNum'))

        if new_state_code == State.DRAFT:
            submitted_name.state = NameState.NOT_EXAMINED.value

        elif new_state_code == State.COND_RESERVE:
            submitted_name.state = NameState.COND_RESERVE.value

        elif new_state_code == State.RESERVED:
            submitted_name.state = NameState.RESERVED.value

        elif new_state_code == State.CONDITIONAL:
            submitted_name.state = NameState.CONDITION.value

        elif new_state_code == State.APPROVED:
            submitted_name.state = NameState.APPROVED.value

    except Exception as err:
        raise MapRequestNamesError(err,
                                   'Error setting common name attributes.')

    return submitted_name
Ejemplo n.º 4
0
def add_names(nr, nr_names):
    NAME_STATE={
        'NE': Name.NOT_EXAMINED,
        'A': Name.APPROVED,
        'R': Name.REJECTED,
        'C': Name.CONDITION
    }

    # tracker to check whether all name choices are covered
    name_choice_numbers = [1,2,3]

    for n in nr_names:

        # find existing name record
        name_found = False
        for name in nr.names.all():
            if name.choice == n['choice_number']:
                name_found = True

                name.name = n['name']
                name.designation = n['designation']
                name.consumptionDate = n['consumption_date']
                name.corpNum = n['corp_num']

                # if this NR hasn't recently been reset, set name and NR states as well
                if not nr.hasBeenReset:
                    name.state = Name.NOT_EXAMINED if n['name_state_type_cd'] is None \
                        else NAME_STATE[n['name_state_type_cd']]

                    if nr.stateCd in ['COMPLETED', State.REJECTED] and name.state == Name.APPROVED:
                        nr.stateCd = State.APPROVED
                    elif nr.stateCd in ['COMPLETED', State.REJECTED,
                                        State.APPROVED] and name.state == Name.CONDITION:
                        nr.stateCd = State.CONDITIONAL
                    elif nr.stateCd == 'COMPLETED' and name.state == Name.REJECTED:
                        nr.stateCd = State.REJECTED

                name_choice_numbers.remove(name.choice)

                break

        # if we didn't find the name in the existing Namex names, add it - it's been added in NRO
        if not name_found:
            name = Name()
            name.state = Name.NOT_EXAMINED if n['name_state_type_cd'] is None else NAME_STATE[n['name_state_type_cd']]
            name.choice = n['choice_number']
            name.name = n['name']
            name.designation = n['designation']
            name.consumptionDate = n['consumption_date']
            name.corpNum = n['corp_num']

            if nr.stateCd in ['COMPLETED', State.REJECTED] and name.state == Name.APPROVED:
                nr.stateCd = State.APPROVED
            elif nr.stateCd in ['COMPLETED', State.REJECTED, State.APPROVED] and name.state == Name.CONDITION:
                nr.stateCd = State.CONDITIONAL
            elif nr.stateCd == 'COMPLETED' and name.state == Name.REJECTED:
                nr.stateCd = State.REJECTED

            nr.names.append(name)

            name_choice_numbers.remove(name.choice)

    # if there were any names not send back from NRO that are in Namex, remove them from Namex
    # since they were deleted in NRO
    if name_choice_numbers is not []:
        for name in nr.names.all():
            if name.choice in name_choice_numbers:
                nr.names.remove(name)