diff --git a/htdocs/adherents/canvas/actions_adherentcard_common.class.php b/htdocs/adherents/canvas/actions_adherentcard_common.class.php new file mode 100644 index 00000000000..a17cad48f1f --- /dev/null +++ b/htdocs/adherents/canvas/actions_adherentcard_common.class.php @@ -0,0 +1,435 @@ + + * Copyright (C) 2012 Philippe Grand + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/contact/canvas/actions_adherentcard_common.class.php + * \ingroup thirdparty + * \brief Fichier de la classe Adherent card controller (common) + */ + +/** + * \class ActionsAdherentCardCommon + * \brief Classe permettant la gestion des adherents par defaut + */ +abstract class ActionsAdherentCardCommon +{ + var $db; + var $dirmodule; + var $targetmodule; + var $canvas; + var $card; + + //! Template container + var $tpl = array(); + //! Object container + var $object; + //! Error string + var $error; + //! Error array + var $errors=array(); + + + /** + * Instantiation of DAO class + * + * @return void + */ + private function getInstanceDao() + { + if (! is_object($this->object)) + { + $modelclassfile = dol_buildpath('/'.$this->dirmodule.'/canvas/'.$this->canvas.'/dao_'.$this->targetmodule.'_'.$this->canvas.'.class.php'); + if (file_exists($modelclassfile)) + { + // Include dataservice class (model) + $ret = require_once $modelclassfile; + if ($ret) + { + // Instantiate dataservice class (model) + $modelclassname = 'Dao'.ucfirst($this->targetmodule).ucfirst($this->canvas); + $this->object = new $modelclassname($this->db); + } + } + } + } + + /** + * Get object + * + * @param int $id Object id + * @return object Object loaded + */ + function getObject($id) + { + $ret = $this->getInstanceDao(); + + if (is_object($this->object) && method_exists($this->object,'fetch')) + { + if (! empty($id)) $this->object->fetch($id); + } + else + { + $object = new Adherent($this->db); + if (! empty($id)) $object->fetch($id); + $this->object = $object; + } + } + + /** + * Load data control + * + * @param string &$action Type of action + * @param int $id Id of object + * @return void + */ + function doActions(&$action, $id) + { + global $conf, $user, $langs; + + // Creation utilisateur depuis Adherent + if ($action == 'confirm_create_user' && GETPOST("confirm") == 'yes') + { + // Recuperation adherent actuel + $result = $this->object->fetch($id); + + if ($result > 0) + { + $this->db->begin(); + + // Creation user + $nuser = new User($this->db); + $result=$nuser->create_from_member($this->object,$_POST["login"]); + + if ($result > 0) + { + $result2=$nuser->setPassword($user,$_POST["password"],0,1,1); + if ($result2) + { + $this->db->commit(); + } + else + { + $this->db->rollback(); + } + } + else + { + $this->errors=$nuser->error; + + $this->db->rollback(); + } + } + else + { + $this->errors=$this->object->errors; + } + } + + // Creation adherent + if ($action == 'add') + { + $this->assign_post(); + + if (! $_POST["name"]) + { + array_push($this->errors,$langs->trans("ErrorFieldRequired",$langs->transnoentities("Lastname").' / '.$langs->transnoentities("Label"))); + $action = 'create'; + } + + if ($_POST["name"]) + { + $id = $this->object->create($user); + if ($id > 0) + { + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + $this->errors=$this->object->errors; + $action = 'create'; + } + } + } + + if ($action == 'confirm_delete' && GETPOST("confirm") == 'yes') + { + $result=$this->object->fetch($id); + + $this->object->old_name = $_POST["old_name"]; + $this->object->old_firstname = $_POST["old_firstname"]; + + $result = $this->object->delete(); + if ($result > 0) + { + header("Location: list.php"); + exit; + } + else + { + $this->errors=$this->object->errors; + } + } + + if ($action == 'update') + { + if ($_POST["cancel"]) + { + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$this->object->id); + exit; + } + + if (empty($_POST["name"])) + { + $this->error=array($langs->trans("ErrorFieldRequired",$langs->transnoentities("Name").' / '.$langs->transnoentities("Label"))); + $action = 'edit'; + } + + if (empty($this->error)) + { + $this->object->fetch($_POST["adherentid"]); + + $this->object->oldcopy=dol_clone($this->object); + + $this->assign_post(); + + $result = $this->object->update($_POST["adherentid"], $user); + + if ($result > 0) + { + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$this->object->id); + exit; + } + else + { + $this->errors=$this->object->errors; + $action = 'edit'; + } + } + } + } + + /** + * Set content of ->tpl array, to use into template + * + * @param string &$action Type of action + * @param int $id Id + * @return string HTML output + */ + function assign_values(&$action, $id) + { + global $conf, $langs, $user, $canvas; + global $form, $formcompany, $objsoc; + + if ($action == 'add' || $action == 'update') $this->assign_post(); + + foreach($this->object as $key => $value) + { + $this->tpl[$key] = $value; + } + + $this->tpl['error']=$this->error; + $this->tpl['errors']=$this->errors; + + if ($action == 'create' || $action == 'edit') + { + if ($conf->use_javascript_ajax) + { + $this->tpl['ajax_selectcountry'] = "\n".''."\n"; + } + + if (is_object($objsoc) && $objsoc->id > 0) + { + $this->tpl['company'] = $objsoc->getNomUrl(1); + $this->tpl['company_id'] = $objsoc->id; + } + else + { + $this->tpl['company'] = $form->select_company($this->object->socid,'socid','',1); + } + + // Civility + $this->tpl['select_civility'] = $formcompany->select_civility($this->object->civilite_id); + + // Predefined with third party + if ((isset($objsoc->typent_code) && $objsoc->typent_code == 'TE_PRIVATE')) + { + if (dol_strlen(trim($this->object->address)) == 0) $this->tpl['address'] = $objsoc->address; + if (dol_strlen(trim($this->object->zip)) == 0) $this->object->zip = $objsoc->zip; + if (dol_strlen(trim($this->object->town)) == 0) $this->object->town = $objsoc->town; + if (dol_strlen(trim($this->object->phone_perso)) == 0) $this->object->phone_perso = $objsoc->phone; + if (dol_strlen(trim($this->object->phone_mobile)) == 0) $this->object->phone_mobile = $objsoc->phone_mobile; + if (dol_strlen(trim($this->object->email)) == 0) $this->object->email = $objsoc->email; + } + + // Zip + $this->tpl['select_zip'] = $formcompany->select_ziptown($this->object->zip,'zipcode',array('town','selectcountry_id','departement_id'),6); + + // Town + $this->tpl['select_town'] = $formcompany->select_ziptown($this->object->town,'town',array('zipcode','selectcountry_id','departement_id')); + + if (dol_strlen(trim($this->object->country_id)) == 0) $this->object->country_id = $objsoc->country_id; + + // Country + $this->tpl['select_country'] = $form->select_country($this->object->country_id,'country_id'); + $countrynotdefined = $langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; + + if ($user->admin) $this->tpl['info_admin'] = info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + + // State + if ($this->object->country_id) $this->tpl['select_state'] = $formcompany->select_state($this->object->fk_departement,$this->object->country_code); + else $this->tpl['select_state'] = $countrynotdefined; + + // Physical or Moral + $selectarray=array('0'=>$langs->trans("Physical"),'1'=>$langs->trans("Moral")); + $this->tpl['select_morphy'] = $form->selectarray('morphy',$selectarray,$this->object->morphy,0); + } + + if ($action == 'view' || $action == 'edit' || $action == 'delete') + { + // Emailing + if (! empty($conf->mailing->enabled)) + { + $langs->load("mails"); + $this->tpl['nb_emailing'] = $this->object->getNbOfEMailings(); + } + + + // Dolibarr user + if ($this->object->user_id) + { + $dolibarr_user=new User($this->db); + $result=$dolibarr_user->fetch($this->object->user_id); + $this->tpl['dolibarr_user'] = $dolibarr_user->getLoginUrl(1); + } + else $this->tpl['dolibarr_user'] = $langs->trans("NoDolibarrAccess"); + } + + if ($action == 'view' || $action == 'delete') + { + $this->tpl['showrefnav'] = $form->showrefnav($this->object,'id'); + + if ($this->object->socid > 0) + { + $objsoc = new Societe($this->db); + + $objsoc->fetch($this->object->socid); + $this->tpl['company'] = $objsoc->getNomUrl(1); + } + else + { + $this->tpl['company'] = $langs->trans("AdherentNotLinkedToThirdParty"); + } + + $this->tpl['civility'] = $this->object->getCivilityLabel(); + + $this->tpl['address'] = dol_nl2br($this->object->address); + + $this->tpl['zip'] = ($this->object->zip?$this->object->zip.' ':''); + + $img=picto_from_langcode($this->object->country_code); + $this->tpl['country'] = ($img?$img.' ':'').$this->object->country; + + $this->tpl['phone_perso'] = dol_print_phone($this->object->phone_perso,$this->object->country_code,0,$this->object->id,'AC_TEL'); + $this->tpl['phone_mobile'] = dol_print_phone($this->object->phone_mobile,$this->object->country_code,0,$this->object->id,'AC_TEL'); + $this->tpl['email'] = dol_print_email($this->object->email,0,$this->object->id,'AC_EMAIL'); + + $this->tpl['visibility'] = $this->object->getmorphylib($this->object->morphy); + + $this->tpl['note'] = nl2br($this->object->note); + } + + if ($action == 'create_user') + { + // Full firstname and name separated with a dot : firstname.name + include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php'; + $login=dol_buildlogin($this->object->nom, $this->object->prenom); + + $generated_password=getRandomPassword(''); + $password=$generated_password; + + // Create a form array + $formquestion=array( + array('label' => $langs->trans("LoginToCreate"), 'type' => 'text', 'name' => 'login', 'value' => $login), + array('label' => $langs->trans("Password"), 'type' => 'text', 'name' => 'password', 'value' => $password)); + + $this->tpl['action_create_user'] = $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$this->object->id,$langs->trans("CreateDolibarrLogin"),$langs->trans("ConfirmCreateAdherent"),"confirm_create_user",$formquestion,'no'); + } + } + + /** + * Assign POST values into object + * + * @return string HTML output + */ + private function assign_post() + { + global $langs, $mysoc; + + $this->object->old_name = $_POST["old_name"]; + $this->object->old_firstname = $_POST["old_firstname"]; + + $this->object->fk_soc = $_POST["fk_soc"]; + $this->object->name = $_POST["name"]; + $this->object->firstname = $_POST["firstname"]; + $this->object->civilite_id = $_POST["civilite_id"]; + $this->object->address = $_POST["address"]; + $this->object->zip = $_POST["zipcode"]; + $this->object->town = $_POST["town"]; + $this->object->fk_pays = $_POST["country_id"]?$_POST["country_id"]:$mysoc->country_id; + $this->object->fk_departement = $_POST["departement_id"]; + $this->object->country_id = $_POST["country_id"]?$_POST["country_id"]:$mysoc->country_id; + $this->object->state_id = $_POST["departement_id"]; + $this->object->phone_perso = $_POST["phone_perso"]; + $this->object->phone_mobile = $_POST["phone_mobile"]; + $this->object->email = $_POST["email"]; + $this->object->note = $_POST["note"]; + $this->object->canvas = $_POST["canvas"]; + + // We set country_id, and country_code label of the chosen country + if ($this->object->country_id) + { + $sql = "SELECT code, libelle FROM ".MAIN_DB_PREFIX."c_pays WHERE rowid = ".$this->object->country_id; + $resql=$this->db->query($sql); + if ($resql) + { + $obj = $this->db->fetch_object($resql); + } + else + { + dol_print_error($this->db); + } + $this->object->pays_code = $obj->code; + $this->object->pays = $langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->libelle; + $this->object->country_code = $obj->code; + $this->object->country = $langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->libelle; + } + } + +} + +?> diff --git a/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php b/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php new file mode 100644 index 00000000000..c3e7af66677 --- /dev/null +++ b/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php @@ -0,0 +1,148 @@ + + * Copyright (C) 2011 Laurent Destailleur + * Copyright (C) 2012 Philippe Grand + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/contact/canvas/default/actions_adherentcard_default.class.php + * \ingroup thirdparty + * \brief Fichier de la classe Thirdparty adherent card controller (default canvas) + */ +include_once DOL_DOCUMENT_ROOT.'/adherent/canvas/actions_adherentcard_common.class.php'; + +/** + * \class ActionsAdherentCardDefault + * \brief Classe permettant la gestion des adherents par defaut + */ +class ActionsAdherentCardDefault extends ActionsAdherentCardCommon +{ + var $db; + var $dirmodule; + var $targetmodule; + var $canvas; + var $card; + + /** + * Constructor + * + * @param DoliDB $db Handler acces base de donnees + * @param string $dirmodule Name of directory of module + * @param string $targetmodule Name of directory of module where canvas is stored + * @param string $canvas Name of canvas + * @param string $card Name of tab (sub-canvas) + */ + function __construct($db, $dirmodule, $targetmodule, $canvas, $card) + { + $this->db = $db; + $this->dirmodule = $dirmodule; + $this->targetmodule = $targetmodule; + $this->canvas = $canvas; + $this->card = $card; + } + + /** + * Return the title of card + * + * @param string $action Code action + * @return string Title + */ + private function getTitle($action) + { + global $langs; + + $out=''; + + if ($action == 'view') $out.= (! empty($conf->global->ADHERENT_ADDRESSES_MANAGEMENT) ? $langs->trans("Adherent") : $langs->trans("ContactAddress")); + if ($action == 'edit') $out.= (! empty($conf->global->ADHERENT_ADDRESSES_MANAGEMENT) ? $langs->trans("EditAdherent") : $langs->trans("EditAdherentAddress")); + if ($action == 'create') $out.= (! empty($conf->global->ADHERENT_ADDRESSES_MANAGEMENT) ? $langs->trans("NewAdherent") : $langs->trans("NewAdherentAddress")); + + return $out; + } + + /** + * Assign custom values for canvas + * + * @param string &$action Type of action + * @param int $id Id + * @return void + */ + function assign_values(&$action, $id) + { + global $conf, $db, $langs, $user; + global $form; + + $ret = $this->getObject($id); + + parent::assign_values($action, $id); + + $this->tpl['title'] = $this->getTitle($action); + $this->tpl['error'] = $this->error; + $this->tpl['errors']= $this->errors; + + if ($action == 'view') + { + // Card header + $head = member_prepare_head($this->object); + $title = $this->getTitle($action); + + $this->tpl['showhead']=dol_get_fiche_head($head, 'card', $title, 0, 'adherent'); + $this->tpl['showend']=dol_get_fiche_end(); + + $objsoc = new Societe($db); + $objsoc->fetch($this->object->socid); + + $this->tpl['actionstodo']=show_actions_todo($conf,$langs,$db,$objsoc,$this->object,1); + + $this->tpl['actionsdone']=show_actions_done($conf,$langs,$db,$objsoc,$this->object,1); + } + else + { + // Confirm delete contact + if ($action == 'delete' && $user->rights->adherent->supprimer) + { + $this->tpl['action_delete'] = $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$this->object->id,$langs->trans("DeleteAdherent"),$langs->trans("ConfirmDeleteAdherent"),"confirm_delete",'',0,1); + } + } + + if ($action == 'list') + { + $this->LoadListDatas($GLOBALS['limit'], $GLOBALS['offset'], $GLOBALS['sortfield'], $GLOBALS['sortorder']); + } + + } + + + /** + * Fetch datas list + * + * @param int $limit Limit number of responses + * @param int $offset Offset for first response + * @param string $sortfield Sort field + * @param string $sortorder Sort order ('ASC' or 'DESC') + * @return void + */ + function LoadListDatas($limit, $offset, $sortfield, $sortorder) + { + global $conf, $langs; + + //$this->getFieldList(); + + $this->list_datas = array(); + } +} + +?> \ No newline at end of file diff --git a/htdocs/adherents/canvas/default/index.php b/htdocs/adherents/canvas/default/index.php new file mode 100644 index 00000000000..7db0dd9ebf9 --- /dev/null +++ b/htdocs/adherents/canvas/default/index.php @@ -0,0 +1 @@ +Url not available \ No newline at end of file diff --git a/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php b/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php new file mode 100644 index 00000000000..10e258aad10 --- /dev/null +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php @@ -0,0 +1,123 @@ + + * Copyright (C) 2012 Philippe Grand + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +?> + + + +control->tpl['title']); + +dol_htmloutput_errors((is_numeric($object->error)?'':$object->error),$object->errors); + +dol_htmloutput_errors((is_numeric($GLOBALS['error'])?'':$GLOBALS['error']),$GLOBALS['errors']); + +dol_htmloutput_errors($this->control->tpl['error'],$this->control->tpl['errors']); + +echo $this->control->tpl['ajax_selectcountry']; ?> + +
+ +
"> + + + +control->tpl['company_id']) { ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
trans("Lastname").' / '.$langs->trans("Label"); ?>trans("Firstname"); ?>
trans("Company"); ?>control->tpl['company']; ?>
trans("UserTitle"); ?>control->tpl['select_civility']; ?>
trans("Morphy"); ?>
trans("Address"); ?>
trans("Zip").' / '.$langs->trans("Town"); ?>control->tpl['select_zip'].' '.$this->control->tpl['select_town']; ?>
trans("Country"); ?>control->tpl['select_country'].$this->control->tpl['info_admin']; ?>
trans('State'); ?>control->tpl['select_state']; ?>
trans("PhonePro"); ?>trans("PhonePerso"); ?>
trans("PhoneMobile"); ?>
trans("Email"); ?>
trans("ContactVisibility"); ?>control->tpl['select_visibility']; ?>
trans("Note"); ?>
">

+ +
+ + \ No newline at end of file diff --git a/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php b/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php new file mode 100644 index 00000000000..d825e14d681 --- /dev/null +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php @@ -0,0 +1,140 @@ + + * Copyright (C) 2012 Philippe Grand + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +$contact = $GLOBALS['objcanvas']->control->object; + +?> + + + +control->tpl['title']); + +dol_htmloutput_errors($this->control->tpl['error'],$this->control->tpl['errors']); + +echo $this->control->tpl['ajax_selectcountry']; +?> + +
+ +
"> + + + + + + + +control->tpl['company_id'])) { ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
trans("Ref"); ?>control->tpl['ref']; ?>
trans("Lastname").' / '.$langs->trans("Label"); ?>trans("Firstname"); ?>
trans("Company"); ?>control->tpl['company']; ?>
trans("UserTitle"); ?>control->tpl['select_civility']; ?>
trans("Morphy"); ?>
trans("Address"); ?>
trans("Zip").' / '.$langs->trans("Town"); ?>control->tpl['select_zip'].' '.$this->control->tpl['select_town']; ?>
trans("Country"); ?>control->tpl['select_country'].$this->control->tpl['info_admin']; ?>
trans('State'); ?>control->tpl['select_state']; ?>
trans("PhonePro"); ?>trans("PhonePerso"); ?>
trans("PhoneMobile"); ?>
trans("Email"); ?>
trans("ContactVisibility"); ?>control->tpl['select_visibility']; ?>
trans("Note"); ?>
trans("DolibarrLogin"); ?>control->tpl['dolibarr_user']; ?>
+ ">  + "> +

