agregar funciones en backend
This commit is contained in:
		
							parent
							
								
									1865ce73ae
								
							
						
					
					
						commit
						81cb378a1a
					
				| 
						 | 
				
			
			@ -49,6 +49,7 @@ const AdministradoresComunidad = () => {
 | 
			
		|||
    const dt = useRef(null);
 | 
			
		||||
 | 
			
		||||
    const [changeStatusAdminCommunityDialog, setChangeStatusAdminCommunityDialog] = useState(false);
 | 
			
		||||
    const [saveButtonTitle, setSaveButtonTitle] = useState("Registrar");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    async function listaAdmin() {
 | 
			
		||||
| 
						 | 
				
			
			@ -151,22 +152,22 @@ const AdministradoresComunidad = () => {
 | 
			
		|||
                }
 | 
			
		||||
            );
 | 
			
		||||
 | 
			
		||||
       
 | 
			
		||||
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    const deleteSelectedAdminsCommunity = () => {
 | 
			
		||||
        let _admins = listaAdmins.filter(
 | 
			
		||||
            (val) => !selectedAdminsCommunities.includes(val),
 | 
			
		||||
        );
 | 
			
		||||
         selectedAdminsCommunities.map((item) => {
 | 
			
		||||
                 fetch('http://localhost:4000/user/deleteAdminCommunity/' + item._id, {
 | 
			
		||||
                     cache: 'no-cache',
 | 
			
		||||
                     method: 'DELETE',
 | 
			
		||||
                     headers: {
 | 
			
		||||
                         'Content-Type': 'application/json'
 | 
			
		||||
                     }
 | 
			
		||||
                 })
 | 
			
		||||
             })
 | 
			
		||||
        selectedAdminsCommunities.map((item) => {
 | 
			
		||||
            fetch('http://localhost:4000/user/deleteAdminCommunity/' + item._id, {
 | 
			
		||||
                cache: 'no-cache',
 | 
			
		||||
                method: 'DELETE',
 | 
			
		||||
                headers: {
 | 
			
		||||
                    'Content-Type': 'application/json'
 | 
			
		||||
                }
 | 
			
		||||
            })
 | 
			
		||||
        })
 | 
			
		||||
        setListaAdmins(_admins);
 | 
			
		||||
        setDeleteAdminsCommunitiesDialog(false);
 | 
			
		||||
        setSelectedAdminsCommunities(null);
 | 
			
		||||
| 
						 | 
				
			
			@ -225,51 +226,82 @@ const AdministradoresComunidad = () => {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    const saveAdminCommunity = () => {
 | 
			
		||||
        if (adminCommunity.name && adminCommunity.dni && adminCommunity.last_name && adminCommunity.email && adminCommunity.phone) {
 | 
			
		||||
        let _administrators = [...listaAdmins];
 | 
			
		||||
 | 
			
		||||
            let _administrators = [...listaAdmins];
 | 
			
		||||
            let _adminCommunity = { ...adminCommunity };
 | 
			
		||||
            _adminCommunity.community_id = communityId;
 | 
			
		||||
            console.log(_adminCommunity)
 | 
			
		||||
            console.log(communityId)
 | 
			
		||||
        if (adminCommunity._id) {
 | 
			
		||||
            if (adminCommunity.name && adminCommunity.dni &&
 | 
			
		||||
                adminCommunity.last_name && adminCommunity.email &&
 | 
			
		||||
                adminCommunity.phone) {
 | 
			
		||||
 | 
			
		||||
            fetch('http://localhost:4000/user/createAdminCommunity', {
 | 
			
		||||
                cache: 'no-cache',
 | 
			
		||||
                method: 'POST',
 | 
			
		||||
                body: JSON.stringify(_adminCommunity),
 | 
			
		||||
                headers: {
 | 
			
		||||
                    'Content-Type': 'application/json'
 | 
			
		||||
                }
 | 
			
		||||
            })
 | 
			
		||||
                .then(
 | 
			
		||||
                    function (response) {
 | 
			
		||||
                        if (response.status != 201)
 | 
			
		||||
                            console.log('Ocurrió un error con el servicio: ' + response.status);
 | 
			
		||||
                        else
 | 
			
		||||
                            return response.json();
 | 
			
		||||
                let _adminCommunity = { ...adminCommunity };
 | 
			
		||||
                _adminCommunity.community_id = communityId;
 | 
			
		||||
 | 
			
		||||
                fetch('http://localhost:4000/user/createAdminCommunity', {
 | 
			
		||||
                    cache: 'no-cache',
 | 
			
		||||
                    method: 'POST',
 | 
			
		||||
                    body: JSON.stringify(_adminCommunity),
 | 
			
		||||
                    headers: {
 | 
			
		||||
                        'Content-Type': 'application/json'
 | 
			
		||||
                    }
 | 
			
		||||
                )
 | 
			
		||||
                .then(() => {
 | 
			
		||||
 | 
			
		||||
                    // _adminCommunity.community_id = communitiesList.find(c => c._id === _adminCommunity.community_id).name
 | 
			
		||||
 | 
			
		||||
                    _administrators.push(_adminCommunity);
 | 
			
		||||
                    toast.current.show({ severity: 'success', summary: 'Registro exitoso', detail: 'Administrador de Comunidad de vivienda Creada', life: 3000 });
 | 
			
		||||
 | 
			
		||||
                    setListaAdmins(_administrators);
 | 
			
		||||
 | 
			
		||||
                    setAdminCommunity(emptyAdminCommunity);
 | 
			
		||||
 | 
			
		||||
                })
 | 
			
		||||
                .catch(
 | 
			
		||||
                    err => console.log('Ocurrió un error con el fetch', err)
 | 
			
		||||
                );
 | 
			
		||||
                    .then(
 | 
			
		||||
                        function (response) {
 | 
			
		||||
                            if (response.status != 201)
 | 
			
		||||
                                console.log('Ocurrió un error con el servicio: ' + response.status);
 | 
			
		||||
                            else
 | 
			
		||||
                                return response.json();
 | 
			
		||||
                        }
 | 
			
		||||
                    )
 | 
			
		||||
                    .then(() => {
 | 
			
		||||
 | 
			
		||||
                        // _adminCommunity.community_id = communitiesList.find(c => c._id === _adminCommunity.community_id).name
 | 
			
		||||
 | 
			
		||||
                        _administrators.push(_adminCommunity);
 | 
			
		||||
                        toast.current.show({ severity: 'success', summary: 'Registro exitoso', detail: 'Administrador de Comunidad de vivienda Creada', life: 3000 });
 | 
			
		||||
 | 
			
		||||
                        setListaAdmins(_administrators);
 | 
			
		||||
 | 
			
		||||
                        setAdminCommunity(emptyAdminCommunity);
 | 
			
		||||
 | 
			
		||||
                    })
 | 
			
		||||
                    .catch(
 | 
			
		||||
                        err => console.log('Ocurrió un error con el fetch', err)
 | 
			
		||||
                    );
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            } else {
 | 
			
		||||
                setSubmitted(true);
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            setSubmitted(true);
 | 
			
		||||
            let _admin = { ...adminCommunity };
 | 
			
		||||
            console.log(`Actualizando admnistrador de comunidad: ${_admin}`)
 | 
			
		||||
            fetch(`http://localhost:4000/user/updateAdminCommunity/${_admin._id}`, {
 | 
			
		||||
                cache: 'no-cache',
 | 
			
		||||
                method: 'PUT',
 | 
			
		||||
                body: JSON.stringify(_admin),
 | 
			
		||||
                headers: {
 | 
			
		||||
                    'Content-Type': 'application/json',
 | 
			
		||||
                },
 | 
			
		||||
            }).then((response) => {
 | 
			
		||||
                if (response.status !== 200)
 | 
			
		||||
                    console.log(`Hubo un error en el servicio: ${response.status}`)
 | 
			
		||||
                else return response.json()
 | 
			
		||||
            }).then(() => {
 | 
			
		||||
                toast.current.show({
 | 
			
		||||
                    severity: 'success',
 | 
			
		||||
                    summary: 'Éxito',
 | 
			
		||||
                    detail: 'Inquilino editado',
 | 
			
		||||
                    life: 3000,
 | 
			
		||||
                })
 | 
			
		||||
                _administrators.push(_admin);
 | 
			
		||||
                toast.current.show({ severity: 'success', summary: 'Exito', detail: 'Administrador de Comunidad de vivienda Actualizada', life: 3000 });
 | 
			
		||||
 | 
			
		||||
                setListaAdmins(_administrators);
 | 
			
		||||
 | 
			
		||||
                setAdminCommunity(emptyAdminCommunity);
 | 
			
		||||
            })
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const hideDeleteAdminCommunityDialog = () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -298,6 +330,18 @@ const AdministradoresComunidad = () => {
 | 
			
		|||
        setChangeStatusAdminCommunityDialog(true);
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    const editAdmin = (admin) => {
 | 
			
		||||
        setAdminCommunity(admin);
 | 
			
		||||
        console.log(admin);
 | 
			
		||||
        setSaveButtonTitle('Actualizar');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    const cancelEdit = () => {
 | 
			
		||||
        setAdminCommunity(adminCommunity);
 | 
			
		||||
        setSaveButtonTitle('Registrar');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const actionsAdminCommunity = (rowData) => {
 | 
			
		||||
        let icono = '';
 | 
			
		||||
        let text = '';
 | 
			
		||||
| 
						 | 
				
			
			@ -310,15 +354,22 @@ const AdministradoresComunidad = () => {
 | 
			
		|||
        }
 | 
			
		||||
        return (
 | 
			
		||||
            <div className="actions">
 | 
			
		||||
                <Button
 | 
			
		||||
                    icon="pi pi-pencil"
 | 
			
		||||
                    className="p-button-rounded p-button-success mt-2 mx-2"
 | 
			
		||||
                    onClick={() => editAdmin(rowData)}
 | 
			
		||||
                    title="Editar"
 | 
			
		||||
                />
 | 
			
		||||
                <Button
 | 
			
		||||
                    icon={`${icono}`}
 | 
			
		||||
                    className="p-button-rounded p-button-warning mt-2 mx-2"
 | 
			
		||||
                    onClick={() => confirmChangeStatuAdminCommunity(rowData)}
 | 
			
		||||
                    title={`${text}`}
 | 
			
		||||
                />
 | 
			
		||||
                
 | 
			
		||||
                <Button
 | 
			
		||||
                    icon="pi pi-trash"
 | 
			
		||||
                    className="p-button-rounded p-button-danger mt-2"
 | 
			
		||||
                    className="p-button-rounded p-button-danger mt-2 mx-2"
 | 
			
		||||
                    onClick={() => confirmDeleteAdminCommunity(rowData)}
 | 
			
		||||
                />
 | 
			
		||||
            </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -503,7 +554,7 @@ const AdministradoresComunidad = () => {
 | 
			
		|||
                        <Column field="phone" header={headerPhone} style={{ flexGrow: 1, flexBasis: '160px', minWidth: '160px', wordBreak: 'break-word' }}></Column>
 | 
			
		||||
                        <Column field="community_name" sortable header={headerCommuntiy} style={{ flexGrow: 1, flexBasis: '160px', minWidth: '160px', wordBreak: 'break-word' }}></Column>
 | 
			
		||||
                        <Column field="status" sortable header={headerStatus} body={statusBodyTemplate} style={{ flexGrow: 1, flexBasis: '160px', minWidth: '160px', wordBreak: 'break-word' }}></Column>
 | 
			
		||||
                        <Column style={{ flexGrow: 1, flexBasis: '130px', minWidth: '130px' }} body={actionsAdminCommunity}></Column>
 | 
			
		||||
                        <Column style={{ flexGrow: 1, flexBasis: '80px', minWidth: '80px' }} body={actionsAdminCommunity}></Column>
 | 
			
		||||
                    </DataTable>
 | 
			
		||||
                    <Dialog visible={deleteAdminCommunityDialog} style={{ width: '450px' }} header="Confirmar" modal footer={deleteAdminCommunityDialogFooter} onHide={hideDeleteAdminCommunityDialog}>
 | 
			
		||||
                        <div className="flex align-items-center justify-content-center">
 | 
			
		||||
| 
						 | 
				
			
			@ -617,7 +668,23 @@ const AdministradoresComunidad = () => {
 | 
			
		|||
                                {submitted && !communityId && <small className="p-invalid">Comunidad es requirida.</small>}
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <Button label="Registrar" onClick={saveAdminCommunity} />
 | 
			
		||||
                        <div style={{
 | 
			
		||||
                            display: "flex",
 | 
			
		||||
                            justifyContent: "center",
 | 
			
		||||
                            gap: "10px",
 | 
			
		||||
                            width: "100%"
 | 
			
		||||
                        }}>
 | 
			
		||||
                            <Button
 | 
			
		||||
                                label={`${saveButtonTitle}`}
 | 
			
		||||
                                onClick={saveAdminCommunity}
 | 
			
		||||
                            />
 | 
			
		||||
                            {saveButtonTitle === 'Actualizar' && (
 | 
			
		||||
                                <Button
 | 
			
		||||
                                    label="Cancelar"
 | 
			
		||||
                                    onClick={cancelEdit}
 | 
			
		||||
                                    className="p-button-danger" />)}
 | 
			
		||||
                        </div>
 | 
			
		||||
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue