applification: avoir un lien entre les objets importés et l'application hobo (#74372) #102

Merged
lguerin merged 8 commits from wip/74372-application-links into main 2023-04-17 16:36:05 +02:00
Owner
No description provided.
lguerin force-pushed wip/74372-application-links from 66c79352a0 to 617f29306b 2023-02-10 15:18:54 +01:00 Compare
lguerin force-pushed wip/74372-application-links from 617f29306b to b17795efaa 2023-02-10 23:09:54 +01:00 Compare
lguerin force-pushed wip/74372-application-links from b17795efaa to 2709ae2a67 2023-02-11 06:25:52 +01:00 Compare
lguerin force-pushed wip/74372-application-links from 2709ae2a67 to 2f4943a463 2023-02-13 11:57:04 +01:00 Compare
lguerin force-pushed wip/74372-application-links from 2f4943a463 to 3f02513140 2023-02-13 17:55:42 +01:00 Compare
lguerin force-pushed wip/74372-application-links from 3f02513140 to 7c38598d8b 2023-02-14 10:01:22 +01:00 Compare
lguerin force-pushed wip/74372-application-links from 7c38598d8b to 580141bc37 2023-02-17 10:37:56 +01:00 Compare
lguerin force-pushed wip/74372-application-links from 580141bc37 to 5c20dba5f6 2023-02-17 11:16:17 +01:00 Compare
lguerin force-pushed wip/74372-application-links from 5c20dba5f6 to 8c5e9fc52d 2023-02-17 16:08:39 +01:00 Compare
lguerin force-pushed wip/74372-application-links from 8c5e9fc52d to 9b354b7030 2023-02-17 16:40:07 +01:00 Compare
Author
Owner

Absolument pas terminé, mais je pose quand même 2 screenshots

Absolument pas terminé, mais je pose quand même 2 screenshots
lguerin force-pushed wip/74372-application-links from 0435f235ee to a7dffcaeec 2023-02-20 16:36:26 +01:00 Compare
pducroquet requested changes 2023-02-20 18:00:44 +01:00
Dismissed
wcs/sql.py Outdated
@ -4587,0 +4719,4 @@
% table_name
)
# TODO indexes ?
Owner

Selon les volumes, effectivement, un index sur (object_type, object_id) ne serait pas de trop. Tout dépendra des volumes.

Selon les volumes, effectivement, un index sur (object_type, object_id) ne serait pas de trop. Tout dépendra des volumes.
Author
Owner

index ajouté

index ajouté
lguerin marked this conversation as resolved
wcs/sql.py Outdated
@ -4587,0 +4724,4 @@
cur.execute(
'ALTER TABLE %s ADD CONSTRAINT %s_unique UNIQUE (application_id, object_type, object_id)'
% (table_name, table_name)
)
Owner

Donc à chaque appel de do_table, on va supprimer et recréer la contrainte, et donc l'index lié. Pas fan du tout.

Donc à chaque appel de do_table, on va supprimer et recréer la contrainte, et donc l'index lié. Pas fan du tout.
Owner

Il y aurait / tu aurais une syntaxe en "IF NOT EXISTS" pour faire ça ?

Il y aurait / tu aurais une syntaxe en "IF NOT EXISTS" pour faire ça ?
Author
Owner

j'ai fait une requête pour aller voir dans `information_schema.constraint_column_usage

