Pim-community-dev: Adicionando atributos à família de> 20º grupo

Criado em 20 abr. 2017  ·  9Comentários  ·  Fonte: akeneo/pim-community-dev

Isso pode estar relacionado ao problema # 6054

Versão 1.7.3

Ao adicionar atributos a uma família de atributos, qualquer atributo que esteja no> 20º grupo de atributos no sistema por sort_order falha e lança um erro de javascript.

attributes.js:109 Uncaught TypeError: Cannot read property 'sort_order' of undefined at child.<anonymous> (attributes.js:109) at underscore.js:380 at Function._.map._.collect (underscore.js:172) at Function._.sortBy (underscore.js:376) at child.<anonymous> (attributes.js:108) at Array.<anonymous> (jquery-1.10.2.js:3204) at fire (jquery-1.10.2.js:3048) at Object.add [as done] (jquery-1.10.2.js:3094) at Array.<anonymous> (jquery-1.10.2.js:3203) at Function.each (jquery-1.10.2.js:657)

Como um exemplo:

screen shot 2017-04-20 at 8 25 05 am

Aqui está o despejo de dados de pim_catalog_attribute_group

screen shot 2017-04-20 at 8 31 44 am

Obrigado!

bug has-PR

Comentários muito úteis

Olá @adamrandazzo , esse problema foi corrigido no 1.7.5 lançado na sexta-feira!
Obrigado

Todos 9 comentários

Alterar o FETCH_LIMIT no arquivo a seguir corrige o problema, mas não quero criar uma solicitação pull porque não tenho certeza de outras implicações no sistema. https://github.com/akeneo/pim-community-dev/blob/494b2c108427556e2818a3c2f18ede40b585c144/src/Akeneo/Component/StorageUtils/Repository/SearchableRepositoryInterface.php

Olá @adamrandazzo , obrigado por este feedback, nossa equipe de suporte irá dar uma olhada e mantê-lo atualizado :)

Oi.
Temos o mesmo problema.
O problema está em Pim \ Bundle \ EnrichBundle \ Controller \ Rest \ AttributeGroupC ontroller: 76.

if (empty($options)) {
    $options = $request->request->get(
        'options',
        [
            'limit' => SearchableRepositoryInterface::FETCH_LIMIT,
            'locale' => null,
        ]
    );
}

O aplicativo javascript pede os grupos de atributos para este controlador.
Ele espera recuperar TODOS os grupos de atributos, mas o controlador limita o resultado a 20 itens se o parâmetro 'limite' não estiver definido.

Acho que o aplicativo javascript deve saber que o resultado é paginado e deve fazer várias chamadas http para recuperar todos os grupos de atributos.

Esperando pela correção desse bug, estendi e substituí o AttributeGroupController aplicando uma solução alternativa.

<?php

namespace Idrolab\Bundle\BugfixBundle\Enrich\Controller\Rest;

use Symfony\Component\HttpFoundation\Request;
use Pim\Bundle\EnrichBundle\Controller\Rest\AttributeGroupController as BaseAttributeGroupController;

class AttributeGroupController extends BaseAttributeGroupController
{
    public function indexAction(Request $request)
    {
        // In this way I avoid it will set the default limit of 20 items because the js app expects all items
        $options = $request->request->get('options', [
            // 'limit' => SearchableRepositoryInterface::FETCH_LIMIT,
            'locale' => null,
        ]);
        $request->request->set('options', $options);        
        return parent::indexAction($request);
    }
}

Espero que possa ajudar.

Olá @adamrandazzo , obrigado por seu feedback.

Estou realmente interessado em uma solicitação de pull @ danielsan80, mas antes de pensar a maneira como devemos corrigi-lo (do lado do frontend ou do backend), deve ser discutido com @SamirBoulil.

Cumprimentos,

@mickaelandrieu Algo me lembra que eu já estava consertando em algum lugar em PIM-6196 https://github.com/akeneo/pim-community-dev/pull/5957

Esse problema deve ser tratado no SLA PIM-6416. Eu até criei um PR para consertar isso, mas @ a2xchip já tinha corrigido em outro PR. Eu fechei o meu.

@LaurentPetard , @ a2xchip obrigado pelas explicações, vinculo a solicitação de pull ao problema então :)

Fecho este problema porque o PR vinculado foi mesclado!
Sinta-se à vontade para reabri-lo se não atender às suas necessidades;)

Cumprimentos !
Pierre

Olá @adamrandazzo , esse problema foi corrigido no 1.7.5 lançado na sexta-feira!
Obrigado

Esta página foi útil?
0 / 5 - 0 avaliações