bootstrap – ¿Cómo puedo evitar que se repitan varios modal usado para editar con Laravel 5.8?

Es problema que tengo es que utilizo un modal para editar los proyectos, entonces cuando tengo mas de 2 (proyectos), al inspeccionar código me doy cuenta que se repite el modal para cada proyecto, lo cual quisiera evitar y que se muestre solo el que voy a editar.

osea tener solo 1 modal y que cuando de clic al botón para abrir el modal me obtenga los valores de ese proyecto para así no se genere varias veces.

eso es posible?

proyectos(BLADE):

@foreach ($proyectos as $proyecto)
  <div class="card">
    <!-- NOMBRE PROYECTO -->
    <div class="card-header">
        <div>{{$proyecto->proy_nombre}}</div>
        <!-- Editar -->
        <div >
             <a data-toggle="modal" data-target="#EditarProyecto{{$proyecto->proy_id}}" href=""><i class="fa fa-pen"></i></a>
        </div>
    </div>
    <!-- DESCRIPCION PROYECTO -->
    <div class="card-body">{{$proyecto->proy_descripcion}}</div>
</div>
@include('modal.modal_editar_proyecto')
@endforeach

modal_editar_proyecto (BLADE) :

<div class="modal fade" id="EditarProyecto{{$proyecto->proy_id }}" role="dialog" aria-labelledby="EditarPryectoModal" aria-hidden="true">
    <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content">
          {{$proyecto->proy_nombre}}
        </div>
    </div>
 </div>

python – Como fazer uma redução exponencial?

Dados dois números inteiros A e B (A > B), subtraia potências de 2 de A até que o valor de A seja igual a o de B.

Obs: O mesmo número não pode ser usado mais de uma vez.

Obs2: Para não gerar ambiguidade os números devem ser impressos em ordem decrescente.

Não sei como fazer essa redução exponencial

symfony4 – SYMFONY – Como fazer um “valor” vir de fora do código?

Boa noite.
Estou trabalhando com API pela primeira vez no Symfony (excelente framework) e meu gerente me passou a seguinte situação:
Fazer a URL da API vir do services.yaml para o construtor do repository.

Isso seria possível? Se sim, como?
Agradeço desde já a ajuda.

kotlin – ¿Cómo validar que una sharedPreference existe?

”’
si una preferencia existe, que me cargue la actividad con el valor , y si no tiene ningún valor que me envié a la actividad de inicio donde ingrese el valor en el editext y poder almacenar el valor en la sharedpreference
”’
class SegundaActivity : AppCompatActivity() {

lateinit var preferences:SharedPreferences
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_segunda)

    var btnsalir=findViewById<Button>(R.id.btnsalir)
    preferences=getSharedPreferences("SHARED",Context.MODE_PRIVATE)
    val editor:SharedPreferences.Editor=preferences.edit()
    val nombre=preferences.getString("NOMBRE","")
    tvnombre.text=nombre
    
    //validartv()

    btnsalir.setOnClickListener(View.OnClickListener {
        val editor:SharedPreferences.Editor=preferences.edit()
        editor.clear()
        editor.apply()

        val intent=Intent(this,MainActivity::class.java)
        startActivity(intent)
        finish()
    })
}
private fun validartv():Boolean{
    var tvnombre=findViewById<TextView>(R.id.tvnombre)
    if (preferences.getBoolean("SHARED", false)) {
        val intent=Intent(this,MainActivity::class.java)
        startActivity(intent)
        return false
    } else {
        Toast.makeText(this,"bienvenido de vuelta",Toast.LENGTH_SHORT).show()
    }
    return true
}

}

python – Como escribir esta clase

soy nuevo aqui, perdon si esta mal hecha la pregunta, se me pidio como un ejercicio de la universidad escribir una clase que creara objetos, esta clase tenia que tomar la informacion de algunos elementos y usar ciertos metodos para ver si es True o False.

import numpy as np

#Metodos
# - IgualPromedio (A, B) : Compara si dos estudiantes (A y B) tienen el mismo promedio
# - Promedio (A) : Muestra el promedio de un estudiante (A)
# - IgualNota (i, A, B) : Muestra si dos estudiantes (A y B), tienen la misma nota en su evaluacion i-esima.
# - MuestraNotas(A): Muestra las notas del estudiante (A)
# - MuestraNombre(A): Muestra nombre del estudiante (A)

# Escriba la clase aca

       

#Declaracion de datos
data = ()
data.append(("J Araneda", 1.0, 3.0, 7.0))
data.append(("K Bahamondes", 4.0, 4.0, 4.0))
data.append(("J Carrasco", 3.0, 3.0, 3.0))
data.append(("H Diaz", 3.0, 4.0, 5.0))
data.append(("I Elgueta", 6.0, 4.0, 3.5))
data.append(("J Faundez", 5.0, 4.5, 6.5))
data.append(("G Gutierrez", 4.0, 5.0, 5.5))
data.append(("F Hernandez", 5.0, 4.6, 4.5))
data.append(("H Isla", 6.0, 6.0, 6.0))
data.append(("A Jodorowsky", 7.0, 4.7, 6.1))

############################
A = ()
for i in data:
    tmp = Alumno(i)
    A.append(tmp)

print(Igual_Promedio(A(0), A(8)))
print(Promedio(A(4)))
print(Igual_Nota(1, A(7), A(8))) #1 es la primera evaluación
print(Muestra_Notas(A(4)))
print(Muestra_Nombre(A(2)))

intente varias veces crear el codigo pero no se como tomar la informacion de los datos y ponerla dentro de mi clase para que haga los metodos.
Gracias

javascript – como pasar un UseState hook de Archive1.js a Archive2.js atravez de un onpress

Buenas tardes soy nuevo en react native y lo que pasa es que quiero pasar un estado a otro archivo diferente y manejar lo desde hay pero no e podido como:

archivo 1.js en este archivo esta el state que necesito que es el DocumentUsu y ese es el que necesito pasar a archivo2.js para poder enviar o manipular desde archivo2.js les agradecería si me pueden ayudar

import React, { useState, useRef } from "react";
import { View, Text, TouchableHighlight, Modal } from "react-native";
import { Input, Icon, Button, Divider } from "react-native-elements";
import Toast from "react-native-easy-toast";

import { KeyboardAwareScrollView } from "react-native-keyboard-aware-scroll-view";
// DropDownPicker
import DropDownPicker from "react-native-dropdown-picker";

//Conexion Base de datos//
import firebase from "firebase/app";
import { firebaseApp } from "../../utilidades/Firebase";
import "firebase/firebase-firestore";
const db = firebase.firestore(firebaseApp);

//Importaciones de vistas//
import CrearCasoContraparte from "../casos/CrearCasoContraparte";
import SubirContrato from "../casos/SubirContrato";

//Componentes//
import {
  buttons,
  containers,
  dividers,
  imgs,
  input,
  toasts,
  texts,
  modals,
  spinners,
} from "../../styles/Styles";
import Loading from "../../utilidades/Loadingcomponents";

/*let UserContext = React.createContext();
let { Provider, Consumer } = UserContext;
*/

