--- /dev/null
+<?php
+
+class SugarVersion extends SugarObject{
+
+ const PRODUIT_RELATIONSHIP_NAME = 'maint_cats_adul__produits';
+
+ public function getModuleName() {
+ return "adul__Produits";
+ }
+
+ public function getFieldsToRetrieve() {
+ return array(
+ 'id',
+ 'name',
+ );
+ }
+
+ public function getLinkFieldsToRetrieve(){
+ return array(
+ array('name' => self::PRODUIT_RELATIONSHIP_NAME, 'value' => array('id','name')),
+ );
+ }
+
+ public function listObject() { $result = parent::listObject();
+
+ foreach( $result as $sugar_id => $info){
+ $product_id = '';
+ if (isset($info['link'][self::PRODUIT_RELATIONSHIP_NAME][0]['id'])){
+ $product_id = $info['link'][self::PRODUIT_RELATIONSHIP_NAME][0]['id'];
+ }
+ $result[$sugar_id]['product_sugar_id'] = $product_id;
+ unset($result[$sugar_id]['link']);
+ }
+
+ return $result;
+ }
+
+ public function synchronize() {
+ $sugar_version_list = $this->listObject();
+ $pdoVersionManager = new PdoVersionManager();
+ $pdoProductManager = new PdoProductManager();
+
+ foreach($sugar_version_list as $sugar_id => $sugar_version_info){
+ $product = $pdoProductManager->getBySugarId($sugar_version_info['product_sugar_id']);
+ if (! $product){
+ continue;
+ }
+ $version = $pdoVersionManager->getBySugarId($sugar_id);
+ if (! $version){
+ $version = new Version();
+ }
+ $version->sugar_id = $sugar_id;
+ $version->value = $sugar_version_info['name'];
+ $version->product = $product->id;
+ $pdoVersionManager->edit($version);
+ }
+ return true;
+
+ }
+
+}
\ No newline at end of file