-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gestion des produits gratuits sans prix spécifié (unpriced items) #51
base: master
Are you sure you want to change the base?
Conversation
Conflicts: lib/onix/product.rb
Conflicts: lib/onix/product.rb
Conflicts: lib/onix/product.rb
J'ai un doute pour ce PR, il faut que je regarde de plus près |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'ai un doute pour ce PR, il faut que je regarde de plus près
Pas de soucis, je me suis permis de commenter la PR pour faciliter la relecture.
|
||
# add territories if missing | ||
if self.product_supplies | ||
self.product_supplies.each do |ps| | ||
ps.supply_details.each do |sd| | ||
|
||
availability_date=sd.availability_date |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On remonte d'un niveau le calcul de la date de dispo, car elle va nous servir pour les prix et les "non prix"
:suppliers => sd.suppliers, | ||
:available => sd.available?, | ||
:availability_date => availability_date, | ||
:unpriced_item_type => sd.unpriced_item_type.human, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Les prix "unpriced" ont les mêmes informations qu'un prix normal, avec en plus du détail sur le type de unpriced (voir https://onix-codelists.io/codelist/57)
<Date>20150401</Date> | ||
</MarketDate> | ||
</MarketPublishingDetail> | ||
<SupplyDetail> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On peut retrouver le même bloc <SupplyDetail>
dupliqué X fois : autant de fois qu'il y a de pays dans Market
/Territory
(chez Hachette par exemple).
end | ||
end | ||
end | ||
|
||
# filter on availability, date, type and territories because suppliers are always the same | ||
unpriced_items.uniq! do |i| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dans l'onix, on peut avoir des blocs <SupplyDetail>
identique (car l'information à propos du territoire n'est pas dans le noeud). Si c'est le cas, on n'en garde qu'un.
OK merci, vous auriez un cas d'usage pour ces UnpricedItem ? De notre côté, il me semble que nous l'utilisons pour décrire les offres multi-format mais je ne vois pas d'autre utilisation. |
Hachette s'en sert par exemple pour leurs livres gratuits. Ils ne mettent pas de prix à 0€ mais bien un supply avec un Voilà un exemple : http://www.decitre.fr/ebooks/dear-you-les-bonus-de-la-serie-9782280301831_9782280301831_9.html Cela répond-il à votre question ? |
D'accord, alors dans l'idée d'abstraction de ce gem, ne serait t'il serait plus pertinent d'avoir un hash supply avec {:price=>0} plutôt que d'ajouter un :unpriced_item_type ? Sauf pour le Unpriced item type code 01, je dirais que cela fait partie d'un usage avancé et ne devrait pas apparaître dans la méthode d'abstraction Product#supplies |
On construit des
Supply
de typeUnpricedItem
de la même manière que lesSupply
qui ont des prix, et on leur ajoute la liste des pays contenu dans leMarket
duProductSupply
.Note : les
SupplyDetail
peuvent être strictement identique, on les merge donc.(désolé, mauvaise manip, j'ai fermé la PR #48)