fix: ajusta fluxo de cadastro pela rota de /aprovacao-cadastros
This commit is contained in:
parent
cd33c63d9d
commit
1ef8d3f435
2 changed files with 99 additions and 12 deletions
|
|
@ -315,6 +315,15 @@ func (s *Service) AdminCreateUser(ctx context.Context, email, senha, role, nome,
|
||||||
Nome: nome,
|
Nome: nome,
|
||||||
Email: &email,
|
Email: &email,
|
||||||
FuncaoProfissionalID: funcaoID,
|
FuncaoProfissionalID: funcaoID,
|
||||||
|
Whatsapp: &telefone,
|
||||||
|
CpfCnpjTitular: &cpfCnpj,
|
||||||
|
Cep: &cep,
|
||||||
|
Endereco: &endereco,
|
||||||
|
Numero: &numero,
|
||||||
|
Complemento: &complemento,
|
||||||
|
Bairro: &bairro,
|
||||||
|
Cidade: &cidade,
|
||||||
|
Uf: &estado,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the professional
|
// Create the professional
|
||||||
|
|
|
||||||
|
|
@ -270,7 +270,7 @@ const CreateUserModal: React.FC<CreateUserModalProps> = ({
|
||||||
|
|
||||||
{formData.role === "EVENT_OWNER" && (
|
{formData.role === "EVENT_OWNER" && (
|
||||||
<div className="space-y-4 border-t pt-4 mt-2">
|
<div className="space-y-4 border-t pt-4 mt-2">
|
||||||
<h4 className="font-medium text-gray-900">Dados do Cliente</h4>
|
<h4 className="font-medium text-gray-900 border-b pb-1 mb-3">Dados Cadastrais</h4>
|
||||||
<div className="grid grid-cols-2 gap-4">
|
<div className="grid grid-cols-2 gap-4">
|
||||||
<Input
|
<Input
|
||||||
label="CPF/CNPJ"
|
label="CPF/CNPJ"
|
||||||
|
|
@ -361,6 +361,84 @@ const CreateUserModal: React.FC<CreateUserModalProps> = ({
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{/* Show Address for Professionals too if not EVENT_OWNER (since we handled it above inside the block, wait - logic change needed) */}
|
||||||
|
{/* Actually, let's make the Address block generic for PHOTOGRAPHER and BUSINESS_OWNER too */}
|
||||||
|
{(formData.role === "PHOTOGRAPHER" || formData.role === "BUSINESS_OWNER") && (
|
||||||
|
<div className="space-y-4 border-t pt-4 mt-2">
|
||||||
|
<h4 className="font-medium text-gray-900 border-b pb-1 mb-3">Dados Profissionais</h4>
|
||||||
|
<div className="grid grid-cols-2 gap-4">
|
||||||
|
<Input
|
||||||
|
label="CPF/CNPJ"
|
||||||
|
value={formData.cpfCnpj || ''}
|
||||||
|
onChange={(e) => setFormData({...formData, cpfCnpj: formatCPFCNPJ(e.target.value)})}
|
||||||
|
placeholder="000.000.000-00"
|
||||||
|
maxLength={18}
|
||||||
|
/>
|
||||||
|
<Input
|
||||||
|
label="CEP"
|
||||||
|
value={formData.cep || ''}
|
||||||
|
onChange={(e) => setFormData({...formData, cep: formatCEP(e.target.value)})}
|
||||||
|
placeholder="00000-000"
|
||||||
|
onBlur={(e) => {
|
||||||
|
const cep = e.target.value.replace(/\D/g, '');
|
||||||
|
if (cep.length === 8) {
|
||||||
|
fetch(`https://viacep.com.br/ws/${cep}/json/`)
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(data => {
|
||||||
|
if (!data.erro) {
|
||||||
|
setFormData(prev => ({
|
||||||
|
...prev,
|
||||||
|
endereco: data.logradouro,
|
||||||
|
bairro: data.bairro,
|
||||||
|
cidade: data.localidade,
|
||||||
|
estado: data.uf
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="grid grid-cols-[2fr_1fr] gap-4">
|
||||||
|
<Input
|
||||||
|
label="Endereço"
|
||||||
|
value={formData.endereco || ''}
|
||||||
|
onChange={(e) => setFormData({...formData, endereco: e.target.value})}
|
||||||
|
/>
|
||||||
|
<Input
|
||||||
|
label="Número"
|
||||||
|
value={formData.numero || ''}
|
||||||
|
onChange={(e) => setFormData({...formData, numero: e.target.value})}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="grid grid-cols-2 gap-4">
|
||||||
|
<Input
|
||||||
|
label="Complemento"
|
||||||
|
value={formData.complemento || ''}
|
||||||
|
onChange={(e) => setFormData({...formData, complemento: e.target.value})}
|
||||||
|
/>
|
||||||
|
<Input
|
||||||
|
label="Bairro"
|
||||||
|
value={formData.bairro || ''}
|
||||||
|
onChange={(e) => setFormData({...formData, bairro: e.target.value})}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="grid grid-cols-[2fr_1fr] gap-4">
|
||||||
|
<Input
|
||||||
|
label="Cidade"
|
||||||
|
value={formData.cidade || ''}
|
||||||
|
onChange={(e) => setFormData({...formData, cidade: e.target.value})}
|
||||||
|
/>
|
||||||
|
<Input
|
||||||
|
label="UF"
|
||||||
|
value={formData.estado || ''}
|
||||||
|
onChange={(e) => setFormData({...formData, estado: e.target.value})}
|
||||||
|
maxLength={2}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
{formData.role === "PHOTOGRAPHER" && (
|
{formData.role === "PHOTOGRAPHER" && (
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
<div>
|
<div>
|
||||||
|
|
@ -373,9 +451,9 @@ const CreateUserModal: React.FC<CreateUserModalProps> = ({
|
||||||
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-photum-green focus:border-transparent outline-none transition-all"
|
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-photum-green focus:border-transparent outline-none transition-all"
|
||||||
>
|
>
|
||||||
<option value="">Selecione...</option>
|
<option value="">Selecione...</option>
|
||||||
<option value="FOTOGRAFO">Fotógrafo</option>
|
<option value="Fotógrafo">Fotógrafo</option>
|
||||||
<option value="CINEGRAFISTA">Cinegrafista</option>
|
<option value="Cinegrafista">Cinegrafista</option>
|
||||||
<option value="EDITOR">Editor</option>
|
<option value="Editor">Editor</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -513,14 +591,14 @@ export const UserApproval: React.FC<UserApprovalProps> = ({ onNavigate }) => {
|
||||||
telefone: createFormData.telefone,
|
telefone: createFormData.telefone,
|
||||||
professional_type: createFormData.role === "PHOTOGRAPHER" ? createFormData.professional_type : undefined,
|
professional_type: createFormData.role === "PHOTOGRAPHER" ? createFormData.professional_type : undefined,
|
||||||
empresa_id: createFormData.role === "EVENT_OWNER" ? createFormData.empresa_id : undefined,
|
empresa_id: createFormData.role === "EVENT_OWNER" ? createFormData.empresa_id : undefined,
|
||||||
cpf_cnpj: createFormData.role === "EVENT_OWNER" ? createFormData.cpfCnpj : undefined,
|
cpf_cnpj: createFormData.cpfCnpj,
|
||||||
cep: createFormData.role === "EVENT_OWNER" ? createFormData.cep : undefined,
|
cep: createFormData.cep,
|
||||||
endereco: createFormData.role === "EVENT_OWNER" ? createFormData.endereco : undefined,
|
endereco: createFormData.endereco,
|
||||||
numero: createFormData.role === "EVENT_OWNER" ? createFormData.numero : undefined,
|
numero: createFormData.numero,
|
||||||
complemento: createFormData.role === "EVENT_OWNER" ? createFormData.complemento : undefined,
|
complemento: createFormData.complemento,
|
||||||
bairro: createFormData.role === "EVENT_OWNER" ? createFormData.bairro : undefined,
|
bairro: createFormData.bairro,
|
||||||
cidade: createFormData.role === "EVENT_OWNER" ? createFormData.cidade : undefined,
|
cidade: createFormData.cidade,
|
||||||
estado: createFormData.role === "EVENT_OWNER" ? createFormData.estado : undefined,
|
estado: createFormData.estado,
|
||||||
regiao: createFormData.regiao || undefined
|
regiao: createFormData.regiao || undefined
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue