diff --git a/htdocs/ecm/index.php b/htdocs/ecm/index.php index 577bbda7ebf..974620705da 100644 --- a/htdocs/ecm/index.php +++ b/htdocs/ecm/index.php @@ -121,12 +121,12 @@ $userstatic = new User($db); // Ajout rubriques automatiques $rowspan=0; $sectionauto=array(); -if ($conf->societe->enabled) { $rowspan++; $sectionauto[]=array('test'=>$conf->societe->enabled, 'label'=>$langs->trans("ThirdParties"), 'desc'=>$langs->trans("ECMDocsByThirdParties")); } -if ($conf->propal->enabled) { $rowspan++; $sectionauto[]=array('test'=>$conf->propal->enabled, 'label'=>$langs->trans("Proposals"), 'desc'=>$langs->trans("ECMDocsByProposals")); } -if ($conf->commande->enabled) { $rowspan++; $sectionauto[]=array('test'=>$conf->commande->enabled,'label'=>$langs->trans("Orders"), 'desc'=>$langs->trans("ECMDocsByOrders")); } -if ($conf->contrat->enabled) { $rowspan++; $sectionauto[]=array('test'=>$conf->contrat->enabled, 'label'=>$langs->trans("Contracts"), 'desc'=>$langs->trans("ECMDocsByContracts")); } -if ($conf->facture->enabled) { $rowspan++; $sectionauto[]=array('test'=>$conf->facture->enabled, 'label'=>$langs->trans("Invoices"), 'desc'=>$langs->trans("ECMDocsByInvoices")); } -if ($conf->produit->enabled) { $rowspan++; $sectionauto[]=array('test'=>$conf->produit->enabled, 'label'=>$langs->trans("ProductsAndServices"), 'desc'=>$langs->trans("ECMDocsByProducts")); } +if ($conf->societe->enabled) { $rowspan++; $sectionauto[]=array('module'=>'company', 'test'=>$conf->societe->enabled, 'label'=>$langs->trans("ThirdParties"), 'desc'=>$langs->trans("ECMDocsByThirdParties")); } +if ($conf->propal->enabled) { $rowspan++; $sectionauto[]=array('module'=>'propal', 'test'=>$conf->propal->enabled, 'label'=>$langs->trans("Prop"), 'desc'=>$langs->trans("ECMDocsByProposals")); } +if ($conf->commande->enabled) { $rowspan++; $sectionauto[]=array('module'=>'order', 'test'=>$conf->commande->enabled,'label'=>$langs->trans("Orders"), 'desc'=>$langs->trans("ECMDocsByOrders")); } +if ($conf->contrat->enabled) { $rowspan++; $sectionauto[]=array('module'=>'contract','test'=>$conf->contrat->enabled, 'label'=>$langs->trans("Contracts"), 'desc'=>$langs->trans("ECMDocsByContracts")); } +if ($conf->facture->enabled) { $rowspan++; $sectionauto[]=array('module'=>'invoice', 'test'=>$conf->facture->enabled, 'label'=>$langs->trans("Invoices"), 'desc'=>$langs->trans("ECMDocsByInvoices")); } +if ($conf->produit->enabled) { $rowspan++; $sectionauto[]=array('module'=>'product', 'test'=>$conf->produit->enabled, 'label'=>$langs->trans("ProductsAndServices"), 'desc'=>$langs->trans("ECMDocsByProducts")); } //*********************** @@ -160,18 +160,26 @@ print ''; print '
'; print ''; print ""; -print ''; - - +print ''; $buthtml=''; $butshown=0; -if ($conf->societe->enabled) { print "'.($butshown?'':$buthtml).''; $butshown++; } -if ($conf->contrat->enabled) { print "'.($butshown?'':$buthtml).''; $butshown++; } -if ($conf->propal->enabled) { print "'.($butshown?'':$buthtml).''; $butshown++; } -if ($conf->commande->enabled) { print "'.($butshown?'':$buthtml).''; $butshown++; } -if ($conf->facture->enabled) { print "'.($butshown?'':$buthtml).''; $butshown++; } -if ($conf->produit->enabled) { print "'.($butshown?'':$buthtml).''; $butshown++; } +foreach($sectionauto as $section) +{ + if (! $section['test']) continue; + if ($butshown % 2 == 0) print ''; + print "'; + print ''; + print ''; + print ''; + if ($butshown % 2 == 1) print ''; + $butshown++; +} +if ($butshown % 2 == 1) print ''; + +print ''; print "
'.$langs->trans("ECMSearchByEntity").'
'.$langs->trans("ECMSearchByEntity").'
".$langs->trans("ThirdParty").':
".$langs->trans("Contrat").':
".$langs->trans("Proposal").':
".$langs->trans("Order").':
".$langs->trans("Invoice").':
".$langs->trans("ProductsAndServices").':
".$section['label'].':
  

