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 0000000000000000000000000000000000000000..a17cad48f1f9251e10880b58d9ff19bf5e72bb43 --- /dev/null +++ b/htdocs/adherents/canvas/actions_adherentcard_common.class.php @@ -0,0 +1,435 @@ +<?php +/* Copyright (C) 2010-2012 Regis Houssin <regis@dolibarr.fr> + * Copyright (C) 2012 Philippe Grand <philippe.grand@atoo-net.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + +/** + * \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".'<script type="text/javascript" language="javascript"> + jQuery(document).ready(function () { + jQuery("#selectcountry_id").change(function() { + document.formsoc.action.value="'.$action.'"; + document.formsoc.canvas.value="'.$canvas.'"; + document.formsoc.submit(); + }); + }) + </script>'."\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 0000000000000000000000000000000000000000..c3e7af66677303df6e90583cc1573e4784b78baa --- /dev/null +++ b/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php @@ -0,0 +1,148 @@ +<?php +/* Copyright (C) 2010-2012 Regis Houssin <regis@dolibarr.fr> + * Copyright (C) 2011 Laurent Destailleur <eldy@users.sourceforge.net> + * Copyright (C) 2012 Philippe Grand <philippe.grand@atoo-net.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + +/** + * \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 0000000000000000000000000000000000000000..7db0dd9ebf92f2ddad5a82d32d38ab764846107a --- /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 0000000000000000000000000000000000000000..10e258aad10a360c3626bac040426fb759fc5405 --- /dev/null +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php @@ -0,0 +1,123 @@ +<?php +/* Copyright (C) 2010 Regis Houssin <regis@dolibarr.fr> + * Copyright (C) 2012 Philippe Grand <philippe.grand@atoo-net.com> + * + * 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 <http://www.gnu.org/licenses/>. + * + */ +?> + +<!-- BEGIN PHP TEMPLATE ADHERENTCARD_CREATE.TPL.PHP DEFAULT --> + +<?php +print_fiche_titre($this->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']; ?> + +<br> + +<form method="post" name="formmember" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> +<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken']; ?>"> +<input type="hidden" name="canvas" value="<?php echo $canvas ?>"> +<input type="hidden" name="action" value="add"> +<?php if ($this->control->tpl['company_id']) { ?> +<input type="hidden" name="socid" value="<?php echo $this->control->tpl['company_id']; ?>"> +<?php } ?> + +<table class="border allwidth"> + +<tr> + <td width="15%" class="fieldrequired"><?php echo $langs->trans("Lastname").' / '.$langs->trans("Label"); ?></td> + <td><input name="lastname" type="text" size="30" maxlength="80" value="<?php echo $this->control->tpl['name']; ?>"></td> + <td width="20%"><?php echo $langs->trans("Firstname"); ?></td> + <td width="25%"><input name="firstname" type="text" size="30" maxlength="80" value="<?php echo $this->control->tpl['firstname']; ?>"></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Company"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['company']; ?></td> +</tr> + +<tr> + <td width="15%"><?php echo $langs->trans("UserTitle"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_civility']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Morphy"); ?></td> + <td colspan="3"><input name="morphy" type="text" size="50" maxlength="80" value="<?php echo $this->control->tpl['select_morphy']; ?>"></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Address"); ?></td> + <td colspan="3"><textarea class="flat" name="address" cols="70"><?php echo $this->control->tpl['address']; ?></textarea></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Zip").' / '.$langs->trans("Town"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_zip'].' '.$this->control->tpl['select_town']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Country"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_country'].$this->control->tpl['info_admin']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans('State'); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_state']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("PhonePro"); ?></td> + <td><input name="phone_pro" type="text" size="18" maxlength="80" value="<?php echo $this->control->tpl['phone_pro']; ?>"></td> + <td><?php echo $langs->trans("PhonePerso"); ?></td> + <td><input name="phone_perso" type="text" size="18" maxlength="80" value="<?php echo $this->control->tpl['phone_perso']; ?>"></td> +</tr> + +<tr> + <td><?php echo $langs->trans("PhoneMobile"); ?></td> + <td><input name="phone_mobile" type="text" size="18" maxlength="80" value="<?php echo $this->control->tpl['phone_mobile']; ?>"></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Email"); ?></td> + <td colspan="3"><input name="email" type="text" size="50" maxlength="80" value="<?php echo $this->control->tpl['email']; ?>"></td> +</tr> + +<tr> + <td><?php echo $langs->trans("ContactVisibility"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_visibility']; ?></td> +</tr> + +<tr> + <td valign="top"><?php echo $langs->trans("Note"); ?></td> + <td colspan="3" valign="top"><textarea name="note" cols="70" rows="<?php echo ROWS_3; ?>"><?php echo $this->control->tpl['note']; ?></textarea></td> +</tr> + +<tr> + <td align="center" colspan="4"><input type="submit" class="button" value="<?php echo $langs->trans("Add"); ?>"></td> +</tr> + +</table><br> + +</form> + +<!-- END PHP TEMPLATE --> \ 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 0000000000000000000000000000000000000000..d825e14d681ed5ccbb884dfc0f738681a7e3ca12 --- /dev/null +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php @@ -0,0 +1,140 @@ +<?php +/* Copyright (C) 2010 Regis Houssin <regis@dolibarr.fr> + * Copyright (C) 2012 Philippe Grand <philippe.grand@atoo-net.com> + * + * 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 <http://www.gnu.org/licenses/>. + * + */ + +$contact = $GLOBALS['objcanvas']->control->object; + +?> + +<!-- BEGIN PHP TEMPLATE ADHERENTCARD_EDIT.TPL.PHP DEFAULT --> + +<?php +print_fiche_titre($this->control->tpl['title']); + +dol_htmloutput_errors($this->control->tpl['error'],$this->control->tpl['errors']); + +echo $this->control->tpl['ajax_selectcountry']; +?> + +<br> + +<form method="post" name="formmember" action="<?php echo $_SERVER["PHP_SELF"].'?id='.GETPOST('id','int'); ?>"> +<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken']; ?>"> +<input type="hidden" name="canvas" value="<?php echo $canvas ?>"> +<input type="hidden" name="id" value="<?php echo GETPOST('id','int'); ?>"> +<input type="hidden" name="action" value="update"> +<input type="hidden" name="adherentid" value="<?php echo $this->control->tpl['id']; ?>"> +<input type="hidden" name="old_name" value="<?php echo $this->control->tpl['name']; ?>"> +<input type="hidden" name="old_firstname" value="<?php echo $this->control->tpl['firstname']; ?>"> +<?php if (! empty($this->control->tpl['company_id'])) { ?> +<input type="hidden" name="socid" value="<?php echo $this->control->tpl['company_id']; ?>"> +<?php } ?> + +<table class="border allwidth"> + +<tr> + <td><?php echo $langs->trans("Ref"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['ref']; ?></td> +</tr> + +<tr> + <td width="15%" class="fieldrequired"><?php echo $langs->trans("Lastname").' / '.$langs->trans("Label"); ?></td> + <td><input name="lastname" type="text" size="30" maxlength="80" value="<?php echo $this->control->tpl['name']; ?>"></td> + <td width="20%"><?php echo $langs->trans("Firstname"); ?></td> + <td width="25%"><input name="firstname" type="text" size="30" maxlength="80" value="<?php echo $this->control->tpl['firstname']; ?>"></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Company"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['company']; ?></td> +</tr> + +<tr> + <td width="15%"><?php echo $langs->trans("UserTitle"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_civility']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Morphy"); ?></td> + <td colspan="3"><input name="poste" type="text" size="50" maxlength="80" value="<?php echo $this->control->tpl['select_morphy']; ?>"></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Address"); ?></td> + <td colspan="3"><textarea class="flat" name="address" cols="70"><?php echo $this->control->tpl['address']; ?></textarea></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Zip").' / '.$langs->trans("Town"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_zip'].' '.$this->control->tpl['select_town']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Country"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_country'].$this->control->tpl['info_admin']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans('State'); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_state']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("PhonePro"); ?></td> + <td><input name="phone_pro" type="text" size="18" maxlength="80" value="<?php echo $this->control->tpl['phone_pro']; ?>"></td> + <td><?php echo $langs->trans("PhonePerso"); ?></td> + <td><input name="phone_perso" type="text" size="18" maxlength="80" value="<?php echo $this->control->tpl['phone_perso']; ?>"></td> +</tr> + +<tr> + <td><?php echo $langs->trans("PhoneMobile"); ?></td> + <td><input name="phone_mobile" type="text" size="18" maxlength="80" value="<?php echo $this->control->tpl['phone_mobile']; ?>"></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Email"); ?></td> + <td><input name="email" type="text" size="50" maxlength="80" value="<?php echo $this->control->tpl['email']; ?>"></td> +</tr> + +<tr> + <td><?php echo $langs->trans("ContactVisibility"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_visibility']; ?></td> +</tr> + +<tr> + <td valign="top"><?php echo $langs->trans("Note"); ?></td> + <td colspan="3" valign="top"><textarea name="note" cols="70" rows="<?php echo ROWS_3; ?>"><?php echo $this->control->tpl['note']; ?></textarea></td> +</tr> + +<tr> + <td><?php echo $langs->trans("DolibarrLogin"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['dolibarr_user']; ?></td> +</tr> + +<tr> + <td colspan="4" align="center"> + <input type="submit" class="button" name="save" value="<?php echo $langs->trans("Save"); ?>"> + <input type="submit" class="button" name="cancel" value="<?php echo $langs->trans("Cancel"); ?>"> + </td> +</tr> + +</table><br> + +</form> + +<!-- END PHP TEMPLATE --> \ 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 0000000000000000000000000000000000000000..7ffd10cb1491c45810c2d2a1c9d5979eff435bc6 --- /dev/null +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_view.tpl.php @@ -0,0 +1,141 @@ +<?php +/* Copyright (C) 2010-2012 Regis Houssin <regis@dolibarr.fr> + * Copyright (C) 2012 Philippe Grand <philippe.grand@atoo-net.com> + * + * 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 <http://www.gnu.org/licenses/>. + * + */ + +$contact = $GLOBALS['objcanvas']->control->object; +?> + +<!-- BEGIN PHP TEMPLATE ADHERENTCARD_VIEW.TPL.PHP DEFAULT --> +<?php echo $this->control->tpl['showhead']; ?> + +<?php +dol_htmloutput_errors($this->control->tpl['error'],$this->control->tpl['errors']); +?> + +<?php if (! empty($this->control->tpl['action_create_user'])) echo $this->control->tpl['action_create_user']; ?> +<?php if (! empty($this->control->tpl['action_delete'])) echo $this->control->tpl['action_delete']; ?> + +<table class="border allwidth"> + +<tr> + <td width="20%"><?php echo $langs->trans("Ref"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['showrefnav']; ?></td> +</tr> + +<tr> + <td width="20%"><?php echo $langs->trans("Lastname"); ?></td> + <td width="30%"><?php echo $this->control->tpl['name']; ?></td> + <td width="25%"><?php echo $langs->trans("Firstname"); ?></td> + <td width="25%"><?php echo $this->control->tpl['firstname']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Company"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['company']; ?></td> +</tr> + +<tr> + <td width="15%"><?php echo $langs->trans("UserTitle"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['civility']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Morphy"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['select_morphy']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Address"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['address']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Zip").' / '.$langs->trans("Town"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['zip'].$this->control->tpl['ville']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("Country"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['country']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans('State'); ?></td> + <td colspan="3"><?php echo $this->control->tpl['departement']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("PhonePro"); ?></td> + <td><?php echo $this->control->tpl['phone_pro']; ?></td> + <td><?php echo $langs->trans("PhonePerso"); ?></td> + <td><?php echo $this->control->tpl['phone_perso']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("PhoneMobile"); ?></td> + <td><?php echo $this->control->tpl['phone_mobile']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("EMail"); ?></td> + <td><?php echo $this->control->tpl['email']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("ContactVisibility"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['visibility']; ?></td> +</tr> + +<tr> + <td valign="top"><?php echo $langs->trans("Note"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['note']; ?></td> +</tr> + +<tr> + <td><?php echo $langs->trans("DolibarrLogin"); ?></td> + <td colspan="3"><?php echo $this->control->tpl['dolibarr_user']; ?></td> +</tr> + +</table> + +<?php echo $this->control->tpl['showend']; ?> + +<?php if (! $user->societe_id) { ?> +<div class="tabsAction"> + +<?php if ($user->rights->adherent->creer) { ?> +<a class="butAction" href="<?php echo $_SERVER["PHP_SELF"].'?id='.$this->control->tpl['id'].'&action=edit&canvas='.$canvas; ?>"><?php echo $langs->trans('Modify'); ?></a> +<?php } ?> + +<?php if (! $this->control->tpl['user_id'] && $user->rights->user->user->creer) { ?> +<a class="butAction" href="<?php echo $_SERVER["PHP_SELF"].'?id='.$this->control->tpl['id'].'&action=create_user&canvas='.$canvas; ?>"><?php echo $langs->trans("CreateDolibarrLogin"); ?></a> +<?php } ?> + +<?php if ($user->rights->adherent->supprimer) { ?> +<a class="butActionDelete" href="<?php echo $_SERVER["PHP_SELF"].'?id='.$this->control->tpl['id'].'&action=delete&canvas='.$canvas; ?>"><?php echo $langs->trans('Delete'); ?></a> +<?php } ?> + +</div><br> +<?php } + +echo $this->control->tpl['actionstodo']; + +echo $this->control->tpl['actionsdone']; +?> + +<!-- END PHP TEMPLATE --> \ 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 0000000000000000000000000000000000000000..7db0dd9ebf92f2ddad5a82d32d38ab764846107a --- /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 0000000000000000000000000000000000000000..7db0dd9ebf92f2ddad5a82d32d38ab764846107a --- /dev/null +++ b/htdocs/adherents/canvas/index.php @@ -0,0 +1 @@ +Url not available \ No newline at end of file