j'ai fait une requête pour aller voir dans `information_schema.constraint_column_usage
lguerin marked this conversation as resolved
lguerin force-pushed wip/74372-application-links from a7dffcaeec to da6b3e60a0 2023-02-21 14:46:51 +01:00 Compare
lguerin changed title from WIP: applification: avoir un lien entre les objets importés et l'application hobo (#74372) to applification: avoir un lien entre les objets importés et l'application hobo (#74372) 2023-02-21 14:49:23 +01:00
Author
Owner

0001: deux nouvelles tables, pour y stocker les informations sur une app et sur les liens entre objets et app + création des liens à l'import d'une app
0002: ajout d'un template pour le listing des workflows
0003: ajout d'un template pour le listing des categories
0004: vues pour lister les objets d'une app
0005: affichage de l'icône d'une app dans les listings
0006: à l'import, unlink des objets obsolètes
0007: endpoint pour déclarer les objets d'une app (appelé par hobo à la génération d'une version)
0008: endpoint pour unlink complètement une app (appelé par hobo à la suppression d'une app)
0009: il manquait des objets dans les tests export/import

A reprendre après https://dev.entrouvert.org/issues/74651 pour la présentation des applis disponibles sur le listing des objets.

0001: deux nouvelles tables, pour y stocker les informations sur une app et sur les liens entre objets et app + création des liens à l'import d'une app 0002: ajout d'un template pour le listing des workflows 0003: ajout d'un template pour le listing des categories 0004: vues pour lister les objets d'une app 0005: affichage de l'icône d'une app dans les listings 0006: à l'import, unlink des objets obsolètes 0007: endpoint pour déclarer les objets d'une app (appelé par hobo à la génération d'une version) 0008: endpoint pour unlink complètement une app (appelé par hobo à la suppression d'une app) 0009: il manquait des objets dans les tests export/import A reprendre après https://dev.entrouvert.org/issues/74651 pour la présentation des applis disponibles sur le listing des objets.
lguerin requested review from pducroquet 2023-02-21 14:55:41 +01:00
lguerin force-pushed wip/74372-application-links from da6b3e60a0 to 0c4d9e6804 2023-03-03 17:03:52 +01:00 Compare
lguerin added 9 commits 2023-03-04 09:23:22 +01:00
lguerin added 7 commits 2023-03-28 18:29:19 +02:00
lguerin changed title from applification: avoir un lien entre les objets importés et l'application hobo (#74372) to WIP: applification: avoir un lien entre les objets importés et l'application hobo (#74372) 2023-03-28 18:30:22 +02:00
lguerin force-pushed wip/74372-application-links from 77494e1686 to fd63d72250 2023-03-28 18:32:32 +02:00 Compare
lguerin force-pushed wip/74372-application-links from fd63d72250 to 0edf6a7460 2023-03-29 13:45:56 +02:00 Compare
lguerin force-pushed wip/74372-application-links from 0edf6a7460 to fe3744cfd3 2023-03-29 14:43:48 +02:00 Compare
lguerin force-pushed wip/74372-application-links from c5558b77d9 to 963e698b42 2023-03-29 16:22:29 +02:00 Compare
Author
Owner

nouvelle liste de commits (#74651 est passé):

0001: deux nouvelles tables, pour y stocker les informations sur une app et sur les liens entre objets et app + création des liens à l'import d'une app
0002: vues pour lister les objets d'une app
0003: affichage de l'icône d'une app dans les listings
0004: à l'import, unlink des objets obsolètes
0005: endpoint pour déclarer les objets d'une app (appelé par hobo à la génération d'une version)
0006: endpoint pour unlink complètement une app (appelé par hobo à la suppression d'une app)
0007: il manquait des objets dans les tests export/import
0008: fix sur #74651 (mauvais nom de block dans un template)
0009: pour ne pas supprimer les icônes des applications

nouvelle liste de commits (#74651 est passé): 0001: deux nouvelles tables, pour y stocker les informations sur une app et sur les liens entre objets et app + création des liens à l'import d'une app 0002: vues pour lister les objets d'une app 0003: affichage de l'icône d'une app dans les listings 0004: à l'import, unlink des objets obsolètes 0005: endpoint pour déclarer les objets d'une app (appelé par hobo à la génération d'une version) 0006: endpoint pour unlink complètement une app (appelé par hobo à la suppression d'une app) 0007: il manquait des objets dans les tests export/import 0008: fix sur #74651 (mauvais nom de block dans un template) 0009: pour ne pas supprimer les icônes des applications
lguerin changed title from WIP: applification: avoir un lien entre les objets importés et l'application hobo (#74372) to applification: avoir un lien entre les objets importés et l'application hobo (#74372) 2023-03-29 16:25:09 +02:00
Owner

0008: fix sur #74651 (mauvais nom de block dans un template)

Je vais essayer de tout tester/relire pour ce cycle mais tu pourrais déjà pusher celui-ci ? (ça demande peut-être de mentionner un autre numéro de ticket dans l'objet, pour que scrutiny ne ferme pas ce ticket, ça me va si c'est #74651 plutôt qu'un nouveau ticket).

> 0008: fix sur #74651 (mauvais nom de block dans un template) Je vais essayer de tout tester/relire pour ce cycle mais tu pourrais déjà pusher celui-ci ? (ça demande peut-être de mentionner un autre numéro de ticket dans l'objet, pour que scrutiny ne ferme pas ce ticket, ça me va si c'est #74651 plutôt qu'un nouveau ticket).
Author
Owner

ok je pousse le 0008 à part

ok je pousse le 0008 à part
lguerin added 8 commits 2023-03-29 16:37:08 +02:00
lguerin removed review request for pducroquet 2023-03-29 19:25:03 +02:00
lguerin dismissed pducroquet’s review 2023-03-29 19:25:19 +02:00
fpeters reviewed 2023-04-12 20:54:15 +02:00
fpeters left a comment
Owner

Je l'ai tourné en local et j'ai relu, quelques notes et ça me semble ok.

Je l'ai tourné en local et j'ai relu, quelques notes et ça me semble ok.
@ -171,2 +171,4 @@
sql.WorkflowTrace.do_table()
sql.Application.do_table()
sql.ApplicationElement.do_table()
sql.init_global_table()
Owner

Dans wcs/publisher.py, il manque un appel aux .do_table() dans initialize_sql; (manque aussi TestDef et TestResult, on dirait, je vais faire un ticket).

Idéalement il n'y aurait pas à répéter ça, les tests appelleraient initialize_sql, je ne sais plus ce qui compliquait ça. (mais ça relève d'un autre ticket également, ici juste copier les deux lignes dans publisher.py sera très bien).

Dans wcs/publisher.py, il manque un appel aux .do_table() dans initialize_sql; (manque aussi TestDef et TestResult, on dirait, je vais faire un ticket). Idéalement il n'y aurait pas à répéter ça, les tests appelleraient initialize_sql, je ne sais plus ce qui compliquait ça. (mais ça relève d'un autre ticket également, ici juste copier les deux lignes dans publisher.py sera très bien).
Author
Owner

ajouté dans wcs/publisher.py

ajouté dans wcs/publisher.py
@ -0,0 +21,4 @@
from wcs.qommon.backoffice.menu import html_top
class ApplicationsDirectory(Directory):
Owner

On pourrait avoir un _q_index qui ferait juste redirect('..'), pour ne pas donner une 404 sur un chemin partiel.

On pourrait avoir un `_q_index` qui ferait juste redirect('..'), pour ne pas donner une 404 sur un chemin partiel.
Author
Owner

fait

fait
@ -0,0 +51,4 @@
self.application = application
def _q_traverse(self, path):
get_response().breadcrumb.append(('%s/' % self.application.id, self.application.name))
Owner

Ça devrait plutôt être application/%s/

Actuellement de https://.../backoffice/forms/application/1/ c'est un lien /backoffice/forms/1/ qui est ajouté à l'href. (pour le moment comme c'est toujours le dernier élément du fil d'ariane et qu'il n'apparait pas, on ne risque pas de clic sur le mauvais lien, mais autant éviter la surprise si jamais des sous-pages sont ajoutées).

Ça devrait plutôt être application/%s/ Actuellement de https://.../backoffice/forms/application/1/ c'est un lien /backoffice/forms/1/ qui est ajouté à l'href. (pour le moment comme c'est toujours le dernier élément du fil d'ariane et qu'il n'apparait pas, on ne risque pas de clic sur le mauvais lien, mais autant éviter la surprise si jamais des sous-pages sont ajoutées).
Author
Owner

fait

fait
wcs/publisher.py Outdated
@ -493,7 +493,15 @@ class WcsPublisher(QommonPublisher):
def get_object_class(self, object_type):
Owner

Dans wcs/publisher.py, il manque un appel aux .do_table() dans initialize_sql.

Dans wcs/publisher.py, il manque un appel aux .do_table() dans initialize_sql.
Author
Owner

fait

fait
@ -768,3 +768,3 @@
ul.biglist.sortable a {
display: inline-block;
width: calc(100% - 2em);
width: calc(100% - 3em);
Owner

J'ai noté un problème en testant cette branche, j'ai fait #76471 (validé et que j'aurai poussé), ça rend le changement ici inutile.

J'ai noté un problème en testant cette branche, j'ai fait #76471 (validé et que j'aurai poussé), ça rend le changement ici inutile.
Author
Owner

changement retiré

changement retiré
@ -0,0 +1,5 @@
{% for application in object.applications %}
{% if application.icon %}
<img src="application/{{ application.id }}/icon" alt="" class="application-icon" />
Owner

Pour les liens application/.../ je serais à préférer l'utilisation du slug, plutôt que l'id de l'application.

Pour les <img>, comme on connait les dimension, on pourrait les mettre dans les attributs, width="16" height="16" ici; ça éviterait un petit temps de décalage du texte au moment où l'icône apparait.

Pour les liens application/.../ je serais à préférer l'utilisation du slug, plutôt que l'id de l'application. Pour les `<img>`, comme on connait les dimension, on pourrait les mettre dans les attributs, width="16" height="16" ici; ça éviterait un petit temps de décalage du texte au moment où l'icône apparait.
Author
Owner

fait, j'ai posé le slug dans toutes les urls, et ajouté une méthode get_by_slug à Application (qui n'hérite pas de StorableObject)

fait, j'ai posé le slug dans toutes les urls, et ajouté une méthode get_by_slug à Application (qui n'hérite pas de StorableObject)
Author
Owner

et j'ai posé un width=16 aussi, mais pas le height; l'icône n'est pas forcément carrée (mais elle fait 16px de large, toujours)

et j'ai posé un width=16 aussi, mais pas le height; l'icône n'est pas forcément carrée (mais elle fait 16px de large, toujours)
@ -29,3 +30,4 @@
path('api/export-import/unlink/', api_export_import.unlink),
re_path(
r'^api/export-import/(?P<objects>[\w-]+)/$',
api_export_import.objects_list,
Owner

En évolutions diverses, je note ici (mais pas pour ce ticket déjà bien chargé),

  • affichage de l'info de l'application sur la page de l'objet en lui-même (pas uniquement sur la page d'index); ça passe peut-être d'abord par revoir/unifier les barres latérales.
En évolutions diverses, je note ici (mais pas pour ce ticket déjà bien chargé), * affichage de l'info de l'application sur la page de l'objet en lui-même (pas uniquement sur la page d'index); ça passe peut-être d'abord par revoir/unifier les barres latérales.
Author
Owner

j'y pensais aussi, mais pour ce premier ticket je me suis dit que c'était déjà bien assez

j'y pensais aussi, mais pour ce premier ticket je me suis dit que c'était déjà bien assez
lguerin added 29 commits 2023-04-13 10:01:37 +02:00
gitea/wcs/pipeline/head This commit looks good Details
117a727c7e
sql: use last_update_time from database (#76003)
gitea/wcs/pipeline/head This commit looks good Details
6d11417ae3
misc: use svg images as their own thumbnail (#75505)
gitea/wcs/pipeline/head This commit looks good Details
6d355739c7
datasource: fix empty jsonvalue (#76078)
gitea/wcs/pipeline/head This commit looks good Details
9b3df25de9
translation update
gitea/wcs/pipeline/head This commit looks good Details
097969e58c
misc: force RGBA thumbnails (#76146)
gitea/wcs/pipeline/head There was a failure building this commit Details
51072f0645
css: adapt to new icon names (#72513)
gitea/wcs/pipeline/head This commit looks good Details
db8d4dd99a
css: adapt edit icon to new icon names (#72513)
gitea/wcs/pipeline/head This commit looks good Details
68ae071267
translation update (with typo #76317)
gitea/wcs/pipeline/head This commit looks good Details
ea2b64b602
jump: improve errors on api call (#76278)
gitea/wcs/pipeline/head There was a failure building this commit Details
e2610cdda5
misc: don't remove unsed application icons (#74372)
lguerin added 8 commits 2023-04-13 10:15:22 +02:00
lguerin added 8 commits 2023-04-14 16:12:35 +02:00
fpeters approved these changes 2023-04-17 14:56:51 +02:00
lguerin added 8 commits 2023-04-17 15:53:39 +02:00
lguerin merged commit f74e7f807e into main 2023-04-17 16:36:05 +02:00
lguerin deleted branch wip/74372-application-links 2023-04-17 16:36:06 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#102
No description provided.