+ +
+ + \ No newline at end of file diff --git a/htdocs/adherents/canvas/default/tpl/adherentcard_view.tpl.php b/htdocs/adherents/canvas/default/tpl/adherentcard_view.tpl.php new file mode 100644 index 00000000000..7ffd10cb149 --- /dev/null +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_view.tpl.php @@ -0,0 +1,141 @@ + + * Copyright (C) 2012 Philippe Grand + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +$contact = $GLOBALS['objcanvas']->control->object; +?> + + +control->tpl['showhead']; ?> + +control->tpl['error'],$this->control->tpl['errors']); +?> + +control->tpl['action_create_user'])) echo $this->control->tpl['action_create_user']; ?> +control->tpl['action_delete'])) echo $this->control->tpl['action_delete']; ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
trans("Ref"); ?>control->tpl['showrefnav']; ?>
trans("Lastname"); ?>control->tpl['name']; ?>trans("Firstname"); ?>control->tpl['firstname']; ?>
trans("Company"); ?>control->tpl['company']; ?>
trans("UserTitle"); ?>control->tpl['civility']; ?>
trans("Morphy"); ?>control->tpl['select_morphy']; ?>
trans("Address"); ?>control->tpl['address']; ?>
trans("Zip").' / '.$langs->trans("Town"); ?>control->tpl['zip'].$this->control->tpl['ville']; ?>
trans("Country"); ?>control->tpl['country']; ?>
trans('State'); ?>control->tpl['departement']; ?>
trans("PhonePro"); ?>control->tpl['phone_pro']; ?>trans("PhonePerso"); ?>control->tpl['phone_perso']; ?>
trans("PhoneMobile"); ?>control->tpl['phone_mobile']; ?>
trans("EMail"); ?>control->tpl['email']; ?>
trans("ContactVisibility"); ?>control->tpl['visibility']; ?>
trans("Note"); ?>control->tpl['note']; ?>
trans("DolibarrLogin"); ?>control->tpl['dolibarr_user']; ?>
+ +control->tpl['showend']; ?> + +societe_id) { ?> +
+ +rights->adherent->creer) { ?> +">trans('Modify'); ?> + + +control->tpl['user_id'] && $user->rights->user->user->creer) { ?> +">trans("CreateDolibarrLogin"); ?> + + +rights->adherent->supprimer) { ?> +">trans('Delete'); ?> + + +

+control->tpl['actionstodo']; + +echo $this->control->tpl['actionsdone']; +?> + + \ No newline at end of file diff --git a/htdocs/adherents/canvas/default/tpl/index.php b/htdocs/adherents/canvas/default/tpl/index.php new file mode 100644 index 00000000000..7db0dd9ebf9 --- /dev/null +++ b/htdocs/adherents/canvas/default/tpl/index.php @@ -0,0 +1 @@ +Url not available \ No newline at end of file diff --git a/htdocs/adherents/canvas/index.php b/htdocs/adherents/canvas/index.php new file mode 100644 index 00000000000..7db0dd9ebf9 --- /dev/null +++ b/htdocs/adherents/canvas/index.php @@ -0,0 +1 @@ +Url not available \ No newline at end of file