Projekt

Allgemein

Profil

Aktionen

GX-Feature #48136

offen

Schnittstelle für Modulentwickler, um neue Spaltenkonfiguration für Bestellübersicht zu speichern

Von Daniel Würdemann vor mehr als 8 Jahren hinzugefügt. Vor etwa 3 Jahren aktualisiert.

Status:
Gemeldet
Priorität:
Hoch
Zugewiesen an:
-
Kategorie:
Core
Zielversion:
-
% erledigt:

0%

Geschätzter Aufwand:
Steps to reproduce:
Betroffene Versionen:
3.1.2.0
Release Notes Langtext:
Tags:

Beschreibung

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

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.


Aktionen

Auch abrufbar als: Atom PDF