• Ajout du prix au modèle

      A partir de la version 1.6.x, le prix de l'annonce a été ajouté au modèle des petites annonces: attribut "price" de type double.

      Si vous aviez déjà surchargé le type des petites annonce pour ajouter le prix "price" :

      1. Supprimez la déclaration de "price" dans votre surcharge
      2. Si le type de votre "price" était un string au lieu de double, exécutez le script suivant pour migrer l'attribut "price" de string à double pour vos annonces existantes
      var success = 0;   
      var failure = 0; 
        
      function _migratePrice(content)
      {
       if (content.getNode().hasProperty("ametys:price"))
         {
         if (content.getNode().getProperty("ametys:price").getType() == 1)
         {     
         let val = content.getNode().getProperty("ametys:price").getString();
         let asDouble = parseFloat(val.replaceAll(",", "."));
         if (Number.isNaN(asDouble))
               {
                 print(`Price "${val}" can not be parse to double for content ${content.getId()}`);
                 failure++;
               }
               else
               {
                 content.getNode().getProperty("ametys:price").remove();
                 content.setValue("price", asDouble);
                 success++;
               }
           }
         }
      }
      
      Repository.query("//element(*, ametys:content)[@ametys-internal:contentType = 'org.ametys.plugins.classified.ads.Content.ads']").forEach(function(content)   
         {   
           Content.migrate(             
             content,             
             [_migratePrice],             
             false /* old versions are still compatible */,             
             null /* no tag */,             
             false /* not verbose */             
           );               
         });   
      
      print("[info] " + success + " ads have been migrated"); 
      if (failure > 0)
      {
         print("[warn] Migration of " + failure + " ads failed");
      }
Retour en haut

Classified Ads