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
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.
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.
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.
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.
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.
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
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.
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.
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.
The children were not moved with their parents. It was caused by
a wrong reassignement of the path of the children, we should replace
the whole previous path with the new one.
Refactored the translations.json file to enhance the user experience by
updating and organizing translation keys related to folder actions. This
includes the addition of keys for upload, delete, restore, and move
actions, ensuring consistency and clarity in user notifications across
the application.
Added a check to prevent further event handling when the ctrl or meta
key is pressed. This change ensures that specific actions are not
triggered unintentionally during user interactions, improving the
overall usability of the Explorer component.
Refactored the ExplorerTree component to include updates for the titles
of the "PERSONAL_SPACE" and "SHARED_SPACE" nodes. This change utilizes
the translation function to ensure that the titles reflect the current
language settings, improving the user experience by providing localized
content in the tree structure.
Introduced a new context for managing drag-and-drop state within the
ExplorerDndProvider. This includes the addition of overedItemIds state
and a custom hook for accessing this context in the ExplorerGrid
component. Removed unnecessary local state in ExplorerGrid to streamline
the component's logic. These changes improve the overall structure and
maintainability of the drag-and-drop functionality.