Project

General

Profile

GX-Feature #48136

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

Added by Daniel Würdemann almost 4 years ago. Updated almost 4 years ago.

Status:
Gemeldet
Priority:
Hoch
Assigned To:
-
Category:
Core
Target version:
% Done:

0%

Estimated time:
Steps to reproduce:
Betroffene Versionen:
3.1.2.0
Release Notes Langtext:
Tags:

Description

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.

History

#1

Updated by Daniel Würdemann almost 4 years ago

  • Description updated (diff)

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 5 MB)