akeneo-labs / EnhancedConnectorBundle

[DEPRECATED] Provides product reader with more option (choice on completeness, choice on enabled, delta based on last export time).
21 stars 11 forks source link

Enhanced Connecter Bundle - Family Export Profile #91

Open prabhassharma opened 7 years ago

prabhassharma commented 7 years ago

Hi,

We are working on Akeneo 1.7 and have installed the enhanced connecter bundle for PIMGento Export. The Attribute export works fine, however the family export profile creation fails.

The error I am getting is: pim_enhanced_connector.family_processor.locale.label - Value cannot be blank.

We have only one locale in our config, and that value is added (refer to screenshot).

Any help/ideas are highly appreciated.

Thanks. family export

jmleroux commented 7 years ago

Hello @prabhassharma ,

thanks for reporting this bug. I will try to reproduce and i'll keep you updated.

Regards, JM

jmleroux commented 7 years ago

And btw, it seems linked to #90

prabhassharma commented 7 years ago

Hi @jmleroux,

Yes its similar to #90, but in that issue the family export was giving the code and not the label. In my case I am unable to create the export profile.

Waiting for your inputs to proceed.

Thanks.

jmleroux commented 7 years ago

Just one thing to check: from your screen i can tell that you didn't regenerate yours assets. Could you clean your cache and regenerate ?

prabhassharma commented 7 years ago

Hi,

We are using the CE edition of Akeneo so assets are not a part of the package.

Thanks, Prabhas

On May 31, 2017 17:15, "jean-marie leroux" notifications@github.com wrote:

Just one thing to check: from your screen i can tell that you didn't regenerate yours assets. Could you clean your cache and regenerate ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/akeneo-labs/EnhancedConnectorBundle/issues/91#issuecomment-305182945, or mute the thread https://github.com/notifications/unsubscribe-auth/AayCw21RYMxdhRgNk6Dl-0asIBvwZKi0ks5r_Wf3gaJpZM4NrTdq .

jmleroux commented 7 years ago

I was talking about Symfony assets :wink:

image

jmleroux commented 7 years ago

Could you please check with the last released v1.4.1 tag?

prabhassharma commented 7 years ago

Hi @jmleroux , Thanks for the information, however after running the commands nothing has changed. Still the same error.

I will upgrade to the latest version and let you know ASAP.

Prabhas

adamrandazzo commented 7 years ago

I just downloaded the latest version of the plugin via composer, ran the cache and asset commands, and still experienced the problem. Akeneo 1.7.5 -- I had to correct the serialized DB field manually to create family exports.

prabhassharma commented 7 years ago

@adamrandazzo Thanks for your comments.

Can you please provide the details of the updates that you did to the DB.

Thanks, Prabhas

asch11 commented 7 years ago

Hi did you guys get this sorted? How? Adam

adamrandazzo commented 7 years ago

Hi All - Sorry I missed the original question 5 days ago. I ended up modifying the database directly to change the field. Here is a copy of my serialized settings from my DB. I added the en_US option into the labelLocale value. This is obviously a bit of a hack, but it has gotten me through until the bug can be resolved.

a:5:{s:8:"filePath";s:39:"/var/integration/export_%job_label%.csv";s:9:"delimiter";s:1:";";s:9:"enclosure";s:1:""";s:10:"withHeader";b:1;s:11:"labelLocale";s:5:"en_US";}

Silarn commented 7 years ago

I've been creating a local connector to allow for importing with a default locale/currency/scope|channel and figured out the cause of this issue.

Basically, it's the way that the dropdown elements are designed. If you only have one available locale, then you can't select a different option. And in order for akeneo to detect a new selection, you have to change the selected option.

Since your DefaultValuesProvider class passes the default value as 'null,' this is essentially the same as not setting a value. I fixed this by simply pulling the user's default locale and using that as the default. (ie. $this->userContext->getCurrentLocaleCode();)

In other words, akeneo drop-down selectors don't handle null values well. If the select only has one option, it will default to being 'selected', but akeneo doesn't actually detect a value because the drop-down was never changed. You'd have to pass an empty option to the select options JavaScript and set the default value to an empty string if you want an 'empty' default value.