From 0e397b3e8191ce599ad4bf99443532174ae363ac Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 20 Oct 2017 18:44:03 +0200 Subject: [PATCH] Work on website module --- htdocs/core/modules/modWebsites.class.php | 2 +- htdocs/langs/en_US/website.lang | 3 +- htdocs/societe/card.php | 2 +- htdocs/societe/societecontact.php | 19 ++- htdocs/societe/website.php | 184 ++++++++++++++++++++++ 5 files changed, 200 insertions(+), 10 deletions(-) create mode 100644 htdocs/societe/website.php diff --git a/htdocs/core/modules/modWebsites.class.php b/htdocs/core/modules/modWebsites.class.php index b201d80f555..2259a91e15a 100644 --- a/htdocs/core/modules/modWebsites.class.php +++ b/htdocs/core/modules/modWebsites.class.php @@ -80,7 +80,7 @@ class modWebsites extends DolibarrModules // New pages on tabs // ----------------- - $this->tabs[] = array('data'=>'user:+websites:WebSites:website:$user->rights->websites->read:/user/website.php?mainmenu=home&id=__ID__'); // To add a new tab identified by code tabname1 + $this->tabs[] = array('data'=>'thirdparty:+websites:WebSites:website:$user->rights->websites->read:/societe/website.php?mainmenu=home&id=__ID__'); // To add a new tab identified by code tabname1 // Boxes //------ diff --git a/htdocs/langs/en_US/website.lang b/htdocs/langs/en_US/website.lang index 2aabb01d95d..847a2cb4647 100644 --- a/htdocs/langs/en_US/website.lang +++ b/htdocs/langs/en_US/website.lang @@ -50,4 +50,5 @@ CreateByFetchingExternalPage=Create page/container by fetching page from externa OrEnterPageInfoManually=Or create empty page from scratch... FetchAndCreate=Fetch and Create ExportSite=Export site -IDOfPage=Id of page \ No newline at end of file +IDOfPage=Id of page +WebsiteAccounts=Web sites accounts \ No newline at end of file diff --git a/htdocs/societe/card.php b/htdocs/societe/card.php index ef6e10757d1..3d3bfa1b6d1 100644 --- a/htdocs/societe/card.php +++ b/htdocs/societe/card.php @@ -1988,7 +1988,7 @@ else print $object->getLibCustProspStatut(); print ''; - // Prospect/Customer + // Supplier print ''.$langs->trans('Supplier').''; print yn($object->fournisseur); print ''; diff --git a/htdocs/societe/societecontact.php b/htdocs/societe/societecontact.php index d95c0bc554f..439586468c4 100644 --- a/htdocs/societe/societecontact.php +++ b/htdocs/societe/societecontact.php @@ -145,7 +145,7 @@ if ($id > 0 || ! empty($ref)) $soc->fetch($object->socid); $head = societe_prepare_head($object); - dol_fiche_head($head, 'contact', $langs->trans("ThirdParty"),0,'company'); + dol_fiche_head($head, 'contact', $langs->trans("ThirdParty"), -1, 'company'); print '
'; print ''; @@ -159,10 +159,15 @@ if ($id > 0 || ! empty($ref)) print '
'; print ''; - // Alias names (commercial, trademark or alias names) - print '"; + // Prospect/Customer + /*print ''; + + // Supplier + print '';*/ if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field { @@ -171,7 +176,7 @@ if ($id > 0 || ! empty($ref)) if ($object->client) { - print '
'.$langs->trans('AliasNames').''; - print $object->name_alias; - print "
'.$langs->trans('ProspectCustomer').''; + print $object->getLibCustProspStatut(); + print '
'.$langs->trans('Supplier').''; + print yn($object->fournisseur); + print '
'; + print '
'; print $langs->trans('CustomerCode').''; print $object->code_client; if ($object->check_codeclient() <> 0) print ' ('.$langs->trans("WrongCustomerCode").')'; @@ -180,7 +185,7 @@ if ($id > 0 || ! empty($ref)) if ($object->fournisseur) { - print '
'; + print '
'; print $langs->trans('SupplierCode').''; print $object->code_fournisseur; if ($object->check_codefournisseur() <> 0) print ' ('.$langs->trans("WrongSupplierCode").')'; diff --git a/htdocs/societe/website.php b/htdocs/societe/website.php new file mode 100644 index 00000000000..7f390973ec2 --- /dev/null +++ b/htdocs/societe/website.php @@ -0,0 +1,184 @@ + + * Copyright (C) 2005 Brice Davoleau + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2006-2015 Laurent Destailleur + * Copyright (C) 2007 Patrick Raguin + * Copyright (C) 2010 Juanjo Menent + * Copyright (C) 2015 Marcos GarcĂ­a + * + * 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 3 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/societe/website.php + * \ingroup societe + * \brief Page of web sites accounts + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + +$langs->load("companies"); + +$search_status=GETPOST('search_status'); + +// Security check +$id = GETPOST('id','int'); +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'societe', $socid, '&societe'); + +$limit = GETPOST('limit','int')?GETPOST('limit','int'):$conf->liste_limit; +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortfield) $sortfield='a.login'; +if (! $sortorder) $sortorder='ASC'; + +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('websitethirdparty')); + + +/* + * Actions + */ + +$parameters=array('id'=>$socid); +$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + +if (empty($reshook)) +{ + // Cancel + if (GETPOST('cancel','alpha') && ! empty($backtopage)) + { + header("Location: ".$backtopage); + exit; + } + + // Purge search criteria + if (GETPOST('button_removefilter_x','alpha') || GETPOST('button_removefilter.x','alpha') || GETPOST('button_removefilter','alpha')) // All tests are required to be compatible with all browsers + { + $actioncode=''; + $search_agenda_label=''; + } +} + + + +/* + * View + */ + +$contactstatic = new Contact($db); + +$form = new Form($db); + +if ($id > 0) +{ + require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; + + $langs->load("companies"); + + + $object = new Societe($db); + $result = $object->fetch($id); + + $title=$langs->trans("WebisteAccounts"); + llxHeader('',$title); + + $head = societe_prepare_head($object); + + dol_fiche_head($head, 'websites', $langs->trans("ThirdParty"), -1, 'company'); + + $linkback = ''.$langs->trans("BackToList").''; + + dol_banner_tab($object, 'socid', $linkback, ($user->societe_id?0:1), 'rowid', 'nom'); + + print '
'; + + print '
'; + + print ''; + + // Prefix + if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field + { + print ''; + } + + if ($object->client) + { + print ''; + } + + if ($object->fournisseur) + { + print ''; + } + + print '
'.$langs->trans('Prefix').''.$object->prefix_comm.'
'; + print $langs->trans('CustomerCode').''; + print $object->code_client; + if ($object->check_codeclient() <> 0) print ' ('.$langs->trans("WrongCustomerCode").')'; + print '
'; + print $langs->trans('SupplierCode').''; + print $object->code_fournisseur; + if ($object->check_codefournisseur() <> 0) print ' ('.$langs->trans("WrongSupplierCode").')'; + print '
'; + + print '
'; + + dol_fiche_end(); + + + + $morehtmlcenter=''; + if (! empty($conf->website->enabled)) + { + if (! empty($user->rights->societe->lire)) + { + $morehtmlcenter.=''.$langs->trans("AddWebsiteAccount").''; + } + else + { + $morehtmlcenter.=''.$langs->trans("AddAction").''; + } + } + + print '
'; + + $param='&id='.$id; + if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; + if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; + + print_barre_liste($langs->trans("WebsiteAccounts"), 0, $_SERVER["PHP_SELF"], '', $sortfield, $sortorder, $morehtmlcenter, 0, -1, '', '', '', '', 0, 1, 1); + + + + + + +} + + +llxFooter(); + +$db->close();