Campo de Usuário Personalizado Obrigatório para Todos, mas Editável Apenas UMA Vez

Desculpe se isso já foi levantado antes, encontrei algo parecido ontem, mas hoje meus termos de busca não retornam nada.

Cenário:

Um servidor Discourse quer definir um campo, digamos Data de Nascimento, como um campo obrigatório. Isso não deveria ser algo que precise ser editado após o cadastro. Então, a solução é definir o campo personalizado para desmarcar ‘editável após o cadastro’ e, em seguida, mudar o campo para ‘Obrigatório no Cadastro’. Isso funciona para usuários que criam uma conta através do cadastro típico com e-mail/nome de usuário.

Problema 1:

Usuários que estão criando contas através de coisas como OAuth, DiscourseID, WP-Discourse, etc., nunca veem esses campos. Para que esses usuários tenham acesso a esses campos, eles precisam ser marcados como Obrigatório Para Todos, o que nos leva a…

Problema 2:

Obrigatório Para Todos, por razões óbvias, exige que um campo seja marcado como ‘editável após o cadastro’. Isso, infelizmente, também permite que os usuários alterem o campo quando quiserem… o que não é o que queremos de forma alguma.

Funcionalidade Solicitada:

Adicionar lógica que permita que ‘Obrigatório Para Todos’ não exija que ‘editável após o cadastro’ esteja marcado. A lógica primeiro verificaria se o campo está vazio ou ‘nulo’ ANTES de verificar qual é a configuração de ‘editável após o cadastro’. Isso essencialmente ignoraria a caixa de seleção de editável para qualquer campo obrigatório vazio/nulo. Isso permitiria que campos de usuário personalizados fossem editáveis uma vez, mas, uma vez que um valor fosse salvo, não seriam mais editáveis.

2 curtidas