112 global $conf, $langs, $user, $canvas;
113 global $form, $formcompany, $objsoc;
115 if ($action ==
'add' || $action ==
'update') {
119 foreach ($this->
object as $key => $value) {
120 $this->tpl[$key] = $value;
123 $this->tpl[
'error'] = $this->error;
124 $this->tpl[
'errors'] = $this->errors;
126 if ($action ==
'create' || $action ==
'edit') {
127 if ($conf->use_javascript_ajax) {
128 $this->tpl[
'ajax_selectcountry'] =
"\n".
'<script type="text/javascript">
129 jQuery(document).ready(function () {
130 jQuery("#selectcountry_id").change(function() {
131 document.formsoc.action.value="'.$action.
'";
132 document.formsoc.canvas.value="'.$canvas.
'";
133 document.formsoc.submit();
139 if (is_object($objsoc) && $objsoc->id > 0) {
140 $this->tpl[
'company'] = $objsoc->getNomUrl(1);
141 $this->tpl[
'company_id'] = $objsoc->id;
143 $this->tpl[
'company'] = $form->select_company($this->object->socid,
'socid',
'', 1);
147 $this->tpl[
'select_civility'] = $formcompany->select_civility($this->object->civility_id);
150 if ((isset($objsoc->typent_code) && $objsoc->typent_code ==
'TE_PRIVATE') ||
getDolGlobalString(
'CONTACT_USE_COMPANY_ADDRESS')) {
151 if (
dol_strlen(trim($this->object->address)) == 0) {
152 $this->tpl[
'address'] = $objsoc->address;
154 if (
dol_strlen(trim($this->object->zip)) == 0) {
155 $this->
object->zip = $objsoc->zip;
157 if (
dol_strlen(trim($this->object->town)) == 0) {
158 $this->
object->town = $objsoc->town;
160 if (
dol_strlen(trim($this->object->phone_pro)) == 0) {
161 $this->
object->phone_pro = $objsoc->phone;
163 if (
dol_strlen(trim($this->object->fax)) == 0) {
164 $this->
object->fax = $objsoc->fax;
166 if (
dol_strlen(trim($this->object->email)) == 0) {
167 $this->
object->email = $objsoc->email;
172 $this->tpl[
'select_zip'] = $formcompany->select_ziptown($this->object->zip,
'zipcode', array(
'town',
'selectcountry_id',
'state_id'), 6);
175 $this->tpl[
'select_town'] = $formcompany->select_ziptown($this->object->town,
'town', array(
'zipcode',
'selectcountry_id',
'state_id'));
177 if (
dol_strlen(trim((
string) $this->object->country_id)) == 0) {
178 $this->
object->country_id = $objsoc->country_id;
182 $this->tpl[
'select_country'] = $form->select_country($this->object->country_id,
'country_id');
183 $countrynotdefined = $langs->trans(
"ErrorSetACountryFirst").
' ('.$langs->trans(
"SeeAbove").
')';
186 $this->tpl[
'info_admin'] =
info_admin($langs->trans(
"YouCanChangeValuesForThisListFromDictionarySetup"), 1);
190 if ($this->object->country_id) {
191 $this->tpl[
'select_state'] = $formcompany->select_state($this->object->state_id, $this->object->country_code);
193 $this->tpl[
'select_state'] = $countrynotdefined;
197 $selectarray = array(
'0' => $langs->trans(
"ContactPublic"),
'1' => $langs->trans(
"ContactPrivate"));
198 $this->tpl[
'select_visibility'] = $form->selectarray(
'priv', $selectarray, $this->object->priv, 0);
201 if ($action ==
'view' || $action ==
'edit' || $action ==
'delete') {
203 if (isModEnabled(
'mailing')) {
204 $langs->load(
"mails");
205 $this->tpl[
'nb_emailing'] = $this->
object->getNbOfEMailings();
209 $this->tpl[
'contact_element'] = array();
212 $this->
object->load_ref_elements();
214 if (isModEnabled(
'order')) {
215 $this->tpl[
'contact_element'][$i][
'linked_element_label'] = $langs->trans(
"ContactForOrders");
216 $this->tpl[
'contact_element'][$i][
'linked_element_value'] = $this->
object->ref_commande ? $this->
object->ref_commande : $langs->trans(
"NoContactForAnyOrder");
219 if (isModEnabled(
"propal")) {
220 $this->tpl[
'contact_element'][$i][
'linked_element_label'] = $langs->trans(
"ContactForProposals");
221 $this->tpl[
'contact_element'][$i][
'linked_element_value'] = $this->
object->ref_propal ? $this->
object->ref_propal : $langs->trans(
"NoContactForAnyProposal");
224 if (isModEnabled(
'contract')) {
225 $this->tpl[
'contact_element'][$i][
'linked_element_label'] = $langs->trans(
"ContactForContracts");
226 $this->tpl[
'contact_element'][$i][
'linked_element_value'] = $this->
object->ref_contrat ? $this->
object->ref_contrat : $langs->trans(
"NoContactForAnyContract");
229 if (isModEnabled(
'invoice')) {
230 $this->tpl[
'contact_element'][$i][
'linked_element_label'] = $langs->trans(
"ContactForInvoices");
231 $this->tpl[
'contact_element'][$i][
'linked_element_value'] = $this->
object->ref_facturation ? $this->
object->ref_facturation : $langs->trans(
"NoContactForAnyInvoice");
236 if ($this->object->user_id) {
237 $dolibarr_user =
new User($this->db);
238 $result = $dolibarr_user->fetch($this->object->user_id);
239 $this->tpl[
'dolibarr_user'] = $dolibarr_user->getLoginUrl(1);
241 $this->tpl[
'dolibarr_user'] = $langs->trans(
"NoDolibarrAccess");
245 if ($action ==
'view' || $action ==
'delete') {
246 $this->tpl[
'showrefnav'] = $form->showrefnav($this->
object,
'id');
248 if ($this->object->socid > 0) {
249 $objsoc =
new Societe($this->db);
251 $objsoc->fetch($this->object->socid);
252 $this->tpl[
'company'] = $objsoc->getNomUrl(1);
254 $this->tpl[
'company'] = $langs->trans(
"ContactNotLinkedToCompany");
257 $this->tpl[
'civility'] = $this->
object->getCivilityLabel();
259 $this->tpl[
'address'] =
dol_nl2br($this->object->address);
261 $this->tpl[
'zip'] = ($this->
object->zip ? $this->
object->zip.
' ' :
'');
264 $this->tpl[
'country'] = ($img ? $img.
' ' :
'').$this->object->country;
266 $this->tpl[
'phone_pro'] =
dol_print_phone($this->object->phone_pro, $this->object->country_code, 0, $this->object->id,
'AC_TEL');
267 $this->tpl[
'phone_perso'] =
dol_print_phone($this->object->phone_perso, $this->object->country_code, 0, $this->object->id,
'AC_TEL');
268 $this->tpl[
'phone_mobile'] =
dol_print_phone($this->object->phone_mobile, $this->object->country_code, 0, $this->object->id,
'AC_TEL');
269 $this->tpl[
'fax'] =
dol_print_phone($this->object->fax, $this->object->country_code, 0, $this->object->id,
'AC_FAX');
270 $this->tpl[
'email'] =
dol_print_email($this->object->email, 0, $this->object->id, 1);
272 $this->tpl[
'visibility'] = $this->
object->LibPubPriv($this->object->priv);
274 $this->tpl[
'note'] = $this->
object->note_private;
277 if ($action ==
'create_user') {
279 include_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
280 require_once DOL_DOCUMENT_ROOT.
'/core/lib/security2.lib.php';
281 $login =
dol_buildlogin($this->object->lastname, $this->object->firstname);
284 $password = $generated_password;
287 $formquestion = array(
288 array(
'label' => $langs->trans(
"LoginToCreate"),
'type' =>
'text',
'name' =>
'login',
'value' => $login),
289 array(
'label' => $langs->trans(
"Password"),
'type' =>
'text',
'name' =>
'password',
'value' => $password));
291 $this->tpl[
'action_create_user'] = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".$this->object->id, $langs->trans(
"CreateDolibarrLogin"), $langs->trans(
"ConfirmCreateContact"),
"confirm_create_user", $formquestion,
'no');