New: Ajout des champs optionnels + adhsions dans export adhrents

This commit is contained in:
Laurent Destailleur 2007-05-21 01:49:37 +00:00
parent 985b9231c2
commit 8120cc40bf
5 changed files with 30 additions and 14 deletions

View File

@ -35,7 +35,9 @@
class Export
{
var $array_export_code=array(); // Tableau de "idmodule_numlot"
var $db;
var $array_export_code=array(); // Tableau de "idmodule_numlot"
var $array_export_module=array(); // Tableau de "nom de modules"
var $array_export_label=array(); // Tableau de "libellé de lots"
var $array_export_sql=array(); // Tableau des "requetes sql"
@ -85,7 +87,7 @@ class Export
$file = $dir."/".$modulename.".class.php";
$classname = $modulename;
require_once($file);
$module = new $classname($db);
$module = new $classname($this->db);
if (is_array($module->export_code))
{

View File

@ -31,7 +31,6 @@ require_once("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/exports/export.class.php");
require_once(DOL_DOCUMENT_ROOT.'/includes/modules/export/modules_export.php');
$langs->load("exports");
$user->getrights();
@ -42,13 +41,13 @@ if (! $user->societe_id == 0)
$entitytoicon=array(
'invoice'=>'bill','invoice_line'=>'bill',
'order'=>'order','order_line'=>'order',
'member'=>'user', 'member_type'=>'group');
'member'=>'user', 'member_type'=>'group','subscription'=>'payment');
$entitytolang=array(
'user'=>'User',
'company'=>'Company','contact'=>'Contact',
'invoice'=>'Bill','invoice_line'=>'InvoiceLine',
'order'=>'Order','order_line'=>'OrderLine',
'member'=>'Member','member_type'=>'MemberType');
'member'=>'Member','member_type'=>'MemberType','subscription'=>'Subscription');
$array_selected=isset($_SESSION["export_selected_fields"])?$_SESSION["export_selected_fields"]:array();
$datatoexport=isset($_GET["datatoexport"])? $_GET["datatoexport"] : (isset($_POST["datatoexport"])?$_POST["datatoexport"]:'');

View File

