app_labinvent_mandatory_fields.default.yml 7.31 KB

# Activer la possibilité de commander un matériel (au service gestion) en cliquant sur un bouton "Commander" ?
# L'étape "A commander" (status TOBEORDERED) devient alors une étape intermédiaire OPTIONNELLE entre CREATED et VALIDATED
# Les transitions de statut d'un materiel sont alors : CREATED => [ TEBEORDERED (à commander) ] => VALIDATED => TOBEARCHIVED => ARCHIVED
HAS_ORDER_BUTTON: true
#HAS_ORDER_BUTTON: false





# *************************************
# ************** LOT 0 ****************
# *************************************

# Champs OBLIGATOIRES pour CRÉER une fiche Matériel
# - Aucun champ
#MANDATORY_FIELDS_LOT0: []
# - Au moins un champ
MANDATORY_FIELDS_LOT0:
        
    # Infos toujours obligatoires (cachées car calculées automatiquement)
    #'status',
    #'tobeordered',
    
    designation: 'Désignation'

    description: 'Description'

    sur_categorie_id: 'Domaine'
    categorie_id: 'Catégorie'

    # - Utilisateur
    nom_user: "Nom de l'utilisateur"

    # - Acheteur (le Créateur de la fiche)
    nom_responsable: "Nom de l'Acheteur"
    #// (rempli automatiquement)
    email_responsable: "Email de l'Acheteur"
    
    # Calculé auto au moment du save()
    #'numero_laboratoire',
    
    # ******* END OF MANDATORY_FIELDS_LOT0 ********
        

# Liste des champs qui sont NON MODIFIABLES APRÈS la CRÉATION d'une fiche
# A priori par défaut : aucun (mais ca reste configurable)
UNEDITABLE_FIELDS_LOT0: []





# *************************************
# ************** LOT 1 ****************
# *************************************

# Champs OBLIGATOIRES POUR passer la COMMANDE (La commande est une action optionnelle)
# Attention, les champs MANDATORY_FIELDS_LOT0 sont aussi pris en compte (donc, inutile de les répéter)
# - Aucun champ
#MANDATORY_FIELDS_LOT1: []
# - Au moins un champ
MANDATORY_FIELDS_LOT1:
        
    # Infos toujours obligatoires (cachées car calculées automatiquement)
    #'status',
    #'tobeordered',
    
    #'hors_service', // O/N
    
    ##designation: 'Désignation'

    ##description: 'Description'

    #'permanent',
    #'will_stay', // O/N
    
    ##sur_categorie_id: 'Domaine'
    ##categorie_id: 'Catégorie'
    
    # - Utilisateur
    #nom_user: "Nom de l'utilisateur de ce matériel"
    
    # - Acheteur
    #nom_responsable: 'Nom du responsable'
    # (rempli automatiquement)
    #email_responsable: 'Email du responsable'
    
    # Calculé auto au moment du save()
    #'numero_laboratoire',
    
    organisme_id: 'Organisme'
    
    prix_ht: 'Prix HT'
    
    # Optionnel car par défaut = acheteur
    #resp_credit: 'Responsable du crédit'
    
    #TODO: a remettre ? avec "je ne sais pas"
    gestionnaire_id: 'Gestionnaire de référence'
    
    # Fournisseur
    fournisseur_id: 'Fournisseur'
    
    # Utilisé par la Gestion pour remplir le champ eotp
    budgets: 'Budgets'
    
    # INFOS ADMINISTRATIVES
    # - EOTP : obligatoire seulement dans LOT2
    #'eotp' => 'Entité(s) dépensière(s) (budget(s))', // ligne budgétaire (sur quel(s) budget(s)) ou entité(s) dépensière(s)


    # CHAMPS VIRTUELS
    # - Devis joint : c'est un champ virtuel, il n'existe pas physiquement (sauf dans la table Documents)
    DEVIS: 'Devis'

    # ******* END OF MANDATORY_FIELDS_LOT1 ********


