Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Distinction nom réel / nom de fichier des uploads #1555

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

etchegom
Copy link
Contributor

@etchegom etchegom commented Aug 29, 2024

Ajout d'un champ realname sur le modèle UploadedFile. Le champ filename contiendra désormais le nom "sluggifié", le champ realname le nom d'origine.

  • Pour les object actuels, on copiera la valeur de filename dans realname dans une migration.
  • Pour les nouveaux objets, on complètera les champs au moment du save, afin d'avoir le slug dans filename.

Au niveau de l'UI, l'info du nom de fichier est le plus souvent contenue dans les champs de type text avec du contenu JSON (file_dict). J'ai donc fait deux choses:

  • Créer un script pour ajouter l'info realname manquante dans ces champs
  • Rendre cette info optionnelles au niveau du template (si realname manquant, on prend filename.

Au moment du download, on replace la valeur de realname dans le nom de l'instance téléchargée.

@etchegom etchegom self-assigned this Aug 29, 2024
Copy link

github-actions bot commented Aug 29, 2024

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
8320 6920 83% 80% 🟢

New Files

No new covered files...

Modified Files

File Coverage Status
conventions/services/convention_generator.py 83% 🟢
conventions/services/utils.py 89% 🟢
conventions/views/conventions.py 63% 🟢
upload/admin.py 100% 🟢
upload/models.py 100% 🟢
upload/services.py 76% 🟢
upload/views.py 62% 🟢
TOTAL 82% 🟢

updated for commit: e85a8f1 by action🐍

@etchegom etchegom changed the title 🚧 Fix s3 backup Fix s3 backup Sep 4, 2024
@etchegom etchegom marked this pull request as ready for review September 4, 2024 08:10
@etchegom etchegom requested a review from a team as a code owner September 4, 2024 08:10
@etchegom etchegom requested review from kolok and syldb and removed request for a team September 4, 2024 08:10
@etchegom etchegom force-pushed the fix-s3-backup branch 2 times, most recently from 36c2781 to 7f67bd8 Compare September 6, 2024 08:49
Copy link
Collaborator

@kolok kolok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@etchegom
où est-ce qu'on joue avec le realname et filename pour uploader les fichiers en utilisant la version slugifié et les downloader avec le nom initial ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A sortir de cette migration, on devrait le faire passer dans un shell en oneshot.

@etchegom etchegom marked this pull request as ready for review September 24, 2024 12:55
@etchegom
Copy link
Contributor Author

@etchegom où est-ce qu'on joue avec le realname et filename pour uploader les fichiers en utilisant la version slugifié et les downloader avec le nom initial ?

J'ai fait plusieurs changements, notamment:

  • fallback sur le filename si le realname est vide, coté template
  • prise en compte du realnam au moment du download

Copy link
Collaborator

@kolok kolok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je veux bien qu'on fasse une pair-review pour celle-ci

@etchegom etchegom changed the title Fix s3 backup Refacto upload realname / filename Oct 14, 2024
@@ -4,7 +4,7 @@
<div class='fr-mx-1w dz-image'>
<img class="small_thumbnail" {% if file.thumbnail %}src='{{file.thumbnail}}'{% endif %}/>
</div>
<a class='fr-mx-1w' href='{% url 'upload:display_file' convention_uuid=convention.uuid uploaded_file_uuid=file.uuid %}'>{{file.filename}}</a>
<a class='fr-mx-1w' href='{% url 'upload:display_file' convention_uuid=convention.uuid uploaded_file_uuid=file.uuid %}'>{{file.realname|default:file.filename}}</a>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On affiche realname si il existe, filename sinon.
Tant qu'on n'a pas passé le script de mise à jour des champs "text & files", ou bien dans le cas où on en aurait oublié, on se prémunit de tout problème de display ici.

@etchegom etchegom changed the title Refacto upload realname / filename Distinction nom réel / nom de fichier des uploads Oct 14, 2024
Copy link
Collaborator

@kolok kolok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Un effet de bord avec le CSRF token à investiguer

upload/models.py Outdated Show resolved Hide resolved
upload/models.py Outdated Show resolved Hide resolved
conventions/tests/services/test_convention_generator.py Outdated Show resolved Hide resolved
@etchegom etchegom force-pushed the fix-s3-backup branch 2 times, most recently from e21ed35 to 89d1f02 Compare November 8, 2024 13:41
Copy link

sonarcloud bot commented Nov 14, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants