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()
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
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
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)