Projet

Général

Profil

Development #21326

Vue mensuelle sur l'agenda

Ajouté par Frédéric Péters il y a environ 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
22 janvier 2018
Echéance:
05 septembre 2018
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Cas d'usage :

  • vérifier le remplissage jour par jour des créneaux pour pouvoir gérerles présences des agents
    • quand accorder les congés
    • quand fermer un guichet qui serait sous-utilisé sur une demi-journée
      NB : ce cas d'usage est à envisager pour d'autres types de RdV que
      CNI/passeport parce que ceux-ci sont systématiquement complets sur au
      moins 1 mois.
En affichage ça devrait donner quelque chose du type :
  • affichage de toutes les journées sur un mois
  • par demi-journées
  • sur chaque demi-journée un indicateur du taux de remplissage des guichets
    • si un seul guichet, c'est simple : dès qu'au moins un RdV est pris
      sur la demi-journée, la demi-journée apparaît occupée
    • si n guichets, faudrait un indicateur du nombre de guichets ayant au
      moins un créneau pris sur la demi-journée

Fichiers

vue-mensuelle-juillet.png (245 ko) vue-mensuelle-juillet.png Serghei Mihai, 05 juillet 2018 09:39
vue-mensuelle-juin.png (225 ko) vue-mensuelle-juin.png Serghei Mihai, 05 juillet 2018 09:39
chrono-vue-mensuelle-1.png (337 ko) chrono-vue-mensuelle-1.png Serghei Mihai, 05 juillet 2018 14:59
chrono-vue-journaliere.png (182 ko) chrono-vue-journaliere.png Serghei Mihai, 05 juillet 2018 15:01
survol.png (143 ko) survol.png Serghei Mihai, 05 juillet 2018 18:16
agenda-juillet.png (423 ko) agenda-juillet.png Serghei Mihai, 10 juillet 2018 18:22
out.ogv (632 ko) out.ogv Serghei Mihai, 16 juillet 2018 15:12
agenda-mensuel.png (390 ko) agenda-mensuel.png Serghei Mihai, 19 juillet 2018 14:57
agenda-mensuel-hover.png (348 ko) agenda-mensuel-hover.png Serghei Mihai, 19 juillet 2018 14:57
agenda-mensuel-1.png (392 ko) agenda-mensuel-1.png Serghei Mihai, 19 juillet 2018 15:18
vue-mensuelle-new.png (319 ko) vue-mensuelle-new.png Serghei Mihai, 23 août 2018 15:38
0001-manager-rename-element-for-calendar-date-picking.patch (3,33 ko) 0001-manager-rename-element-for-calendar-date-picking.patch Serghei Mihai, 23 août 2018 15:45
0002-manager-refactor-agenda-day-view.patch (3,05 ko) 0002-manager-refactor-agenda-day-view.patch Serghei Mihai, 23 août 2018 15:45
0003-manager-add-agenda-s-month-and-booking-view-21326.patch (16,6 ko) 0003-manager-add-agenda-s-month-and-booking-view-21326.patch Serghei Mihai, 23 août 2018 15:45
agenda-aout.png (338 ko) agenda-aout.png Serghei Mihai, 27 août 2018 17:20
mensuelle.png (337 ko) mensuelle.png Serghei Mihai, 28 août 2018 11:34
0002-manager-refactor-agenda-day-view.patch (3,05 ko) 0002-manager-refactor-agenda-day-view.patch Serghei Mihai, 28 août 2018 11:36
0001-manager-rename-element-for-calendar-date-picking.patch (3,33 ko) 0001-manager-rename-element-for-calendar-date-picking.patch Serghei Mihai, 28 août 2018 11:36
0003-manager-add-agenda-s-month-and-booking-view-21326.patch (17,2 ko) 0003-manager-add-agenda-s-month-and-booking-view-21326.patch Serghei Mihai, 28 août 2018 11:36
vue-mensuelle-2.png (339 ko) vue-mensuelle-2.png Serghei Mihai, 30 août 2018 15:27
vu-journalière-2.png (242 ko) vu-journalière-2.png Serghei Mihai, 30 août 2018 15:27
vue-mensuelle-3.png (331 ko) vue-mensuelle-3.png Serghei Mihai, 31 août 2018 17:54
0001-manager-rename-element-for-calendar-date-picking.patch (3,34 ko) 0001-manager-rename-element-for-calendar-date-picking.patch Serghei Mihai, 31 août 2018 17:54
0002-manager-refactor-agenda-day-view.patch (3,05 ko) 0002-manager-refactor-agenda-day-view.patch Serghei Mihai, 31 août 2018 17:54
0003-manager-add-agenda-s-month-and-booking-view-21326.patch (17,6 ko) 0003-manager-add-agenda-s-month-and-booking-view-21326.patch Serghei Mihai, 31 août 2018 17:54
0001-manager-rename-element-for-calendar-date-picking.patch (3,34 ko) 0001-manager-rename-element-for-calendar-date-picking.patch Serghei Mihai, 04 septembre 2018 15:12
0002-manager-refactor-agenda-day-view.patch (3,05 ko) 0002-manager-refactor-agenda-day-view.patch Serghei Mihai, 04 septembre 2018 15:12
0004-scss-create-visual-separation-in-days-and-desks.patch (1,1 ko) 0004-scss-create-visual-separation-in-days-and-desks.patch Serghei Mihai, 04 septembre 2018 15:12
0003-manager-add-agenda-s-month-and-booking-view-21326.patch (17,2 ko) 0003-manager-add-agenda-s-month-and-booking-view-21326.patch Serghei Mihai, 04 septembre 2018 15:12
2.png (220 ko) 2.png Serghei Mihai, 04 septembre 2018 15:13
1.png (400 ko) 1.png Serghei Mihai, 04 septembre 2018 15:13
0003-manager-allow-timeperiod-exceptions-with-the-same-su.patch (7,37 ko) 0003-manager-allow-timeperiod-exceptions-with-the-same-su.patch Serghei Mihai, 05 septembre 2018 12:23
0002-manager-add-agenda-s-month-and-booking-view-21326.patch (16,7 ko) 0002-manager-add-agenda-s-month-and-booking-view-21326.patch Serghei Mihai, 05 septembre 2018 12:23
0001-manager-refactor-agenda-day-view.patch (3,05 ko) 0001-manager-refactor-agenda-day-view.patch Serghei Mihai, 05 septembre 2018 12:23
vue1.png (377 ko) vue1.png Serghei Mihai, 05 septembre 2018 12:23
0002-manager-refactor-agenda-day-view.patch (3,05 ko) 0002-manager-refactor-agenda-day-view.patch Serghei Mihai, 05 septembre 2018 14:43
0003-manager-add-agenda-s-month-and-booking-view-21326.patch (17 ko) 0003-manager-add-agenda-s-month-and-booking-view-21326.patch Serghei Mihai, 05 septembre 2018 14:43
0001-manager-rename-element-for-calendar-date-picking.patch (3,34 ko) 0001-manager-rename-element-for-calendar-date-picking.patch Serghei Mihai, 05 septembre 2018 14:43
0002-manager-refactor-agenda-day-view-21326.patch (3,06 ko) 0002-manager-refactor-agenda-day-view-21326.patch Serghei Mihai, 05 septembre 2018 15:16
0003-manager-add-a-monthly-view-for-meeting-agendas-21326.patch (17 ko) 0003-manager-add-a-monthly-view-for-meeting-agendas-21326.patch Serghei Mihai, 05 septembre 2018 15:16
0001-manager-rename-element-for-calendar-date-picking-213.patch (3,35 ko) 0001-manager-rename-element-for-calendar-date-picking-213.patch Serghei Mihai, 05 septembre 2018 15:16
0001-manager-add-a-monthly-view-for-meeting-agendas-21326.patch (17,4 ko) 0001-manager-add-a-monthly-view-for-meeting-agendas-21326.patch Serghei Mihai, 05 septembre 2018 15:39
0001-manager-add-a-monthly-view-for-meeting-agendas-21326.patch (17,4 ko) 0001-manager-add-a-monthly-view-for-meeting-agendas-21326.patch Serghei Mihai, 05 septembre 2018 22:32
vue2.png (371 ko) vue2.png Serghei Mihai, 05 septembre 2018 22:32