"; //print $langs->trans("ECMAutoOrgDesc"); diff --git a/htdocs/html.formfile.class.php b/htdocs/html.formfile.class.php index d6f7e1e692f..819af96fbdc 100644 --- a/htdocs/html.formfile.class.php +++ b/htdocs/html.formfile.class.php @@ -373,9 +373,10 @@ class FormFile * \param param Parameters on sort links * \param forcedownload Mime type is forced to 'application/binary' to have a download * \param relativepath Relative path of docs (autodefined if not provided) + * \param permtodelete Permission to delete * \return int <0 if KO, nb of files shown if OK */ - function list_of_documents($filearray,$object,$modulepart,$param,$forcedownload=0,$relativepath='') + function list_of_documents($filearray,$object,$modulepart,$param,$forcedownload=0,$relativepath='',$permtodelete=1) { global $user, $conf, $langs; global $bc; @@ -422,7 +423,10 @@ class FormFile print ''.dolibarr_print_date($file['date'],"dayhour").''; print ''; //print ' '; - print ''.img_delete().''; + if ($permtodelete) + print ''.img_delete().''; + else + print ' '; print "\n"; } } diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index fb7a1dae6de..2e3ebfab484 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -412,6 +412,9 @@ Permission2401=Read actions (events or tasks) linked to his account Permission2402=Create/modify/delete actions (events or tasks) linked to his account Permission2403=Read actions (events or tasks) of others Permission2405=Create/modify/delete actions (events or tasks) of others +Permission2500=Read documents +Permission2501=Submit or delete documents +Permission2515=Setup documents directories DictionnaryCompanyType=Company types DictionnaryCompanyJuridicalType=Juridical kinds of company DictionnaryProspectLevel=Prospect potential level diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index 107bb349b43..3af5dd0b5bf 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -2,6 +2,7 @@ ErrorDuplicateTrigger=A trigger file with class nam '%s' is present sevaral times. Remove duplicate trigger file in directory '%s'. ErrorFailToDeleteFile=Failed to remove file '%s'. ErrorFailToCreateFile=Failed to create file '%s'. +ErrorFailToRenameDir=Failed to rename directory '%s' into '%s'. ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as contact for this type. ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only. ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different. diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index cc45a9063ad..52d79aae62e 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -410,6 +410,9 @@ Permission2401=Lire les actions ( Permission2402=Creer/modifier/supprimer les actions (évènements ou tâches) liées à son compte Permission2403=Lire les actions (évènements ou tâches) des autres Permission2405=Creer/modifier/supprimer les actions (évènements ou tâches) pour les autres +Permission2500=Consulter les documents +Permission2501=Soumettre ou supprimer des documents +Permission2515=Administrer les rubriques de documents DictionnaryCompanyType=Types de sociétés DictionnaryCompanyJuridicalType=Formes juridiques DictionnaryProspectLevel=Niveau de potentiel des prospects diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index f81b1bd3f1d..5bfeda2056e 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -2,6 +2,7 @@ ErrorDuplicateTrigger=Un fichier trigger de classe '%s' est present plusieurs fois. Supprimer le doublon du répertoire '%s'. ErrorFailToCreateFile=Echec de la création du fichier '%s'. ErrorFailToDeleteFile=Echec de l'effacement du fichier '%s'. +ErrorFailToRenameDir=Echec du renommage du répertoire '%s' en '%s'. ErrorThisContactIsAlreadyDefinedAsThisType=Ce contact est déjà défini comme contact pour ce type. ErrorCashAccountAcceptsOnlyCashMoney=Ce compte bancaire est de type caisse et n'accepte que les mode de réglement de type espèce. ErrorFromToAccountsMustDiffers=Le compte source et destination doivent etre différents.