Personnalisations

Vue du Calendrier

Créer une vue du calendrier personnalisée pour un type de document et choisir les champs de dates, de sujet et de statut.

Vue du calendrier

Une Vue du calendrier affiche les documents d'un type sur un calendrier, d'après leurs champs de date. Par exemple, vous affichez les tâches d'après leur date de début et de fin. Vous pouvez créer plusieurs vues pour un même type de document.

Prérequis

  • Le type de document doit avoir au moins deux champs Date ou Date et heure (début et fin). Le même champ peut servir de début et de fin.

Créer une vue du calendrier

  1. Ouvrez la recherche (Ctrl+K) et saisissez Vue du calendrier.
  2. Cliquez sur Créer, puis saisissez le nom de la vue.
  3. Choisissez le Type de document de référence.
  4. Remplissez les champs obligatoires : Champ de sujet, Date de début et Champ pour la Date de Fin.
  5. Remplissez les champs facultatifs (voir le tableau).
  6. Enregistrez, puis cliquez sur Afficher le calendrier.

Chaque liste propose seulement les champs du bon type : champs de date pour les dates, cases à cocher pour la journée entière, champs Sélection pour les statuts, champs Couleur pour la couleur.

Champs de la vue

ChampRôle
Champ de sujetTexte affiché sur l'événement. Obligatoire.
Date de début / Champ pour la Date de FinChamps de date qui placent l'événement. Obligatoires.
Champ pour toute la journéeCase à cocher qui indique un événement sur toute la journée.
Champ de statutChamp Sélection qui donne le statut.
Champ de couleurChamp Couleur qui colore l'événement.
Champ de règle de récurrenceChamp qui contient la règle des événements récurrents.
Champ de statut secondaireChamp Sélection affiché à gauche de l'événement. Le tableau Statut secondaire associe une Couleur à chaque Valeur.
Heure minimum quotidienne / Heure maximum quotidienneHeures de début et de fin des journées affichées (06:00 et 21:00 par défaut).
Premier jour de la semaineJour qui commence la semaine (dimanche par défaut).
Afficher l'heure de fin de l'événement / Afficher la fin de l'événementAffichage de l'heure et de la fin sur l'événement. Cochés par défaut.
Style de couleur des événementsArrière-plan ou Bordure.

Ouvrir la vue

Dans la liste du type de document, ouvrez le sélecteur de vue et choisissez Calendrier. Le sous-menu propose Par défaut (si le type de document a un calendrier standard) et vos vues personnalisées. L'adresse d'une vue est /desk/<type-de-document>/view/calendar/<nom de la vue>.

Si une nouvelle vue n'apparaît pas tout de suite, rechargez la page.

Exemple

Exemple fictif. Vous voulez voir les tâches d'un projet sur un calendrier.

ChampValeur
NomTâches par échéance
Type de document de référenceTâche
Champ de sujetSujet
Date de débutDate de début prévue
Champ pour la Date de FinDate de fin prévue
Champ de statutStatut
Premier jour de la semaineLundi

Dans la liste des tâches, choisissez Calendrier > Tâches par échéance. Chaque tâche s'affiche de sa date de début prévue à sa date de fin prévue.

Dessiner des événements provisoires en pointillés (développeurs)

Cette section s'adresse aux développeurs d'applications. Elle concerne le calendrier standard d'un type de document, déclaré dans le fichier JavaScript de l'application avec frappe.views.calendar["<Type de document>"].

Dans ces réglages, la fonction facultative is_tentative_event indique quels événements sont provisoires :

  • Elle reçoit l'événement (d) une fois ses champs renseignés, c'est-à-dire avec les champs du document et les clés issues de field_map (title, start, end…).
  • Si elle renvoie une valeur vraie, l'événement est dessiné avec un contour en pointillés (1 px) et un fond transparent, quel que soit le Style de couleur des événements (Arrière-plan ou Bordure). Un événement provisoire ne ressemble donc jamais à un événement confirmé.
  • Si elle n'est pas définie ou renvoie une valeur fausse, l'événement suit le style de couleur habituel.
  • Elle s'applique à la vue Calendrier et à la vue Planning du calendrier Par défaut.

La fonction est lue dans les réglages du calendrier standard. Dans le code vérifié, une Vue du calendrier personnalisée ne recopie que fields et get_css_class (si apply_to_custom_calendar_views est activé) : is_tentative_event n'y est pas appliquée.

Exemple fictif. Dans une application, le type de document « Réservation » a un champ status dont la valeur Provisoire désigne une demande non confirmée :

frappe.views.calendar["Réservation"] = {
    field_map: {
        start: "starts_on",
        end: "ends_on",
        id: "name",
        title: "subject",
    },
    is_tentative_event: (d) => d.status === "Provisoire",
};

Dans le calendrier par défaut des réservations, les demandes au statut Provisoire s'affichent en pointillés ; les autres gardent leur apparence habituelle.