Jay_Moore
(Jay Moore)
Fevereiro 22, 2022, 7:31pm
1
Estou tentando passar um campo de usuário personalizado ao registrar um usuário.
Aqui está o array que estou usando para registrar…
$parameters = array(
'nonce' => $nonce,
'external_id' => 'jay',
'email' => 'bugsbunny@betaclub.org',
'username' => 'bugsbunny@betaclub.org',
'name' => 'Bugs Bunny',
'add_groups' => 'state_sponsors',
'custom.experience' => 'Pro',
'custom.state' => 'FL',
);
O nome do campo é Experience, é um campo de múltipla seleção e uma das opções é Pro
Não estou vendo isso ser transferido? Também tenho um campo personalizado chamado State, que é um campo de texto. Como posso solucionar isso? Não vejo nada sobre o campo personalizado nos logs com o registro do Discourse Connect ativado.
Falco
(Falco)
Fevereiro 22, 2022, 7:40pm
2
Se você criou esses campos através do Admin → Personalizar → Campos de Usuário, você precisa passá-los como
$parameters = array(
'nonce' => $nonce,
'external_id' => 'jay',
'email' => 'bugsbunny@betaclub.org',
'username' => 'bugsbunny@betaclub.org',
'name' => 'Bugs Bunny',
'add_groups' => 'state_sponsors',
'custom.user_field_1' => 'Pro',
'custom.user_field_2' => 'FL',
);
Os nomes dos campos não são o nome que você definiu na interface do usuário, mas campos numerados chamados user_field_NÚMERO.
5 curtidas
Jay_Moore
(Jay Moore)
Fevereiro 22, 2022, 8:02pm
3
Isso funcionou, muito obrigado.
Você sabe como preencher um campo de múltipla seleção com vários valores?
‘custom.user_field_1’ => ‘Pro, Newbie’,
??
1 curtida
Falco
(Falco)
Fevereiro 22, 2022, 8:36pm
4
Curiosamente, eu estava pesquisando sobre isso na semana passada e, pelo que parece, não damos suporte a campos de seleção múltipla via payload do DiscourseConnect no momento.
Jay_Moore
(Jay Moore)
Fevereiro 24, 2022, 12:39pm
7
Fiz alguns testes e ele preencherá um campo de múltipla seleção se apenas um valor for enviado.
Não funciona - ‘custom.user_field_1’ => ‘Pro, Newbie’,
Funciona - ‘custom.user_field_1’ => ‘Pro’,
Isso está OK para nossas necessidades. Se esse campo for editável pelo usuário final, ele poderá adicionar outras seleções conforme necessário.
@Falco Muito obrigado pela ajuda
1 curtida
Jay_Moore
(Jay Moore)
Fevereiro 24, 2022, 2:16pm
8
A próxima pergunta é sobre add_groups. Tenho uma lista delimitada por vírgulas, mas ela não está adicionando o usuário aos grupos.
$parameters = array(
'nonce' => $nonce,
'external_id' => $sponsor['spid'],
'email' => $sponsor['email'],
'username' => $sponsor['email'],
'name' => $fullname,
'add_groups' => 'state_sponsor, status_sponsor, elect_sponsor',
'location' => $location,
'custom.user_field_1' => $experience, //experience - Newbie, Less than 5, Pro, Old Timer
'custom.user_field_2' => $club['name'].' ('.$sponsor['new_id'].')', //school name with clubid
'custom.user_field_4' => $division, //division
);
A carga útil relatada é:
add_groups=state_sponsor%2C+status_sponsor%2C+elect_sponsor
email=xxxx%40spart1.org
external_id=xxxx
name=Angela+Moore
nonce=xxxx
username=xxxx%40spart1.org
location=Landrum%2C+SC
custom.user_field_1=Pro
custom.user_field_2=Landrum+Middle+School+%28JSC0081%29
custom.user_field_4=Junior
Nos logs do discourseconnect , vejo:
add_groups: state_sponsor, status_sponsor, elect_sponsor
admin:
moderator:
avatar_force_update:
avatar_url:
bio:
card_background_url:
email: xxxx@spart1.org
external_id: xxxxx
groups:
locale:
locale_force_update:
logout:
name: Angela Moore
nonce: xxxx
profile_background_url:
remove_groups:
require_activation:
return_sso_url:
suppress_welcome_message:
title:
username: xxxx@spart1.org
website:
location: Landrum, SC
O que parece correto.
Gostaria de adicionar este usuário aos grupos ‘state_sponsor, status_sponsor, elect_sponsor’.
Falco
(Falco)
Fevereiro 24, 2022, 5:54pm
9
Você precisa remover o espaço entre as vírgulas.
1 curtida
system
(system)
Fechado
Março 26, 2022, 6:01pm
11
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.