Attacher un PDF [FR]

  • Posts: 246
  • Thank you received: 5
6 years 6 days ago #291261

Bonjour,

La doc dit qu'il est possible d'attacher un pdf à une souscription.
Dans notre cas, on n'utilise pas du tout de serial. La souscription est uniquement gérée en tant que telle. Seul le champ subscription_data est altéré pour être remplacé par une clef provenant d'une API externe.
Est-il possible de joindre un fichier pdf reprenant les données de la souscription à l'un des mails envoyés à la commande ? (confirmation). Comment fait-on pour afficher les éléments essentiels (subscription_data, start_date, end_date...) ?
J'ai essayé de créer une instance du plugin "attach pdf", de le lier au plan de la souscription et de sélectionner certains champs. Mais rien ne part...

Merci.

Please Log in or Create an account to join the conversation.

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
6 years 5 days ago #291278

Bonjour,

Nous avons en effet fait des modifications pour que le plugin "pdf serial" puisse être lié à des "plans" et non seulement à des "packs" ; mais il n'y a pas forcement l'accès à toutes les informations d'une souscription.
Serait-il possible d'avoir plus de détails sur ce que vous souhaitez faire afin de pouvoir faire les ajustements nécessaires ?

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 246
  • Thank you received: 5
6 years 4 days ago #291337

Bonjour,

L'objet de la souscription est l'achat d'une clef de licence d'un logiciel pour PC dont la durée de vie est "calée" sur la durée de la souscription Hika.
Les clients récupèrent cette clef (copier/coller) et la saisissent dans leur logiciel. On utilise une API externe et on stocke la clef dans "subscription_data".
Les clients ont la possibilité de désactivé la clef et de la saisir sur un autre pc pour l'activer. Cela leur permet d'avoir des pc nomades ou "de secours" en plus du principal.
Nous aurions donc souhaité leur envoyer en même temps que la commande une "carte" pdf un peu "officiel" avec cette clef. De cette façon, ils peuvent l'imprimer et la coller par exemple au dos de leurs PC.
L'idée est d'avoir un pdf un peu "joli" (template). Les variables de ce document seraient le nom de l'utilisateur, la clef elle-même et les deux dates qui en définissent la validité (optionnel).

Cordialement,

Laurent

Please Log in or Create an account to join the conversation.

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
6 years 3 days ago #291339

Bonjour,

Il y a eu une mauvaise compréhension de mon message.
J'aurais besoin de savoir ce dont vous avez besoin de données pour le PDF serial et la façon dont vous souhaitez envoyer le PDF.
Que faire en cas de renouvellement, etc.
Il s'agit de demande d'informations et de détails uniquement relatif à la génération du PDF. Le reste est annexe et non relatif au sujet actuel.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 246
  • Thank you received: 5
6 years 2 days ago #291384

Bonjour,

Dans le pdf je voudrais :

  • Nom de l'acheteur
  • Date de l'achat
  • Nom du produit
  • Subscription_data
  • Subscription_start_date
  • Subscription_end_date

Envoyé à la confirmation d'un achat (quand "order" passe de create à confirmed). Que ce soit lors de la souscription initiale ou lors de tout renouvellement.
Joint au mail avec la facture.

Laurent

Please Log in or Create an account to join the conversation.

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
6 years 1 hour ago #291489

Bonjour,

Désolé pour la réponse tardive.
Nous travaillons sur les modifications des plugins et de certaines parties du "core" afin de permettre une gestion de ces informations.
Une nouvelle version d'HikaSerial Subscription sera publiée dès que cela sera terminé et correctement testé.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
5 years 11 months ago #291613

Bonjour,

Nous venons juste de publier HikaSerial Subscription 2.1.1 afin des modifications liées à la gestion des souscriptions pour les plugins "attach serial" et "pdf serial".
Pouvez-vous télécharger la nouvelle version et vérifier que cela améliore la génération ?

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 246
  • Thank you received: 5
5 years 10 months ago #293133

Bonjour,

Je me suis remis sur ce sujet après une période de test des mécanismes de souscriptions "en l'état". Tout fonctionne bien.
Du moins, jusqu'à ce qu'on mette à jour HikaShop (business 3.4) et HikaSerial (2.1.1).

