# 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 # - Aucun champ #UNEDITABLE_FIELDS_LOT0: [] # - Au moins un champ UNEDITABLE_FIELDS_LOT0: # #### 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 # Super Administrateur only #- status #- numero_serie # Utilisateur du materiel (destinataire du bien) #- nom_user # - Acheteur (le Créateur de la fiche) - Un role "Utilisateur" ne peut pas changer ça, c'est par défaut lui-même - nom_responsable (sauf Responsable, Administration) #- nom_ancien_responsable #- resp_credit #- gestionnaire_id #- fournisseur_id #- organisme_id #- prix_ht #- budgets # #### CHAMPS ADMINISTRATIFS : #### - eotp (sauf Administration) - numero_commande (sauf Administration) - numero_laboratoire # READONLY toujours car généré automatiquement - numero_inventaire_organisme (sauf Administration) - numero_inventaire_old (sauf Administration) # ************************************* # ************** 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: # #### CHAMPS GÉNÉRAUX #### #- designation #- will_stay #- description #- hors_service # On ne devrait pas pouvoir changer la NATURE du bien # Domaine & Catégorie - sur_categorie_id (sauf Administration) # Domaine - categorie_id (sauf Administration) # Catégorie #- 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 # Super Administrateur only #- status #- numero_serie # Utilisateur du materiel (destinataire du bien) #- nom_user # - Acheteur (le Créateur de la fiche) - Un role "Utilisateur" ne peut pas changer ça, c'est par défaut lui-même #- nom_responsable (sauf Responsable, Administration) #- nom_ancien_responsable # (par défaut = acheteur) #- resp_credit #- gestionnaire_id # Fournisseur - fournisseur_id (sauf Administration) #- organisme_id - prix_ht (sauf Administration) # 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 # #### CHAMPS ADMINISTRATIFS : #### - eotp (sauf Administration) - numero_commande (sauf Administration) - numero_laboratoire # READONLY toujours car généré automatiquement - numero_inventaire_organisme (sauf Administration) - numero_inventaire_old (sauf Administration) # ************************************* # ************** 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 # Super Administrateur only #- status #- numero_serie # Utilisateur du materiel (destinataire du bien) #- nom_user # - Acheteur (le Créateur de la fiche) - Un role "Utilisateur" ne peut pas changer ça, c'est par défaut lui-même #- nom_responsable (sauf Responsable, Administration) #- 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