# Liste des champs NON MODIFIABLES APRÈS la demande d'ACHAT (c'est à dire APRÈS avoir fait la "COMMANDE")
# Attention, les champs UNEDITABLE_FIELDS_LOT0 sont aussi pris en compte (donc, inutile de les répéter)
# - Aucun champ
#UNEDITABLE_FIELDS_LOT1: []
# - Au moins un champ
UNEDITABLE_FIELDS_LOT1:
    
    #- designation

    #- description

    # Domaine & Catégorie
    - sur_categorie_id
    - categorie_id

    # Utilisateur
    #- nom_user

    # - Acheteur (le Créateur de la fiche)
    - nom_responsable
    # (rempli automatiquement)
    - email_responsable

    # (par défaut = acheteur)
    #- resp_credit

    #- organisme_id
    
    #- prix_ht
    
    #- gestionnaire_id
    
    # Fournisseur
    #- fournisseur_id
    
    # Utilisé par la Gestion pour remplir le champ eotp
    #- budgets
    
    # Devis
    # (TODO) Non encore configurable : cet aspect est encore géré "en dur" dans le code source
    # Le devis attaché au matériel commandé n'est ni modifiable ni supprimable






# *************************************
# ************** LOT 2 ****************
# *************************************

# Champs OBLIGATOIRES POUR VALIDER la livraison
# Attention, les champs MANDATORY_FIELDS_LOT1 sont aussi pris en compte (donc, inutile de les répéter)
# - Aucun champ
#MANDATORY_FIELDS_LOT2: []
# - Au moins un champ
MANDATORY_FIELDS_LOT2:
        
    #//'fournisseur_id' => 'Fournisseur',
    #//'fournisseur' => 'Fournisseur',
    
    date_acquisition: "Date d'achat"
    
    date_reception: 'Date de livraison'
    
    site_id: 'Site'
    
    #TODO: seulement si prix > 10K€
    lieu_detail: 'Lieu de stockage'
    #numero_serie: 'S/N'
    
    #// INFOS ADMINISTRATIVES :
    
    #// La Gestion doit remplir ce champ a partir des infos qui sont dans le champ "budget" (rempli par acheteur)
    #// ligne budgétaire (sur quel(s) budget(s)) ou entité(s) dépensière(s)
    eotp: 'Entité(s) dépensière(s) (budget(s))'

    numero_commande: 'Num. BC'

    # Ce champ ne sera pas demandé à la saisie, mais un simple rappel sera affiché sur la vue détaillée du matériel
    etiquette: 'Etiquette posée'

    # PROBLEME : 
    # On ne peut pas exiger ce numéro au moment de la livraison 
    # car le gestionnaire n'a cette info que lorsque "Service fait CNRS" (il récupère alors le n° inventaire "Tutelle" sur GESLAB)
    # => Ce champ ne sera pas demandé à la saisie, mais un simple rappel sera affiché sur la vue détaillée du matériel
    numero_inventaire_organisme: "N° inventaire de l'organisme"
        
    # ******* END OF $MANDATORY_FIELDS_LOT2 ********


# Liste des champs qui sont NON MODIFIABLES APRÈS la VALIDATION (livraison)
# Attention, les champs UNEDITABLE_FIELDS_LOT1 sont aussi pris en compte
# - Aucun champ
#UNEDITABLE_FIELDS_LOT2: []
# - Au moins un champ
UNEDITABLE_FIELDS_LOT2:
    
    # Champs généraux :
    
    #- designation
    
    #- will_stay
    
    #- description

    #- hors_service
    
    - sur_categorie_id
    
    - categorie_id

    #- sous_categorie_id

    #- groupes_thematique_id

    #- groupes_metier_id
    
    #- projet_id

    #- materiel_technique
    #- materiel_administratif

    #- metrologie
    
    #- etiquette
    
    #- site_id
    
    #- lieu_detail
    
    - date_acquisition
    
    - date_reception
    
    # Garantie
    #- duree_garantie
    #- unite_duree_garantie
    #- date_fin_garantie
    
    #- status
    
    #- numero_serie

    #- nom_user
    #- nom_responsable
    # (rempli automatiquement)
    #- email_responsable
    #- nom_ancien_responsable
    
    #- resp_credit

    #- gestionnaire_id
    
    #- fournisseur_id

    #- organisme_id

    #- prix_ht
    
    #- budgets
    
    
    # #### CHAMPS ADMINISTRATIFS : ####

    - eotp
    
    - numero_commande

    # READONLY toujours car généré automatiquement
    - numero_laboratoire
    
    #- numero_inventaire_organisme

    #- numero_inventaire_old





# Astuce utilisable :
# Pour faire : MANDATORY_FIELDS_LOT2 = MANDATORY_FIELDS_LOT1
# On fait comme ceci :
#MANDATORY_FIELDS_LOT1: &lot1
#MANDATORY_FIELDS_LOT2: *lot1