Lorsque j'affiche le détail d'un plan en BO, la vue est "cassée". Après investigation, cela vient de mon plugin qui demande en paramètre du plan une valeur de version. Cela fonctionnait bien sur la version précédente. Voici la partie du code concernée :

class plgHikaserialLimeLMsubscriber extends hikaserialPlugin {

	protected $type = 'subscriber';
	protected $multiple = false;
	protected $name = 'LimeLMsubscriber';

	protected $pluginConfig = array();
	
	protected $subscriptionConfig = array(
		'versionID' => array('HIKA_SERIAL_OPT_LIMELM_VERSION_ID','input')
	);
	
	
	public function __construct(&$subject, $config) {
		parent::__construct($subject, $config);
	}
	

/*
 * utilisé pour paramétrer dynamiquement l'interface de configuration de l'abonnement

	public function onPlanActionsConfiguration(&$plan) {
		if(empty($plan->actions))
			$plan->actions = array();
		$plan->actions[$this->name] = $this->subscriptionConfig;		
	}
*/

//
// A la création on affecte une clef signifiant "bientôt ici votre clef définitive". Par contre si on arrive ici
// via un renouvelement d'un ancien serial, on va stocker la clef correspondant à cet ancien serial ici.
//	
	public function onBeforeSubscriptionCreate(&$subscription, $do)

Si je laisse la ligne qui définit les champs des variables du plan ($subscriptionConfig), ça plante. Si je les commente, tout s'affiche normalement mais, bien sûr, je n'ai plus accès à ma variable dans les paramètres du plan et donc dans l'exécution des fonctions du plugin.

Que j'active ou pas la fonction "onPlanActionsConfiguration" ne change rien au problème.

J'ai comparé avec les deux autres plugin de souscriptions (acymailing et group) et ne vois pas ce qui pourrait avoir changé....

Si je change le type "input" pour le type "list" ou "field" par exemple, cela s'affiche normalement mais avec des erreurs php logiques puisqu 'il lui manque des informations pour "rendre" la vue.

Vous pouvez simuler le problème en rajoutant une ligne comme " 'test' => array('test','input')" dans la config de votre plugin "groupSubscriber". Cela provoque la même erreur.

Please Log in or Create an account to join the conversation.

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
5 years 10 months ago #293136

Bonjour,

Je n'arrive pas à générer d'erreur si je change le type d'un élément en "input" ; par contre j'ai remarqué un soucis dans la relecture pour l'affichage de l'input.

Vous devez modifier le fichier view.html.php de la partie "plan" du backend afin d'utiliser ce code:

	$v = @$this->plan->pack_params->{$section}[$key];
	if(empty($v) && !empty($value[2]))
		$v = $value[2];
	if($value[1] == 'int') $v = (int)$v;
	if($value[1] == 'float') $v = (float)hikaserial::toFloat($v);
	$html .= '<input type="text" name="data[pack_params]['.$section.']['.$key.']" value="'.$this->escape($v).'"/>';
Cela permet de corriger le re-affichage des données de configuration.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 246
  • Thank you received: 5
5 years 10 months ago #293150

Bien vu. Problème réglé.

Please Log in or Create an account to join the conversation.

