Commit Graph
233 Commits
Author SHA1 Message Date
virgile-deville f77d2875e1 📝(doc) fix typos and remove crowdin contribution
The crowdin project is empty for now.

Signed-off-by: virgile-deville <virgile.deville@beta.gouv.fr>
2025-05-23 08:47:55 +02:00
virgile-deville 922b1d1289 📝(doc) add image to showcase product in readme
So that people get a preview of the product's UI

Signed-off-by: virgile-deville <virgile.deville@beta.gouv.fr>
2025-05-23 08:47:55 +02:00
virgile-deville a44a943d04 📝(doc) add thank you note to contributors
Because open source rules

Signed-off-by: virgile-deville <virgile.deville@beta.gouv.fr>
2025-05-23 08:47:55 +02:00
virgile-deville 2b0f48e80f 📝(doc) add security.md
So people can report security issues

Signed-off-by: virgile-deville <virgile.deville@beta.gouv.fr>
2025-05-23 08:47:55 +02:00
virgile-deville 21fe686819 📝(doc) fix layout in code of conduct
So it is more readable

Signed-off-by: virgile-deville <virgile.deville@beta.gouv.fr>
2025-05-23 08:47:55 +02:00
virgile-deville 56274655ee 📝(doc) improve readme
Added project description logo and screenshot

Signed-off-by: virgile-deville <virgile.deville@beta.gouv.fr>
2025-05-23 08:47:55 +02:00
Manuel Raynaud 3379fde82a 🔒️(front) improve docker image security
Cyberwatch reported security issues with the frontend Docker image.
2025-05-22 11:28:32 +02:00
Manuel Raynaud 7119fa7896 ️(back) use posthog with django lasuite integration
During the refacto replacing the usage of mozillaOIDC library to django
lasuite library, I removed the usage of postog allowing to filter to a
limited list of the user the access to posthog. This PR revert this
removal and integrates it with django lasuite
2025-05-22 11:28:32 +02:00
Nathan Vasse c911d04b31 (front) make the language in sync with backend
The switching of the language was not persisting to the backend.
2025-05-21 18:10:51 +02:00
Nathan Vasse f5159307af (back) add language to user serializer
We need the user language to be able to synchronize the frontend.
2025-05-21 18:10:51 +02:00
Nathan Vasse f39bcacf96 🐛(back) fix mail language and url
The link in the link was not correct, also added french translation
for the sent mails. The language used was not the language of the user,
I replaced with the most up to date approach used on Docs.
2025-05-21 17:13:14 +02:00
Manuel Raynaud 9b421705f1 ♻️(back) remove usage of mozilla-oidc in favor of django-lasuite
We have implemented in a common library, django-lasuite. This library
integrates all the OIDC code we already made. We need this first refacto
in order to use new feature like resource server API.
2025-05-19 17:43:14 +02:00
renovate[bot]andGitHub 3a4c75ce87 ⬆️(dependencies) update django to v5.1.9 [SECURITY] 2025-05-19 12:17:45 +00:00
Manuel Raynaud feb1ff76fe 🔧(misc) add .gitlint config file
Add missing .gitlint config file
2025-05-19 14:06:29 +02:00
Manuel Raynaud 8367e750ad ♻️(back) restore item with ancestors deleted in the highest ancestor
When an item is restored and has ancestors deleted, instead of restoring
it at its initial depth, we move it in the top level workspace.
2025-05-19 13:45:57 +02:00
Manuel Raynaud ba3fe5f67a ♻️(back) use item id as label in its path
The labels used in the item path were incremented from the previous path
used. To do this, we needed to fetch the nearest sibling, increment it
to insert it. This causes race condition, hard move and hard code. We
choose to change it by using the item id as label.
2025-05-19 13:39:22 +02:00
Nathan Vasse ff00743f0c 💚(ci) enable frontend CI
Before we were working like unstoppable high speed train, now it's
time add more safety. :)
2025-05-15 17:07:37 +02:00
Nathan Vasse 76c4eddd3a 🐛(front) fix computedStyleMap usage
This function is not available on Firefox, so I decided to switch
to getComputedStyle that seem to achieve the same result.
2025-05-15 15:00:00 +02:00
Nathan Vasse b5cfb169a8 (global) add posthog whitelisting feature
In order to be able to allow specific users during the alpha we
need to add its support to the app.
2025-05-14 10:17:45 +02:00
Manuel Raynaud a119b77a2b 🔧(helm) upgrade chart to version 0.0.2
We have added the celery deployment. We have to publish a new chart to
include it.
2025-05-13 09:28:30 +02:00
Manuel Raynaud 72a4404aba 🐛(back) import debug_toolbar_urls only in debug mode
The debug_toolbar package is now a dev dependency. So the module can't
be imported in other environment than the dev one. To avoid missing
module error, we import it only in debug mode.
2025-05-13 08:34:04 +02:00
Samuel Paccoud - DINUMandSamuel Paccoud 36273ff6b4 (backend) add check that hard deleted items can't be restored
If an item was hard deleted, the restore method could still be
called on the model programmatically. We must check that this will
raise an error.
2025-05-12 16:18:27 +02:00
Samuel Paccoud - DINUMandSamuel Paccoud 08ad49f618 ♻️(backend) make django debug toolbar to dev only
We should not install django debug toolbar in the production
image and we should only declare its urls in debug mode.
2025-05-12 16:18:27 +02:00
Samuel Paccoud - DINUMandSamuel Paccoud f506dd7335 ♻️(backend) add standardized error codes for 40x responses
Proper handling of 40x error responses by the frontend requires
machine codes. DRF only returns a human readable message by
default by we can rely on the drf-standardized-errors package
mentioned in DRF documentation.
2025-05-12 16:18:27 +02:00
Nathan Vasse 7737c8aeda (front) disable area selection on mobile
We don't want to allow this interaction on mobile for now.
2025-05-09 15:33:11 +02:00
Nathan Vasse 3c6332cb65 ⬆️(front) bump ui-kit
We need the controlled version of the left sidebar.
2025-05-09 15:33:11 +02:00
Nathan Vasse 5be74b23cc 💄(front) make the mobile version of the style
Here is the brand first new mobile version of Drive :) !
2025-05-09 15:33:11 +02:00
Nathan Vasse f5180db440 (front) add mobile version of the sidebar
On this version we only show the workspace, not the tree.
2025-05-09 15:33:11 +02:00
Nathan Vasse 8044bfdeff (front) make the left panel controllable
We need to close the left panel we navigating on mobile.
2025-05-09 15:33:11 +02:00
Nathan Vasse c15def6e2f ♻️(front) extract tree item icon component
We need this component for the mobile version on the sidebar.
2025-05-09 15:33:11 +02:00
Nathan Vasse 16cd171b17 (front) add mobile dedicated table column
On mobile, we show this column and hide the others.
2025-05-09 15:33:11 +02:00
Nathan Vasse 9b235d1dc9 (front) add mobile breadcrumbs
This breadcrumbs is displayed only on mobile to keep track of the
current workspace and folder.
2025-05-09 15:33:11 +02:00
Nathan Vasse 36a61b1c17 (front) create dedicate search component
This approach is used for the mobile version, on this version the
search in not in the left sidebar but in the header.
2025-05-09 15:33:11 +02:00
Nathan Vasse a0715d32fc (front) add dedicated logout button
This button is going to be used on the mobile version.
2025-05-09 15:33:11 +02:00
Nathan Vasse 21589c8509 (front) create responsive component tool
This component is useful to tell the current media queries applied.
2025-05-09 15:33:11 +02:00
virgile-devilleandManuel Raynaud 846e3f8191 📝(doc) add code of conduct, changelog and contributing guidelines
So that we provide guidelines to the community