export default function CrearCasosUsuario(props) {
  const { navigation } = props;
  const (modalVisible, setModalVisible) = useState(false);
  const (loading, setLoading) = useState(false);
  const toastRef = useRef();
  const (nombreUsu, setnombreUsu) = useState("");
  const (apellidoUsu, setapellidoUsu) = useState("");
  const (documentoUsu, setdocumentoUsu) = useState("");
  const (correoUsu, setcorreoUsu) = useState("");
  const (prioridadUsu, setprioridadUsu) = useState("");
  const (estudioUsu, setestudioUsu) = useState("");
  const (tipoUsu, settipoUsu) = useState("");
  const (areaUsu, setareaUsu) = useState("");

  const addCaso = () => {
    if (
      !nombreUsu ||
      !apellidoUsu ||
      !documentoUsu ||
      !correoUsu ||
      !prioridadUsu ||
      !tipoUsu ||
      !areaUsu ||
      !estudioUsu
    ) {
      toastRef.current.show(
        "todos los campos del formulario son obligatorios",
        3000
      );
    } else {
      db.collection("casoUsuario")
        .add({
          nombre: nombreUsu,
          apellido: apellidoUsu,
          documento: documentoUsu,
          correo: correoUsu,
          prioridad: prioridadUsu,
          tipo: tipoUsu,
          estudio: estudioUsu,
          area: areaUsu,
          fechaCreacion: new Date(),
          creadoPor: firebase.auth().currentUser.uid,
        })
        .then(() => {
          toastRef.current.show("Se a enviado el caso con exito", 3000);
          setModalVisible(true);
        })
        .catch(() => {
          console.log("a ocurrido un error");
        });
    }
  };


  /* function UserProvider({ children }) {
    return <Provider value={documentoUsu}>{children}</Provider>;
  }*/

  return (
    <KeyboardAwareScrollView>
      <View style={containers.containerCrearCasos}>
        <Input
          placeholder="Nombres"
          placeholderTextColor="rgba(10, 70, 120, 0.4)"
          inputStyle={input.inputIcono}
          containerStyle={containers.containerInput}
          inputContainerStyle={{ borderBottomWidth: 0 }}
          onChange={(e) => setnombreUsu(e.nativeEvent.text)}
          leftIcon={
            <Icon
              type="material-community"
              name="account-outline"
              color="#004678"
            />
          }
        />

        <Input
          placeholder="Apellido"
          placeholderTextColor="rgba(10, 70, 120, 0.4)"
          inputStyle={input.inputIcono}
          onChange={(e) => setapellidoUsu(e.nativeEvent.text)}
          containerStyle={containers.containerInput}
          inputContainerStyle={{ borderBottomWidth: 0 }}
          leftIcon={
            <Icon type="material-community" name="account" color="#004678" />
          }
        />

        <Input
          placeholder="Documento"
          onChange={(e) => setdocumentoUsu(e.nativeEvent.text)}
          placeholderTextColor="rgba(10, 70, 120, 0.4)"
          inputStyle={input.inputIcono}
          keyboardType="numeric"
          containerStyle={containers.containerInput}
          inputContainerStyle={{ borderBottomWidth: 0 }}
          leftIcon={
            <Icon
              type="material-community"
              name="clipboard-account-outline"
              color="#004678"
            />
          }
        />

        <Input
          placeholder="Correo Electronico"
          onChange={(e) => setcorreoUsu(e.nativeEvent.text)}
          placeholderTextColor="rgba(10, 70, 120, 0.4)"
          inputStyle={input.inputIcono}
          keyboardType="email-address"
          containerStyle={containers.containerInput}
          inputContainerStyle={{ borderBottomWidth: 0 }}
          leftIcon={
            <Icon type="octicons" name="mail-outline" color="#004678" />
          }
        />

        <View>
          <DropDownPicker
            items={(
              { label: "Alta", value: "Alta" },
              { label: "Media", value: "Media" },
              { label: "Baja", value: "Baja" },
            )}
            labelStyle={texts.textSpinner}
            onChangeItem={(item) => setprioridadUsu(item.value)}
            placeholder="Prioridad"
            containerStyle={containers.containerSpinner}
            style={spinners.spinnersGneneral}
            dropDownStyle={spinners.SpinnerDrown}
          />
        </View>

        <View>
          <DropDownPicker
            items={(
              { label: "Accion disciplinaria", value: "Accion disciplinaria" },
              { label: "Declarativo", value: "Declarativo" },
              {
                label: "Devoluciones de saldos",
                value: "Devoluciones de saldos",
              },
              { label: "Ejecutivo", value: "Ejecutivo" },
              {
                label: "Indemnizacion sustitutiva",
                value: "Indemnizacion sustitutiva",
              },
              {
                label: "Jurisdiccion voluntaria",
                value: "Jurisdiccion voluntaria",
              },
              {
                label: "Nulidad y restablecimiento",
                value: "Nulidad y restablecimiento",
              },
              { label: "Ordinario", value: "Ordinario" },
              { label: "Pension", value: "Pension" },
              {
                label: "Procedimiento administrativo",
                value: "Procedimiento administrativo",
              },
              { label: "Querella/denuncia", value: "Querella/denuncia" },
              {
                label: "Reorganizacion empresarial",
                value: "Reorganizacion empresarial",
              },
              { label: "Sucesion", value: "Sucesion" },
              { label: "Verbal sumario", value: "Verbal sumario" },
            )}
            containerStyle={containers.containerSpinner}
            style={spinners.spinnersGneneral}
            onChangeItem={(item) => settipoUsu(item.value)}
            dropDownStyle={spinners.SpinnerDrown}
            labelStyle={texts.textSpinner}
            placeholder="Tipo"
          />
        </View>

        <View>
          <DropDownPicker
            items={(
              { label: "Archivado", value: "Archivado" },
              {
                label: "Cumplimiento de sentencia",
                value: "Cumplimiento de sentencia",
              },
              { label: "Estudio", value: "Estudio" },
              {
                label: "Procedimiento administrativo",
                value: "Procedimiento administrativo",
              },
              { label: "Proceso judicial", value: "Proceso judicial" },
              {
                label: "Recoleccion de pruebas",
                value: "Recoleccion de pruebas",
              },
            )}
            containerStyle={containers.containerSpinner}
            style={spinners.spinnersGneneral}
            onChangeItem={(item) => setestudioUsu(item.value)}
            dropDownStyle={spinners.SpinnerDrown}
            labelStyle={texts.textSpinner}
            placeholder="Estado"
          />
        </View>

        <View>
          <DropDownPicker
            items={(
              { label: "D.Administrativo", value: "D.Administrativo" },
              { label: "D.Civil", value: "D.Civil" },
              { label: "D.Comercial", value: "D.Comercial" },
              { label: "D.Diciplinario", value: "D.Diciplinario" },
              { label: "D.Familia", value: "D.Familia" },
              { label: "D.Laboral", value: "D.Laboral" },
              { label: "D.Penal", value: "D.Penal" },
              { label: "D.Seguridad social", value: "D.Seguridad social" },
            )}
            containerStyle={containers.containerSpinner}
            style={spinners.spinnersGneneral}
            onChangeItem={(item) => setareaUsu(item.value)}
            dropDownStyle={spinners.SpinnerDrown}
            labelStyle={texts.textSpinner}
            placeholder="Area"
          />
        </View>

        <View>
          <CrearCasoContraparte />
        </View>
        <Button
          title="Siguiente"
          buttonStyle={buttons.btnGeneral}
          containerStyle={containers.containerBtn}
          onPress={addCaso}
        />
        <Loading isVisible={loading} text="creando cuenta" />
        <Toast
          ref={toastRef}
          position="center"
          opacity={0.87}
          style={toasts.toastBlue}
        />
      </View>

      {/* Modal para creación de contrato*/}
      <View style={modals.centeredView}>
        <Modal
          animationType="slide"
          transparent={true}
          visible={modalVisible}
          onRequestClose={() => {
            Alert.alert("Modal has been closed.");
          }}
        >
          <View style={modals.centeredView}>
            <View style={modals.modalView}>
              <Text
                style={{ ...modals.modalTitleText, marginBottom: 50, top: 20 }}
              >
                Contrato
              </Text>

              <Text style={modals.modalText}>
                Juridicapp te permite crear tu contrato o bien subir uno que ya
                tengas
              </Text>
              <TouchableHighlight>
                <Text
                  style={{ ...buttons.btnText, paddingTop: 20 }}
                  onPress={() => {
                    setModalVisible(!modalVisible);
                    navigation.navigate("CrearTrazabilidad");
                  }}
                >
                  Omitir
                </Text>
              </TouchableHighlight>
              <View style={containers.containerHorizontalBtn}>
                <TouchableHighlight
                  style={{ ...modals.buttonDone, backgroundColor: "#004678" }}
                  onPress={() => {
                    setModalVisible(!modalVisible);
                    navigation.navigate("CrearContrato");
                  }}
                >
                  <Text style={modals.textDoneStyle}>Crear contrato</Text>
                </TouchableHighlight>
                <Divider style={{ width: "8%", height: 0 }}></Divider>

                <TouchableHighlight
                  style={{ ...modals.buttonDone, backgroundColor: "#004678" }}
                  onPress={() => {
                    setModalVisible(!modalVisible);
                    navigation.navigate("SubirContrato");
                    <Provider value={documentoUsu}>SubirContrato()</Provider>;
                  }}
                >
                  <Text style={modals.textDoneStyle}>Subir contrato</Text>
                </TouchableHighlight>
              </View>
            </View>
          </View>
          {/*<Toast
            //ref={toastModal}
            position="center"
            opacity={0.87}
            style={toasts.toastBlue}
          />*/}
        </Modal>
      </View>
      {/*Fin Modal para creacion de contrato*/}
    </KeyboardAwareScrollView>
  );
}

