diff --git a/backend/internal/auth/service.go b/backend/internal/auth/service.go index 6ad64b6..06152e3 100644 --- a/backend/internal/auth/service.go +++ b/backend/internal/auth/service.go @@ -315,6 +315,15 @@ func (s *Service) AdminCreateUser(ctx context.Context, email, senha, role, nome, Nome: nome, Email: &email, FuncaoProfissionalID: funcaoID, + Whatsapp: &telefone, + CpfCnpjTitular: &cpfCnpj, + Cep: &cep, + Endereco: &endereco, + Numero: &numero, + Complemento: &complemento, + Bairro: &bairro, + Cidade: &cidade, + Uf: &estado, } // Create the professional diff --git a/frontend/pages/UserApproval.tsx b/frontend/pages/UserApproval.tsx index f7f39ca..c2acc9b 100644 --- a/frontend/pages/UserApproval.tsx +++ b/frontend/pages/UserApproval.tsx @@ -270,7 +270,7 @@ const CreateUserModal: React.FC = ({ {formData.role === "EVENT_OWNER" && (
-

Dados do Cliente

+

Dados Cadastrais

= ({
)} + {/* 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") && ( +
+

Dados Profissionais

+
+ setFormData({...formData, cpfCnpj: formatCPFCNPJ(e.target.value)})} + placeholder="000.000.000-00" + maxLength={18} + /> + 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 + })); + } + }); + } + }} + /> +
+
+ setFormData({...formData, endereco: e.target.value})} + /> + setFormData({...formData, numero: e.target.value})} + /> +
+
+ setFormData({...formData, complemento: e.target.value})} + /> + setFormData({...formData, bairro: e.target.value})} + /> +
+
+ setFormData({...formData, cidade: e.target.value})} + /> + setFormData({...formData, estado: e.target.value})} + maxLength={2} + /> +
+
+ )} + {formData.role === "PHOTOGRAPHER" && (
@@ -373,9 +451,9 @@ const CreateUserModal: React.FC = ({ 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" > - - - + + +
@@ -513,14 +591,14 @@ export const UserApproval: React.FC = ({ onNavigate }) => { telefone: createFormData.telefone, professional_type: createFormData.role === "PHOTOGRAPHER" ? createFormData.professional_type : undefined, empresa_id: createFormData.role === "EVENT_OWNER" ? createFormData.empresa_id : undefined, - cpf_cnpj: createFormData.role === "EVENT_OWNER" ? createFormData.cpfCnpj : undefined, - cep: createFormData.role === "EVENT_OWNER" ? createFormData.cep : undefined, - endereco: createFormData.role === "EVENT_OWNER" ? createFormData.endereco : undefined, - numero: createFormData.role === "EVENT_OWNER" ? createFormData.numero : undefined, - complemento: createFormData.role === "EVENT_OWNER" ? createFormData.complemento : undefined, - bairro: createFormData.role === "EVENT_OWNER" ? createFormData.bairro : undefined, - cidade: createFormData.role === "EVENT_OWNER" ? createFormData.cidade : undefined, - estado: createFormData.role === "EVENT_OWNER" ? createFormData.estado : undefined, + cpf_cnpj: createFormData.cpfCnpj, + cep: createFormData.cep, + endereco: createFormData.endereco, + numero: createFormData.numero, + complemento: createFormData.complemento, + bairro: createFormData.bairro, + cidade: createFormData.cidade, + estado: createFormData.estado, regiao: createFormData.regiao || undefined };