Signed-off-by: virgile-deville <virgile.deville@beta.gouv.fr>
2025-05-06 11:45:20 +02:00
Manuel Raynaud 29157140c2 (back) update test to reflect modification in #139 2025-05-06 11:42:56 +02:00
Nathan VasseandManuel Raynaud 2432ed5f8d (front) add hard delete to trash
This allows to completely remove an item from the trash, forever.
2025-05-06 11:42:56 +02:00
Nathan VasseandManuel Raynaud 3c61bbb74d (front) add hard delete mutation
We need that mutation to make optimistic updates to the UI.
2025-05-06 11:42:56 +02:00
Nathan VasseandManuel Raynaud 175cee4758 (front) add hard delete methods to drivers
In order to be able to hard delete items we need the drivers
to implement this method.
2025-05-06 11:42:56 +02:00
Manuel Raynaud 912abdc0e5 🔧(helm) configure celery deployment
We need to create a deployment dedicated to celery. It is a copy of the
backend one with services removed as it does not use them.
Also the command, liveness and readyness are dedicated to celery
2025-05-06 11:42:56 +02:00
Manuel Raynaud 9d26355a2d (back) call the item deletion task in the hard delete endpoint
We can now call the process item deletion task in the hard delete
endpoint. The process will be executed in background.
2025-05-06 11:42:56 +02:00
Manuel Raynaud f5b0a0539b (back) create a task to delete items
Once an item hard deleted, a celery task can be used to delete them in
database, delete related files in the bucket and delete in cascade all
the items.
2025-05-06 11:42:56 +02:00
Manuel Raynaud 5939948420 (back) add endpoint to hard delete an item
We add a new endpoint to hard delete an item. An item can be hard
deleted only when it has been soft deleted and only by an owner.
2025-05-06 11:42:56 +02:00
Manuel Raynaud bd9a310ff1 (back) flag an items as hard deleted
An item is by default hard deleted. We also want to hard delete it.
Instead of just deleting it in the database we add a new firls on the
model, flagging it as hard deleted allowing us to postpone real deletion
later.
2025-05-06 11:42:56 +02:00
Manuel Raynaud b0ef753b70 (back) add configure celery
We will need to execute long task. For this we will use celery to
declare task to execute them in background.
2025-05-06 11:42:56 +02:00
Manuel Raynaud 075f05cc6c (back) add hard_delete_at field on Item serializer
The front needs to know when an item will be hard deleted. We add this
info in the Item serializer. The field contains an ISO8601 date.
2025-05-06 11:42:56 +02:00
Nathan Panchout 3cfa5cf3dd 🐛(front) prevent updates before tree initialization
Added a check in the ExplorerTree component to ensure that tree updates
translations  only occur after the tree has been initialized.
2025-05-05 10:45:28 +02:00
Nathan Panchout 3eecb4de2a 🐛(front) improve drag-and-drop validation
Enhanced the drag-and-drop functionality by adding a check to prevent
dropping an item into its own children, ensuring a more intuitive user
experience. Updated the logic for determining if a folder has loaded
children based on the number of child folders and existing children.
Additionally, refined the conditions for allowing drops in the
ExplorerTree component, improving overall usability and consistency in
item management.
2025-05-05 10:08:32 +02:00
Nathan VasseandNathan Panchout 24e6cb2c1b (front) add search dev modal
We need to inform the user that this feature will come soon.
2025-05-05 09:52:10 +02:00