# 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 **************** # ************************************* # Infos minimum obligatoires pour créer une fiche Matériel # - Aucun champ obligatoire #MANDATORY_FIELDS_LOT0: [] # - Au moins un champ obligatoire 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 **************** # ************************************* # Infos obligatoires POUR passer la commande (La commande est une action optionnelle) # Ne mettre ici QUE les infos obligatoires SUPPLEMENTAIRES à celles de LOT0 # - Aucun champ obligatoire #MANDATORY_FIELDS_LOT1: [] # - Au moins un champ obligatoire 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") #UNEDITABLE_FIELDS_LOT1: [] 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 **************** # ************************************* # Infos obligatoires POUR valider la livraison # Ne mettre ici QUE les infos obligatoires SUPPLEMENTAIRES à celles de LOT1 # - Aucun champ obligatoire #MANDATORY_FIELDS_LOT2: [] # - Au moins un champ obligatoire 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) #UNEDITABLE_FIELDS_LOT2: [] UNEDITABLE_FIELDS_LOT2: # Champs généraux : - sur_categorie_id - categorie_id - sous_categorie_id #- numero_serie - materiel_administratif - materiel_technique - site_id - date_acquisition - date_reception - organisme_id - prix_ht - gestionnaire_id - budgets # Champs administratifs : #- eotp - numero_commande - 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