mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
New: Next step for ECM module
Fix: Some minor fixes.
This commit is contained in:
parent
ca0ecf56b2
commit
7b7b9dfef3
|
|
@ -14,15 +14,13 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file dev/skeletons/build_class_from_table.php
|
||||
\ingroup core
|
||||
\brief Create a complete class file from a table in database
|
||||
\version $Revision$
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
// Test if batch mode
|
||||
|
|
@ -127,7 +125,9 @@ $skeletonfile='skeleton_class.class.php';
|
|||
$sourcecontent=file_get_contents($skeletonfile);
|
||||
if (! $sourcecontent)
|
||||
{
|
||||
print "Error: Failed to read skeleton sample '".$sourcecontent."'\n";
|
||||
print "\n";
|
||||
print "Error: Failed to read skeleton sample '".$skeletonfile."'\n";
|
||||
print "Try to run script from skeletons directory.\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
|
|
@ -311,6 +311,7 @@ if ($fp)
|
|||
{
|
||||
fputs($fp, $targetcontent);
|
||||
fclose($fp);
|
||||
print "\n";
|
||||
print "File '".$outfile."' has been built in current directory.\n";
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,15 +15,13 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/commande/index.php
|
||||
\ingroup commande
|
||||
\brief Page acceuil espace commandes
|
||||
\version $Revision$
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
require("./pre.inc.php");
|
||||
|
|
|
|||
|
|
@ -16,15 +16,13 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/compta/index.php
|
||||
\ingroup compta
|
||||
\brief Page accueil zone comptabilité
|
||||
\version $Revision$
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
require("./pre.inc.php");
|
||||
|
|
|
|||
|
|
@ -257,6 +257,7 @@ class Conf
|
|||
$this->categorie->enabled=defined("MAIN_MODULE_CATEGORIE")?MAIN_MODULE_CATEGORIE:0;
|
||||
// Module contrat
|
||||
$this->contrat->enabled=defined("MAIN_MODULE_CONTRAT")?MAIN_MODULE_CONTRAT:0;
|
||||
$this->contrat->dir_output=DOL_DATA_ROOT."/contracts";
|
||||
// Module projet
|
||||
$this->projet->enabled=defined("MAIN_MODULE_PROJET")?MAIN_MODULE_PROJET:0;
|
||||
// Module oscommerce 1
|
||||
|
|
|
|||
|
|
@ -15,15 +15,13 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/contrat/note.php
|
||||
\ingroup contrat
|
||||
\brief Fiche de notes sur un contrat
|
||||
\version $Revision$
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
require("./pre.inc.php");
|
||||
|
|
@ -126,7 +124,7 @@ if ($_GET["id"])
|
|||
|
||||
$hselected = 2;
|
||||
|
||||
dolibarr_fiche_head($head, $hselected, $langs->trans("Contract"));
|
||||
dolibarr_fiche_head($head, 'note', $langs->trans("Contract"));
|
||||
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
|
|
|
|||
|
|
@ -281,17 +281,40 @@ if ($modulepart)
|
|||
$sqlprotectagainstexternals = '';
|
||||
}
|
||||
|
||||
// Wrapping pour les produits et services
|
||||
if ($modulepart == 'contract')
|
||||
{
|
||||
$user->getrights('contrat');
|
||||
if ($user->rights->contrat->lire || eregi('^specimen',$original_file)) // Ce droit n'existe pas encore
|
||||
{
|
||||
$accessallowed=1;
|
||||
}
|
||||
$original_file=$conf->contrat->dir_output.'/'.$original_file;
|
||||
$sqlprotectagainstexternals = '';
|
||||
}
|
||||
|
||||
// Wrapping pour les documents generaux
|
||||
if ($modulepart == 'ged')
|
||||
{
|
||||
$user->getrights('document');
|
||||
if ($user->rights->document->lire )
|
||||
if ($user->rights->document->lire)
|
||||
{
|
||||
$accessallowed=1;
|
||||
$accessallowed=1;
|
||||
}
|
||||
$original_file= DOL_DATA_ROOT.'/ged/'.$original_file;
|
||||
}
|
||||
|
||||
// Wrapping pour les documents generaux
|
||||
if ($modulepart == 'ecm')
|
||||
{
|
||||
$user->getrights('ecm');
|
||||
if ($user->rights->ecm->lire)
|
||||
{
|
||||
$accessallowed=1;
|
||||
}
|
||||
$original_file= DOL_DATA_ROOT.'/ecm/'.$original_file;
|
||||
}
|
||||
|
||||
// Wrapping pour les dons
|
||||
if ($modulepart == 'don')
|
||||
{
|
||||
|
|
|
|||
307
htdocs/ecm/docdir.php
Normal file
307
htdocs/ecm/docdir.php
Normal file
|
|
@ -0,0 +1,307 @@
|
|||
<?php
|
||||
/* Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdoc/ecm/index.php
|
||||
\ingroup ecm
|
||||
\brief Main page for ECM section area
|
||||
\version $Id$
|
||||
\author Laurent Destailleur
|
||||
*/
|
||||
|
||||
require("./pre.inc.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/ecm/ecmdirectory.class.php");
|
||||
|
||||
// Load traductions files
|
||||
$langs->load("ecm");
|
||||
$langs->load("companies");
|
||||
$langs->load("other");
|
||||
$langs->load("users");
|
||||
$langs->load("orders");
|
||||
$langs->load("propal");
|
||||
$langs->load("bills");
|
||||
$langs->load("contracts");
|
||||
|
||||
// Load permissions
|
||||
$user->getrights('ecm');
|
||||
|
||||
// Get parameters
|
||||
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
|
||||
|
||||
$section=$_GET["section"];
|
||||
if (! $section) $section='misc';
|
||||
$upload_dir = $conf->ecm->dir_output.'/'.$section;
|
||||
|
||||
$page=$_GET["page"];
|
||||
$sortorder=$_GET["sortorder"];
|
||||
$sortfield=$_GET["sortfield"];
|
||||
|
||||
$limit = $conf->liste_limit;
|
||||
$offset = $limit * $page ;
|
||||
if (! $sortorder) $sortorder="DESC";
|
||||
if (! $sortfield) $sortfield="label";
|
||||
|
||||
$ecmdir = new ECMDirectory($db);
|
||||
if (! empty($_GET["section"]))
|
||||
{
|
||||
$result=$ecmdir->fetch($_GET["section"]);
|
||||
if (! $result > 0)
|
||||
{
|
||||
dolibarr_print_error($db,$ecmdir->error);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* ACTIONS
|
||||
*
|
||||
* Put here all code to do according to value of "action" parameter
|
||||
********************************************************************/
|
||||
|
||||
// Action ajout d'un produit ou service
|
||||
if ($_POST["action"] == 'add' && $user->rights->ecm->setup)
|
||||
{
|
||||
$ecmdir->ref = $_POST["ref"];
|
||||
$ecmdir->label = $_POST["label"];
|
||||
$ecmdir->description = $_POST["desc"];
|
||||
|
||||
$id = $ecmdir->create($user);
|
||||
|
||||
if ($id > 0)
|
||||
{
|
||||
Header("Location: ".$_SERVER["PHP_SELF"]);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg='<div class="error">Error '.$langs->trans($ecmdir->error).'</div>';
|
||||
$_GET["action"] = "create";
|
||||
}
|
||||
}
|
||||
|
||||
// Suppression fichier
|
||||
if ($_POST['action'] == 'confirm_deletesection' && $_POST['confirm'] == 'yes')
|
||||
{
|
||||
$result=$ecmdir->delete($user);
|
||||
$mesg = '<div class="ok">'.$langs->trans("ECMSectionWasRemoved", $ecmdir->label).'</div>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* PAGE
|
||||
*
|
||||
* Put here all code to do according to value of "action" parameter
|
||||
********************************************************************/
|
||||
|
||||
llxHeader();
|
||||
|
||||
$form=new Form($db);
|
||||
$ecmdirstatic = new ECMDirectory($db);
|
||||
$userstatic = new User($db);
|
||||
|
||||
if ($_GET["action"] == 'create')
|
||||
{
|
||||
//***********************
|
||||
// Create
|
||||
//***********************
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
|
||||
print '<input type="hidden" name="action" value="add">';
|
||||
|
||||
$title=$langs->trans("ECMNewSection");
|
||||
print_fiche_titre($title);
|
||||
if ($mesg) { print $mesg."<br>"; }
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Label
|
||||
print '<tr><td>'.$langs->trans("Label").'</td><td><input name="label" size="40" value="'.$ecmdir->label.'"></td></tr>';
|
||||
|
||||
// Description
|
||||
print '<tr><td valign="top">'.$langs->trans("Description").'</td><td>';
|
||||
print '<textarea name="desc" rows="4" cols="90">';
|
||||
print $ecmdir->description;
|
||||
print '</textarea>';
|
||||
print "</td></tr>";
|
||||
|
||||
print '<tr><td colspan="3" align="center"><input type="submit" class="button" value="'.$langs->trans("Create").'"></td></tr>';
|
||||
|
||||
print '</table>';
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
|
||||
if (! $_GET["action"] || $_GET["action"] == 'delete_section')
|
||||
{
|
||||
//***********************
|
||||
// List
|
||||
//***********************
|
||||
print_fiche_titre($langs->trans("ECMSectionOfDocuments"));
|
||||
|
||||
$ecmdir->ref=$ecmdir->label;
|
||||
print $langs->trans("ECMSection").': ';
|
||||
print img_picto('','object_dir').' ';
|
||||
print '<a href="'.DOL_URL_ROOT.'/ecm/docdir.php">'.$langs->trans("ECMRoot").'</a>';
|
||||
//print ' -> <b>'.$ecmdir->getNomUrl(1).'</b><br>';
|
||||
print "<br><br>";
|
||||
|
||||
/*
|
||||
* Confirmation de la suppression d'une ligne categorie
|
||||
*/
|
||||
if ($_GET['action'] == 'delete_section')
|
||||
{
|
||||
$form->form_confirm($_SERVER["PHP_SELF"].'?section='.urldecode($_GET["section"]), $langs->trans('DeleteSection'), $langs->trans('ConfirmDeleteSection',$ecmdir->label), 'confirm_deletesection');
|
||||
print '<br>';
|
||||
}
|
||||
|
||||
// Construit liste des répertoires
|
||||
|
||||
if ($mesg) { print $mesg."<br>"; }
|
||||
|
||||
print '<table width="100%" class="noborder">';
|
||||
print '<tr class="liste_titre">';
|
||||
$param='&socid='.$socid;
|
||||
print_liste_field_titre($langs->trans("ECMSection"),$_SERVER["PHP_SELF"],"label","",$param,'align="left"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"","",$param,'align="left"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Description"),$_SERVER["PHP_SELF"],"description","",$param,'align="left"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("ECMCreationUser"),$_SERVER["PHP_SELF"],"fk_user_c","",$param,'align="left"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("ECMCreationDate"),$_SERVER["PHP_SELF"],"date_c","",$param,'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("ECMNbOfDocs"),$_SERVER["PHP_SELF"],"cachenbofdoc","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"","",$param,'align="right"',$sortfield,$sortorder);
|
||||
print '</tr>';
|
||||
|
||||
|
||||
$sql ="SELECT ed.rowid, ed.label, ed.description, ed.cachenbofdoc, ed.fk_user_c, ed.fk_user_m,";
|
||||
$sql.=" ed.date_c,";
|
||||
$sql.=" ed.date_m,";
|
||||
$sql.=" ed.fk_parent,";
|
||||
$sql.=" u.login";
|
||||
$sql.=" FROM ".MAIN_DB_PREFIX."ecm_directories as ed";
|
||||
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."user as u on u.rowid = ed.fk_user_c";
|
||||
$sql.=" ORDER BY label";
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$var=true;
|
||||
$obj = $db->fetch_object($resql);
|
||||
while ($obj)
|
||||
{
|
||||
$var=!$var;
|
||||
|
||||
$ecmdirstatic->id=$obj->rowid;
|
||||
$ecmdirstatic->ref=$obj->label;
|
||||
|
||||
print '<tr '.$bc[$var].'>';
|
||||
|
||||
// Section
|
||||
print '<td align="left">';
|
||||
print $ecmdirstatic->getNomUrl(1);
|
||||
print "</td>\n";
|
||||
|
||||
// Type
|
||||
print '<td align="left">';
|
||||
print $langs->trans("ECMTypeManual");
|
||||
print "</td>\n";
|
||||
|
||||
// Description
|
||||
print '<td align="left">'.dolibarr_trunc($obj->description,32).'</td>';
|
||||
$userstatic->id=$obj->fk_user_c;
|
||||
$userstatic->nom=$obj->login;
|
||||
print '<td align="left">'.$userstatic->getNomUrl(1).'</td>';
|
||||
print '<td align="center">'.dolibarr_print_date($obj->date_c,"dayhour").'</td>';
|
||||
|
||||
// Nb of docs
|
||||
//print '<td align="right">'.$obj->cachenbofdoc.'</td>';
|
||||
print '<td align="right">?</td>';
|
||||
|
||||
print '<td align="right">';
|
||||
echo '<a href="'.$_SERVER["PHP_SELF"].'?action=delete_section§ion='.urlencode($obj->rowid).'">'.img_delete().'</a>';
|
||||
print "</td></tr>\n";
|
||||
$obj = $db->fetch_object($resql);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dolibarr_print_error($db);
|
||||
}
|
||||
|
||||
// Ajout rubriques automatiques
|
||||
$sectionauto=array( 0 => array('test'=>$conf->societe->enabled, 'label'=>$langs->trans("ThirdParties"), 'desc'=>$langs->trans("ECMDocsByThirdParties")),
|
||||
1 => array('test'=>$conf->propal->enabled, 'label'=>$langs->trans("Proposals"), 'desc'=>$langs->trans("ECMDocsByProposals")),
|
||||
2 => array('test'=>$conf->commande->enabled,'label'=>$langs->trans("Orders"), 'desc'=>$langs->trans("ECMDocsByOrders")),
|
||||
3 => array('test'=>$conf->contrat->enabled, 'label'=>$langs->trans("Contracts"), 'desc'=>$langs->trans("ECMDocsByContracts")),
|
||||
4 => array('test'=>$conf->facture->enabled, 'label'=>$langs->trans("Invoices"), 'desc'=>$langs->trans("ECMDocsByInvoices"))
|
||||
);
|
||||
foreach ($sectionauto as $key => $val)
|
||||
{
|
||||
if ($val['test'])
|
||||
{
|
||||
$var=! $var;
|
||||
|
||||
print '<tr '.$bc[$var].'>';
|
||||
|
||||
// Section
|
||||
print '<td align="left">';
|
||||
print img_picto('','object_dir').' ';
|
||||
print '<a href="'.DOL_URL_ROOT.'/ecm/docother.php">';
|
||||
print $val['label'];
|
||||
print '</a>';
|
||||
print "</td>\n";
|
||||
|
||||
// Type
|
||||
print '<td align="left">';
|
||||
print $langs->trans("ECMTypeAuto");
|
||||
print "</td>\n";
|
||||
|
||||
// Description
|
||||
print '<td align="left">'.$val['desc'].'</td>';
|
||||
print '<td align="left"> </td>';
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="right"> </td>';
|
||||
|
||||
print '<td align="right"> ';
|
||||
print "</td></tr>\n";
|
||||
}
|
||||
}
|
||||
|
||||
print "</table>";
|
||||
// Fin de zone Ajax
|
||||
|
||||
|
||||
// Actions buttons
|
||||
print '<div class="tabsAction">';
|
||||
if ($user->rights->ecm->setup)
|
||||
{
|
||||
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=create">'.$langs->trans('ECMAddSection').'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<a class="butActionRefused" href="#" title="'.$langs->trans("NotAllowed").'">'.$langs->trans('ECMAddSection').'</a>';
|
||||
}
|
||||
print '</div>';
|
||||
}
|
||||
|
||||
|
||||
// End of page
|
||||
$db->close();
|
||||
|
||||
llxFooter('$Date$ - $Revision$');
|
||||
?>
|
||||
|
|
@ -1,17 +1,33 @@
|
|||
<?php
|
||||
/* Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdoc/google/index.php
|
||||
\ingroup google
|
||||
\brief Main google area page
|
||||
\file htdoc/ecm/docmine.php
|
||||
\ingroup ecm
|
||||
\brief Main page for a section
|
||||
\version $Id$
|
||||
\author Laurent Destailleur
|
||||
*/
|
||||
|
||||
require("./pre.inc.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/ecm/ecmdirectory.class.php");
|
||||
|
||||
|
||||
// Load traductions files
|
||||
$langs->load("ecm");
|
||||
|
|
@ -31,10 +47,24 @@ if ($user->societe_id > 0)
|
|||
$socid = $user->societe_id;
|
||||
}
|
||||
|
||||
$section=$_GET["section"];
|
||||
if (! $section) $section='misc';
|
||||
$upload_dir = $conf->ecm->dir_output.'/'.$section;
|
||||
$section=$_REQUEST["section"];
|
||||
if (! $section)
|
||||
{
|
||||
dolibarr_print_error('',"ErrorSectionParamNotDefined");
|
||||
exit;
|
||||
}
|
||||
|
||||
$ecmdir = new ECMDirectory($db);
|
||||
if (! empty($_REQUEST["section"]))
|
||||
{
|
||||
$result=$ecmdir->fetch($_REQUEST["section"]);
|
||||
if (! $result > 0)
|
||||
{
|
||||
dolibarr_print_error($db,$ecmdir->error);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
$upload_dir = $conf->ecm->dir_output.'/'.$ecmdir->label;
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
|
|
@ -92,12 +122,17 @@ llxHeader();
|
|||
|
||||
$form=new Form($db);
|
||||
|
||||
print_fiche_titre($langs->trans("DocsMine"));
|
||||
print "<br>";
|
||||
print_fiche_titre($langs->trans("ECMManualOrg"));
|
||||
|
||||
$ecmdir->ref=$ecmdir->label;
|
||||
print $langs->trans("ECMSection").': ';
|
||||
print img_picto('','object_dir').' ';
|
||||
print '<a href="'.DOL_URL_ROOT.'/ecm/docdir.php">'.$langs->trans("ECMRoot").'</a>';
|
||||
print ' -> <b>'.$ecmdir->getNomUrl(1).'</b>';
|
||||
print "<br><br>";
|
||||
|
||||
|
||||
//$head = societe_prepare_head($societe);
|
||||
|
||||
|
||||
//dolibarr_fiche_head($head, 'document', $societe->nom);
|
||||
|
||||
|
||||
|
|
@ -106,7 +141,7 @@ print "<br>";
|
|||
*/
|
||||
if ($_GET['action'] == 'delete_file')
|
||||
{
|
||||
$form->form_confirm($_SERVER["PHP_SELF"].'?socid='.$socid.'&urlfile='.urldecode($_GET["urlfile"]), $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile');
|
||||
$form->form_confirm($_SERVER["PHP_SELF"].'?section='.$_REQUEST["section"].'&urlfile='.urldecode($_GET["urlfile"]), $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile');
|
||||
print '<br>';
|
||||
}
|
||||
|
||||
|
|
@ -161,7 +196,7 @@ if ($mesg) { print $mesg."<br>"; }
|
|||
|
||||
// Affiche formulaire upload
|
||||
$formfile=new FormFile($db);
|
||||
$formfile->form_attach_new_file(DOL_URL_ROOT.'/ecm/docmine.php');
|
||||
$formfile->form_attach_new_file(DOL_URL_ROOT.'/ecm/docmine.php','',0,$section);
|
||||
|
||||
// Affiche liste des documents existant
|
||||
print_titre($langs->trans("AttachedFiles"));
|
||||
|
|
@ -221,7 +256,7 @@ foreach($filearray as $key => $file)
|
|||
print '<td align="right">'.$file->size.' '.$langs->trans("bytes").'</td>';
|
||||
print '<td align="center">'.dolibarr_print_date($file->date,"dayhour").'</td>';
|
||||
print '<td align="center">';
|
||||
echo '<a href="'.$url.'?socid='.$socid.'&action=delete_file&urlfile='.urlencode($file->name).'">'.img_delete().'</a>';
|
||||
echo '<a href="'.$url.'?section='.$_REQUEST["section"].'&action=delete_file&urlfile='.urlencode($file->name).'">'.img_delete().'</a>';
|
||||
print "</td></tr>\n";
|
||||
}
|
||||
}
|
||||
|
|
@ -229,58 +264,6 @@ print "</table>";
|
|||
// Fin de zone Ajax
|
||||
|
||||
|
||||
print "<br><br>";
|
||||
|
||||
// Courriers
|
||||
// Les courriers sont des documents speciaux generes par des scripts
|
||||
// situes dans scripts/courrier.
|
||||
// Voir Rodo
|
||||
if ($conf->global->MAIN_MODULE_EDITEUR)
|
||||
{
|
||||
$filearray=array();
|
||||
$errorlevel=error_reporting();
|
||||
error_reporting(0);
|
||||
$handle=opendir($courrier_dir);
|
||||
error_reporting($errorlevel);
|
||||
if ($handle)
|
||||
{
|
||||
$i=0;
|
||||
while (($file = readdir($handle))!==false)
|
||||
{
|
||||
if (!is_dir($dir.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS')
|
||||
{
|
||||
$filearray[$i]=$file;
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
}
|
||||
|
||||
print '<table width="100%" class="noborder">';
|
||||
print '<tr class="liste_titre"><td>'.$langs->trans("Courriers").'</td><td align="right">'.$langs->trans("Size").'</td><td align="center">'.$langs->trans("Date").'</td></tr>';
|
||||
|
||||
$var=true;
|
||||
foreach($filearray as $key => $file)
|
||||
{
|
||||
if (!is_dir($dir.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS')
|
||||
{
|
||||
$var=!$var;
|
||||
print "<tr $bc[$var]><td>";
|
||||
$loc = "courrier/".get_exdir($socid);
|
||||
echo '<a href="'.DOL_URL_ROOT.'/document.php?modulepart=societe&type=application/binary&file='.urlencode($loc.'/'.$file).'">'.$file.'</a>';
|
||||
print "</td>\n";
|
||||
|
||||
print '<td align="right">'.filesize($courrier_dir."/".$file). ' '.$langs->trans("bytes").'</td>';
|
||||
print '<td align="center">'.dolibarr_print_date(filemtime($courrier_dir."/".$file),"dayhour").'</td>';
|
||||
print "</tr>\n";
|
||||
}
|
||||
}
|
||||
print "</table>";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// End of page
|
||||
$db->close();
|
||||
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
\file htdoc/google/index.php
|
||||
\ingroup google
|
||||
\brief Main google area page
|
||||
\file htdoc/ecm/docother.php
|
||||
\ingroup ecm
|
||||
\brief Main ecm page
|
||||
\version $Id$
|
||||
\author Laurent Destailleur
|
||||
*/
|
||||
|
|
@ -92,7 +92,7 @@ llxHeader();
|
|||
|
||||
$form=new Form($db);
|
||||
|
||||
print_fiche_titre($langs->trans("Documents"));
|
||||
print_fiche_titre($langs->trans("ECMAutoOrg"));
|
||||
|
||||
//$head = societe_prepare_head($societe);
|
||||
|
||||
|
|
|
|||
318
htdocs/ecm/ecmdirectory.class.php
Normal file
318
htdocs/ecm/ecmdirectory.class.php
Normal file
|
|
@ -0,0 +1,318 @@
|
|||
<?php
|
||||
/* Copyright (C) 2007-2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
\file dev/skeletons/ecm_directories.class.php
|
||||
\ingroup mymodule othermodule1 othermodule2
|
||||
\brief This file is an example for a class file
|
||||
\version $Id$
|
||||
\author Put author name here
|
||||
\remarks Initialy built by build_class_from_table on 2008-02-24 19:24
|
||||
*/
|
||||
|
||||
// Put here all includes required by your class file
|
||||
//require_once(DOL_DOCUMENT_ROOT."/commonobject.class.php");
|
||||
//require_once(DOL_DOCUMENT_ROOT."/societe.class.php");
|
||||
//require_once(DOL_DOCUMENT_ROOT."/product.class.php");
|
||||
|
||||
|
||||
/**
|
||||
\class EcmDirectory
|
||||
\brief Class to manage ECM directories
|
||||
\remarks Initialy built by build_class_from_table on 2008-02-24 19:24
|
||||
*/
|
||||
class EcmDirectory // extends CommonObject
|
||||
{
|
||||
var $db; //!< To store db handler
|
||||
var $error; //!< To return error code (or message)
|
||||
var $errors=array(); //!< To return several error codes (or messages)
|
||||
//var $element='ecm_directories'; //!< Id that identify managed objects
|
||||
//var $table_element='ecm_directories'; //!< Name of table without prefix where object is stored
|
||||
|
||||
var $id;
|
||||
|
||||
var $label;
|
||||
var $fk_parent;
|
||||
var $description;
|
||||
var $tms;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \brief Constructor
|
||||
* \param DB Database handler
|
||||
*/
|
||||
function EcmDirectory($DB)
|
||||
{
|
||||
$this->db = $DB;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Create in database
|
||||
* \param user User that create
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function create($user)
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
$now=time();
|
||||
|
||||
// Clean parameters
|
||||
$this->label=sanitize_string($this->label);
|
||||
$this->fk_parent=trim($this->fk_parent);
|
||||
$this->description=trim($this->description);
|
||||
if (! $this->cachenbofdoc) $this->cachenbofdoc=0;
|
||||
$this->date_c=$now;
|
||||
$this->fk_user_c=$user->id;
|
||||
|
||||
|
||||
// Check parameters
|
||||
// Put here code to add control on parameters values
|
||||
|
||||
// Insert request
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."ecm_directories(";
|
||||
$sql.= "label,";
|
||||
$sql.= "fk_parent,";
|
||||
$sql.= "description,";
|
||||
$sql.= "cachenbofdoc,";
|
||||
$sql.= "date_c,";
|
||||
$sql.= "fk_user_c";
|
||||
$sql.= ") VALUES (";
|
||||
$sql.= " '".$this->label."',";
|
||||
$sql.= " '".$this->fk_parent."',";
|
||||
$sql.= " '".$this->description."',";
|
||||
$sql.= " ".($this->cachenbofdoc).",";
|
||||
$sql.= " ".$this->db->idate($this->date_c).",";
|
||||
$sql.= " '".$this->fk_user_c."'";
|
||||
$sql.= ")";
|
||||
|
||||
dolibarr_syslog("Ecm_directories::create sql=".$sql, LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."ecm_directories");
|
||||
|
||||
$result=create_exdir($conf->ecm->dir_output.'/'.$this->label);
|
||||
|
||||
// Appel des triggers
|
||||
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
|
||||
return $this->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error="Error ".$this->db->lasterror();
|
||||
dolibarr_syslog("Ecm_directories::create ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* \brief Update database
|
||||
* \param user User that modify
|
||||
* \param notrigger 0=no, 1=yes (no update trigger)
|
||||
* \return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function update($user=0, $notrigger=0)
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
// Clean parameters
|
||||
|
||||
$this->label=trim($this->label);
|
||||
$this->fk_parent=trim($this->fk_parent);
|
||||
$this->description=trim($this->description);
|
||||
|
||||
|
||||
|
||||
// Check parameters
|
||||
// Put here code to add control on parameters values
|
||||
|
||||
// Update request
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."ecm_directories SET";
|
||||
|
||||
$sql.= " label='".addslashes($this->label)."',";
|
||||
$sql.= " fk_parent='".$this->fk_parent."',";
|
||||
$sql.= " description='".addslashes($this->description)."',";
|
||||
$sql.= " tms=".$this->db->idate($this->tms)."";
|
||||
|
||||
|
||||
$sql.= " WHERE rowid=".$this->id;
|
||||
|
||||
dolibarr_syslog("Ecm_directories::update sql=".$sql, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql)
|
||||
{
|
||||
$this->error="Error ".$this->db->lasterror();
|
||||
dolibarr_syslog("Ecm_directories::update ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Appel des triggers
|
||||
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* \brief Load object in memory from database
|
||||
* \param id id object
|
||||
* \param user User that load
|
||||
* \return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function fetch($id, $user=0)
|
||||
{
|
||||
global $langs;
|
||||
$sql = "SELECT";
|
||||
$sql.= " t.rowid,";
|
||||
$sql.= " t.label,";
|
||||
$sql.= " t.fk_parent,";
|
||||
$sql.= " t.description,";
|
||||
$sql.= " t.cachenbofdoc,";
|
||||
$sql.= " t.fk_user_c,";
|
||||
$sql.= " t.fk_user_m,";
|
||||
$sql.= " ".$this->db->pdate('t.date_c').",";
|
||||
$sql.= " ".$this->db->pdate('t.date_m')."";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."ecm_directories as t";
|
||||
$sql.= " WHERE t.rowid = ".$id;
|
||||
|
||||
dolibarr_syslog("Ecm_directories::fetch sql=".$sql, LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
if ($this->db->num_rows($resql))
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
||||
$this->id = $obj->rowid;
|
||||
$this->ref = $obj->rowid;
|
||||
|
||||
$this->label = $obj->label;
|
||||
$this->fk_parent = $obj->fk_parent;
|
||||
$this->description = $obj->description;
|
||||
$this->cachenbofdoc = $obj->cachenbofdoc;
|
||||
$this->fk_user_m = $obj->fk_user_m;
|
||||
$this->fk_user_c = $obj->fk_user_c;
|
||||
$this->date_c = $obj->date_c;
|
||||
$this->date_m = $obj->date_m;
|
||||
}
|
||||
$this->db->free($resql);
|
||||
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error="Error ".$this->db->lasterror();
|
||||
dolibarr_syslog("Ecm_directories::fetch ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* \brief Delete object in database
|
||||
* \param user User that delete
|
||||
* \return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function delete($user)
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."ecm_directories";
|
||||
$sql.= " WHERE rowid=".$this->id;
|
||||
|
||||
dolibarr_syslog("Ecm_directories::delete sql=".$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql)
|
||||
{
|
||||
$this->error="Error ".$this->db->lasterror();
|
||||
dolibarr_syslog("Ecm_directories::delete ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
|
||||
$file = $conf->ecm->dir_output . "/" . $this->label;
|
||||
$result=dol_delete_dir($file);
|
||||
|
||||
// Appel des triggers
|
||||
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Initialise object with example values
|
||||
* \remarks id must be 0 if object instance is a specimen.
|
||||
*/
|
||||
function initAsSpecimen()
|
||||
{
|
||||
$this->id=0;
|
||||
|
||||
$this->label='MyDirectory';
|
||||
$this->fk_parent='0';
|
||||
$this->description='This is a directory';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Renvoie nom clicable (avec eventuellement le picto)
|
||||
\param withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
|
||||
\param option Sur quoi pointe le lien
|
||||
\return string Chaine avec URL
|
||||
*/
|
||||
function getNomUrl($withpicto=0,$option='')
|
||||
{
|
||||
global $langs;
|
||||
|
||||
$result='';
|
||||
|
||||
$lien = '<a href="'.DOL_URL_ROOT.'/ecm/docmine.php?section='.$this->id.'">';
|
||||
$lienfin='</a>';
|
||||
|
||||
$picto='dir';
|
||||
|
||||
$label=$langs->trans("ShowECMSection").': '.$this->ref;
|
||||
|
||||
if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin);
|
||||
if ($withpicto && $withpicto != 2) $result.=' ';
|
||||
if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin;
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
@ -3,20 +3,26 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
\file htdoc/google/index.php
|
||||
\ingroup google
|
||||
\brief Main google area page
|
||||
\file htdoc/ecm/index.php
|
||||
\ingroup ecm
|
||||
\brief Main page for ECM section area
|
||||
\version $Id$
|
||||
\author Laurent Destailleur
|
||||
*/
|
||||
|
||||
require("./pre.inc.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/ecm/ecmdirectory.class.php");
|
||||
|
||||
// Load traductions files
|
||||
$langs->load("ecm");
|
||||
$langs->load("companies");
|
||||
$langs->load("other");
|
||||
$langs->load("users");
|
||||
$langs->load("orders");
|
||||
$langs->load("propal");
|
||||
$langs->load("bills");
|
||||
$langs->load("contracts");
|
||||
|
||||
// Load permissions
|
||||
$user->getrights('ecm');
|
||||
|
|
@ -24,17 +30,29 @@ $user->getrights('ecm');
|
|||
// Get parameters
|
||||
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
|
||||
|
||||
// Permissions
|
||||
if ($user->societe_id > 0)
|
||||
{
|
||||
$action = '';
|
||||
$socid = $user->societe_id;
|
||||
}
|
||||
|
||||
$section=$_GET["section"];
|
||||
if (! $section) $section='misc';
|
||||
$upload_dir = $conf->ecm->dir_output.'/'.$section;
|
||||
|
||||
$page=$_GET["page"];
|
||||
$sortorder=$_GET["sortorder"];
|
||||
$sortfield=$_GET["sortfield"];
|
||||
|
||||
$limit = $conf->liste_limit;
|
||||
$offset = $limit * $page ;
|
||||
if (! $sortorder) $sortorder="DESC";
|
||||
if (! $sortfield) $sortfield="label";
|
||||
|
||||
$ecmdir = new ECMDirectory($db);
|
||||
if (! empty($_GET["section"]))
|
||||
{
|
||||
$result=$ecmdir->fetch($_GET["section"]);
|
||||
if (! $result > 0)
|
||||
{
|
||||
dolibarr_print_error($db,$ecmdir->error);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
|
|
@ -43,45 +61,37 @@ $upload_dir = $conf->ecm->dir_output.'/'.$section;
|
|||
* Put here all code to do according to value of "action" parameter
|
||||
********************************************************************/
|
||||
|
||||
// Envoie fichier
|
||||
if ( $_POST["sendit"] && $conf->upload != 0)
|
||||
// Action ajout d'un produit ou service
|
||||
if ($_POST["action"] == 'add' && $user->rights->ecm->setup)
|
||||
{
|
||||
if (! is_dir($upload_dir)) create_exdir($upload_dir);
|
||||
|
||||
if (is_dir($upload_dir))
|
||||
{
|
||||
$result = doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']);
|
||||
if ($result == 1)
|
||||
{
|
||||
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
|
||||
//print_r($_FILES);
|
||||
}
|
||||
else if (!$result)
|
||||
{
|
||||
// Echec transfert (fichier d?passant la limite ?)
|
||||
$mesg = '<div class="error">'.$langs->trans("ErrorFileNotUploaded").'</div>';
|
||||
// print_r($_FILES);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Fichier infect? par un virus
|
||||
$mesg = '<div class="error">'.$langs->trans("ErrorFileIsInfectedWith",$result).'</div>';
|
||||
}
|
||||
}
|
||||
$ecmdir->ref = $_POST["ref"];
|
||||
$ecmdir->label = $_POST["label"];
|
||||
$ecmdir->description = $_POST["desc"];
|
||||
|
||||
$id = $ecmdir->create($user);
|
||||
|
||||
if ($id > 0)
|
||||
{
|
||||
Header("Location: ".$_SERVER["PHP_SELF"]);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg='<div class="error">Error '.$langs->trans($ecmdir->error).'</div>';
|
||||
$_GET["action"] = "create";
|
||||
}
|
||||
}
|
||||
|
||||
// Suppression fichier
|
||||
if ($_POST['action'] == 'confirm_deletefile' && $_POST['confirm'] == 'yes')
|
||||
if ($_POST['action'] == 'confirm_deletesection' && $_POST['confirm'] == 'yes')
|
||||
{
|
||||
$file = $upload_dir . "/" . urldecode($_GET["urlfile"]);
|
||||
dol_delete_file($file);
|
||||
$mesg = '<div class="ok">'.$langs->trans("FileWasRemoved").'</div>';
|
||||
$result=$ecmdir->delete($user);
|
||||
$mesg = '<div class="ok">'.$langs->trans("ECMSectionWasRemoved", $ecmdir->label).'</div>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* PAGE
|
||||
*
|
||||
|
|
@ -91,10 +101,58 @@ if ($_POST['action'] == 'confirm_deletefile' && $_POST['confirm'] == 'yes')
|
|||
llxHeader();
|
||||
|
||||
$form=new Form($db);
|
||||
$ecmdirstatic = new ECMDirectory($db);
|
||||
$userstatic = new User($db);
|
||||
|
||||
print_fiche_titre($langs->trans("ECMArea"));
|
||||
if (! $_GET["action"] || $_GET["action"] == 'delete_section')
|
||||
{
|
||||
//***********************
|
||||
// List
|
||||
//***********************
|
||||
print_fiche_titre($langs->trans("ECMArea"));
|
||||
|
||||
print $langs->trans("ECMAreaDesc")."<br>";
|
||||
print $langs->trans("ECMAreaDesc2")."<br>";
|
||||
print "<br>\n";
|
||||
|
||||
print '<table class="notopnoleftnoright" width="100%"><tr><td width="50%" valign="top">';
|
||||
|
||||
//print_fiche_titre($langs->trans("ECMManualOrg"));
|
||||
|
||||
print '<form method="post" action="'.DOL_URL_ROOT.'/ecm/todo.php">';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print "<tr class=\"liste_titre\">";
|
||||
print '<td colspan="3">'.$langs->trans("ECMSearchByKeywords").'</td></tr>';
|
||||
print "<tr $bc[0]><td>".$langs->trans("Title").':</td><td><input type="text" name="sf_ref" class="flat" size="18"></td>';
|
||||
print '<td rowspan="2"><input type="submit" value="'.$langs->trans("Search").'" class="button"></td></tr>';
|
||||
print "<tr $bc[0]><td>".$langs->trans("Keyword").':</td><td><input type="text" name="sall" class="flat" size="18"></td>';
|
||||
print '</tr>';
|
||||
print "</table></form><br>";
|
||||
//print $langs->trans("ECMManualOrgDesc");
|
||||
|
||||
print '</td><td width="50%" valign="top">';
|
||||
|
||||
//print_fiche_titre($langs->trans("ECMAutoOrg"));
|
||||
|
||||
print '<form method="post" action="'.DOL_URL_ROOT.'/ecm/todo.php">';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print "<tr class=\"liste_titre\">";
|
||||
print '<td colspan="3">'.$langs->trans("ECMSearchByEntity").'</td></tr>';
|
||||
|
||||
$buthtml='<td rowspan="5"><input type="submit" value="'.$langs->trans("Search").'" class="button"></td>';
|
||||
$butshown=0;
|
||||
|
||||
if ($conf->societe->enabled) { print "<tr $bc[0]><td>".$langs->trans("ThirdParty").':</td><td><input type="text" name="sf_ref" class="flat" size="18"></td>'.($butshown?'':$buthtml).'</tr>'; $butshown=1; }
|
||||
if ($conf->contrat->enabled) { print "<tr $bc[0]><td>".$langs->trans("Contrat").':</td><td><input type="text" name="sf_ref" class="flat" size="18"></td>'.($butshown?'':$buthtml).'</tr>'; $butshown=1; }
|
||||
if ($conf->propal->enabled) { print "<tr $bc[0]><td>".$langs->trans("Proposal").':</td><td><input type="text" name="sf_ref" class="flat" size="18"></td>'.($butshown?'':$buthtml).'</tr>'; $butshown=1; }
|
||||
if ($conf->commande->enabled) { print "<tr $bc[0]><td>".$langs->trans("Order").':</td><td><input type="text" name="sf_ref" class="flat" size="18"></td>'.($butshown?'':$buthtml).'</tr>'; $butshown=1; }
|
||||
if ($conf->facture->enabled) { print "<tr $bc[0]><td>".$langs->trans("Invoice").':</td><td><input type="text" name="sf_ref" class="flat" size="18"></td>'.($butshown?'':$buthtml).'</tr>'; $butshown=1; }
|
||||
print "</table></form><br>";
|
||||
//print $langs->trans("ECMAutoOrgDesc");
|
||||
|
||||
print '</td></tr>';
|
||||
print '</table>';
|
||||
}
|
||||
|
||||
|
||||
// End of page
|
||||
|
|
|
|||
|
|
@ -1,5 +1,19 @@
|
|||
<?php
|
||||
/* Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
@ -15,7 +29,7 @@ $user->getrights('ecm');
|
|||
|
||||
function llxHeader($head = "", $title="", $help_url='')
|
||||
{
|
||||
global $conf,$langs;
|
||||
global $conf,$langs,$user;
|
||||
$langs->load("ecm");
|
||||
$langs->load("bills");
|
||||
$langs->load("propal");
|
||||
|
|
@ -24,12 +38,18 @@ function llxHeader($head = "", $title="", $help_url='')
|
|||
|
||||
$menu = new Menu();
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/ecm/index.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("MenuECM"));
|
||||
$menu->add_submenu(DOL_URL_ROOT."/ecm/docmine.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("DocsMine"));
|
||||
$menu->add_submenu(DOL_URL_ROOT."/ecm/docother.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("DocsThirdParties"));
|
||||
$menu->add_submenu(DOL_URL_ROOT."/ecm/docother.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("DocsInvoices"));
|
||||
$menu->add_submenu(DOL_URL_ROOT."/ecm/docother.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("DocsProposals"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/ecm/index.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("MenuECM"),0,$user->rights->ecm->read);
|
||||
$menu->add_submenu(DOL_URL_ROOT."/ecm/docdir.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("List"),1,$user->rights->ecm->read);
|
||||
$menu->add_submenu(DOL_URL_ROOT."/ecm/index?mainmenu=ecm&action=create&idmenu=".$_SESSION["idmenu"], $langs->trans("ECMNewDocument"),1,$user->rights->ecm->create);
|
||||
|
||||
$menu->add_submenu(DOL_URL_ROOT."/ecm/docdir?mainmenu=ecm&action=create&idmenu=".$_SESSION["idmenu"], $langs->trans("ECMNewSection"),1,$user->rights->ecm->setup);
|
||||
/*
|
||||
if ($conf->societe->enabled) $menu->add_submenu(DOL_URL_ROOT."/ecm/docother.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("DocsThirdParties"),2);
|
||||
if ($conf->contrat->enabled) $menu->add_submenu(DOL_URL_ROOT."/ecm/docother.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("DocsContracts"),2);
|
||||
if ($conf->propal->enabled) $menu->add_submenu(DOL_URL_ROOT."/ecm/docother.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("DocsProposals"),2);
|
||||
if ($conf->commande->enabled) $menu->add_submenu(DOL_URL_ROOT."/ecm/docother.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("DocsOrders"),2);
|
||||
if ($conf->facture->enabled) $menu->add_submenu(DOL_URL_ROOT."/ecm/docother.php?mainmenu=ecm&idmenu=".$_SESSION["idmenu"], $langs->trans("DocsInvoices"),2);
|
||||
*/
|
||||
left_menu($menu->liste, $help_url);
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -15,10 +15,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
* $Source$
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
@ -31,7 +27,12 @@
|
|||
require("./pre.inc.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
|
||||
|
||||
llxHeader('',"Commandes Fournisseurs");
|
||||
|
||||
/*
|
||||
* View
|
||||
*/
|
||||
|
||||
llxHeader('',$langs->trans("SuppliersOrdersArea"));
|
||||
|
||||
// Sécurité accés client
|
||||
if ($user->societe_id > 0)
|
||||
|
|
@ -42,10 +43,10 @@ if ($user->societe_id > 0)
|
|||
|
||||
$commande = new CommandeFournisseur($db);
|
||||
|
||||
print_barre_liste($langs->trans("SuppliersOrders"), $page, "index.php", "", $sortfield, $sortorder, '', $num);
|
||||
print_barre_liste($langs->trans("SuppliersOrdersArea"), $page, "index.php", "", $sortfield, $sortorder, '', $num);
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr valign="top"><td width="30%">';
|
||||
print '<table class="notopnoleftnoright" width="100%">';
|
||||
print '<tr valign="top"><td class="notopnoleft" width="30%">';
|
||||
|
||||
$sql = "SELECT count(cf.rowid), fk_statut";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s,";
|
||||
|
|
@ -84,13 +85,11 @@ else
|
|||
{
|
||||
dolibarr_print_error($db);
|
||||
}
|
||||
/*
|
||||
*
|
||||
*/
|
||||
print '</td><td width="70%" valign="top">';
|
||||
/*
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
print '</td><td width="70%" valign="top" class="notopnoleft">';
|
||||
|
||||
|
||||
$sql = "SELECT u.name, u.firstname";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."user as u";
|
||||
$sql .= " , ".MAIN_DB_PREFIX."user_rights as ur";
|
||||
|
|
|
|||
|
|
@ -14,13 +14,12 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/html.formfile.class.php
|
||||
\brief Fichier de la classe des fonctions prédéfinie de composants html fichiers
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
|
||||
|
|
@ -51,9 +50,10 @@ class FormFile
|
|||
* \param url Url
|
||||
* \param titre Titre zone
|
||||
* \param addcancel 1=Ajoute un bouton 'Annuler'
|
||||
* \param sectionid If upload must be done inside a particular ECM section
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function form_attach_new_file($url,$titre='',$addcancel=0)
|
||||
function form_attach_new_file($url,$titre='',$addcancel=0, $sectionid=0)
|
||||
{
|
||||
global $conf,$langs;
|
||||
|
||||
|
|
@ -65,6 +65,7 @@ class FormFile
|
|||
print_titre($titre);
|
||||
|
||||
print '<form name="userfile" action="'.$url.'" enctype="multipart/form-data" method="POST">';
|
||||
print '<input type="hidden" name="section" value="'.$sectionid.'">';
|
||||
|
||||
print '<table width="100%" class="noborder">';
|
||||
print '<tr><td width="50%" valign="top">';
|
||||
|
|
|
|||
|
|
@ -193,14 +193,16 @@ class MenuLeft {
|
|||
|
||||
if ($conf->societe->enabled && $conf->fournisseur->enabled)
|
||||
{
|
||||
$newmenu->add(DOL_URL_ROOT."/fourn/liste.php?leftmenu=suppliers", $langs->trans("Suppliers"), 1, $user->rights->societe->lire && $user->rights->fournisseur->lire);
|
||||
$newmenu->add(DOL_URL_ROOT."/fourn/index.php?leftmenu=suppliers", $langs->trans("Suppliers"), 1, $user->rights->societe->lire && $user->rights->fournisseur->lire);
|
||||
|
||||
// Sécurité accés client
|
||||
if ($user->societe_id == 0)
|
||||
{
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/soc.php?leftmenu=suppliers&action=create&type=f",$langs->trans("MenuNewSupplier"), 2, $user->rights->societe->creer && $user->rights->fournisseur->lire);
|
||||
}
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/fourn/liste.php?leftmenu=suppliers", $langs->trans("List"), 2, $user->rights->societe->lire && $user->rights->fournisseur->lire);
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/contact/index.php?leftmenu=suppliers&type=f",$langs->trans("Contacts"), 2, $user->rights->societe->lire && $user->rights->fournisseur->lire && $user->rights->societe->contact->lire);
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/fourn/stats.php",$langs->trans("Statistics"), 2, $user->rights->societe->lire && $user->rights->fournisseur->lire);
|
||||
}
|
||||
|
||||
// Prospects
|
||||
|
|
@ -259,6 +261,16 @@ class MenuLeft {
|
|||
{
|
||||
$langs->load("companies");
|
||||
|
||||
// Actions
|
||||
if ($conf->agenda->enabled)
|
||||
{
|
||||
$newmenu->add(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions", $langs->trans("Agenda"), 0, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/societe.php?leftmenu=actions", $langs->trans("NewAction"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions&status=todo", $langs->trans("MenuToDoActions"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions&time=today", $langs->trans("Today"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/rapport/index.php?leftmenu=actions", $langs->trans("Reportings"), 1, $user->rights->agenda->myactions->read);
|
||||
}
|
||||
|
||||
// Prospects
|
||||
$newmenu->add(DOL_URL_ROOT."/comm/prospect/index.php?leftmenu=prospects", $langs->trans("Prospects"), 0, $user->rights->societe->lire);
|
||||
|
||||
|
|
@ -284,16 +296,6 @@ class MenuLeft {
|
|||
$newmenu->add(DOL_URL_ROOT."/contact/index.php?leftmenu=contacts", $langs->trans("Contacts"), 0, $user->rights->societe->contact->lire);
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/contact/fiche.php?leftmenu=contacts&action=create", $langs->trans("NewContact"), 1, $user->rights->societe->contact->creer);
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/contact/index.php?leftmenu=contacts", $langs->trans("List"), 1, $user->rights->societe->contact->lire);
|
||||
|
||||
// Actions
|
||||
if ($conf->agenda->enabled)
|
||||
{
|
||||
$newmenu->add(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions", $langs->trans("Agenda"), 0, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/societe.php?leftmenu=actions", $langs->trans("NewAction"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions&status=todo", $langs->trans("MenuToDoActions"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions&time=today", $langs->trans("Today"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/rapport/index.php?leftmenu=actions", $langs->trans("Reportings"), 1, $user->rights->agenda->myactions->read);
|
||||
}
|
||||
|
||||
// Propal
|
||||
if ($conf->propal->enabled)
|
||||
|
|
@ -310,11 +312,11 @@ class MenuLeft {
|
|||
if ($leftmenu=="propals") $newmenu->add_submenu(DOL_URL_ROOT."/comm/propal/stats/index.php?leftmenu=propals", $langs->trans("Statistics"), 1, $user->rights->propale->lire);
|
||||
}
|
||||
|
||||
// Commandes
|
||||
if ($conf->commande->enabled )
|
||||
// Customers orders
|
||||
if ($conf->commande->enabled)
|
||||
{
|
||||
$langs->load("orders");
|
||||
$newmenu->add(DOL_URL_ROOT."/commande/index.php?leftmenu=orders", $langs->trans("Orders"), 0 ,$user->rights->commande->lire);
|
||||
$newmenu->add(DOL_URL_ROOT."/commande/index.php?leftmenu=orders", $langs->trans("CustomersOrders"), 0 ,$user->rights->commande->lire);
|
||||
if ($leftmenu=="orders") $newmenu->add_submenu(DOL_URL_ROOT."/societe.php?leftmenu=orders", $langs->trans("NewOrder"), 1, $user->rights->commande->creer);
|
||||
if ($leftmenu=="orders") $newmenu->add_submenu(DOL_URL_ROOT."/commande/liste.php?leftmenu=orders", $langs->trans("List"), 1, $user->rights->commande->creer);
|
||||
if ($leftmenu=="orders") $newmenu->add_submenu(DOL_URL_ROOT."/commande/liste.php?leftmenu=orders&viewstatut=0", $langs->trans("StatusOrderDraftShort"), 2, $user->rights->commande->lire);
|
||||
|
|
@ -326,11 +328,13 @@ class MenuLeft {
|
|||
if ($leftmenu=="orders") $newmenu->add_submenu(DOL_URL_ROOT."/commande/stats/index.php?leftmenu=orders", $langs->trans("Statistics"), 1 ,$user->rights->commande->lire);
|
||||
}
|
||||
|
||||
// Expeditions
|
||||
if ($conf->expedition->enabled) {
|
||||
$newmenu->add(DOL_URL_ROOT."/expedition/index.php?leftmenu=sendings", $langs->trans("Sendings"), 0, $user->rights->expedition->lire);
|
||||
if ($leftmenu=="sendings") $newmenu->add_submenu(DOL_URL_ROOT."/expedition/liste.php?leftmenu=sendings", $langs->trans("List"), 1 ,$user->rights->expedition->lire);
|
||||
if ($leftmenu=="sendings") $newmenu->add_submenu(DOL_URL_ROOT."/expedition/stats/index.php?leftmenu=sendings", $langs->trans("Statistics"), 1 ,$user->rights->expedition->lire);
|
||||
// Suppliers orders
|
||||
if ($conf->fournisseur->enabled)
|
||||
{
|
||||
$langs->load("orders");
|
||||
$newmenu->add(DOL_URL_ROOT."/fourn/commande/index.php?leftmenu=orders_suppliers",$langs->trans("SuppliersOrders"), 0, $user->rights->fournisseur->commande->lire);
|
||||
if ($leftmenu=="orders_suppliers") $newmenu->add_submenu(DOL_URL_ROOT."/societe.php?leftmenu=orders_suppliers", $langs->trans("NewOrder"), 1, $user->rights->fournisseur->commande->creer);
|
||||
if ($leftmenu=="orders_suppliers") $newmenu->add_submenu(DOL_URL_ROOT."/fourn/commande/liste.php?leftmenu=orders_suppliers", $langs->trans("List"), 1, $user->rights->fournisseur->commande->lire);
|
||||
}
|
||||
|
||||
// Contrat
|
||||
|
|
@ -575,6 +579,7 @@ class MenuLeft {
|
|||
*/
|
||||
if ($mainmenu == 'products')
|
||||
{
|
||||
// Products
|
||||
if ($conf->produit->enabled)
|
||||
{
|
||||
$newmenu->add(DOL_URL_ROOT."/product/index.php?leftmenu=product&type=0", $langs->trans("Products"), 0, $user->rights->produit->lire);
|
||||
|
|
@ -589,6 +594,7 @@ class MenuLeft {
|
|||
}
|
||||
}
|
||||
|
||||
// Services
|
||||
if ($conf->service->enabled)
|
||||
{
|
||||
$newmenu->add(DOL_URL_ROOT."/product/index.php?leftmenu=service&type=1", $langs->trans("Services"), 0, $user->rights->produit->lire);
|
||||
|
|
@ -599,22 +605,7 @@ class MenuLeft {
|
|||
$newmenu->add_submenu(DOL_URL_ROOT."/product/liste.php?leftmenu=service&type=1", $langs->trans("List"), 1, $user->rights->produit->lire);
|
||||
}
|
||||
|
||||
$newmenu->add(DOL_URL_ROOT."/product/stats/index.php?leftmenu=stats", $langs->trans("Statistics"), 0, $user->rights->produit->lire);
|
||||
if ($conf->propal->enabled)
|
||||
{
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/product/popuprop.php?leftmenu=stats", $langs->trans("Popularity"), 1, $user->rights->propale->lire);
|
||||
}
|
||||
|
||||
if ($conf->stock->enabled)
|
||||
{
|
||||
$langs->load("stocks");
|
||||
$newmenu->add(DOL_URL_ROOT."/product/stock/index.php?leftmenu=stock", $langs->trans("Stock"), 0, $user->rights->stock->lire);
|
||||
if ($leftmenu=="stock") $newmenu->add_submenu(DOL_URL_ROOT."/product/stock/fiche.php?action=create", $langs->trans("MenuNewWarehouse"), 1, $user->rights->stock->creer);
|
||||
if ($leftmenu=="stock") $newmenu->add_submenu(DOL_URL_ROOT."/product/stock/liste.php", $langs->trans("List"), 1, $user->rights->stock->lire);
|
||||
if ($leftmenu=="stock") $newmenu->add_submenu(DOL_URL_ROOT."/product/stock/valo.php", $langs->trans("EnhancedValue"), 1, $user->rights->stock->lire);
|
||||
if ($leftmenu=="stock") $newmenu->add_submenu(DOL_URL_ROOT."/product/stock/mouvement.php", $langs->trans("Movements"), 1, $user->rights->stock->mouvement->lire);
|
||||
}
|
||||
|
||||
// Categories
|
||||
if ($conf->categorie->enabled)
|
||||
{
|
||||
$langs->load("categories");
|
||||
|
|
@ -625,6 +616,34 @@ class MenuLeft {
|
|||
}
|
||||
//if ($leftmenu=="cat") $newmenu->add_submenu(DOL_URL_ROOT."/categories/liste.php", $langs->trans("List"), 1, $user->rights->categorie->lire);
|
||||
}
|
||||
|
||||
// Statistics
|
||||
$newmenu->add(DOL_URL_ROOT."/product/stats/index.php?leftmenu=stats", $langs->trans("Statistics"), 0, $user->rights->produit->lire);
|
||||
if ($conf->propal->enabled)
|
||||
{
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/product/popuprop.php?leftmenu=stats", $langs->trans("Popularity"), 1, $user->rights->propale->lire);
|
||||
}
|
||||
|
||||
// Stocks
|
||||
if ($conf->stock->enabled)
|
||||
{
|
||||
$langs->load("stocks");
|
||||
$newmenu->add(DOL_URL_ROOT."/product/stock/index.php?leftmenu=stock", $langs->trans("Stock"), 0, $user->rights->stock->lire);
|
||||
if ($leftmenu=="stock") $newmenu->add_submenu(DOL_URL_ROOT."/product/stock/fiche.php?action=create", $langs->trans("MenuNewWarehouse"), 1, $user->rights->stock->creer);
|
||||
if ($leftmenu=="stock") $newmenu->add_submenu(DOL_URL_ROOT."/product/stock/liste.php", $langs->trans("List"), 1, $user->rights->stock->lire);
|
||||
if ($leftmenu=="stock") $newmenu->add_submenu(DOL_URL_ROOT."/product/stock/valo.php", $langs->trans("EnhancedValue"), 1, $user->rights->stock->lire);
|
||||
if ($leftmenu=="stock") $newmenu->add_submenu(DOL_URL_ROOT."/product/stock/mouvement.php", $langs->trans("Movements"), 1, $user->rights->stock->mouvement->lire);
|
||||
}
|
||||
|
||||
// Expeditions
|
||||
if ($conf->expedition->enabled)
|
||||
{
|
||||
$langs->load("sendings");
|
||||
$newmenu->add(DOL_URL_ROOT."/expedition/index.php?leftmenu=sendings", $langs->trans("Sendings"), 0, $user->rights->expedition->lire);
|
||||
if ($leftmenu=="sendings") $newmenu->add_submenu(DOL_URL_ROOT."/expedition/liste.php?leftmenu=sendings", $langs->trans("List"), 1 ,$user->rights->expedition->lire);
|
||||
if ($leftmenu=="sendings") $newmenu->add_submenu(DOL_URL_ROOT."/expedition/stats/index.php?leftmenu=sendings", $langs->trans("Statistics"), 1 ,$user->rights->expedition->lire);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -633,7 +652,6 @@ class MenuLeft {
|
|||
*/
|
||||
if ($mainmenu == 'suppliers')
|
||||
{
|
||||
|
||||
$langs->load("suppliers");
|
||||
|
||||
if ($conf->societe->enabled && $conf->fournisseur->enabled)
|
||||
|
|
@ -683,7 +701,7 @@ class MenuLeft {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Menu AGENDA
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -14,14 +14,12 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/includes/menus/barre_left/eldy_frontoffice.php
|
||||
\brief Gestionnaire du menu du gauche Eldy
|
||||
\version $Revision$
|
||||
\version $Id$
|
||||
|
||||
\remarks La construction d'un gestionnaire pour le menu de gauche est simple:
|
||||
\remarks A l'aide d'un objet $newmenu=new Menu() et des méthode add et add_submenu,
|
||||
|
|
@ -198,21 +196,23 @@ class MenuLeft {
|
|||
|
||||
if ($conf->societe->enabled && $conf->fournisseur->enabled)
|
||||
{
|
||||
$newmenu->add(DOL_URL_ROOT."/fourn/liste.php?leftmenu=suppliers", $langs->trans("Suppliers"), 1, $user->rights->societe->lire && $user->rights->fournisseur->lire);
|
||||
$newmenu->add(DOL_URL_ROOT."/fourn/index.php?leftmenu=suppliers", $langs->trans("Suppliers"), 1, $user->rights->societe->lire && $user->rights->fournisseur->lire);
|
||||
|
||||
// Sécurité accés client
|
||||
if ($user->societe_id == 0)
|
||||
{
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/soc.php?leftmenu=suppliers&action=create&type=f",$langs->trans("NewSupplier"), 2, $user->rights->societe->creer && $user->rights->fournisseur->lire);
|
||||
}
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/contact/index.php?leftmenu=suppliers&type=f",$langs->trans("Contacts"), 2, $user->rights->societe->contact->lire && $user->rights->fournisseur->lire);
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/fourn/liste.php?leftmenu=suppliers", $langs->trans("List"), 2, $user->rights->societe->lire && $user->rights->fournisseur->lire);
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/contact/index.php?leftmenu=suppliers&type=f",$langs->trans("Contacts"), 2, $user->rights->societe->lire && $user->rights->fournisseur->lire && $user->rights->societe->contact->lire);
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/fourn/stats.php",$langs->trans("Statistics"), 2, $user->rights->societe->lire && $user->rights->fournisseur->lire);
|
||||
}
|
||||
|
||||
// Prospects
|
||||
if ($conf->societe->enabled)
|
||||
{
|
||||
$langs->load("commercial");
|
||||
$newmenu->add(DOL_URL_ROOT."/comm/prospect/prospects.php?leftmenu=prospects", $langs->trans("Prospects"), 1, $user->rights->societe->lire);
|
||||
$newmenu->add(DOL_URL_ROOT."/comm/prospect/prospects.php?leftmenu=prospects", $langs->trans("Prospects"), 2, $user->rights->societe->lire);
|
||||
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/soc.php?leftmenu=prospects&action=create&type=p", $langs->trans("MenuNewProspect"), 2, $user->rights->societe->creer);
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/contact/index.php?leftmenu=customers&type=p", $langs->trans("Contacts"), 2, $user->rights->societe->contact->lire);
|
||||
|
|
@ -242,6 +242,17 @@ class MenuLeft {
|
|||
{
|
||||
$langs->load("companies");
|
||||
|
||||
// Actions
|
||||
/*
|
||||
if ($conf->agenda->enabled)
|
||||
{
|
||||
$newmenu->add(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions", $langs->trans("Agenda"), 0, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/societe.php?leftmenu=actions", $langs->trans("NewAction"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions&status=todo", $langs->trans("MenuToDoActions"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions&time=today", $langs->trans("Today"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/rapport/index.php?leftmenu=actions", $langs->trans("Reportings"), 1, $user->rights->agenda->myactions->read);
|
||||
}
|
||||
*/
|
||||
// Prospects
|
||||
/*
|
||||
$newmenu->add(DOL_URL_ROOT."/comm/prospect/index.php?leftmenu=prospects", $langs->trans("Prospects"), 0, $user->rights->societe->lire);
|
||||
|
|
@ -271,17 +282,6 @@ class MenuLeft {
|
|||
$newmenu->add_submenu(DOL_URL_ROOT."/contact/fiche.php?leftmenu=contacts&action=create", $langs->trans("NewContact"), 1, $user->rights->societe->contact->creer);
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/contact/index.php?leftmenu=contacts", $langs->trans("List"), 1, $user->rights->societe->contact->lire);
|
||||
*/
|
||||
// Actions
|
||||
/*
|
||||
if ($conf->agenda->enabled)
|
||||
{
|
||||
$newmenu->add(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions", $langs->trans("Agenda"), 0, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/societe.php?leftmenu=actions", $langs->trans("NewAction"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions&status=todo", $langs->trans("MenuToDoActions"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/index.php?leftmenu=actions&time=today", $langs->trans("Today"), 1, $user->rights->agenda->myactions->read);
|
||||
if ($leftmenu=="actions") $newmenu->add_submenu(DOL_URL_ROOT."/comm/action/rapport/index.php?leftmenu=actions", $langs->trans("Reportings"), 1, $user->rights->agenda->myactions->read);
|
||||
}
|
||||
*/
|
||||
// Propal
|
||||
if ($conf->propal->enabled)
|
||||
{
|
||||
|
|
@ -295,11 +295,11 @@ class MenuLeft {
|
|||
if ($leftmenu=="propals") $newmenu->add_submenu(DOL_URL_ROOT."/comm/propal/stats/", $langs->trans("Statistics"), 1, $user->rights->propale->lire);
|
||||
}
|
||||
|
||||
// Commandes
|
||||
// Customers orders
|
||||
if ($conf->commande->enabled )
|
||||
{
|
||||
$langs->load("orders");
|
||||
$newmenu->add(DOL_URL_ROOT."/commande/index.php?leftmenu=orders", $langs->trans("Orders"), 0 ,$user->rights->commande->lire);
|
||||
$newmenu->add(DOL_URL_ROOT."/commande/index.php?leftmenu=orders", $langs->trans("CustomersOrders"), 0 ,$user->rights->commande->lire);
|
||||
if ($leftmenu=="orders") $newmenu->add_submenu(DOL_URL_ROOT."/societe.php?leftmenu=orders", $langs->trans("NewOrder"), 1, $user->rights->commande->creer);
|
||||
if ($leftmenu=="orders") $newmenu->add_submenu(DOL_URL_ROOT."/commande/liste.php?leftmenu=orders", $langs->trans("List"), 1, $user->rights->commande->creer);
|
||||
if ($leftmenu=="orders") $newmenu->add_submenu(DOL_URL_ROOT."/commande/liste.php?leftmenu=orders&viewstatut=0", $langs->trans("StatusOrderDraftShort"), 2, $user->rights->commande->lire);
|
||||
|
|
@ -311,11 +311,13 @@ class MenuLeft {
|
|||
if ($leftmenu=="orders") $newmenu->add_submenu(DOL_URL_ROOT."/commande/stats/index.php?leftmenu=orders", $langs->trans("Statistics"), 1 ,$user->rights->commande->lire);
|
||||
}
|
||||
|
||||
// Expeditions
|
||||
if ($conf->expedition->enabled) {
|
||||
$newmenu->add(DOL_URL_ROOT."/expedition/index.php?leftmenu=sendings", $langs->trans("Sendings"), 0, $user->rights->expedition->lire);
|
||||
if ($leftmenu=="sendings") $newmenu->add_submenu(DOL_URL_ROOT."/expedition/liste.php?leftmenu=sendings", $langs->trans("List"), 1 ,$user->rights->expedition->lire);
|
||||
if ($leftmenu=="sendings") $newmenu->add_submenu(DOL_URL_ROOT."/expedition/stats/index.php?leftmenu=sendings", $langs->trans("Statistics"), 1 ,$user->rights->expedition->lire);
|
||||
// Suppliers orders
|
||||
if ($conf->fournisseur->enabled)
|
||||
{
|
||||
$langs->load("orders");
|
||||
$newmenu->add(DOL_URL_ROOT."/fourn/commande/index.php?leftmenu=orders_suppliers",$langs->trans("SuppliersOrders"), 0, $user->rights->fournisseur->commande->lire);
|
||||
if ($leftmenu=="orders_suppliers") $newmenu->add_submenu(DOL_URL_ROOT."/societe.php?leftmenu=orders_suppliers", $langs->trans("NewOrder"), 1, $user->rights->fournisseur->commande->creer);
|
||||
if ($leftmenu=="orders_suppliers") $newmenu->add_submenu(DOL_URL_ROOT."/fourn/commande/liste.php?leftmenu=orders_suppliers", $langs->trans("List"), 1, $user->rights->fournisseur->commande->lire);
|
||||
}
|
||||
|
||||
// Contrat
|
||||
|
|
@ -560,6 +562,7 @@ class MenuLeft {
|
|||
*/
|
||||
if ($mainmenu == 'products')
|
||||
{
|
||||
// Products
|
||||
if ($conf->produit->enabled)
|
||||
{
|
||||
$newmenu->add(DOL_URL_ROOT."/product/index.php?leftmenu=product&type=0", $langs->trans("Products"), 0, $user->rights->produit->lire);
|
||||
|
|
@ -574,6 +577,7 @@ class MenuLeft {
|
|||
}
|
||||
}
|
||||
|
||||
// Services
|
||||
if ($conf->service->enabled)
|
||||
{
|
||||
$newmenu->add(DOL_URL_ROOT."/product/index.php?leftmenu=service&type=1", $langs->trans("Services"), 0, $user->rights->produit->lire);
|
||||
|
|
@ -584,12 +588,26 @@ class MenuLeft {
|
|||
$newmenu->add_submenu(DOL_URL_ROOT."/product/liste.php?leftmenu=service&type=1", $langs->trans("List"), 1, $user->rights->produit->lire);
|
||||
}
|
||||
|
||||
// Categories
|
||||
if ($conf->categorie->enabled)
|
||||
{
|
||||
$langs->load("categories");
|
||||
$newmenu->add(DOL_URL_ROOT."/categories/index.php?leftmenu=cat&type=0", $langs->trans("Categories"), 0, $user->rights->categorie->lire);
|
||||
if ($user->societe_id == 0)
|
||||
{
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/categories/fiche.php?action=create&type=0", $langs->trans("NewCat"), 1, $user->rights->categorie->creer);
|
||||
}
|
||||
//if ($leftmenu=="cat") $newmenu->add_submenu(DOL_URL_ROOT."/categories/liste.php", $langs->trans("List"), 1, $user->rights->categorie->lire);
|
||||
}
|
||||
|
||||
// Statistics
|
||||
$newmenu->add(DOL_URL_ROOT."/product/stats/index.php?leftmenu=stats", $langs->trans("Statistics"), 0, $user->rights->produit->lire);
|
||||
if ($conf->propal->enabled)
|
||||
{
|
||||
$newmenu->add_submenu(DOL_URL_ROOT."/product/popuprop.php?leftmenu=stats", $langs->trans("Popularity"), 1, $user->rights->propale->lire);
|
||||
}
|
||||
|
||||
// Stocks
|
||||
if ($conf->stock->enabled)
|
||||
{
|
||||
$langs->load("stocks");
|
||||
|
|
@ -600,15 +618,13 @@ class MenuLeft {
|
|||
if ($leftmenu=="stock") $newmenu->add_submenu(DOL_URL_ROOT."/product/stock/mouvement.php", $langs->trans("Movements"), 1, $user->rights->stock->mouvement->lire);
|
||||
}
|
||||
|
||||
if ($conf->categorie->enabled)
|
||||
// Expeditions
|
||||
if ($conf->expedition->enabled)
|
||||
{
|
||||
$langs->load("categories");
|
||||
$newmenu->add(DOL_URL_ROOT."/categories/index.php?leftmenu=cat&type=0", $langs->trans("Categories"), 0, $user->rights->categorie->lire);
|
||||
if ($user->societe_id == 0)
|
||||
{
|
||||
if ($leftmenu=="cat") $newmenu->add_submenu(DOL_URL_ROOT."/categories/fiche.php?action=create&type=0", $langs->trans("NewCat"), 1, $user->rights->categorie->creer);
|
||||
}
|
||||
//if ($leftmenu=="cat") $newmenu->add_submenu(DOL_URL_ROOT."/categories/liste.php", $langs->trans("List"), 1, $user->rights->categorie->lire);
|
||||
$langs->load("sendings");
|
||||
$newmenu->add(DOL_URL_ROOT."/expedition/index.php?leftmenu=sendings", $langs->trans("Sendings"), 0, $user->rights->expedition->lire);
|
||||
if ($leftmenu=="sendings") $newmenu->add_submenu(DOL_URL_ROOT."/expedition/liste.php?leftmenu=sendings", $langs->trans("List"), 1 ,$user->rights->expedition->lire);
|
||||
if ($leftmenu=="sendings") $newmenu->add_submenu(DOL_URL_ROOT."/expedition/stats/index.php?leftmenu=sendings", $langs->trans("Statistics"), 1 ,$user->rights->expedition->lire);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -619,7 +635,6 @@ class MenuLeft {
|
|||
*/
|
||||
if ($mainmenu == 'suppliers')
|
||||
{
|
||||
|
||||
$langs->load("suppliers");
|
||||
|
||||
if ($conf->societe->enabled && $conf->fournisseur->enabled)
|
||||
|
|
@ -659,7 +674,6 @@ class MenuLeft {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Menu AGENDA
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -139,6 +139,7 @@ class MenuTop {
|
|||
}
|
||||
|
||||
// Suppliers
|
||||
/*
|
||||
if ($conf->fournisseur->enabled)
|
||||
{
|
||||
$langs->load("suppliers");
|
||||
|
|
@ -158,7 +159,8 @@ class MenuTop {
|
|||
else
|
||||
print '<td class="tmenu"><font class="tmenudisabled">'.$langs->trans("Suppliers").'</font></td>';
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
// Commercial
|
||||
if ($conf->commercial->enabled)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -139,6 +139,7 @@ class MenuTop {
|
|||
}
|
||||
|
||||
// Suppliers
|
||||
/*
|
||||
if ($conf->fournisseur->enabled)
|
||||
{
|
||||
$langs->load("suppliers");
|
||||
|
|
@ -152,15 +153,13 @@ class MenuTop {
|
|||
{
|
||||
$class = 'class="tmenu"';
|
||||
}
|
||||
|
||||
/*
|
||||
if ($user->rights->fournisseur->lire)
|
||||
|
||||
if ($user->rights->fournisseur->lire)
|
||||
print '<td class="tmenu"><a '.$class.' href="'.DOL_URL_ROOT.'/fourn/index.php?mainmenu=suppliers&leftmenu="'.($this->atarget?" target=$this->atarget":"").'>'.$langs->trans("Suppliers").'</a></td>';
|
||||
else
|
||||
print '<td class="tmenu"><font class="tmenudisabled">'.$langs->trans("Suppliers").'</font></td>';
|
||||
*/
|
||||
}
|
||||
|
||||
*/
|
||||
// Commercial
|
||||
if ($conf->commercial->enabled)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ class modDocument extends DolibarrModules
|
|||
$this->version = $this->revision[1];
|
||||
$this->const_name = 'MAIN_MODULE_DOCUMENT';
|
||||
$this->special = 2;
|
||||
$this->picto='generic';
|
||||
$this->picto='dir';
|
||||
|
||||
// Dir
|
||||
$this->dirs = array();
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ class modECM extends DolibarrModules
|
|||
// Where to store the module in setup page (0=common,1=interface,2=other)
|
||||
$this->special = 2;
|
||||
// Name of png file (without png) used for this module
|
||||
$this->picto='generic';
|
||||
$this->picto='dir';
|
||||
|
||||
// Data directories to create when module is enabled
|
||||
$this->dirs = array();
|
||||
|
|
@ -94,6 +94,28 @@ class modECM extends DolibarrModules
|
|||
// Permissions
|
||||
$this->rights_class = 'ecm'; // Permission key
|
||||
$this->rights = array(); // Permission array used by this module
|
||||
|
||||
$r++;
|
||||
$this->rights[$r][0] = 2500;
|
||||
$this->rights[$r][1] = 'Consulter les documents';
|
||||
$this->rights[$r][2] = 'r';
|
||||
$this->rights[$r][3] = 1;
|
||||
$this->rights[$r][4] = 'read';
|
||||
|
||||
$r++;
|
||||
$this->rights[$r][0] = 2501;
|
||||
$this->rights[$r][1] = 'Soumettre des documents';
|
||||
$this->rights[$r][2] = 'w';
|
||||
$this->rights[$r][3] = 1;
|
||||
$this->rights[$r][4] = 'create';
|
||||
|
||||
$r++;
|
||||
$this->rights[$r][0] = 2515;
|
||||
$this->rights[$r][1] = 'Administrer les rubriques de documents';
|
||||
$this->rights[$r][2] = 'w';
|
||||
$this->rights[$r][3] = 1;
|
||||
$this->rights[$r][4] = 'setup';
|
||||
|
||||
|
||||
// Menus
|
||||
//------
|
||||
|
|
|
|||
|
|
@ -206,7 +206,6 @@ ProspectsByStatus=Prospects by status
|
|||
BillingContact=Billing contact
|
||||
NbOfAttachedFiles=Number of attached files
|
||||
AttachANewFile=Attach a new file
|
||||
FileWasRemoved=Files was removed
|
||||
NoRIB=No RIB defined
|
||||
NoParentCompany=None
|
||||
ExportImport=Import-Export
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
# Dolibarr language file - en_US - orders
|
||||
OrdersArea=Orders area
|
||||
OrdersArea=Customers orders area
|
||||
SuppliersOrdersArea=Suppliers orders area
|
||||
OrderCard=Order card
|
||||
Order=Order
|
||||
Orders=Orders
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ ValidatedBy=Validated by %s
|
|||
CanceledBy=Canceled by %s
|
||||
ClosedBy=Closed by %s
|
||||
FileWasRemoved=File was deleted
|
||||
DirWasRemoved=Directory was removed
|
||||
FeatureNotYetAvailable=Feature not yet available in this version
|
||||
FeatureExperimental=Experimental feature. Not stable in this version
|
||||
FeatureDevelopment=Development feature. Not stable in this version
|
||||
|
|
|
|||
|
|
@ -166,7 +166,6 @@ BillingContact=Contact de facturation
|
|||
TotalSizeOfAttachedFiles=Taille totale des fichiers attachés
|
||||
NbOfAttachedFiles=Nombre de fichiers attachés
|
||||
AttachANewFile=Attacher un nouveau fichier
|
||||
FileWasRemoved=Fichiers supprimés
|
||||
NoRIB=Aucun RIB défini
|
||||
NoParentCompany=Aucune
|
||||
ExportImport=Import/Export
|
||||
|
|
|
|||
|
|
@ -206,7 +206,6 @@ ProspectsByStatus=Prospects par
|
|||
BillingContact=Contact facturation
|
||||
NbOfAttachedFiles=Nombre de fichiers joints
|
||||
AttachANewFile=Joindre un nouveau fichier
|
||||
FileWasRemoved=Le fichier a été supprimé
|
||||
NoRIB=Aucun RIB défini
|
||||
NoParentCompany=Aucune
|
||||
ExportImport=Import-Export
|
||||
|
|
|
|||
|
|
@ -1,7 +1,42 @@
|
|||
# Dolibarr language file - fr_FR - ecm
|
||||
MenuECM=Documents
|
||||
DocsMine=Mes documents
|
||||
DocsGlobal=Documents globaux
|
||||
DocsExternal=Documents externes
|
||||
DocsGenerated=Documents générés
|
||||
DocsElements=Documents élements
|
||||
DocsThirdParties=Documents tiers
|
||||
DocsInvoices=Documents factures
|
||||
DocsContracts=Documents contrats
|
||||
DocsProposals=Documents propositions
|
||||
ECMArea=Espace Gestion de documents
|
||||
DocsOrders=Documents commandes
|
||||
DocsInvoices=Documents factures
|
||||
ECMNbOfDocs=Nb de documents
|
||||
ECMSection=Rubrique
|
||||
ECMSections=Rubriques
|
||||
ECMRoot=Racine
|
||||
ECMNewSection=Nouvelle rubrique
|
||||
ECMAddSection=Ajouter rubrique manuelle
|
||||
ECMNewSection=Nouvelle rubrique manuelle
|
||||
ECMNewDocument=Nouveau document
|
||||
ECMCreationDate=Date création
|
||||
ECMCreationUser=Créateur
|
||||
ECMArea=Espace Gestion de documents
|
||||
ECMAreaDesc=L'espace Gestion des documents vous permet de stocker et retrouver rapidement des documents dans Dolibarr.
|
||||
ECMAreaDesc2=Vous pouvez creer des rubriques manuelles ou y ajouter des documents.<br>Les rubriques automatiques sont alimentées automatiquement lors de l'ajout d'un document depuis une fiche objet.
|
||||
ECMSectionWasRemoved=La rubrique <b>%s</b> a été effacée.
|
||||
ECMDocumentsSection=Document de la section
|
||||
ECMSearchByKeywords=Recherche par mots clés
|
||||
ECMSearchByEntity=Recherche par objet
|
||||
ECMSectionOfDocuments=Rubriques des documents
|
||||
ECMTypeManual=Manuelle
|
||||
ECMTypeAuto=Automatique
|
||||
ECMDocsByThirdParties=Documents associés aux tiers
|
||||
ECMDocsByProposals=Documents associés aux propositions
|
||||
ECMDocsByOrders=Documents associés aux commandes
|
||||
ECMDocsByContracts=Documents associés aux contrats
|
||||
ECMDocsByInvoices=Documents associés aux factures
|
||||
ECMManualOrg=Rubrique manuelle
|
||||
ECMAutoOrg=Rubrique automatique
|
||||
ShowECMSection=Afficher rubrique
|
||||
DeleteSection=Suppression rubrique
|
||||
ConfirmDeleteSection=Confirmez-vous la suppression de la rubique <b>%s</b> ?
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
# Dolibarr language file - fr_FR - orders
|
||||
OrdersArea=Espace commandes
|
||||
OrdersArea=Espace commandes clients
|
||||
SuppliersOrdersArea=Espace commandes fournisseurs
|
||||
OrderCard=Fiche commande
|
||||
Order=Commande
|
||||
Orders=Commandes
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ ValidatedBy=Valid
|
|||
CanceledBy=Annulé par %s
|
||||
ClosedBy=Cloturé par %s
|
||||
FileWasRemoved=Le fichier a été supprimé
|
||||
DirWasRemoved=Le répertoire a été supprimé
|
||||
FeatureNotYetAvailable=Fonctionnalité pas encore disponible dans cette version
|
||||
FeatureExperimental=Fonctionnalité expérimentale. Non stable dans cette version
|
||||
FeatureDevelopment=Fonctionnalité en développement. Non stable dans cette version
|
||||
|
|
|
|||
|
|
@ -15,17 +15,12 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* or see http://www.gnu.org/
|
||||
*
|
||||
* $Id$
|
||||
* $Source$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/lib/contract.lib.php
|
||||
\brief Ensemble de fonctions de base pour le module contrat
|
||||
\version $Revision$
|
||||
|
||||
Ensemble de fonctions de base de dolibarr sous forme d'include
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
function contract_prepare_head($contrat)
|
||||
|
|
@ -35,20 +30,29 @@ function contract_prepare_head($contrat)
|
|||
$head = array();
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/contrat/fiche.php?id='.$contrat->id;
|
||||
$head[$h][1] = $langs->trans("ContractCard");
|
||||
$head[$h][1] = $langs->trans("ContractCard");
|
||||
$head[$h][2] = 'card';
|
||||
$h++;
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/contrat/contact.php?id='.$contrat->id;
|
||||
$head[$h][1] = $langs->trans("ContractContacts");
|
||||
$head[$h][2] = 'contact';
|
||||
$h++;
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/contrat/note.php?id='.$contrat->id;
|
||||
$head[$h][1] = $langs->trans("Note");
|
||||
$head[$h][2] = 'note';
|
||||
$h++;
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/contrat/info.php?id='.$contrat->id;
|
||||
$head[$h][1] = $langs->trans("Info");
|
||||
$h++;
|
||||
$head[$h][0] = DOL_URL_ROOT.'/contrat/document.php?id='.$contrat->id;
|
||||
$head[$h][1] = $langs->trans("Documents");
|
||||
$head[$h][2] = 'documents';
|
||||
$h++;
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/contrat/info.php?id='.$contrat->id;
|
||||
$head[$h][1] = $langs->trans("Info");
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
|
||||
return $head;
|
||||
|
|
|
|||
|
|
@ -1513,31 +1513,37 @@ function print_liste_field_titre($name, $file, $field, $begin="", $options="", $
|
|||
{
|
||||
print '<td class="liste_titre" '. $td.'>';
|
||||
}
|
||||
print $name." ";
|
||||
if (! $sortorder)
|
||||
{
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($field != $sortfield)
|
||||
{
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
else {
|
||||
$sortorder=strtoupper($sortorder);
|
||||
if ($sortorder == 'DESC' ) {
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",1).'</a>';
|
||||
}
|
||||
if ($sortorder == 'ASC' ) {
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",1).'</a>';
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
}
|
||||
}
|
||||
print $name;
|
||||
|
||||
// If this is a sort field
|
||||
if ($field)
|
||||
{
|
||||
print " ";
|
||||
if (! $sortorder)
|
||||
{
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($field != $sortfield)
|
||||
{
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
else {
|
||||
$sortorder=strtoupper($sortorder);
|
||||
if ($sortorder == 'DESC' ) {
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",1).'</a>';
|
||||
}
|
||||
if ($sortorder == 'ASC' ) {
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",1).'</a>';
|
||||
print '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
print "</td>";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,15 +18,13 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/product/document.php
|
||||
\ingroup product
|
||||
\brief Page des documents joints sur les produits
|
||||
\version $Revision$
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
require('./pre.inc.php');
|
||||
|
|
@ -51,6 +49,7 @@ if ($_GET['id'] || $_GET["ref"])
|
|||
$prodref = sanitize_string($product->ref);
|
||||
$upload_dir = $conf->produit->dir_output.'/'.$prodref;
|
||||
}
|
||||
$modulepart='produit';
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -99,7 +98,8 @@ if ($product->id)
|
|||
if ($action=='delete')
|
||||
{
|
||||
$file = $upload_dir . '/' . urldecode($_GET['urlfile']);
|
||||
dol_delete_file($file);
|
||||
$result=dol_delete_file($file);
|
||||
//if ($result >= 0) $mesg=$langs->trans("FileWasRemoced");
|
||||
}
|
||||
|
||||
$head=product_prepare_head($product, $user);
|
||||
|
|
@ -204,7 +204,7 @@ if ($product->id)
|
|||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'>';
|
||||
print '<td>';
|
||||
echo '<a href="'.DOL_URL_ROOT.'/document.php?modulepart=produit&file='.$prodref.'/'.urlencode($file).'">'.$file.'</a>';
|
||||
echo '<a href="'.DOL_URL_ROOT.'/document.php?modulepart='.$modulepart.'&file='.$prodref.'/'.urlencode($file).'">'.$file.'</a>';
|
||||
print "</td>\n";
|
||||
print '<td align="right">'.filesize($upload_dir.'/'.$file). ' bytes</td>';
|
||||
print '<td align="center">'.dolibarr_print_date(filemtime($upload_dir.'/'.$file),'dayhour').'</td>';
|
||||
|
|
|
|||
BIN
htdocs/theme/auguria/img/object_dir.png
Normal file
BIN
htdocs/theme/auguria/img/object_dir.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 301 B |
BIN
htdocs/theme/bluelagoon/img/object_dir.png
Normal file
BIN
htdocs/theme/bluelagoon/img/object_dir.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 301 B |
BIN
htdocs/theme/dev/img/object_dir.png
Normal file
BIN
htdocs/theme/dev/img/object_dir.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 301 B |
|
|
@ -16,14 +16,12 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/theme/eldy/eldy.css.php
|
||||
\brief Fichier de style CSS du theme Eldy
|
||||
\version $Revision$
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
require("../../conf/conf.php");
|
||||
|
|
|
|||
BIN
htdocs/theme/eldy/img/object_dir.png
Normal file
BIN
htdocs/theme/eldy/img/object_dir.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 301 B |
BIN
htdocs/theme/freelug/img/object_dir.png
Normal file
BIN
htdocs/theme/freelug/img/object_dir.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 301 B |
BIN
htdocs/theme/yellow/img/object_dir.png
Normal file
BIN
htdocs/theme/yellow/img/object_dir.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 301 B |
34
mysql/tables/llx_ecm_directories.sql
Normal file
34
mysql/tables/llx_ecm_directories.sql
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
-- ===================================================================
|
||||
-- Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
--
|
||||
-- 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, write to the Free Software
|
||||
-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
--
|
||||
-- $Id$
|
||||
-- ===================================================================
|
||||
|
||||
-- drop table llx_ecm_directories;
|
||||
|
||||
create table llx_ecm_directories
|
||||
(
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
label varchar(32) NOT NULL,
|
||||
fk_parent integer,
|
||||
description varchar(255) NOT NULL,
|
||||
cachenbofdoc integer NOT NULL DEFAULT 0,
|
||||
date_c timestamp,
|
||||
date_m datetime,
|
||||
fk_user_c integer,
|
||||
fk_user_m integer
|
||||
) type=innodb;
|
||||
41
mysql/tables/llx_ecm_documents.sql
Normal file
41
mysql/tables/llx_ecm_documents.sql
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
-- ===================================================================
|
||||
-- Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
--
|
||||
-- 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, write to the Free Software
|
||||
-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
--
|
||||
-- $Id$
|
||||
-- ===================================================================
|
||||
|
||||
-- drop table llx_ecm_document;
|
||||
|
||||
create table llx_ecm_document
|
||||
(
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
ref varchar(16) NOT NULL,
|
||||
filename varchar(255) NOT NULL,
|
||||
filesize integer NOT NULL,
|
||||
filemime varchar(32) NOT NULL,
|
||||
fullpath_dol varchar(255) NOT NULL,
|
||||
fullpath_orig varchar(255) NOT NULL,
|
||||
description text,
|
||||
manualkeyword text,
|
||||
fk_create integer NOT NULL,
|
||||
fk_update integer,
|
||||
date_c datetime NOT NULL,
|
||||
date_u timestamp,
|
||||
fk_directory integer,
|
||||
fk_status smallint DEFAULT 0,
|
||||
private smallint DEFAULT 0
|
||||
) type=innodb;
|
||||
Loading…
Reference in New Issue
Block a user