  • Posts: 246
  • Thank you received: 5
5 years 10 months ago #293185

Bonjour,

J'ai tenté d'utiliser le plugin "PDFSerial - HikaSerial plugin" mais j'ai l'impression qu'il se "marche sur les pieds" avec le plugin attachInvoice :

Notice: Constant K_THAI_TOPCHARS already defined in /home/xxxxxxxxx/public_html/plugins/hikashop/attachinvoice/attachinvoice/_class/tcpdfConfig.php on line 236

Notice: Constant K_TCPDF_CALLS_IN_HTML already defined in /home/xxxxxxx/public_html/plugins/hikashop/attachinvoice/attachinvoice/_class/tcpdfConfig.php on line 242

Warning: require(/home/xxxxxxxx/public_html/administrator/components/com_hikaserial/inc/tcpdf/htmlcolors.php): failed to open stream: No such file or directory in /home/sl1200mk/public_html/plugins/hikashop/attachinvoice/attachinvoice/_class/parsingCss.class.php on line 97

Fatal error: require(): Failed opening required '/home/xxxxxxxx/public_html/administrator/components/com_hikaserial/inc/tcpdf/htmlcolors.php' (include_path='.:/opt/alt/php56/usr/share/pear:/opt/alt/php56/usr/share/php') in /home/xxxxxxxxx/public_html/plugins/hikashop/attachinvoice/attachinvoice/_class/parsingCss.class.php on line 97

D'autre part lorsqu'on change les dropdown qui sélectionnent la colonne de chaque table dans le dernier bloc du bas, ces modifications ne sont pas sauvées.

J'ai basculé sur le plugin "AttachSerial" qui n'utilise pas la librairie PDF. Il ajoute une image au mail envoyé à partir de l'image de fond et avec les variables prévues. Pas facile à mettre au point mais on y arrive !

Par contre, impossible de récupérer les informations liées à la souscription. Notamment la clef générée par le plugin (subscription_data) et la date de fin de validité de la souscription (subscription_end_date). Voir essais en PJ

Merci de m'aider à y voir clair

Attachments:
Last edit: 5 years 10 months ago by laurent.

Please Log in or Create an account to join the conversation.

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
5 years 10 months ago #293188

Bonjour,

1 - cela va dépendre des versions que vous utilisez. Le plugin "attachinvoice" a été mis à jour afin d'avoir une version plus récente de TCPDF.
2 - Vous avez une option dans HikaSerial pour utiliser une autre librairie PDF.

Pour les dropdown, il s'agit simplement d'éléments d'informations, il n'y a rien à sauvegarder.

Pour la récupération des informations de souscription, cela va dépendre de votre version.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 246
  • Thank you received: 5
5 years 10 months ago #293208

Bonjour,

Je ne comprends pas bien cette histoire de version. D'accord on a oublié de mettre à jour le plugin AttachInvoice qui est "indépendant". On va le mettre à jour. Mais le reste est à jour (Hika 3.4.0 et HikaSerial 2.1.1) ?
Comme je l'indique depuis le début de ce post, nous cherchons à joindre au mail envoyé suite à une commande un pdf qui contienne le nom du produit (ça c'est facile) mais aussi deux informations clefs de la souscription : les colonnes "subscription_data" et "subscription_end_date".
Si les dropdowns ne sont que des informations (les colonnes des tables clefs si je comprends bien), il manque à mon sens la table hika_subscriptions, non ?

J'ai l'impression que ce que l'on veut faire est dans la droite ligne du concept de la souscription et de la possibilité de matérialiser cette souscription par un "document" spécifique...

Comment pouvons-nous avancer ?

Please Log in or Create an account to join the conversation.

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
5 years 10 months ago #293228

Bonjour,

Je ne comprends pas bien cette histoire de version.

C'est pourtant simple ; les anciennes version du plugin "attach invoice" généraient un conflit.

Si les dropdowns ne sont que des informations (les colonnes des tables clefs si je comprends bien), il manque à mon sens la table hika_subscriptions, non ?

En fait non, car le plugin va voir un serial ou une subscription comme le même élément.
Vous avez bien accès à " serial.serial_data " alors qu'il ne s'agit pas d'un serial ; c'est car pour le plugin tout se passe autour de "serial". Donc vous ne devez pas écrire " subscription.subscription_end_date " mais " serial.subscription_end_date ".
La raison sous-jacente à cela est que vous pouvez avoir une configuration "attach serial" qui fonctionne aussi bien avec des serials que des souscriptions ; vous pouvez utiliser des configurations faites pour des serials et les appliquer par la suite à des souscriptions, etc.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 246
  • Thank you received: 5
5 years 10 months ago #293280

Bonjour,

Effectivement, cela fonctionne mieux !

J'ai réussi à faire un document PDF envoyé avec le mail avec toutes les informations que l'on souhaitait.
A noter, les références de positionnement des rubriques X/Y et W/H ne sont pas en pixels (px) comme indiqué et comme on le gère dans les outils de type HTML2PDF mais en millimètres. Ce qui, une fois intégré, est bien pratique.

Merci pour votre aide.

Cordialement,

Laurent

Please Log in or Create an account to join the conversation.

Moderators: Obsidev
Time to create page: 0.085 seconds
Powered by Kunena Forum