- Shipped
- 29 de agosto de 2026 às 20:21 UTC
- Author
- Kamo
- Commit
- fb4c71c
Duas novas telas ao lado dos botões Adicionar em /account?tab=members and ?tab=equipe-membros, em /settings/member/bulk-new e /settings/equipe-member/bulk-new. Ambos os botões retiram a sua redacção das etiquetas de membros/membros da equipa da organização. A grade é uma planilha: uma linha por pessoa, campos como colunas, um novo branco linha anexada no momento em que o último é digitado, e um controle de remoção em cada Remem, mas aquele que se segue. Por cima dele estão as configurações que todo o lote é criado com -- nível de segurança (fixo pela tela), fuso horário (o org's padrão), departamento, título do trabalho, status da associação e a caixa de correio, que começa para os membros da equipa e desliga para os membros. Nada é criado até "Terminado -- Criar ..." é pressionado; o botão então gira, e a grade vai Inerte até que cada registro tenha sido respondido. O sucesso parcial é o resultado desenhado. O endpoint cria cada registro em seu transacção própria e relatórios sobre cada um, por isso linhas que caíram colapso e linhas que não ficaram exatamente onde estavam com a razão ligada ao célula que causou isso -- corrija-os e termine novamente, e apenas o restante é Tentei. E-mails duplicados e nomes de usuário são capturados no navegador também, então o admin vê-los enquanto ainda editando em vez de depois de dois terços de um arquivo tem foi criado. Um nome de usuário deixado em branco mostra o nome do servidor mais provável menta; um digitado à mão é verificado quanto à disponibilidade como é digitado. "Importar ... Lista" preenche a grade de um CSV/XLS/XLSX e não cria ninguém. Coluna mapeamento reutiliza FieldMappingInterface -- o mesmo componente de arrastar para conectar o O assistente Importar os Leads usa, que já é genérico na sua lista de campos do sistema -- após um passe de auto-mapa que corresponde aos nomes de cabeçalho que uma exportação de RH realmente usa. As coerções dos membros vivem no membroBulkFields.ts com testes: local de trabalho de "Work From Home" / "In Office" / "Hybrid - 3 dias no escritório", prefixos e sufixos contra as próprias listas configuradas da org, "Último, Primeiro" e "Dr. Jane Q. Público" dividido em partes, e-mails minúsculas. Duas correções caem do edifício sobre esse componente: FieldMappingInterface ganha uma opção noModifiersChange. Sua divisão e valor os modificado virtualFieldId nomeou uma coluna virtual mas não tinha como saber qual divisão produzi-lo -- cada "Nome Dividido" que o usuário configurou foi deixado em silêncio quando as fileiras foram lidas. O adereço é aditivo; o assistente de leads é intocado. A importação sempre analisa com hasHeaders: true e re- attachs linha 1 em si quando O administrador diz que o arquivo não tem nenhum. parseO próprio ramo falso do File executa uma heurística que descasca linha 1 fora de qualquer maneira quando parece header-ish, e então relata hasHeaders: true porque sintetizou as etiquetas "Field N" -- então ecoando esse valor de volta para o botão gira-o para trás do administrador e o próximo re-parse come um Remar. Em um membro importar essa linha é uma pessoa que nunca recebe uma conta, com nada no ecrã para reparar.