Projekt

Allgemein

Profil

GX-Feature #48136

Von Daniel Würdemann vor mehr als 8 Jahren aktualisiert

Magnalister fügt eine Spalte in die Tabelle *user_configuration* wie folgt hinzu: 

 ```php 
 protected `protected function magnalisterOrderColumn ($blInstall) { 
		 $userConfigurationService = StaticGXCoreLoader::getService('UserConfiguration'); 
		 $activeColumns = json_decode(str_replace('\\"', '"', $userConfigurationService->getUserConfiguration(new IdType(1), 'ordersOverviewSettingsColumns')), true); 
		 if (!empty($activeColumns) && is_array($activeColumns)) { 
			 $magnaActiveColumns = array(); 
			 if ($blInstall) { // add magnalister column 
				 foreach ($activeColumns as $iColumn => $sColumn) { 
					 if ($sColumn == 'magnalister') {// already setted 
						 $magnaActiveColumns = array(); 
						 break; 
					 } 
					 $magnaActiveColumns[] = $sColumn; 
					 if ($iColumn == 0) { 
						 $magnaActiveColumns[] = 'magnalister'; 
					 } 
				 } 
			 } else if (in_array('magnalister', $activeColumns)) {// remove magnalister column 
				 $magnaActiveColumns = $activeColumns; 
				 unset($magnaActiveColumns[array_search('magnalister', $magnaActiveColumns)]); 
				 $magnaActiveColumns = array_values($magnaActiveColumns); // rebuild index for clean json array 
			 } 
			 if (!empty($magnaActiveColumns)) { 
				 $userConfigurationService->setUserConfiguration(new IdType(1), 'ordersOverviewSettingsColumns', str_replace('"', '\\"', json_encode($magnaActiveColumns))); 
			 } 
		 } 
	 } 
 ``` }` 


 Probleme:  

 * Die Methode ist zu stark von unserer Implementierung abhängig. 
 * DIe Methoide arbeitet mit festen IDs für den customer. 
 * Keine Möglichkeit das für alle Admins zu machen 


 Hier sollte es eine Schnittstelle für diesen Zweckk geben.

Zurück