Conversation
|
@GonzzaG no hay que pushear nunca jamás la carpeta node_modules al repo! Está en el .gitignore, fijate porfa si no moviste la carpeta a otro entorno y por eso terminó pusheandose! Hay más de 3K archivos jajajaja |
|
No tengo idea en que momento commitee eso. Hay alguna manera de encontrar el commit en el que modifique todo eso y poder eliminar ese commit? |
…a correlation experiment
Introduce a new read-only tissues app (model, admin, serializer, views, URLs, app config) with initial migration and a data migration loading a list of tissue names. Add tissue ForeignKey fields to CGDSStudy and UserFile with corresponding migrations. Update serializers to accept tissue_id (writable PK) and include nested tissue representation on retrieve; persist tissue on updates/creates. Expose tissues in the REST API and enable filtering by tissue for CGDSStudy and UserFile (DjangoFilterBackend imports and filterset_fields). Register the app in settings and project URLs, and add a frontend URL constant for tissues. Admin/UI prevents adding/changing/deleting tissues (read-only).
Convert Tissue FK to ManyToMany on CGDSStudy and UserFile and update related code. Models updated to use tissues M2M; serializers changed (tissue_id -> tissue_ids, nested tissues in responses, create/update now set M2M relations); views' filterset_fields switched to 'tissues'; admin updated to filter and edit M2M with filter_horizontal and a user-facing tissue list column. Added migrations to replace FK with M2M for datasets_synchronization and user_files, and a new tissues migration that adds a unique code field and loads standardized initial tissue data (replacing the previous locale-specific seed). Run migrations after pulling these changes.
d25dfff to
77d3eef
Compare
|
Ahi pude eliminar ese commit gena, tuve que ir resolviendo conflictos, aparecieron conflictos en archivos que yo no habia tocado, asi que siempre fui priorizando los commits de los demas, despues me aparecieron un conflicto entre 2 commits de hernan, asi que ahi priorice el mas nuevo. |
| from .models import CGDSStudy, CGDSDatasetSynchronizationState, CGDSStudySynchronizationState, CGDSDataset | ||
| from rest_framework import generics, permissions, filters | ||
| from django_filters.rest_framework import DjangoFilterBackend | ||
| from django_filters.rest_framework import DjangoFilterBackend |
| from institutions.models import Institution | ||
| from tags.models import Tag | ||
| from tissues.models import Tissue | ||
| from tissues.models import Tissue |
| from django.contrib.auth.decorators import login_required | ||
| from django.conf import settings | ||
|
|
||
| from django.conf import settings |
There was a problem hiding this comment.
Este y los dos imports de abajo están repetidos
| text-decoration: underline; | ||
| } | ||
|
|
||
| .biomarkers--side--bar--box { |
There was a problem hiding this comment.
Esto ya está en biomarkers.css, los archivos .css los podés importar en donde gustes! Si necesitás los mismos estilos que se cargan podés hacer un import /path/al/biomarkers.css y reutilizarlos. En caso de que en dicho archivo haya muchos estilos que no necesitás, lo que podés hacer es crear un archivo que se llame, por ejemplo, biomarkers-form.css e importarlo en ambos lugares
| }) => void; | ||
| } | ||
|
|
||
| const CreateBiomarkerButton: React.FC<CreateBiomarkerButtonProps> = ({ |
There was a problem hiding this comment.
Agregar documentación sobre qué es lo que hace el componente y dejar props como parámetro:
/**
* Renders a ....
* @param props Component props.
* @returns Component.
*/
const CreateBiomarkerButton = (props: CreateBiomarkerButtonProps) => {
// Aca adentro si queres podes hacer lo de destructuracion
const {
experimentInfo,
onCreateBiomarker,
} = props| const [open, setOpen] = useState(false) | ||
| const [selectedOption, setSelectedOption] = useState<BiomarkerOption>('selectAll') | ||
|
|
||
| const handleConfirm = () => { |
There was a problem hiding this comment.
Se que parece redundante, pero agregar documentación. Tener el 100% del código documentado evita extender las funciones en un futuro más allá de para lo que fueron planeadas. Y encima reduce la carga cognitica de las personas que después deben mantener el código
No description provided.