Demandes liées

Lié à Chrono - Development #26425: Depuis vue mensuelle revenir vers jour en coursRejeté14 septembre 201819 septembre 2018

Actions
Lié à Chrono - Support #26426: Positionnement du libellé du jour, dans vue mensuelle, pas optimumFermé14 septembre 2018

Actions
Lié à Chrono - Support #27670: Souci sur affichage du mois de décembre en vue mensuelleFermé30 octobre 2018

Actions

Révisions associées

Révision 22d13783 (diff)
Ajouté par Serghei Mihai il y a plus de 5 ans

manager: rename element for calendar date picking (#21326)

Révision 102beb5b (diff)
Ajouté par Serghei Mihai il y a plus de 5 ans

manager: refactor agenda day view (#21326)

Révision 255bd294 (diff)
Ajouté par Serghei Mihai il y a plus de 5 ans

manager: add a monthly view for meeting agendas (#21326)

Historique

#3

Mis à jour par Serghei Mihai il y a presque 6 ans

  • Echéance mis à 20 juin 2018
  • Assigné à mis à Serghei Mihai
#5

Mis à jour par Frédéric Péters il y a presque 6 ans

Maintenant qu'il y a une échéance et un responsable, ajouter dans la description les détails ?

#6

Mis à jour par Serghei Mihai il y a presque 6 ans

  • Description mis à jour (diff)
#7

Mis à jour par Frédéric Péters il y a presque 6 ans

sur chaque demi-journée un indicateur du taux de remplissage des guichets

La suite propose quelque chose de très binaire dans un cas (mono-guichet), moins dans l'autre (multi-guichets); je suggérerais plutôt quelque chose d'uniforme, on a un nombre de créneaux possibles et un nombre de créneaux occupés, ça fait un taux, de là on découpe en quelques zones, genre 5, 0-20, 20-40, etc. et on affiche une couleur en rapport. (lire https://matplotlib.org/users/colormaps.html et inclure une légende sur la page)

#8

Mis à jour par Serghei Mihai il y a presque 6 ans

  • Statut changé de Nouveau à En cours

WIP dans la branche wip/vue-mensuelle

#9

Mis à jour par Frédéric Péters il y a presque 6 ans

Tu peux isoler le s/day-picker/date-picker/ dans un patch isolé ? Là ça rend le début du commit inutilement sans rapport. (et pareil la fin, sortir un "AgendaDateView"du "AgendaDayView", ça ferait partie d'un premier patch préliminaire, de refactoring avant ajout de fonctionnalité).

#10

Mis à jour par Frédéric Péters il y a presque 6 ans

Mais je me rends compte que ce n'est peut-être en fait pas encore proposé à la relecture, que c'était juste une annonce. ok.

#11

Mis à jour par Serghei Mihai il y a presque 6 ans

  • Echéance changé de 20 juin 2018 à 04 juillet 2018
#12

Mis à jour par Serghei Mihai il y a presque 6 ans

WIP à jour.

L'idée:

  • pour les jours visibles des mois précent et suivant les evenements et les réservations ne remontent pas.
  • pour chaque journée du mois:
    • les créneaux unis des guichets sont affichés, pour cela j'ai repris un bout du code initial du patch proposant les intervals pour avoir l'union des plages d'ouveture des guichets
    • les réservations sont affichées en fonction du nombre de guichets disponibles: si pour un créneau donné un seul guichet propose une ouverture et le creneau est réservé, alors toute la ligne apparaît comme prise (puisque la totalité des guichets est prise). Si plusieurs guichets proposent le créneau, le ratio des guichets réservés par rapport aux guichets disponibles est affiché. Ainsi, un bloc de résa correspond à un guichet et visuellement on voit qu'il s'agit d'un seul guichet sur un creneau ou plusieurs.

Il y a encore pas mal de trucs à corriger dans le code est les feuilles de style.

#13

Mis à jour par Frédéric Péters il y a presque 6 ans

Il y a encore pas mal de trucs à corriger dans le code est les feuilles de style.

Et il faut absolument utiliser Publik en local, je ne regarderai rien sinon.

#14

Mis à jour par Serghei Mihai il y a presque 6 ans

Branche à jour.
(Corrigé une conf pourrie dans mon chrono pour utilise le template gadjo de Publik).

Il me reste à faire rentrer les blocs des résas correctement dans la colonne du jour en CSS.

#15

Mis à jour par Serghei Mihai il y a presque 6 ans

Et donc l'aperçu d'une journée du mois ressemble à celui de la vue journaliéré (par ex 10 juillet).

#16

Mis à jour par Frédéric Péters il y a presque 6 ans

Ça imite mais la première colonne est inutilement large et il y a des bordures de colonnes moches.

Je comprends mais trouve curieux d'avoir l'emplacement pour la fin/début du mois précédent/suivant, c'est à mon avis le même prix de remplir ces semaines complètement. (parce que sinon pour marquer que ces jours ne sont pas représentés il faudrait dégager le libellé du jour et aussi l'alternance de couleurs de lignes, que ça soit juste du blanc, plutôt qu'un jour pas rempli).

Il faudrait une capture avec un agenda quasi plein, comme ça arrive dans la réalité.

Je préférerais commencer sans inclure les numéros de semaine, ce qui aura comme bénéfice de marquer les coupures dans la première colonne.

Comme les créneaux sont in fine remplis avec les réservations plutôt que contenir un taux (pas plus mal), il ne me semble rien y avoir qui empêche les créneaux de s'agrandir pour afficher le détail, sans devoir quitter cette page. (?)

#17

Mis à jour par Serghei Mihai il y a presque 6 ans

Frédéric Péters a écrit :

Ça imite mais la première colonne est inutilement large et il y a des bordures de colonnes moches.

Pépin dans Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=688556, c'est réglé.

Je comprends mais trouve curieux d'avoir l'emplacement pour la fin/début du mois précédent/suivant, c'est à mon avis le même prix de remplir ces semaines complètement. (parce que sinon pour marquer que ces jours ne sont pas représentés il faudrait dégager le libellé du jour et aussi l'alternance de couleurs de lignes, que ça soit juste du blanc, plutôt qu'un jour pas rempli).

Ok, j'affiche les jours des mois précedent/suivant (EGW fait pareil), mais je préfère garder les titres un peu plus opaques pour mettre en évidence les jours du mois courant.

Il faudrait une capture avec un agenda quasi plein, comme ça arrive dans la réalité.

Ok, ça arrive.

Comme les créneaux sont in fine remplis avec les réservations plutôt que contenir un taux (pas plus mal), il ne me semble rien y avoir qui empêche les créneaux de s'agrandir pour afficher le détail, sans devoir quitter cette page. (?)

Les blocs sont déjà assez petits, y mettre des infos va surcharger plus la page (je pense notamment à beaucoup de guichet, ce que donnerait beaucoup de petits blocs.

#18

Mis à jour par Frédéric Péters il y a presque 6 ans

Les blocs sont déjà assez petits, y mettre des infos va surcharger plus la page (je pense notamment à beaucoup de guichet, ce que donnerait beaucoup de petits blocs.

Peut-être que tu as mal compris "de s'agrandir", je propose qu'il puisse s'agrandir, parce que dans leur présentation actuelle, l'agent sera incité à essayer de voir ce à quoi le bloc correspond. Du coup, avoir une réaction genre au clic, permettant d'afficher l'info d'un bloc, ça me semble plutôt nécessaire. Sinon il faut revenir à la description du ticket, qui parlait de demi-journées et de taux, réduire la similarité de l'affichage.

#19

Mis à jour par Serghei Mihai il y a presque 6 ans

Frédéric Péters a écrit :

Peut-être que tu as mal compris "de s'agrandir", je propose qu'il puisse s'agrandir, parce que dans leur présentation actuelle, l'agent sera incité à essayer de voir ce à quoi le bloc correspond.

Je me disais que pour voir les détails il y a le lien vers la vue journalière.

Comme l'info utile que chercherait un agent serait le nom du guichet, je me dis qu'il serait suffisant de l'afficher au survol sur la zone de la réservation (comme dans la capture).

#20

Mis à jour par Frédéric Péters il y a presque 6 ans

Je me disais que pour voir les détails il y a le lien vers la vue journalière.

Oui bien sûr, mais plutôt que juste pouvoir glisser sa souris pour voir à quelle demande correspond ce rendez-vous isolé vendredi dans deux semaines, il doit cliquer sur le jour puis à nouveau glisser vers le rendez-vous et cliquer dessus pour arriver sur la demande à l'origine; bref ça me semble une économie de clic plutôt immédiate et utile, et à laquelle l'agent s'attendra.

Comme l'info utile que chercherait un agent serait le nom du guichet, je me dis qu'il serait suffisant de l'afficher au survol sur la zone de la réservation (comme dans la capture).

Le nom du guichet c'est vraiment une information peu intéressante, parce que de tes captures j'avais l'impression qu'ils étaient toujours posés pour correspondre à leur ordre (le guichet A sur lequel tu es dans la capture étant le premier guichet, et deux heures plus tôt, je devine visuellement que c'est A et C). Par contre du coup je ne pige pas le cas du jeudi 12, où il y a à la fois une barre unique (ok pour dire "tous les guichets", mais réunir l'info dans une barre me semble inutile, on a la même avec trois barres, comme mardi 10 où tu es en survol (et bizarre comportement différent); et puis il y a aussi l'après-midi du jeudi 12 où il y a deux zones mais séparées).

Pour qu'un scan visuel soit possible, je m'en tiendrais à toujours tenir compte de tous les guichets, et afficher pour chacun d'eux la barre, sur la largeur et la position correspondante.

(ta capture continue à montrer des bordures autour des cellules)

#21

Mis à jour par Serghei Mihai il y a presque 6 ans

Frédéric Péters a écrit :

Oui bien sûr, mais plutôt que juste pouvoir glisser sa souris pour voir à quelle demande correspond ce rendez-vous isolé vendredi dans deux semaines, il doit cliquer sur le jour puis à nouveau glisser vers le rendez-vous et cliquer dessus pour arriver sur la demande à l'origine; bref ça me semble une économie de clic plutôt immédiate et utile, et à laquelle l'agent s'attendra.

Le résultat attendu, décrit par Brice, est plutôt de voir les guichets réservés (ou libres) pour les affecter à d'autres types de rendez-vous, accorder des congés. Afficher les détails des rendez-vous ici me paraît inutile. Je voyais un interet d'afficher le nom du guichet, mais pas plus.

Par contre du coup je ne pige pas le cas du jeudi 12, où il y a à la fois une barre unique (ok pour dire "tous les guichets", mais réunir l'info dans une barre me semble inutile, on a la même avec trois barres, comme mardi 10 où tu es en survol (et bizarre comportement différent); et puis il y a aussi l'après-midi du jeudi 12 où il y a deux zones mais séparées).

Pour jeudi 12, le matin il n'y a qu'un seul guichet proposant des rendez-vous, d'ou la barre qui prend tout la largeur. Dans l'après midi il y a 2 guichets proposant des rendez-vous. Mardi 10 juillet: 2 guichets le matin, 3 guichets dans l'après-midi.
Si un guichet ne propose pas de rendez-vous pour un creneau donné de la journée, je ne le prend pas en compte dans le calcul des blocs avec les rendez-vous. Mais je n'y tiens pas spécialement, on peut tout à fait afficher le ratio en fonction du nombre total des guichets de l'agenda, et non du nombre de guichets actifs.

#22

Mis à jour par Frédéric Péters il y a presque 6 ans

Le résultat attendu, décrit par Brice

Mais comme je le notais, ce patch s'éloigne déjà fortement de ça, Brice parlait de demi-journée et d'indicateur de taux. Et je disais que pas de problème pour quitter ça et plutôt s'approcher de la vue d'une journée mais il faut faire ça complètement; ce truc hybride ne marche pas.

#23

Mis à jour par Serghei Mihai il y a presque 6 ans

Bon ok.
Alors les barres d'occupation s'afficheront en fonction du nombre total de guichets et non nombre actifs. Et au clic on affiche les détails de la résa.

#24

Mis à jour par Serghei Mihai il y a presque 6 ans

Branche mise à jour.
Les résas sont des liens, ouvrant des popups avec les infos du rendez-vous (repris le même principe que sur la vue journalière).

#25

Mis à jour par Frédéric Péters il y a presque 6 ans

Les résas sont des liens, ouvrant des popups avec les infos du rendez-vous (repris le même principe que sur la vue journalière).

Euh, j'ai quand même vérifié mais il n'y a pas de popup dans cette vue.

Sur cette vue, au hover sur un créneau, il se passe en CSS z-index: 3; height: auto !important; pour assurer une hauteur au bloc permettant d'en visualiser l'entièreté, et passer au-dessus des autres. Le même principe repris dans la vue mensuelle, ce serait vraisemblablement en plus y ajouter une modification sur le width (, pas ajouter une popup).

(je note qu'il y a toujours des bordures de cellule sur la capture)

#26

Mis à jour par Serghei Mihai il y a presque 6 ans

Frédéric Péters a écrit :

Sur cette vue, au hover sur un créneau, il se passe en CSS z-index: 3; height: auto !important; pour assurer une hauteur au bloc permettant d'en visualiser l'entièreté, et passer au-dessus des autres. Le même principe repris dans la vue mensuelle, ce serait vraisemblablement en plus y ajouter une modification sur le width (, pas ajouter une popup).

Vu la hauteur des blocs des réservations je ne vois pas comment on peut afficher les mêmes infos. Dans la capture que j'ajoutais dans le commentaire #19 la hauteur automatique s'applique au survol, et cela couvre le potentiel bloc de la résa suivante et je ne trouve pas ça clair.
Une autre idée que j'ai eue en re-discutant avec Brice et que la cellule de la journée soit un lien vers la vue journalière, qui afficherait les détails, donc pas d'infos sur les résas dans la vue mensuelle, juste une vue d'ensemble.

#27

Mis à jour par Frédéric Péters il y a presque 6 ans

Dans la capture que j'ajoutais dans le commentaire #19 la hauteur automatique s'applique au survol, et cela couvre le potentiel bloc de la résa suivante et je ne trouve pas ça clair.

Mais c'est ce qu'on a comme fonctionnement pour la vue au quotidien, et il n'y a pas eu de retour négatif là-dessus.

pas d'infos sur les résas dans la vue mensuelle, juste une vue d'ensemble.

Mais si pas d'infos, quoi ?

#28

Mis à jour par Serghei Mihai il y a presque 6 ans

Ok.

Je rajoute l'effet de "depliage" du créneau réservé pour y afficher les mêmes infos que dans la vue journalière, plus le nom du guichet pris.

#29

Mis à jour par Frédéric Péters il y a presque 6 ans

La durée de l'animation est exagérée pour les besoins de la vidéo ?

#30

Mis à jour par Serghei Mihai il y a presque 6 ans

Pour montrer l'exemple, oui.
Sinon ça sera plus rapide: 100ms.

#31

Mis à jour par Serghei Mihai il y a presque 6 ans

Visuel avec plus de réservations dans l'agenda. Branche à jour (je rajoute des tests).

#32

Mis à jour par Frédéric Péters il y a presque 6 ans

(moins, mais il y a toujours des bordures)

#33

Mis à jour par Serghei Mihai il y a presque 6 ans

Frédéric Péters a écrit :

(moins...

C'est-à-dire?

... mais il y a toujours des bordures)

Ok, pas de bordures du tout dans le tableau.

#34

Mis à jour par Frédéric Péters il y a presque 6 ans

(moins...

C'est-à-dire?

C'est-à-dire que je fais la remarque sur les bordures depuis longtemps et que petit à petit elles disparaissent et que je reconnaissais ça.

#35

Mis à jour par Serghei Mihai il y a plus de 5 ans

  • Echéance changé de 04 juillet 2018 à 05 septembre 2018
#36

Mis à jour par Serghei Mihai il y a plus de 5 ans

Après une démonstration rapide à Arles du rendu que j'avais en local et échange au bureau, je change le rendu pour en faire des miniatures de la version journalière. Je garde les bordures pour séparer les journées.

#37

Mis à jour par Thomas Noël il y a plus de 5 ans

Il reste des bordures (joke). Ça imite la vue journalière, je trouve ça bien, l'impression qu'on voit simplement des miniatures des vues journalières, ça me semble très compréhensible ainsi.

Pas regardé le patch, donc je sais pas si c'est jouable, mais je serais pour ne rien afficher pour les jours qui ne sont pas du mois affiché ? Sur l'exemple on voit du vert sur les 30 et 31 juillet et les 1 et 2 septembre, mais comme si y'avait pas de rdv dessus. Ça serait mieux de rien voir du tout, carrément du vide (c'est mon avis).

#38

Mis à jour par Anonyme il y a plus de 5 ans

Thomas Noël a écrit :

Pas regardé le patch, donc je sais pas si c'est jouable, mais je serais pour ne rien afficher pour les jours qui ne sont pas du mois affiché ? Sur l'exemple on voit du vert sur les 30 et 31 juillet et les 1 et 2 septembre, mais comme si y'avait pas de rdv dessus. Ça serait mieux de rien voir du tout, carrément du vide (c'est mon avis).

J'en rajoute une couche sur le style, je trouve qu'il y a trop de gras, les jours et les heures sont toutes grasses et bleues alors que j'attendrais que le gras et la couleur servent de moyen d'attirer l'attention sur qq chose de spécial, et voici ce que je propose comme évolution :
- heures et jours en noir et sans gras
- mettre en bleu (et gras ?) le jour d'aujourd'hui quand il est dans le mois affiché
- mettre en grisé léger les jours dans le passé par rapport à aujourd'hui.

J'ai appliqué les patchs, cliqué partout, regardé dans la console js, executé un tox, tout à l'air d'aller.

#39

Mis à jour par Serghei Mihai il y a plus de 5 ans

Ok pour ne rien afficher pour les jours des mois précedent et suivant, ainsi mettant en exergue visuellement le mois en cours.
Rétiré les gras sur les heures et les dates, sauf le jour courant.

Je joins la capture pour valdier, il me reste à adapter les tests.

#40

Mis à jour par Anonyme il y a plus de 5 ans

Serghei Mihai a écrit :

Ok pour ne rien afficher pour les jours des mois précedent et suivant, ainsi mettant en exergue visuellement le mois en cours.
Rétiré les gras sur les heures et les dates, sauf le jour courant.

Je joins la capture pour valdier, il me reste à adapter les tests.

D'accord, même si j'aurais préféré en plus les jours en noirs, sauf le jour du jour en bleu, pour encore mieux voir le jour courant.

#41

Mis à jour par Serghei Mihai il y a plus de 5 ans

Elias Showk a écrit :

D'accord, même si j'aurais préféré en plus les jours en noirs, sauf le jour du jour en bleu, pour encore mieux voir le jour courant.

Garder le bleu permet à l'usager de comprendre que c'est un lien vers la vue journalière, mais je peux souligner le texte aussi. Je vais une variante comme ça aussi, puis j'inviterai les CPF se prononcer :)

#43

Mis à jour par Mikaël Ates il y a plus de 5 ans

(Le guichet 1 est bien en premier, les rendez-vous ne sont pas posés en commençant par le premier guichet)

Avoir les jours encadrés pourrait peut-être apporter plus de lisibilité (bordure latérale entre les jours et horizontales manquantes, peut-être plus foncée aussi).

Avoir les numéros des semaines pourrait être sympa (première colonne, lignes des jours).

#44

Mis à jour par Mikaël Ates il y a plus de 5 ans

Peut-être enlever aussi les pointillés oranges sous les jours ?

#45

Mis à jour par Paul Marillonnet il y a plus de 5 ans

je verrais bien une couleur un peu plus foncée pour la ligne initiale jours consécutifs d'une semaine, et non pas la même couleur que les lignes des heures impaires.

#46

Mis à jour par Mikaël Ates il y a plus de 5 ans

Dans la bulle du hover, il manque peut-être un peu de padding vertical, qui pourrait être le même qu'à l'horizontal.

#47

Mis à jour par Frédéric Péters il y a plus de 5 ans

Faut arrêter avec les bordures. Ce patch ne passera pas avec les bordures.

Ce patch passera uniquement avec un visuel identique à la vue par jour.

Ça veut aussi dire garder en gras les heures, en blanc le fond des lignes de titre, etc.

De l'uniformité ainsi gagnée, on pourra alors discuter des évolutions communes.

(et faut dégager ici le double souligné + bordure bas des liens sur les jours)

#48

Mis à jour par Serghei Mihai il y a plus de 5 ans

Ok, pas de bordures, mais pour une séparation visuelle des jours, padding sur les cellules.
Après cela je me dis que la vue journalière gagnerait aussi en clarté d'avoir une séparation par guichet, donc je lui applique le même principe.

Les titres des jours en noir, comme ceux des guichets, sans bordures.

#49

Mis à jour par Frédéric Péters il y a plus de 5 ans

Ne pas toucher au style de la vue journalière dans ce ticket; s'il y a des changements souhaités, faire un autre ticket.

#50

Mis à jour par Serghei Mihai il y a plus de 5 ans

Ok, la vue mensuelle sans séparation visuelle des journées.

Je l'apporterai aux 2 vues: pour la mensuelle séparation des jours, pour la vue journalière séparation des guichets.

#51

Mis à jour par Frédéric Péters il y a plus de 5 ans

#26003 en tant que commentaire sur les CSS.

Il y a une modification à tox.ini qui ne relève pas de ce ticket.

Il faut utiliser le nouveau balisage pour l'appbar.

Du côté du code, j'aurais plutôt tendance à préférer un ordre get_timetable_infos / get_week_timetable_infos / get_day_timetable_infos, que l'ordre de lecture corresponde à l'ordre d'exécution.

Je trouve curieux d'avoir dans get_timetable_infos un yield, mais pas dans les autres, passons.

        for i, week_number in enumerate(range(first_week_number, last_week_number + 1)):
            yield self.get_week_timetable_infos(i, timeperiods)

Une longue ligne pour lancer la boucle alors qu'il y a juste i qui est utilisé.

        self.min_timeperiod = min([x.start_time for x in timeperiods])
        self.max_timeperiod = max([x.end_time for x in timeperiods])
        self.interval = datetime.timedelta(minutes=60)

Pas bon de passer des infos d'une méthode à l'autre en tapant ça en attribut de l'objet, plutôt ajouter en paramètres ce qu'attend get_day_timetable_infos().

#52

Mis à jour par Serghei Mihai il y a plus de 5 ans

Ok, méthodes rearrangées.
Je rajoute un patch, qui pourrait aller dans un autre ticket, pour faire la séparation visuelle entre les jours du mois, et aussi des guichets dans la vue journalière.

#53

Mis à jour par Frédéric Péters il y a plus de 5 ans

qui pourrait aller dans un autre ticket,

Oui, pas ici.

#54

Mis à jour par Serghei Mihai il y a plus de 5 ans

Patchs à jour sans les modifs de tox.ini et sans style pour delimiter les journées.

Sans la dependance de pytz les tests en django18 explosent:

chrono/manager/views.py:171: in dispatch
    return super(AgendaDateView, self).dispatch(request, *args, **kwargs)
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/views/generic/base.py:89: in dispatch
    return handler(request, *args, **kwargs)
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/views/generic/dates.py:339: in get
    self.date_list, self.object_list, extra_context = self.get_dated_items()
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/views/generic/dates.py:517: in get_dated_items
    date_list = self.get_date_list(qs)
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/views/generic/dates.py:404: in get_date_list
    if date_list is not None and not date_list and not allow_empty:
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/query.py:170: in __nonzero__
    return type(self).__bool__(self)
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/query.py:166: in __bool__
    self._fetch_all()
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/query.py:965: in _fetch_all
    self._result_cache = list(self.iterator())
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/query.py:1217: in iterator
    for row in compiler.results_iter():
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py:794: in results_iter
    results = self.execute_sql(MULTI)
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py:829: in execute_sql
    sql, params = self.as_sql()
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py:378: in as_sql
    extra_select, order_by, group_by = self.pre_sql_setup()
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py:48: in pre_sql_setup
    self.setup_query()
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py:39: in setup_query
    self.select, self.klass_info, self.annotation_col_map = self.get_select()
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py:219: in get_select
    ret.append((col, self.compile(col, select_format=True), alias))
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py:357: in compile
    sql, params = node.as_sql(self, self.connection)
/tmp/tox-serghei/chrono/py2-coverage-django18-pylint/local/lib/python2.7/site-packages/django/db/models/expressions.py:914: in as_sql
    return connection.ops.datetime_trunc_sql(self.lookup_type, sql, self.tzname)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <django.db.backends.sqlite3.operations.DatabaseOperations object at 0x7f539f61c890>, lookup_type = 'year', field_name = '"agendas_event"."start_datetime"', tzname = 'CET'

    def datetime_trunc_sql(self, lookup_type, field_name, tzname):
        # Same comment as in date_trunc_sql.
        if settings.USE_TZ:
            if pytz is None:
>               raise ImproperlyConfigured("This query requires pytz, " 
                                           "but it isn't installed.")
E               ImproperlyConfigured: This query requires pytz, but it isn't installed.

et je n'arrive pas à piger pourquoi.

#55

Mis à jour par Frédéric Péters il y a plus de 5 ans

0003 sans rapport.

Sans la dependance de pytz les tests en django18 explosent:

Tu n'inclus pas le test qui échoue; est-ce un nouveau ? Et il n'y a pour la peine plus cette modification, je n'arrive pas à suivre. Soit elle est nécessaire pour le nouveau test_agenda_month_view et ça doit aller dans le patch correspondant. Soit pour une raison particulière tu en as besoin en local déjà avant, et alors ça doit aller dans son propre ticket.

#56

Mis à jour par Serghei Mihai il y a plus de 5 ans

Il s'agit bien du test test_agenda_month_view.
J'avais retiré le dependance pour voir les relecteurs ont le même échec en executant les tests.

Je vais essayer de piger ce que cloche, car je surpris que les tests de la vue journalière n'échouent pas.

#58

Mis à jour par Frédéric Péters il y a plus de 5 ans

Tu expliques pourquoi ne pas en avoir besoin en 1.11, pas pourquoi tu en as besoin. La documentation que tu pointes parle d'un "datetimes" que je ne vois pas dans les patchs. Ma supposition maintenant c'est que c'est caché derrière MonthArchiveView.

#59

Mis à jour par Frédéric Péters il y a plus de 5 ans

"add agenda's month and booking view" ça ne me semble pas très correct comme sujet. Mentionner ce ticket en référence pour les deux autres.

#60

Mis à jour par Serghei Mihai il y a plus de 5 ans

Je ne suis pas assez explicite.
Effectivement datetimes est appelée par la mécanique la CBV MonthArchiveView, qui fait appel au backend la base des données pour rendre aware les champs start_datetime du modèle Event.
SQLite ne sachant pas le faire il fait appel à pytz.

pytz est une dépendance de django-1.11 mais pas django-1.8. Donc il est nécessaire pour que les tests passent en 1.8.

#62

Mis à jour par Frédéric Péters il y a plus de 5 ans

                    # don't consider cancelled bookings 
                    bookings = [x for x in event.booking_set.all() if not x.cancellation_datetime] 
                    if not bookings: 
                        continue

La situation "if not bookings" n'est pas testée.

#63

Mis à jour par Frédéric Péters il y a plus de 5 ans

J'écrivais : il faut utiliser le nouveau balisage pour l'appbar.

Toujours d'application.

#64

Mis à jour par Serghei Mihai il y a plus de 5 ans

Dernier patch avec tests à jour pour valider le cas des résas annulées et l'ajout du balisage.

#65

Mis à jour par Frédéric Péters il y a plus de 5 ans

Et à tester, alors que je pensais qu'il s'agissait de modifier un existant, je vois que non, côté vue mensuelle, il n'y a actuellement pas du tout de séparation entre jours.

Comme pour la vue par jour, il faudrait un espace, et ça se gère du côté du code, "height:333.0%;top:66.0%;width:33.3%;left:0.0%;" etc. qui ne devrait pas coller les éléments. Simplement je ferais les calcul sur une base de 5 + (9/10 * ton pourcentage), pour assurer une séparation entre jours.

Et pour la séparation entre guichet je "tricherais" avec un box-sizing: border-box (s'il n'est déjà là) + border-left/right: 3px quelque chose.

#66

Mis à jour par Serghei Mihai il y a plus de 5 ans

La séparation entre les jours je la vois en rajoutant une "bordure" entre les colonnes du tableau.
Cela ferait sens aussi dans la vue journalière pour séparer les guichets.

C'est le but du ticket #26130.

Ici je regroupe les créneau des guichets par journée.
Je trouve que la "bordure" permettrait plus clairement distringuer les jours, surtout pour ceux ou il n'y a pas de créneau ouverts.

#67

Mis à jour par Frédéric Péters il y a plus de 5 ans

La séparation entre les jours je la vois en rajoutant une "bordure" entre les colonnes du tableau.

Discussion pour l'autre ticket. (mais non, pas de bordures, même avec dex faux guillemets).

Ok pour ce patch.

#68

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Solution proposée à Solution validée
#69

Mis à jour par Serghei Mihai il y a plus de 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 255bd294688dae97d067c02c1911ffac776efa35 (origin/master, origin/HEAD)
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Wed Jun 20 22:16:14 2018 +0200

    manager: add a monthly view for meeting agendas (#21326)

commit 102beb5b4a3676bd96f7c4132b852496b41fbae2
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Wed Jun 20 23:21:04 2018 +0200

    manager: refactor agenda day view (#21326)

commit 22d137836fdd77eea1733d1c7e9999e5acc7d905
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Wed Jun 20 23:14:07 2018 +0200

    manager: rename element for calendar date picking (#21326)
#70

Mis à jour par Frédéric Péters il y a plus de 5 ans

On remarquera le (+14) dans les lignes notées par pylint sur https://jenkins.entrouvert.org/job/chrono/948/ , dont quelques-unes qui redisent :

        self.min_timeperiod = min([x.start_time for x in timeperiods])
        self.max_timeperiod = max([x.end_time for x in timeperiods])
        self.interval = datetime.timedelta(minutes=60)

Pas bon de passer des infos d'une méthode à l'autre en tapant ça en attribut de l'objet, plutôt ajouter en paramètres ce qu'attend get_day_timetable_infos().

que j'ai laissé pisser…

#71

Mis à jour par Brice Mallet il y a plus de 5 ans

#72

Mis à jour par Brice Mallet il y a plus de 5 ans

  • Lié à Support #26426: Positionnement du libellé du jour, dans vue mensuelle, pas optimum ajouté
#73

Mis à jour par Brice Mallet il y a plus de 5 ans

  • Lié à Support #27670: Souci sur affichage du mois de décembre en vue mensuelle ajouté
#74

Mis à jour par Brice Mallet il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF