ImportMapping.class.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /**
  3. * Define a Line d\'import mappée
  4. * @author Administrateur PRINCIPAL
  5. * @category Plugin
  6. * @license MIT
  7. */
  8. class ImportMapping extends Entity{
  9. public $id;
  10. public $excelColumn; //Colonne Excel (Texte)
  11. public $excelColumnFixedValue; //Colonne Value Excel fixe (Texte)
  12. public $excelColumnName; //Nom de Colonne Excel (Texte)
  13. public $modifier; //Code de modification (Texte Long)
  14. public $entityField; //Champ entitée (Texte)
  15. public $entitySubField; //Sous Champ entitée (Texte)
  16. public $entityRelated; //Entitée reliée (Texte Long)
  17. public $entityRelatedField; //Sous Champ entitée reliée (Texte)
  18. public $unique; //Unicité (Liste classique)
  19. public $import; //Import lié (int)
  20. public const UNIQUE_SKIP = 'skip';
  21. public const UNIQUE_ERASE = 'erase';
  22. protected $TABLE_NAME = 'import_mapping';
  23. public $entityLabel = 'Line d\'import mappée';
  24. public $fields = array(
  25. 'id' => array('type'=>'key', 'label' => 'Identifiant'),
  26. 'excelColumn' => array('type'=>'text', 'label' => 'Numero de Colonne Excel'),
  27. 'excelColumnFixedValue' => array('type'=>'text', 'label' => 'Colonne Value Excel fixe'),
  28. 'excelColumnName' => array('type'=>'text', 'label' => 'Nom de Colonne Excel'),
  29. 'modifier' => array('type'=>'textarea', 'label' => 'Code de modification'),
  30. 'entityField' => array('type'=>'text', 'label' => 'Champ entitée'),
  31. 'entitySubField' => array('type'=>'text', 'label' => 'Sous Champ entitée'),
  32. 'entityRelated' => array('type'=>'text', 'label' => 'Entitée reliée'),
  33. 'entityRelatedField' => array('type'=>'text', 'label' => 'Sous Champ entitée reliée'),
  34. 'import' => array('type'=>'int', 'label' => 'Import lié','link'=>'plugin/import/Import.class.php'),
  35. 'unique' => array('type'=>'list','label' => 'Unicité')
  36. );
  37. //Colonnes indexées
  38. public $indexes = array();
  39. //liste des Unicité possibles
  40. public static function uniqueness($key=null){
  41. $items = array(
  42. '' => array('label'=>'Importer quand même'),
  43. self::UNIQUE_SKIP => array('label'=>'Ligne excel ignorée'),
  44. self::UNIQUE_ERASE => array('label'=>'Ligne en base écrasée')
  45. );
  46. if(!isset($key)) return $items;
  47. return isset($items[$key]) ? $items[$key] : array('label'=>'Non définis');
  48. }
  49. }
  50. ?>