@ -50,7 +50,7 @@ class modAdherent extends DolibarrModules
*/
function modAdherent($DB)
{
$this->db = $DB ;
$this->db = $DB;
$this->id = 'member'; // Same value xxx than in file modXxx.class.php file
$this->numero = 310 ;
@ -196,11 +196,23 @@ class modAdherent extends DolibarrModules
$r++;
$this->export_code[$r]=$this->id.'_'.$r;
$this->export_label[$r]='Adhérents et attributs';
$this->export_fields_array[$r]=array('a.nom'=>"Lastname",'a.prenom'=>"Firstname",'a.login'=>"Login",'a.morphy'=>'MorPhy','a.adresse'=>"Address",'a.cp'=>"Zip",'a.ville'=>"Town",'a.pays'=>"Country",'a.phone'=>"PhonePro",'a.phone_perso'=>"PhonePerso",'a.phone_mobile'=>"PhoneMobile",'a.email'=>"Email",'a.naiss'=>"Birthday",'a.statut'=>"Status",'a.photo'=>"Photo",'a.note'=>"Note",'a.datec'=>'DateCreation','a.datevalid'=>'DateValidation','a.tms'=>'DateLastModification','a.datefin'=>'DateEndSubscription','ta.rowid'=>'MemberTypeId','ta.libelle'=>'MemberTypeLabel');
$this->export_entities_array[$r]=array('a.nom'=>"member",'a.prenom'=>"member",'a.login'=>"member",'a.morphy'=>'member','a.adresse'=>"member",'a.cp'=>"member",'a.ville'=>"member",'a.pays'=>"member",'a.phone'=>"member",'a.phone_perso'=>"member",'a.phone_mobile'=>"member",'a.email'=>"member",'a.naiss'=>"member",'a.statut'=>"member",'a.photo'=>"member",'a.note'=>"member",'a.datec'=>'member','a.datevalid'=>'member','a.tms'=>'member','a.datefin'=>'member','ta.rowid'=>'member_type','ta.libelle'=>'member_type');
$this->export_alias_array[$r]=array('a.nom'=>"lastname",'a.prenom'=>"firstname",'a.login'=>"login",'a.morphy'=>'morphy','a.adresse'=>"address",'a.cp'=>"zip",'a.ville'=>"town",'a.pays'=>"country",'a.phone'=>"phone",'a.phone_perso'=>"phone_perso",'a.phone_mobile'=>"phone_mobile",'a.email'=>"email",'a.naiss'=>"birthday",'a.statut'=>"status",'a.photo'=>'photo','a.note'=>'note','a.datec'=>'datec','a.datevalid'=>'datevalid','a.tms'=>'datem','a.datefin'=>'dateend','ta.rowid'=>'type_id','ta.libelle'=>'type_label');
$this->export_sql[$r]="select ";
$this->export_label[$r]='Adhérents et adhésions';
$this->export_fields_array[$r]=array('a.nom'=>"Lastname",'a.prenom'=>"Firstname",'a.login'=>"Login",'a.morphy'=>'MorPhy','a.adresse'=>"Address",'a.cp'=>"Zip",'a.ville'=>"Town",'a.pays'=>"Country",'a.phone'=>"PhonePro",'a.phone_perso'=>"PhonePerso",'a.phone_mobile'=>"PhoneMobile",'a.email'=>"Email",'a.naiss'=>"Birthday",'a.statut'=>"Status",'a.photo'=>"Photo",'a.note'=>"Note",'a.datec'=>'DateCreation','a.datevalid'=>'DateValidation','a.tms'=>'DateLastModification','a.datefin'=>'DateEndSubscription','ta.rowid'=>'MemberTypeId','ta.libelle'=>'MemberTypeLabel','c.dateadh'=>'DateSubscription','c.cotisation'=>'Amount');
$this->export_entities_array[$r]=array('a.nom'=>"member",'a.prenom'=>"member",'a.login'=>"member",'a.morphy'=>'member','a.adresse'=>"member",'a.cp'=>"member",'a.ville'=>"member",'a.pays'=>"member",'a.phone'=>"member",'a.phone_perso'=>"member",'a.phone_mobile'=>"member",'a.email'=>"member",'a.naiss'=>"member",'a.statut'=>"member",'a.photo'=>"member",'a.note'=>"member",'a.datec'=>'member','a.datevalid'=>'member','a.tms'=>'member','a.datefin'=>'member','ta.rowid'=>'member_type','ta.libelle'=>'member_type','c.dateadh'=>'subscription','c.cotisation'=>'subscription');
$this->export_alias_array[$r]=array('a.nom'=>"lastname",'a.prenom'=>"firstname",'a.login'=>"login",'a.morphy'=>'morphy','a.adresse'=>"address",'a.cp'=>"zip",'a.ville'=>"town",'a.pays'=>"country",'a.phone'=>"phone",'a.phone_perso'=>"phone_perso",'a.phone_mobile'=>"phone_mobile",'a.email'=>"email",'a.naiss'=>"birthday",'a.statut'=>"status",'a.photo'=>'photo','a.note'=>'note','a.datec'=>'datec','a.datevalid'=>'datevalid','a.tms'=>'datem','a.datefin'=>'dateend','ta.rowid'=>'type_id','ta.libelle'=>'type_label','c.dateadh'=>'date_subscription','c.cotisation'=>'amount_subscription');
// On complète avec champs options
$sql='SELECT name, label FROM '.MAIN_DB_PREFIX.'adherent_options_label';
$resql=$this->db->query($sql);
while ($obj=$this->db->fetch_object($resql))
{
$fieldname='ao.'.$obj->name;
$fieldlabel=ucfirst($obj->label);
$this->export_fields_array[$r][$fieldname]=$fieldlabel;
$this->export_entities_array[$r][$fieldname]='member';
$this->export_alias_array[$r][$fieldname]='opt_'.$obj->name;
}
// Fin complement
$this->export_sql[$r]="select distinct ";
$i=0;
foreach ($this->export_alias_array[$r] as $key => $value)
{
@ -208,7 +220,10 @@ class modAdherent extends DolibarrModules
else $i++;
$this->export_sql[$r].=$key.' as '.$value;
}
$this->export_sql[$r].=' from '.MAIN_DB_PREFIX.'adherent as a, '.MAIN_DB_PREFIX.'adherent_type as ta WHERE a.fk_adherent_type = ta.rowid';
$this->export_sql[$r].=' from ('.MAIN_DB_PREFIX.'adherent as a, '.MAIN_DB_PREFIX.'adherent_type as ta)';
$this->export_sql[$r].=' LEFT JOIN '.MAIN_DB_PREFIX.'adherent_options as ao ON a.rowid = ao.adhid';
$this->export_sql[$r].=' LEFT JOIN '.MAIN_DB_PREFIX.'cotisation as c ON c.fk_adherent = a.rowid';
$this->export_sql[$r].=' WHERE a.fk_adherent_type = ta.rowid';
$this->export_permission[$r]=array(array("adherent","export"));
}

View File

@ -93,7 +93,7 @@ FollowingLinksArePublic=The following links are open pages not protected by any
PublicMemberList=Public member list
BlankSubscriptionForm=Subscription form
MemberPublicLinks=Public links/pages
ExportDataset_member_1=Members and properties
ExportDataset_member_1=Members and subscriptions
LastMembers=Last %s members
LastMembersModified=Last %s modified members
AttributeName=Attribute name

View File

@ -93,7 +93,7 @@ FollowingLinksArePublic=Les liens suivants sont des pages accessibles
PublicMemberList=Liste des membres publiques
BlankSubscriptionForm=Formulaire inscription
MemberPublicLinks=Liens/pages publiques
ExportDataset_member_1=Adhérentes et attributs
ExportDataset_member_1=Adhérents et adhésions
LastMembers=Les %s derniers adhérents
LastMembersModified=Les %s derniers adhérents modifiés
AttributeName=Nom de l'attribut