designtopack/public/site/blueprints/pages/project.yml
isUnknown a7d315942a Refonte du système de notifications : passage aux notifications dérivées
Remplace le système de notifications stockées par un système de providers
qui dérivent les notifications des données existantes (commentaires, réponses,
demandes de projet, demandes de rendez-vous, validations de brief).

- Ajout du NotificationCollector et de l'interface NotificationProvider
- Création de 5 providers : Comment, Reply, ProjectRequest, AppointmentRequest, Content
- Métadonnées de notifications stockées directement sur les entités source
- Nouvelles routes mark-as-read et mark-all-read
- Mise à jour du frontend pour le nouveau système
- Route de migration pour les données existantes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 10:31:31 +01:00

112 lines
2.7 KiB
YAML

title: Projet
icon: page
buttons:
refresh-cache: true
- open
- settings
- status
status:
draft:
label: Brouillon
text: Accessible uniquement aux éditeurs connectés ou via un lien secret
listed: En cours
unlisted: Archivé
tabs:
steps:
label: Étapes
icon: circle-nested
columns:
- width: 1/1
fields:
lastCacheUpdate:
type: hidden
# Champs pour project-request
isClientRequest:
type: hidden
default: "false"
requestDetails:
label: Demande client
type: textarea
disabled: true
when:
isClientRequest: "true"
requestAuthor:
type: hidden
requestAuthorName:
type: hidden
requestAuthorEmail:
type: hidden
requestDate:
type: hidden
requestReadby:
type: hidden
# Champs pour appointment-request (DTL)
hasOptimizationRequest:
type: hidden
default: "false"
optimizationRequestDetails:
type: hidden
optimizationAuthor:
type: hidden
optimizationAuthorName:
type: hidden
optimizationAuthorEmail:
type: hidden
optimizationDate:
type: hidden
optimizationReadby:
type: hidden
currentStep:
label: Étape en cours
type: radio
columns: 6
options:
type: query
query: page.getSteps
text: "{{ item.label }}"
value: "{{ item.id }}"
required: true
- width: 1/3
fields:
projectType:
label: Type de projet
type: select
options:
dtp: Design to pack
morphoz: Morphoz
other: autre
client:
type: pages
multiple: false
query: site.find("clients").childrenAndDrafts
subpages: false
image:
query: page.logo.toFile
layout: cardlets
required: true
- width: 2/3
sections:
stepsSection:
label: Étapes
type: pages
sortBy: stepIndex asc
create: false
templates:
- client-brief
- proposal
- extended-brief
- industrial-ideation
- virtual-sample
- physical-sample
designToLight: tabs/design-to-light
files: tabs/files
notificationsTab:
label: Notifications
icon: bell
fields:
notifications: fields/notifications