Archivo2.js
Y necesito pasar el estado a archivo2.js para enviar el estado a firebase pero necesito de alguna forma llamarlo de el archivo1.js

import React, { useRef } from "react";
import { View, Text, TouchableOpacity, ScrollView } from "react-native";
import { Button, Image } from "react-native-elements";
import * as DocumentPicker from "expo-document-picker";
import firebase from "firebase/app";
import Toast from "react-native-easy-toast";

//Componentes//
import {
  buttons,
  containers,
  dividers,
  imgs,
  input,
  toasts,
  texts,
  modals,
  spinners,
} from "../../styles/Styles";
import Loading from "../../utilidades/Loadingcomponents";

export default function SubirContrato(documentoUsu) {
  console.log(documentoUsu);
  const user = firebase.auth().currentUser;
  const { uid, email, displayName, photoURL } = user;
  const toastRef = useRef();

  const galeriaArchivo = async () => {
    const result = await DocumentPicker.getDocumentAsync({
      copyToCacheDirectory: true,
      multiple: false,
      type: "application/*",
    });
    if (result.type === "cancel") {
      toastRef.current.show("Has cerrado la seleccion de Documento", 2000);
    } else {
      uploadDocument(result.uri, result.name)
        .then(() => {
          updatePhotoUrl();
          toastRef.current.show("Documento subido", 2000);
        })
        .catch(() => {
          toastRef.current.show("Error al subir Documento", 2000);
        });
    }
  };

  const uploadDocument = async (uri, name) => {
    const response = await fetch(uri);
    const blob = await response.blob();
    console.log(JSON.stringify(blob));
    const ref = firebase.storage().ref().child(`Contratos/${uid}/${name}`);
    return ref.put(blob);
  };

  const updatePhotoUrl = () => {
    firebase
      .storage()
      .ref(`Contratos/${uid}`)
      .getDownloadURL()
      .then((response) => {});
  };
  return (
    <ScrollView>
      <View style={containers.containerMain}>
        <View style={containers.containerSubirContrato}>
          <View style={containers.containerSubir}>
            <TouchableOpacity onPress={galeriaArchivo}>
              <Image
                onProgress={galeriaArchivo}
                source={require("../../../assets/img/subircontrato.png")}
                style={{
                  marginTop: 50,
                  width: 300,
                  height: 150,
                  resizeMode: "contain",
                  tintColor: "#004678",
                }}
              />
            </TouchableOpacity>

            <Text style={texts.textSubirContrato}>
              Seleccione el contrato para subir
            </Text>
          </View>
          <Button
            title="Siguiente"
            buttonStyle={buttons.btnGeneral}
            containerStyle={containers.containerBtn}
          />
        </View>
        <Toast
          ref={toastRef}
          position="center"
          opacity={0.9}
          style={toasts.toastBlue}
        />
      </View>
    </ScrollView>
  );
}

asp.net – ¿Como consultar por fecha a una tabla excluyendo la hora?

Hola estoy tratando de trabajar en un pequeño filtro por fecha en net core , el problema que tengo es que en la tabla guardo hora y fecha y el input solo pasa fecha entonces al hacer la consulta no devuelve nada porque esta esperando fecha y hora, necesito trabajar el filtro para ir viendo por dias, ¿como puedo solucionarlo?

Esto es lo que llega por input

14-07-2020

Este es el formato que estoy guardando de Fecha:

15-07-2020 10:35:58

esta es la consulta que hago:

 return View(await _context.Venta.Where(x => x.Fecha == filtro).ToListAsync());

html – Tem como criar um Bookmark sem o atributo id?

Bom, eu tenho essa dúvida porque já li vários artigos de determinados sites e muitos dos autores não colocam o atributo id nos elementos o que acaba acontecendo é que se você encontrar seções e querer criar Bookmarks na sua página se referencinando para essas seções do site não tem como, muitos dos sites utilizam mais classes.

Como, por exemplo, abaixo ao clicar no link a página atual será direcionada para uma página do MDN sobre a API Geolocation e a página pulará para uma determinada seção (graças ao atributo id):

<a href="https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API/#Concepts_and_usage" target="_blank">Geolocation API</a>

Ok, mas e se não existisse o atributo id como em muitos sites e sim um atributo class, um elemento sem atributo e etc, teria como pular pelas seções do site para criar o Bookmark, sem o atributo id ou não?

¿Como saber la longitud de un parametro de una function en JavaScript?

Parceros, me pueden ayudar a saber la longitud de un parametro. Necesito saber la longitud del argumento que fue mandado

    function cadenaMayor(cadena) {
  var mayor = "";

  if (cadena.length > mayor.length) {
    mayor = cadena;
  }
  return mayor;
}```





python 3.x – Como fazer o último número da saída não ter a “|”?

Descrição do problema:
Faça um programa que leia dois números inteiros, representando os valores inicio e fim de um intervalo e imprima os múltiplos de 5 entre eles.

Meu código:

valores = input().split()

numero1 = int(valores(0))

numero2 = int(valores(1))

for n in range(numero1, numero2+1):

if n % 5 == 0:

    print(n, end='|')

Notem que os números são separados por essa “|”, mas não pode tê-la depois do último número, aí está a minha dúvida.