mailRe: [Galette-discussion] Envoi des fiches adhérents preremplie


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Guillaume Rousse on May 17, 2015 - 16:10:
Le 17/05/2015 12:49, Alex Jud a écrit :
Merci pour la réponse,
Je n'avais pas vu ce sujet évoqué dans les archives. Peut être mal cherché.

Pour l'enregistrement ce serait de toutes les imprimer preremplies pour
les anciens membres sans avoir à rentrer dans leur fiche adhérent.
Ce qui n'est pas possible depuis galette peut également se faire simplement à coup de script externe. L'exemple suivant réalise exactement le besoin exprimé ici, à savoir extraire les fiches de tous les adhérents qui correspondent à un certain critère de filtrage, codé en dur dans la requête SQL.
--
Guillaume















































































































#!/usr/bin/perl

use strict;
use warnings;

use DBI;
use Getopt::Long;
use WWW::Mechanize;

my $options = {};

GetOptions(
    $options,
    'password=s',
    'username=s',
    'dbusername=s',
    'dbpassword=s',
);

die "no password" unless $options->{password};
die "no username" unless $options->{username};
die "no db password" unless $options->{dbpassword};
die "no db username" unless $options->{dbusername};

my $dbh = DBI->connect(
    "DBI:mysql:database=galette", $options->{dbusername}, 
$options->{dbpassword}
);

my $sth = $dbh->prepare(
    "SELECT id_adh FROM galette_adherents where id_statut != 7 AND id_statut 
!= 16"
);
$sth->execute();

my @ids;
while (my $row = $sth->fetchrow_arrayref()) {
    push @ids, $row->[0];
}
$dbh->disconnect();

my $mech = WWW::Mechanize->new();

$mech->get('https://adherents.leo-mare.org');

$mech->submit_form(
    form_number => 1,
    fields      => {
        login    => $options->{username},
        password => $options->{password},
    }
);

foreach my $id (@ids) {
    my $uri = 
"https://adherents.leo-mare.org/plugins/galette-plugin-fullcard/fullcard.php?id_adh=$id";;
    my $file = "adherent_$id.pdf";
    $mech->get($uri, ':content_file' => $file);
}

Related Messages


Powered by MHonArc, Updated Mon May 18 08:00:12 2015