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:
Aqui está o despejo de dados de pim_catalog_attribute_group
Obrigado!
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
Comentários muito úteis
Olá @adamrandazzo , esse problema foi corrigido no 1.7.5 lançado na sexta-feira!
Obrigado