Merge remote-tracking branch 'origin/3.6' into 3.7

Conflicts:
	ChangeLog
	htdocs/adherents/fiche.php
	htdocs/comm/fiche.php
	htdocs/comm/mailing/fiche.php
	htdocs/comm/propal.php
	htdocs/comm/propal/class/propal.class.php
	htdocs/commande/class/commande.class.php
	htdocs/commande/fiche.php
	htdocs/compta/facture.php
	htdocs/compta/paiement.php
	htdocs/core/class/html.formcompany.class.php
	htdocs/core/tpl/login.tpl.php
	htdocs/expedition/fiche.php
	htdocs/fourn/commande/fiche.php
	htdocs/fourn/facture/fiche.php
	htdocs/fourn/facture/paiement.php
	htdocs/fourn/fiche.php
	htdocs/main.inc.php
	htdocs/product/fournisseurs.php
	htdocs/resource/card.php
This commit is contained in:
Laurent Destailleur 2015-01-18 17:13:42 +01:00
commit 5c5ff72ecd
36 changed files with 5525 additions and 5420 deletions

View File

@ -52,6 +52,9 @@ http://www.fsf.org/licensing/licenses/index_html
Copyright
---------
Copyright (C) 2015
- Marcos García <marcosgdf@gmail.com>
Copyright (C) 2014
- Laurent Destailleur <eldy@users.sourceforge.net>
- Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>

View File

@ -174,6 +174,18 @@ Dolibarr better:
- Fix: ref_ext was not saved when recording a customer order from web service
- Fix: amarok is a bugged theme making dolidroid failed. We swith to eldy automatically with dolidroid.
- Fix: withdrawal create error if in the same month are deleted previus withdrawals.
- Fix: [ bug #1788 ] Duplicated doActions hook in product/fournisseurs.php
- Fix: withdrawal create error if in the same month are deleted previus withdrawals.
- Fix: [ bug #1801 ] FAC_FORCE_DATE_VALIDATION constant alters supplier invoice date given to numeration modules
- Fix: [ bug #1802 ] SQL error when updating a task with PostgreSQL database
- Fix: [ bug #1785 ] Start date is lost in Project > Linked objects
- Fix: [ bug #1804 ] SQL error when sending email without addresee
- Fix: [ bug #1803 ] AJAX company contact input is not aligned
- Fix: [ bug #1787 ] Incorrect behaviour of doActions hook
- Fix: [ bug #1796 ] Unable to use numeration modules from an external module
- Fix: [ bug #1783 ] SQL error when enabling 3rd party module with PostgreSQL and MySQL strict mode ON
- Fix: [ bug #1717 ] Sorting unpaid invoices by amount received brings due amount
- Fix: [ bug #1784 ] MOTD doesn't show up in Amarok theme
***** ChangeLog for 3.6.2 compared to 3.6.1 *****
- Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice.
@ -338,6 +350,8 @@ Fix: Paypal link were broken dur to SSL v3 closed.
Fix: [ bug #1769 ] Error when installing to a PostgreSQL DB that contains numbers
Fix: [ bug #1752 ] Date filter of margins module, filters since 12H instead of 00H
Fix: [ bug #1757 ] Sorting breaks product/service statistics
Fix: [ bug #1797 ] Tulip supplier invoice module takes creation date instead of invoice date
Fix: [ bug #1792 ] Users are not allowed to see margins module index page when no product view permission is enabled
***** ChangeLog for 3.5.6 compared to 3.5.5 *****
Fix: Avoid missing class error for fetch_thirdparty method #1973

View File

@ -119,8 +119,10 @@ $parameters=array('rowid'=>$rowid, 'objcanvas'=>$objcanvas);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
if ($action == 'setuserid' && ($user->rights->user->self->creer || $user->rights->user->user->creer))
if (empty($reshook))
{
if ($action == 'setuserid' && ($user->rights->user->self->creer || $user->rights->user->user->creer))
{
$error=0;
if (empty($user->rights->user->user->creer)) // If can edit only itself user, we can link to itself only
{
@ -140,10 +142,10 @@ if ($action == 'setuserid' && ($user->rights->user->self->creer || $user->rights
$action='';
}
}
}
}
if ($action == 'setsocid')
{
if ($action == 'setsocid')
{
$error=0;
if (! $error)
{
@ -175,11 +177,11 @@ if ($action == 'setsocid')
}
}
}
}
}
// Create user from a member
if ($action == 'confirm_create_user' && $confirm == 'yes' && $user->rights->user->user->creer)
{
// Create user from a member
if ($action == 'confirm_create_user' && $confirm == 'yes' && $user->rights->user->user->creer)
{
if ($result > 0)
{
// Creation user
@ -196,11 +198,11 @@ if ($action == 'confirm_create_user' && $confirm == 'yes' && $user->rights->user
{
setEventMessage($object->error, 'errors');
}
}
}
// Create third party from a member
if ($action == 'confirm_create_thirdparty' && $confirm == 'yes' && $user->rights->societe->creer)
{
// Create third party from a member
if ($action == 'confirm_create_thirdparty' && $confirm == 'yes' && $user->rights->societe->creer)
{
if ($result > 0)
{
// Creation user
@ -218,10 +220,10 @@ if ($action == 'confirm_create_thirdparty' && $confirm == 'yes' && $user->rights
{
setEventMessage($object->error, 'errors');
}
}
}
if ($action == 'confirm_sendinfo' && $confirm == 'yes')
{
if ($action == 'confirm_sendinfo' && $confirm == 'yes')
{
if ($object->email)
{
$from=$conf->email_from;
@ -232,10 +234,10 @@ if ($action == 'confirm_sendinfo' && $confirm == 'yes')
$langs->load("mails");
setEventMessage($langs->trans("MailSuccessfulySent", $from, $object->email));
}
}
}
if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
{
if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
{
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$birthdate='';
@ -397,10 +399,10 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
{
$action='edit';
}
}
}
if ($action == 'add' && $user->rights->adherent->creer)
{
if ($action == 'add' && $user->rights->adherent->creer)
{
if ($canvas) $object->canvas=$canvas;
$birthdate='';
if (isset($_POST["birthday"]) && $_POST["birthday"]
@ -549,10 +551,10 @@ if ($action == 'add' && $user->rights->adherent->creer)
else {
$action = 'create';
}
}
}
if ($user->rights->adherent->supprimer && $action == 'confirm_delete' && $confirm == 'yes')
{
if ($user->rights->adherent->supprimer && $action == 'confirm_delete' && $confirm == 'yes')
{
$result=$object->delete($rowid);
if ($result > 0)
{
@ -571,10 +573,10 @@ if ($user->rights->adherent->supprimer && $action == 'confirm_delete' && $confir
{
$errmesg=$object->error;
}
}
}
if ($user->rights->adherent->creer && $action == 'confirm_valid' && $confirm == 'yes')
{
if ($user->rights->adherent->creer && $action == 'confirm_valid' && $confirm == 'yes')
{
$error=0;
$db->begin();
@ -616,10 +618,10 @@ if ($user->rights->adherent->creer && $action == 'confirm_valid' && $confirm ==
$db->rollback();
}
$action='';
}
}
if ($user->rights->adherent->supprimer && $action == 'confirm_resign')
{
if ($user->rights->adherent->supprimer && $action == 'confirm_resign')
{
$error = 0;
if ($confirm == 'yes')
@ -658,11 +660,11 @@ if ($user->rights->adherent->supprimer && $action == 'confirm_resign')
header("Location: ".$backtopage);
exit;
}
}
}
// SPIP Management
if ($user->rights->adherent->supprimer && $action == 'confirm_del_spip' && $confirm == 'yes')
{
// SPIP Management
if ($user->rights->adherent->supprimer && $action == 'confirm_del_spip' && $confirm == 'yes')
{
if (! count($object->errors))
{
if (!$mailmanspip->del_to_spip($object))
@ -670,10 +672,10 @@ if ($user->rights->adherent->supprimer && $action == 'confirm_del_spip' && $conf
setEventMessage($langs->trans('DeleteIntoSpipError').': '.$mailmanspip->error, 'errors');
}
}
}
}
if ($user->rights->adherent->creer && $action == 'confirm_add_spip' && $confirm == 'yes')
{
if ($user->rights->adherent->creer && $action == 'confirm_add_spip' && $confirm == 'yes')
{
if (! count($object->errors))
{
if (!$mailmanspip->add_to_spip($object))
@ -681,10 +683,10 @@ if ($user->rights->adherent->creer && $action == 'confirm_add_spip' && $confirm
setEventMessage($langs->trans('AddIntoSpipError').': '.$mailmanspip->error, 'errors');
}
}
}
}
/*
* View
*/

View File

@ -66,6 +66,7 @@ $pageprev = $page - 1;
$pagenext = $page + 1;
if (! $sortorder) $sortorder="ASC";
if (! $sortfield) $sortfield="nom";
$cancelbutton = GETPOST('cancel');
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('commcard','globalcard'));
@ -80,11 +81,10 @@ $parameters = array('socid' => $id);
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
//Some actions show a "cancel" input submit button with name="cancel"
$cancelbutton = GETPOST('cancel');
if ($action == 'setcustomeraccountancycode')
if (empty($reshook))
{
if ($action == 'setcustomeraccountancycode')
{
if (! $cancelbutton)
{
$result=$object->fetch($id);
@ -96,25 +96,25 @@ if ($action == 'setcustomeraccountancycode')
}
}
$action="";
}
}
// conditions de reglement
if ($action == 'setconditions' && $user->rights->societe->creer)
{
// conditions de reglement
if ($action == 'setconditions' && $user->rights->societe->creer)
{
$object->fetch($id);
$result=$object->setPaymentTerms(GETPOST('cond_reglement_id','int'));
if ($result < 0) dol_print_error($db,$object->error);
}
// mode de reglement
if ($action == 'setmode' && $user->rights->societe->creer)
{
}
// mode de reglement
if ($action == 'setmode' && $user->rights->societe->creer)
{
$object->fetch($id);
$result=$object->setPaymentMethods(GETPOST('mode_reglement_id','int'));
if ($result < 0) dol_print_error($db,$object->error);
}
// assujetissement a la TVA
if ($action == 'setassujtva' && $user->rights->societe->creer)
{
}
// assujetissement a la TVA
if ($action == 'setassujtva' && $user->rights->societe->creer)
{
$object->fetch($id);
$object->tva_assuj=$_POST['assujtva_value'];
@ -122,29 +122,29 @@ if ($action == 'setassujtva' && $user->rights->societe->creer)
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET tva_assuj='".$_POST['assujtva_value']."' WHERE rowid='".$id."'";
$result = $db->query($sql);
if (! $result) dol_print_error($result);
}
}
// set prospect level
if ($action == 'setprospectlevel' && $user->rights->societe->creer)
{
// set prospect level
if ($action == 'setprospectlevel' && $user->rights->societe->creer)
{
$object->fetch($id);
$object->fk_prospectlevel=GETPOST('prospect_level_id','alpha');
$result=$object->set_prospect_level($user);
if ($result < 0) setEventMessage($object->error,'errors');
}
}
// Update communication level
if ($action == 'cstc')
{
// Update communication level
if ($action == 'cstc')
{
$object->fetch($id);
$object->stcomm_id=GETPOST('stcomm','int');
$result=$object->set_commnucation_level($user);
if ($result < 0) setEventMessage($object->error,'errors');
}
}
// Update communication level
if ($action == 'setOutstandingBill')
{
// Update communication level
if ($action == 'setOutstandingBill')
{
if (!$cancelbutton)
{
$object->fetch($id);
@ -152,6 +152,7 @@ if ($action == 'setOutstandingBill')
$result=$object->set_OutstandingBill($user);
if ($result < 0) setEventMessage($object->error,'errors');
}
}
}

View File

@ -110,9 +110,11 @@ $parameters=array();
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes')
if (empty($reshook))
{
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes')
{
if (empty($_REQUEST["clone_content"]) && empty($_REQUEST["clone_receivers"]))
{
setEventMessage($langs->trans("NoCloneOptionsSpecified"), 'errors');
@ -131,11 +133,11 @@ if ($action == 'confirm_clone' && $confirm == 'yes')
}
}
$action='';
}
}
// Action send emailing for everybody
if ($action == 'sendallconfirmed' && $confirm == 'yes')
{
// Action send emailing for everybody
if ($action == 'sendallconfirmed' && $confirm == 'yes')
{
if (empty($conf->global->MAILING_LIMIT_SENDBYWEB))
{
//TODO: What is this for?
@ -387,11 +389,11 @@ if ($action == 'sendallconfirmed' && $confirm == 'yes')
$action = '';
}
}
}
// Action send test emailing
if ($action == 'send' && empty($_POST["cancel"]))
{
// Action send test emailing
if ($action == 'send' && empty($_POST["cancel"]))
{
$error=0;
$upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1);
@ -448,11 +450,11 @@ if ($action == 'send' && empty($_POST["cancel"]))
$action='';
}
}
}
// Action add emailing
if ($action == 'add')
{
// Action add emailing
if ($action == 'add')
{
$mesgs = array();
$object->email_from = trim($_POST["from"]);
@ -486,11 +488,11 @@ if ($action == 'add')
setEventMessage($mesgs, 'errors');
$action="create";
}
}
// Action update description of emailing
if ($action == 'settitre' || $action == 'setemail_from' || $action == 'setreplyto' || $action == 'setemail_errorsto')
{
// Action update description of emailing
if ($action == 'settitre' || $action == 'setemail_from' || $action == 'setreplyto' || $action == 'setemail_errorsto')
{
$upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1);
if ($action == 'settitre') $object->titre = trim(GETPOST('titre','alpha'));
@ -516,13 +518,13 @@ if ($action == 'settitre' || $action == 'setemail_from' || $action == 'setreplyt
setEventMessage($mesg, 'errors');
$action="";
}
}
/*
/*
* Add file in email form
*/
if (! empty($_POST['addfile']))
{
if (! empty($_POST['addfile']))
{
$upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1);
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
@ -531,11 +533,11 @@ if (! empty($_POST['addfile']))
dol_add_file_process($upload_dir,0,0);
$action="edit";
}
}
// Action remove file
if (! empty($_POST["removedfile"]))
{
// Action remove file
if (! empty($_POST["removedfile"]))
{
$upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1);
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
@ -543,11 +545,11 @@ if (! empty($_POST["removedfile"]))
dol_remove_file_process($_POST['removedfile'],0);
$action="edit";
}
}
// Action update emailing
if ($action == 'update' && empty($_POST["removedfile"]) && empty($_POST["cancel"]))
{
// Action update emailing
if ($action == 'update' && empty($_POST["removedfile"]) && empty($_POST["cancel"]))
{
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$isupload=0;
@ -585,11 +587,11 @@ if ($action == 'update' && empty($_POST["removedfile"]) && empty($_POST["cancel"
{
$action="edit";
}
}
}
// Action confirmation validation
if ($action == 'confirm_valid' && $confirm == 'yes')
{
// Action confirmation validation
if ($action == 'confirm_valid' && $confirm == 'yes')
{
if ($object->id > 0)
{
$object->valid($user);
@ -601,11 +603,11 @@ if ($action == 'confirm_valid' && $confirm == 'yes')
{
dol_print_error($db);
}
}
}
// Resend
if ($action == 'confirm_reset' && $confirm == 'yes')
{
// Resend
if ($action == 'confirm_reset' && $confirm == 'yes')
{
if ($object->id > 0)
{
$db->begin();
@ -632,37 +634,36 @@ if ($action == 'confirm_reset' && $confirm == 'yes')
{
dol_print_error($db);
}
}
}
// Action confirmation suppression
if ($action == 'confirm_delete' && $confirm == 'yes')
{
// Action confirmation suppression
if ($action == 'confirm_delete' && $confirm == 'yes')
{
if ($object->delete($object->id))
{
$url= (! empty($urlfrom) ? $urlfrom : 'list.php');
header("Location: ".$url);
exit;
}
}
}
if (! empty($_POST["cancel"]))
{
if (! empty($_POST["cancel"]))
{
$action = '';
}
}
/*
* View
*/
$form = new Form($db);
$htmlother = new FormOther($db);
$help_url='EN:Module_EMailing|FR:Module_Mailing|ES:M&oacute;dulo_Mailing';
llxHeader('',$langs->trans("Mailing"),$help_url);
$form = new Form($db);
$htmlother = new FormOther($db);
if ($action == 'create')
{
// EMailing in creation mode

View File

@ -108,11 +108,13 @@ $parameters = array('socid' => $socid);
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include, not includ_once
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes')
if (empty($reshook))
{
include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include, not includ_once
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes')
{
if (1 == 0 && ! GETPOST('clone_content') && ! GETPOST('clone_receivers'))
{
setEventMessage($langs->trans("NoCloneOptionsSpecified"), 'errors');
@ -130,11 +132,11 @@ if ($action == 'confirm_clone' && $confirm == 'yes')
}
}
}
}
}
// Delete proposal
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->propal->supprimer)
{
// Delete proposal
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->propal->supprimer)
{
$result = $object->delete($user);
if ($result > 0) {
header('Location: ' . DOL_URL_ROOT . '/comm/propal/list.php');
@ -143,11 +145,11 @@ else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->prop
$langs->load("errors");
setEventMessage($langs->trans($object->error), 'errors');
}
}
}
// Remove line
else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->propal->creer)
{
// Remove line
else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->propal->creer)
{
$result = $object->deleteline($lineid);
// reorder lines
if ($result)
@ -167,11 +169,11 @@ else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id);
exit();
}
}
// Validation
else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->propal->valider)
{
// Validation
else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->propal->valider)
{
$result = $object->valid($user);
if ($result >= 0)
{
@ -199,10 +201,10 @@ else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->pr
if (count($object->errors) > 0) setEventMessage($object->errors, 'errors');
else setEventMessage($langs->trans($object->error), 'errors');
}
}
}
else if ($action == 'setdate' && $user->rights->propal->creer)
{
else if ($action == 'setdate' && $user->rights->propal->creer)
{
$datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($datep)) {
@ -215,29 +217,29 @@ else if ($action == 'setdate' && $user->rights->propal->creer)
if ($result < 0)
dol_print_error($db, $object->error);
}
}
else if ($action == 'setecheance' && $user->rights->propal->creer)
{
}
else if ($action == 'setecheance' && $user->rights->propal->creer)
{
$result = $object->set_echeance($user, dol_mktime(12, 0, 0, $_POST['echmonth'], $_POST['echday'], $_POST['echyear']));
if ($result < 0)
dol_print_error($db, $object->error);
}
else if ($action == 'setdate_livraison' && $user->rights->propal->creer)
{
}
else if ($action == 'setdate_livraison' && $user->rights->propal->creer)
{
$result = $object->set_date_livraison($user, dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']));
if ($result < 0)
dol_print_error($db, $object->error);
}
}
// Positionne ref client
else if ($action == 'set_ref_client' && $user->rights->propal->creer)
{
// Positionne ref client
else if ($action == 'set_ref_client' && $user->rights->propal->creer)
{
$object->set_ref_client($user, $_POST['ref_client']);
}
}
// Create proposal
else if ($action == 'add' && $user->rights->propal->creer)
{
// Create proposal
else if ($action == 'add' && $user->rights->propal->creer)
{
$object->socid = $socid;
$object->fetch_thirdparty();
@ -522,23 +524,23 @@ else if ($action == 'add' && $user->rights->propal->creer)
}
}
}
}
}
// Classify billed
else if ($action == 'classifybilled' && $user->rights->propal->cloturer) {
// Classify billed
else if ($action == 'classifybilled' && $user->rights->propal->cloturer) {
$object->cloture($user, 4, '');
}
}
// Reopen proposal
else if ($action == 'confirm_reopen' && $user->rights->propal->cloturer && ! GETPOST('cancel')) {
// Reopen proposal
else if ($action == 'confirm_reopen' && $user->rights->propal->cloturer && ! GETPOST('cancel')) {
// prevent browser refresh from reopening proposal several times
if ($object->statut == 2 || $object->statut == 3 || $object->statut == 4) {
$object->reopen($user, 1);
}
}
}
// Close proposal
else if ($action == 'setstatut' && $user->rights->propal->cloturer && ! GETPOST('cancel')) {
// Close proposal
else if ($action == 'setstatut' && $user->rights->propal->cloturer && ! GETPOST('cancel')) {
if (! GETPOST('statut')) {
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("CloseAs")), 'errors');
$action = 'statut';
@ -548,27 +550,27 @@ else if ($action == 'setstatut' && $user->rights->propal->cloturer && ! GETPOST(
$object->cloture($user, GETPOST('statut'), GETPOST('note'));
}
}
}
}
include DOL_DOCUMENT_ROOT.'/core/actions_printipp.inc.php';
include DOL_DOCUMENT_ROOT.'/core/actions_printipp.inc.php';
/*
/*
* Send mail
*/
// Actions to send emails
$actiontypecode='AC_PROP';
$trigger_name='PROPAL_SENTBYMAIL';
$paramname='id';
$mode='emailfromproposal';
include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
// Actions to send emails
$actiontypecode='AC_PROP';
$trigger_name='PROPAL_SENTBYMAIL';
$paramname='id';
$mode='emailfromproposal';
include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
// Go back to draft
if ($action == 'modif' && $user->rights->propal->creer)
{
// Go back to draft
if ($action == 'modif' && $user->rights->propal->creer)
{
$object->set_draft($user);
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
@ -583,9 +585,9 @@ if ($action == 'modif' && $user->rights->propal->creer)
$ret = $object->fetch($id); // Reload to get new records
$object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
}
}
}
else if ($action == "setabsolutediscount" && $user->rights->propal->creer) {
else if ($action == "setabsolutediscount" && $user->rights->propal->creer) {
if ($_POST["remise_id"]) {
if ($object->id > 0) {
$result = $object->insert_discount($_POST["remise_id"]);
@ -594,10 +596,10 @@ else if ($action == "setabsolutediscount" && $user->rights->propal->creer) {
}
}
}
}
}
// Add line
else if ($action == 'addline' && $user->rights->propal->creer) {
// Add line
else if ($action == 'addline' && $user->rights->propal->creer) {
// Set if we used free entry or predefined product
$predef='';
@ -834,10 +836,10 @@ else if ($action == 'addline' && $user->rights->propal->creer) {
}
}
}
}
}
// Mise a jour d'une ligne dans la propale
else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('save') == $langs->trans("Save")) {
// Mise a jour d'une ligne dans la propale
else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('save') == $langs->trans("Save")) {
// Define info_bits
$info_bits = 0;
if (preg_match('/\*/', GETPOST('tva_tx')))
@ -943,15 +945,15 @@ else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('sa
setEventMessage($object->error, 'errors');
}
}
}
}
else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('cancel') == $langs->trans('Cancel')) {
else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('cancel') == $langs->trans('Cancel')) {
header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition
exit();
}
}
// Generation doc (depuis lien ou depuis cartouche doc)
else if ($action == 'builddoc' && $user->rights->propal->creer) {
// Generation doc (depuis lien ou depuis cartouche doc)
else if ($action == 'builddoc' && $user->rights->propal->creer) {
if (GETPOST('model')) {
$object->setDocModel($user, GETPOST('model'));
}
@ -973,10 +975,10 @@ else if ($action == 'builddoc' && $user->rights->propal->creer) {
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#builddoc'));
exit();
}
}
}
// Remove file in doc form
else if ($action == 'remove_file' && $user->rights->propal->creer) {
// Remove file in doc form
else if ($action == 'remove_file' && $user->rights->propal->creer) {
if ($object->id > 0) {
require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
@ -989,56 +991,56 @@ else if ($action == 'remove_file' && $user->rights->propal->creer) {
else
setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), 'errors');
}
}
}
// Set project
else if ($action == 'classin' && $user->rights->propal->creer) {
// Set project
else if ($action == 'classin' && $user->rights->propal->creer) {
$object->setProject($_POST['projectid']);
}
}
// Delai de livraison
else if ($action == 'setavailability' && $user->rights->propal->creer) {
// Delai de livraison
else if ($action == 'setavailability' && $user->rights->propal->creer) {
$result = $object->availability($_POST['availability_id']);
}
}
// Origine de la propale
else if ($action == 'setdemandreason' && $user->rights->propal->creer) {
// Origine de la propale
else if ($action == 'setdemandreason' && $user->rights->propal->creer) {
$result = $object->demand_reason($_POST['demand_reason_id']);
}
}
// Conditions de reglement
else if ($action == 'setconditions' && $user->rights->propal->creer) {
// Conditions de reglement
else if ($action == 'setconditions' && $user->rights->propal->creer) {
$result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int'));
}
}
else if ($action == 'setremisepercent' && $user->rights->propal->creer) {
else if ($action == 'setremisepercent' && $user->rights->propal->creer) {
$result = $object->set_remise_percent($user, $_POST['remise_percent']);
}
}
else if ($action == 'setremiseabsolue' && $user->rights->propal->creer) {
else if ($action == 'setremiseabsolue' && $user->rights->propal->creer) {
$result = $object->set_remise_absolue($user, $_POST['remise_absolue']);
}
}
// Mode de reglement
else if ($action == 'setmode' && $user->rights->propal->creer) {
// Mode de reglement
else if ($action == 'setmode' && $user->rights->propal->creer) {
$result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int'));
}
}
// bank account
else if ($action == 'setbankaccount' && $user->rights->propal->creer) {
// bank account
else if ($action == 'setbankaccount' && $user->rights->propal->creer) {
$result=$object->setBankAccount(GETPOST('fk_account', 'int'));
}
}
// shipping method
else if ($action == 'setshippingmethod' && $user->rights->propal->creer) {
// shipping method
else if ($action == 'setshippingmethod' && $user->rights->propal->creer) {
$result=$object->setShippingMethod(GETPOST('shipping_method_id', 'int'));
}
}
/*
/*
* Ordonnancement des lignes
*/
*/
else if ($action == 'up' && $user->rights->propal->creer) {
else if ($action == 'up' && $user->rights->propal->creer) {
$object->line_up(GETPOST('rowid'));
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
@ -1055,9 +1057,9 @@ else if ($action == 'up' && $user->rights->propal->creer) {
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $id . '#' . GETPOST('rowid'));
exit();
}
}
else if ($action == 'down' && $user->rights->propal->creer) {
else if ($action == 'down' && $user->rights->propal->creer) {
$object->line_down(GETPOST('rowid'));
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
@ -1074,7 +1076,7 @@ else if ($action == 'down' && $user->rights->propal->creer) {
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $id . '#' . GETPOST('rowid'));
exit();
} else if ($action == 'update_extras') {
} else if ($action == 'update_extras') {
// Fill array 'array_options' with data from update form
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
$ret = $extrafields->setOptionalsFromPost($extralabels, $object, GETPOST('attribute'));
@ -1100,10 +1102,10 @@ else if ($action == 'down' && $user->rights->propal->creer) {
if ($error)
$action = 'edit_extras';
}
}
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->propal->creer)
{
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->propal->creer)
{
if ($action == 'addcontact')
{
if ($object->id > 0) {
@ -1145,6 +1147,7 @@ if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->propal->
dol_print_error($db);
}
}
}
}
/*

View File

@ -2550,21 +2550,18 @@ class Propal extends CommonObject
{
$mybool=false;
$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir)
{
$file = $conf->global->PROPALE_ADDON.".php";
$classname = $conf->global->PROPALE_ADDON;
// Include file with class
foreach ($conf->file->dol_document_root as $dirroot)
{
$dir = $dirroot.$reldir."/core/modules/propale/";
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir) {
$dir = dol_buildpath($reldir."core/modules/propale/");
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
}
if (! $mybool)
{

View File

@ -177,11 +177,13 @@ $parameters=array();
$reshook=$hookmanager->executeHooks('doActions',$parameters); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
if ($action == 'cstc')
{
if (empty($reshook)) {
if ($action == 'cstc')
{
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm = ".$_GET["pstcomm"];
$sql .= " WHERE rowid = ".$_GET["socid"];
$result=$db->query($sql);
}
}

View File

@ -102,11 +102,13 @@ $parameters = array('socid' => $socid);
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include, not includ_once
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->commande->creer)
if (empty($reshook))
{
include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include, not includ_once
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->commande->creer)
{
if (1==0 && ! GETPOST('clone_content') && ! GETPOST('clone_receivers'))
{
setEventMessage($langs->trans("NoCloneOptionsSpecified"), 'errors');
@ -132,10 +134,10 @@ if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->commande->
}
}
}
}
}
// Reopen a closed order
else if ($action == 'reopen' && $user->rights->commande->creer) {
// Reopen a closed order
else if ($action == 'reopen' && $user->rights->commande->creer) {
if ($object->statut == 3) {
$result = $object->set_reopen($user);
if ($result > 0)
@ -148,10 +150,10 @@ else if ($action == 'reopen' && $user->rights->commande->creer) {
setEventMessage($object->error, 'errors');
}
}
}
}
// Suppression de la commande
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->commande->supprimer) {
// Suppression de la commande
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->commande->supprimer) {
$result = $object->delete($user);
if ($result > 0) {
header('Location: index.php');
@ -160,10 +162,10 @@ else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->comm
else {
setEventMessage($object->error, 'errors');
}
}
}
// Remove a product line
else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->commande->creer) {
// Remove a product line
else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->commande->creer) {
$result = $object->deleteline($lineid);
if ($result > 0) {
// Define output language
@ -189,15 +191,15 @@ else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->
{
setEventMessage($object->error, 'errors');
}
}
}
// Categorisation dans projet
else if ($action == 'classin' && $user->rights->commande->creer) {
// Categorisation dans projet
else if ($action == 'classin' && $user->rights->commande->creer) {
$object->setProject(GETPOST('projectid'));
}
}
// Add order
else if ($action == 'add' && $user->rights->commande->creer) {
// Add order
else if ($action == 'add' && $user->rights->commande->creer) {
$datecommande = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear'));
$datelivraison = dol_mktime(12, 0, 0, GETPOST('liv_month'), GETPOST('liv_day'), GETPOST('liv_year'));
@ -407,27 +409,27 @@ else if ($action == 'add' && $user->rights->commande->creer) {
setEventMessage($object->error, 'errors');
}
}
}
}
else if ($action == 'classifybilled' && $user->rights->commande->creer)
{
else if ($action == 'classifybilled' && $user->rights->commande->creer)
{
$ret=$object->classifyBilled();
if ($ret < 0) {
setEventMessage($object->error, 'errors');
}
}
}
// Positionne ref commande client
else if ($action == 'set_ref_client' && $user->rights->commande->creer) {
// Positionne ref commande client
else if ($action == 'set_ref_client' && $user->rights->commande->creer) {
$object->set_ref_client($user, GETPOST('ref_client'));
}
}
else if ($action == 'setremise' && $user->rights->commande->creer) {
else if ($action == 'setremise' && $user->rights->commande->creer) {
$object->set_remise($user, GETPOST('remise'));
}
}
else if ($action == 'setabsolutediscount' && $user->rights->commande->creer) {
else if ($action == 'setabsolutediscount' && $user->rights->commande->creer) {
if (GETPOST('remise_id')) {
if ($object->id > 0) {
$object->insert_discount(GETPOST('remise_id'));
@ -435,9 +437,9 @@ else if ($action == 'setabsolutediscount' && $user->rights->commande->creer) {
dol_print_error($db, $object->error);
}
}
}
}
else if ($action == 'setdate' && $user->rights->commande->creer) {
else if ($action == 'setdate' && $user->rights->commande->creer) {
// print "x ".$_POST['liv_month'].", ".$_POST['liv_day'].", ".$_POST['liv_year'];
$date = dol_mktime(0, 0, 0, GETPOST('order_month'), GETPOST('order_day'), GETPOST('order_year'));
@ -445,9 +447,9 @@ else if ($action == 'setdate' && $user->rights->commande->creer) {
if ($result < 0) {
setEventMessage($object->error, 'errors');
}
}
}
else if ($action == 'setdate_livraison' && $user->rights->commande->creer) {
else if ($action == 'setdate_livraison' && $user->rights->commande->creer) {
// print "x ".$_POST['liv_month'].", ".$_POST['liv_day'].", ".$_POST['liv_year'];
$datelivraison = dol_mktime(0, 0, 0, GETPOST('liv_month'), GETPOST('liv_day'), GETPOST('liv_year'));
@ -455,27 +457,27 @@ else if ($action == 'setdate_livraison' && $user->rights->commande->creer) {
if ($result < 0) {
setEventMessage($object->error, 'errors');
}
}
}
else if ($action == 'setmode' && $user->rights->commande->creer) {
else if ($action == 'setmode' && $user->rights->commande->creer) {
$result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int'));
if ($result < 0)
dol_print_error($db, $object->error);
}
}
else if ($action == 'setavailability' && $user->rights->commande->creer) {
else if ($action == 'setavailability' && $user->rights->commande->creer) {
$result = $object->availability(GETPOST('availability_id'));
if ($result < 0)
dol_print_error($db, $object->error);
}
}
else if ($action == 'setdemandreason' && $user->rights->commande->creer) {
else if ($action == 'setdemandreason' && $user->rights->commande->creer) {
$result = $object->demand_reason(GETPOST('demand_reason_id'));
if ($result < 0)
dol_print_error($db, $object->error);
}
}
else if ($action == 'setconditions' && $user->rights->commande->creer) {
else if ($action == 'setconditions' && $user->rights->commande->creer) {
$result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int'));
if ($result < 0) {
dol_print_error($db, $object->error);
@ -495,28 +497,28 @@ else if ($action == 'setconditions' && $user->rights->commande->creer) {
$object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
}
}
}
}
// bank account
else if ($action == 'setbankaccount' && $user->rights->commande->creer) {
// bank account
else if ($action == 'setbankaccount' && $user->rights->commande->creer) {
$result=$object->setBankAccount(GETPOST('fk_account', 'int'));
}
}
// shipping method
else if ($action == 'setshippingmethod' && $user->rights->commande->creer) {
// shipping method
else if ($action == 'setshippingmethod' && $user->rights->commande->creer) {
$result = $object->setShippingMethod(GETPOST('shipping_method_id', 'int'));
}
}
else if ($action == 'setremisepercent' && $user->rights->commande->creer) {
else if ($action == 'setremisepercent' && $user->rights->commande->creer) {
$result = $object->set_remise($user, GETPOST('remise_percent'));
}
}
else if ($action == 'setremiseabsolue' && $user->rights->commande->creer) {
else if ($action == 'setremiseabsolue' && $user->rights->commande->creer) {
$result = $object->set_remise_absolue($user, GETPOST('remise_absolue'));
}
}
// Add a new line
else if ($action == 'addline' && $user->rights->commande->creer) {
// Add a new line
else if ($action == 'addline' && $user->rights->commande->creer) {
$langs->load('errors');
$error = 0;
@ -768,12 +770,12 @@ else if ($action == 'addline' && $user->rights->commande->creer) {
}
}
}
}
}
/*
/*
* Mise a jour d'une ligne dans la commande
*/
else if ($action == 'updateligne' && $user->rights->commande->creer && GETPOST('save') == $langs->trans('Save')) {
*/
else if ($action == 'updateligne' && $user->rights->commande->creer && GETPOST('save') == $langs->trans('Save')) {
// Clean parameters
$date_start='';
$date_end='';
@ -874,14 +876,14 @@ else if ($action == 'updateligne' && $user->rights->commande->creer && GETPOST('
setEventMessage($object->error, 'errors');
}
}
}
}
else if ($action == 'updateligne' && $user->rights->commande->creer && GETPOST('cancel') == $langs->trans('Cancel')) {
else if ($action == 'updateligne' && $user->rights->commande->creer && GETPOST('cancel') == $langs->trans('Cancel')) {
header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition
exit();
}
}
else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->commande->valider) {
else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->commande->valider) {
$idwarehouse = GETPOST('idwarehouse');
$qualified_for_stock_change=0;
@ -927,10 +929,10 @@ else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->co
}
}
}
}
}
// Go back to draft status
else if ($action == 'confirm_modif' && $user->rights->commande->creer) {
// Go back to draft status
else if ($action == 'confirm_modif' && $user->rights->commande->creer) {
$idwarehouse = GETPOST('idwarehouse');
$qualified_for_stock_change=0;
@ -976,16 +978,16 @@ else if ($action == 'confirm_modif' && $user->rights->commande->creer) {
}
}
}
}
}
else if ($action == 'confirm_shipped' && $confirm == 'yes' && $user->rights->commande->cloturer) {
else if ($action == 'confirm_shipped' && $confirm == 'yes' && $user->rights->commande->cloturer) {
$result = $object->cloture($user);
if ($result < 0) {
setEventMessage($object->error, 'errors');
}
}
}
else if ($action == 'confirm_cancel' && $confirm == 'yes' && $user->rights->commande->valider) {
else if ($action == 'confirm_cancel' && $confirm == 'yes' && $user->rights->commande->valider) {
$idwarehouse = GETPOST('idwarehouse');
$qualified_for_stock_change=0;
@ -1016,13 +1018,13 @@ else if ($action == 'confirm_cancel' && $confirm == 'yes' && $user->rights->comm
setEventMessage($object->error, 'errors');
}
}
}
}
/*
/*
* Ordonnancement des lignes
*/
*/
else if ($action == 'up' && $user->rights->commande->creer) {
else if ($action == 'up' && $user->rights->commande->creer) {
$object->line_up(GETPOST('rowid'));
// Define output language
@ -1043,9 +1045,9 @@ else if ($action == 'up' && $user->rights->commande->creer) {
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid'));
exit();
}
}
else if ($action == 'down' && $user->rights->commande->creer) {
else if ($action == 'down' && $user->rights->commande->creer) {
$object->line_down(GETPOST('rowid'));
// Define output language
@ -1065,10 +1067,10 @@ else if ($action == 'down' && $user->rights->commande->creer) {
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid'));
exit();
}
}
else if ($action == 'builddoc') // In get or post
{
else if ($action == 'builddoc') // In get or post
{
/*
* Generate order document
* define into /core/modules/commande/modules_commande.php
@ -1095,10 +1097,10 @@ else if ($action == 'builddoc') // In get or post
dol_print_error($db, $result);
exit();
}
}
}
// Remove file in doc form
else if ($action == 'remove_file') {
// Remove file in doc form
else if ($action == 'remove_file') {
if ($object->id > 0) {
require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
@ -1112,9 +1114,9 @@ else if ($action == 'remove_file') {
setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors');
$action = '';
}
}
}
else if ($action == 'update_extras') {
else if ($action == 'update_extras') {
// Fill array 'array_options' with data from update form
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
$ret = $extrafields->setOptionalsFromPost($extralabels, $object, GETPOST('attribute'));
@ -1139,25 +1141,25 @@ else if ($action == 'update_extras') {
if ($error)
$action = 'edit_extras';
}
}
include DOL_DOCUMENT_ROOT.'/core/actions_printipp.inc.php';
include DOL_DOCUMENT_ROOT.'/core/actions_printipp.inc.php';
/*
/*
* Send mail
*/
// Actions to send emails
$actiontypecode='AC_COM';
$trigger_name='ORDER_SENTBYMAIL';
$paramname='id';
$mode='emailfromorder';
include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
// Actions to send emails
$actiontypecode='AC_COM';
$trigger_name='ORDER_SENTBYMAIL';
$paramname='id';
$mode='emailfromorder';
include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
if (! $error && ! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->commande->creer) {
if (! $error && ! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->commande->creer) {
if ($action == 'addcontact') {
if ($object->id > 0) {
$contactid = (GETPOST('userid') ? GETPOST('userid') : GETPOST('contactid'));
@ -1197,8 +1199,10 @@ if (! $error && ! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->righ
dol_print_error($db);
}
}
}
}
/*
* View
*/

View File

@ -141,20 +141,19 @@ class Commande extends CommonOrder
if (! empty($conf->global->COMMANDE_ADDON))
{
$mybool=false;
$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir)
{
$file = $conf->global->COMMANDE_ADDON.".php";
$classname = $conf->global->COMMANDE_ADDON;
// Include file with class
foreach ($conf->file->dol_document_root as $dirroot)
$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir)
{
$dir = $dirroot.$reldir."/core/modules/commande/";
$dir = dol_buildpath($reldir."core/modules/commande/");
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
}
if (! $mybool)
{

View File

@ -105,6 +105,7 @@ $hookmanager->initHooks(array('invoicecard','globalcard'));
$permissionnote = $user->rights->facture->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
*/
@ -113,13 +114,15 @@ $parameters = array('socid' => $socid);
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include, not includ_once
if (empty($reshook))
{
include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include, not includ_once
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->facture->creer) {
// if (1 == 0 && empty($_REQUEST["clone_content"]) && empty($_REQUEST["clone_receivers"])) {
// $mesgs [] = '<div class="error">' . $langs->trans("NoCloneOptionsSpecified") . '</div>';
// } else {
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->facture->creer) {
// if (1 == 0 && empty($_REQUEST["clone_content"]) && empty($_REQUEST["clone_receivers"])) {
// $mesgs [] = '<div class="error">' . $langs->trans("NoCloneOptionsSpecified") . '</div>';
// } else {
if ($object->fetch($id) > 0) {
$result = $object->createFromClone($socid);
if ($result > 0) {
@ -130,11 +133,11 @@ if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->facture->c
$action = '';
}
}
// }
}
// }
}
// Change status of invoice
else if ($action == 'reopen' && $user->rights->facture->creer) {
// Change status of invoice
else if ($action == 'reopen' && $user->rights->facture->creer) {
$result = $object->fetch($id);
if ($object->statut == 2 || ($object->statut == 3 && $object->close_code != 'replaced')) {
$result = $object->set_unpaid($user);
@ -145,10 +148,10 @@ else if ($action == 'reopen' && $user->rights->facture->creer) {
setEventMessage($object->error, 'errors');
}
}
}
}
// Delete invoice
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->facture->supprimer) {
// Delete invoice
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->facture->supprimer) {
$result = $object->fetch($id);
$object->fetch_thirdparty();
@ -169,11 +172,11 @@ else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->fact
setEventMessage($object->error, 'errors');
$action='';
}
}
}
// Delete line
else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->facture->creer)
{
// Delete line
else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->fetch_thirdparty();
@ -202,19 +205,19 @@ else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->
setEventMessage($object->error, 'errors');
$action = '';
}
}
}
// Delete link of credit note to invoice
else if ($action == 'unlinkdiscount' && $user->rights->facture->creer)
{
// Delete link of credit note to invoice
else if ($action == 'unlinkdiscount' && $user->rights->facture->creer)
{
$discount = new DiscountAbsolute($db);
$result = $discount->fetch(GETPOST("discountid"));
$discount->unlink_invoice();
}
}
// Validation
else if ($action == 'valid' && $user->rights->facture->creer)
{
// Validation
else if ($action == 'valid' && $user->rights->facture->creer)
{
$object->fetch($id);
// On verifie signe facture
@ -231,33 +234,33 @@ else if ($action == 'valid' && $user->rights->facture->creer)
$action = '';
}
}
}
}
else if ($action == 'set_thirdparty' && $user->rights->facture->creer)
{
else if ($action == 'set_thirdparty' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->setValueFrom('fk_soc', $socid);
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id);
exit();
}
}
else if ($action == 'classin' && $user->rights->facture->creer)
{
else if ($action == 'classin' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->setProject($_POST['projectid']);
}
}
else if ($action == 'setmode' && $user->rights->facture->creer)
{
else if ($action == 'setmode' && $user->rights->facture->creer)
{
$object->fetch($id);
$result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int'));
if ($result < 0)
dol_print_error($db, $object->error);
}
}
else if ($action == 'setinvoicedate' && $user->rights->facture->creer)
{
else if ($action == 'setinvoicedate' && $user->rights->facture->creer)
{
$object->fetch($id);
$old_date_lim_reglement = $object->date_lim_reglement;
$date = dol_mktime(12, 0, 0, $_POST['invoicedatemonth'], $_POST['invoicedateday'], $_POST['invoicedateyear']);
@ -273,10 +276,10 @@ else if ($action == 'setinvoicedate' && $user->rights->facture->creer)
if ($object->date_lim_reglement < $object->date) $object->date_lim_reglement = $object->date;
$result = $object->update($user);
if ($result < 0) dol_print_error($db, $object->error);
}
}
else if ($action == 'setconditions' && $user->rights->facture->creer)
{
else if ($action == 'setconditions' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->cond_reglement_code = 0; // To clean property
$object->cond_reglement_id = 0; // To clean property
@ -289,10 +292,10 @@ else if ($action == 'setconditions' && $user->rights->facture->creer)
if ($object->date_lim_reglement < $object->date) $object->date_lim_reglement = $object->date;
$result = $object->update($user);
if ($result < 0) dol_print_error($db, $object->error);
}
}
else if ($action == 'setpaymentterm' && $user->rights->facture->creer)
{
else if ($action == 'setpaymentterm' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->date_lim_reglement = dol_mktime(12, 0, 0, $_POST['paymenttermmonth'], $_POST['paymenttermday'], $_POST['paymenttermyear']);
if ($object->date_lim_reglement < $object->date) {
@ -302,32 +305,32 @@ else if ($action == 'setpaymentterm' && $user->rights->facture->creer)
$result = $object->update($user);
if ($result < 0)
dol_print_error($db, $object->error);
}
}
else if ($action == 'setrevenuestamp' && $user->rights->facture->creer)
{
else if ($action == 'setrevenuestamp' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->revenuestamp = GETPOST('revenuestamp');
$result = $object->update($user);
$object->update_price(1);
if ($result < 0)
dol_print_error($db, $object->error);
}
}
// bank account
else if ($action == 'setbankaccount' && $user->rights->facture->creer)
{
// bank account
else if ($action == 'setbankaccount' && $user->rights->facture->creer)
{
$result=$object->setBankAccount(GETPOST('fk_account', 'int'));
}
}
else if ($action == 'setremisepercent' && $user->rights->facture->creer)
{
else if ($action == 'setremisepercent' && $user->rights->facture->creer)
{
$object->fetch($id);
$result = $object->set_remise($user, $_POST['remise_percent']);
}
}
else if ($action == "setabsolutediscount" && $user->rights->facture->creer)
{
else if ($action == "setabsolutediscount" && $user->rights->facture->creer)
{
// POST[remise_id] ou POST[remise_id_for_payment]
if (! empty($_POST["remise_id"])) {
$ret = $object->fetch($id);
@ -350,17 +353,17 @@ else if ($action == "setabsolutediscount" && $user->rights->facture->creer)
setEventMessage($discount->error, 'errors');
}
}
}
}
else if ($action == 'set_ref_client' && $user->rights->facture->creer)
{
else if ($action == 'set_ref_client' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->set_ref_client($_POST['ref_client']);
}
}
// Classify to validated
else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->facture->valider)
{
// Classify to validated
else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->facture->valider)
{
$idwarehouse = GETPOST('idwarehouse');
$object->fetch($id);
@ -429,11 +432,11 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->factu
else setEventMessage($object->error, 'errors');
}
}
}
}
// Go back to draft status (unvalidate)
else if ($action == 'confirm_modif' && ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->facture->valider) || $user->rights->facture->invoice_advance->unvalidate))
{
// Go back to draft status (unvalidate)
else if ($action == 'confirm_modif' && ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->facture->valider) || $user->rights->facture->invoice_advance->unvalidate))
{
$idwarehouse = GETPOST('idwarehouse');
$object->fetch($id);
@ -506,17 +509,17 @@ else if ($action == 'confirm_modif' && ((empty($conf->global->MAIN_USE_ADVANCED_
}
}
}
}
}
// Classify "paid"
else if ($action == 'confirm_paid' && $confirm == 'yes' && $user->rights->facture->paiement)
{
// Classify "paid"
else if ($action == 'confirm_paid' && $confirm == 'yes' && $user->rights->facture->paiement)
{
$object->fetch($id);
$result = $object->set_paid($user);
if ($result<0) setEventMessage($object->error,'errors');
} // Classif "paid partialy"
else if ($action == 'confirm_paid_partially' && $confirm == 'yes' && $user->rights->facture->paiement)
{
} // Classif "paid partialy"
else if ($action == 'confirm_paid_partially' && $confirm == 'yes' && $user->rights->facture->paiement)
{
$object->fetch($id);
$close_code = $_POST["close_code"];
$close_note = $_POST["close_note"];
@ -526,8 +529,8 @@ else if ($action == 'confirm_paid_partially' && $confirm == 'yes' && $user->righ
} else {
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Reason")), 'errors');
}
} // Classify "abandoned"
else if ($action == 'confirm_canceled' && $confirm == 'yes') {
} // Classify "abandoned"
else if ($action == 'confirm_canceled' && $confirm == 'yes') {
$object->fetch($id);
$close_code = $_POST["close_code"];
$close_note = $_POST["close_note"];
@ -537,11 +540,11 @@ else if ($action == 'confirm_canceled' && $confirm == 'yes') {
} else {
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Reason")), 'errors');
}
}
}
// Convertir en reduc
else if ($action == 'confirm_converttoreduc' && $confirm == 'yes' && $user->rights->facture->creer)
{
// Convertir en reduc
else if ($action == 'confirm_converttoreduc' && $confirm == 'yes' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->fetch_thirdparty();
//$object->fetch_lines(); // Already done into fetch
@ -614,13 +617,13 @@ else if ($action == 'confirm_converttoreduc' && $confirm == 'yes' && $user->righ
$db->rollback();
}
}
}
}
/*
/*
* Insert new invoice in database
*/
else if ($action == 'add' && $user->rights->facture->creer)
{
*/
else if ($action == 'add' && $user->rights->facture->creer)
{
if ($socid > 0) $object->socid = GETPOST('socid', 'int');
$db->begin();
@ -1104,11 +1107,11 @@ else if ($action == 'add' && $user->rights->facture->creer)
$_GET["originid"] = $_POST["originid"];
setEventMessages($object->error, $object->errors, 'errors');
}
}
}
// Add a new line
else if ($action == 'addline' && $user->rights->facture->creer)
{
// Add a new line
else if ($action == 'addline' && $user->rights->facture->creer)
{
$langs->load('errors');
$error = 0;
@ -1369,10 +1372,10 @@ else if ($action == 'addline' && $user->rights->facture->creer)
$action = '';
}
}
}
}
elseif ($action == 'updateligne' && $user->rights->facture->creer && ! GETPOST('cancel'))
{
elseif ($action == 'updateligne' && $user->rights->facture->creer && ! GETPOST('cancel'))
{
if (! $object->fetch($id) > 0) dol_print_error($db);
$object->fetch_thirdparty();
@ -1487,15 +1490,15 @@ elseif ($action == 'updateligne' && $user->rights->facture->creer && ! GETPOST('
setEventMessage($object->error, 'errors');
}
}
}
}
else if ($action == 'updateligne' && $user->rights->facture->creer && $_POST['cancel'] == $langs->trans('Cancel')) {
else if ($action == 'updateligne' && $user->rights->facture->creer && $_POST['cancel'] == $langs->trans('Cancel')) {
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id); // Pour reaffichage de la fiche en cours d'edition
exit();
}
}
// Modify line position (up)
else if ($action == 'up' && $user->rights->facture->creer) {
// Modify line position (up)
else if ($action == 'up' && $user->rights->facture->creer) {
$object->fetch($id);
$object->fetch_thirdparty();
$object->line_up($_GET ['rowid']);
@ -1517,8 +1520,8 @@ else if ($action == 'up' && $user->rights->facture->creer) {
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $object->id . '#' . $_GET ['rowid']);
exit();
} // Modify line position (down)
else if ($action == 'down' && $user->rights->facture->creer) {
} // Modify line position (down)
else if ($action == 'down' && $user->rights->facture->creer) {
$object->fetch($id);
$object->fetch_thirdparty();
$object->line_down($_GET ['rowid']);
@ -1540,34 +1543,34 @@ else if ($action == 'down' && $user->rights->facture->creer) {
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $object->id . '#' . $_GET ['rowid']);
exit();
}
}
// Link invoice to order
if (GETPOST('linkedOrder')) {
// Link invoice to order
if (GETPOST('linkedOrder')) {
$object->fetch($id);
$object->fetch_thirdparty();
$result = $object->add_object_linked('commande', GETPOST('linkedOrder'));
}
}
/*
/*
* Send mail
*/
// Actions to send emails
if (empty($id)) $id=$facid;
$actiontypecode='AC_FAC';
$trigger_name='BILL_SENTBYMAIL';
$paramname='id';
$mode='emailfrominvoice';
include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
// Actions to send emails
if (empty($id)) $id=$facid;
$actiontypecode='AC_FAC';
$trigger_name='BILL_SENTBYMAIL';
$paramname='id';
$mode='emailfrominvoice';
include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
/*
/*
* Generate document
*/
if ($action == 'builddoc') // En get ou en post
{
if ($action == 'builddoc') // En get ou en post
{
$object->fetch($id);
$object->fetch_thirdparty();
@ -1593,10 +1596,10 @@ if ($action == 'builddoc') // En get ou en post
dol_print_error($db, $result);
exit();
}
}
}
// Remove file in doc form
else if ($action == 'remove_file') {
// Remove file in doc form
else if ($action == 'remove_file') {
if ($object->fetch($id)) {
require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
@ -1612,12 +1615,12 @@ else if ($action == 'remove_file') {
setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors');
$action = '';
}
}
}
include DOL_DOCUMENT_ROOT.'/core/actions_printipp.inc.php';
include DOL_DOCUMENT_ROOT.'/core/actions_printipp.inc.php';
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->facture->creer)
{
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->facture->creer)
{
if ($action == 'addcontact')
{
$result = $object->fetch($id);
@ -1661,9 +1664,9 @@ if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->facture-
dol_print_error($db);
}
}
}
}
if ($action == 'update_extras') {
if ($action == 'update_extras') {
// Fill array 'array_options' with data from add form
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
$ret = $extrafields->setOptionalsFromPost($extralabels, $object, GETPOST('attribute'));
@ -1688,10 +1691,10 @@ if ($action == 'update_extras') {
if ($error)
$action = 'edit_extras';
}
}
/*
* View
*/

View File

@ -2497,14 +2497,20 @@ class Facture extends CommonInvoice
else if ($conf->global->FACTURE_ADDON=='terre') $conf->global->FACTURE_ADDON='mod_facture_terre';
else if ($conf->global->FACTURE_ADDON=='mercure') $conf->global->FACTURE_ADDON='mod_facture_mercure';
if (! empty($conf->global->FACTURE_ADDON))
{
$mybool=false;
$file = $conf->global->FACTURE_ADDON.".php";
$classname = $conf->global->FACTURE_ADDON;
// Include file with class
foreach ($conf->file->dol_document_root as $dirroot)
{
$dir = $dirroot."/core/modules/facture/";
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir) {
$dir = dol_buildpath($reldir."core/modules/facture/");
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
@ -2523,7 +2529,6 @@ class Facture extends CommonInvoice
$mybool|=@include_once $dir.$file;
}
}
//print "xx".$mybool.$dir.$file."-".$classname;
if (! $mybool)
{
@ -2533,7 +2538,7 @@ class Facture extends CommonInvoice
$obj = new $classname();
$numref = "";
$numref = $obj->getNumRef($soc,$this,$mode);
$numref = $obj->getNextValue($soc,$this,$mode);
if ($numref != "")
{
@ -2541,8 +2546,15 @@ class Facture extends CommonInvoice
}
else
{
//dol_print_error($db,get_class($this)."::getNextNumRef ".$obj->error);
return false;
dol_print_error($db,"Facture::getNextNumRef ".$obj->error);
return "";
}
}
else
{
$langs->load("errors");
print $langs->trans("Error")." ".$langs->trans("ErrorModuleSetupNotComplete");
return "";
}
}

View File

@ -551,7 +551,7 @@ if ($resql)
print_liste_field_titre($langs->trans("Taxes"),$_SERVER["PHP_SELF"],"f.tva","",$param,'align="right"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("AmountTTC"),$_SERVER["PHP_SELF"],"f.total_ttc","",$param,'align="right"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Received"),$_SERVER["PHP_SELF"],"am","",$param,'align="right"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Rest"),$_SERVER["PHP_SELF"],"am","",$param,'align="right"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Rest"),$_SERVER["PHP_SELF"],"","",$param,'align="right"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"fk_statut,paye,am","",$param,'align="right"',$sortfield,$sortorder);
if (empty($mode))
{

View File

@ -69,17 +69,19 @@ if ($facid > 0)
// Initialize technical object to manage hooks of paiements. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('paiementcard','globalcard'));
$parameters=array('socid'=>$socid);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
/*
* Actions
*/
if ($action == 'add_paiement' || ($action == 'confirm_paiement' && $confirm=='yes'))
$parameters=array('socid'=>$socid);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
if (empty($reshook))
{
if ($action == 'add_paiement' || ($action == 'confirm_paiement' && $confirm=='yes'))
{
$error = 0;
$datepaye = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear'));
@ -149,25 +151,25 @@ if ($action == 'add_paiement' || ($action == 'confirm_paiement' && $confirm=='ye
setEventMessage($langs->transnoentities('ErrorFieldRequired',$langs->transnoentities('Date')), 'errors');
$error++;
}
}
}
/*
/*
* Action add_paiement
*/
if ($action == 'add_paiement')
{
if ($action == 'add_paiement')
{
if ($error)
{
$action = 'create';
}
// Le reste propre a cette action s'affiche en bas de page.
}
}
/*
/*
* Action confirm_paiement
*/
if ($action == 'confirm_paiement' && $confirm == 'yes')
{
if ($action == 'confirm_paiement' && $confirm == 'yes')
{
$error=0;
$datepaye = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear'));
@ -248,6 +250,7 @@ if ($action == 'confirm_paiement' && $confirm == 'yes')
{
$db->rollback();
}
}
}

View File

@ -211,23 +211,31 @@ class Contrat extends CommonObject
global $db, $langs, $conf;
$langs->load("contracts");
$dir = DOL_DOCUMENT_ROOT . "/core/modules/contract";
if (empty($conf->global->CONTRACT_ADDON))
if (!empty($conf->global->CONTRACT_ADDON))
{
$conf->global->CONTRACT_ADDON='mod_contract_serpis';
}
$mybool = false;
$file = $conf->global->CONTRACT_ADDON.".php";
// Chargement de la classe de numerotation
$classname = $conf->global->CONTRACT_ADDON;
$result=include_once $dir.'/'.$file;
if ($result)
{
$obj = new $classname();
// Include file with class
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir) {
$dir = dol_buildpath($reldir."core/modules/contract/");
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
if (! $mybool)
{
dol_print_error('',"Failed to include file ".$file);
return '';
}
$obj = new $classname();
$numref = "";
$numref = $obj->getNextValue($soc,$this);
@ -237,13 +245,15 @@ class Contrat extends CommonObject
}
else
{
$this->error = $obj->error;
dol_print_error($db,get_class($this)."::getNextValue ".$obj->error);
return "";
}
}
else
{
print $langs->trans("Error")." ".$langs->trans("Error_CONTRACT_ADDON_NotDefined");
$langs->load("errors");
print $langs->trans("Error")." ".$langs->trans("ErrorModuleSetupNotComplete");
return "";
}
}

View File

@ -612,8 +612,7 @@ class FormCompany
}
print "\n".'<!-- Input text for third party with Ajax.Autocompleter (selectCompaniesForNewContact) -->'."\n";
//print '<table class="nobordernopadding"><tr class="nobordernopadding">';
//print '<td class="nobordernopadding">';
if ($obj->rowid == 0)
{
print '<input type="text" size="30" id="search_'.$htmlname.'" name="search_'.$htmlname.'" value="" '.$htmloption.' />';
@ -623,10 +622,9 @@ class FormCompany
print '<input type="text" size="30" id="search_'.$htmlname.'" name="search_'.$htmlname.'" value="'.$obj->name.'" '.$htmloption.' />';
}
print ajax_autocompleter(($socid?$socid:-1),$htmlname,DOL_URL_ROOT.'/societe/ajaxcompanies.php','',$minLength);
//print '</td>';
//print '</tr>';
//print '</table>';
//print "\n";
print "\n";
return $socid;
}
else

View File

@ -152,7 +152,7 @@ class Menubase
$sql.= " '".$this->fk_menu."',";
$sql.= " ".($this->fk_mainmenu?"'".$this->fk_mainmenu."'":"null").",";
$sql.= " ".($this->fk_leftmenu?"'".$this->fk_leftmenu."'":"null").",";
$sql.= " '".$this->position."',";
$sql.= " '".(int) $this->position."',";
$sql.= " '".$this->db->escape($this->url)."',";
$sql.= " '".$this->db->escape($this->target)."',";
$sql.= " '".$this->db->escape($this->titre)."',";

View File

@ -883,6 +883,8 @@ abstract class DolibarrModules
$err=0;
if (empty($this->const)) return 0;
foreach ($this->const as $key => $value)
{
$name = $this->const[$key][0];
@ -950,6 +952,8 @@ abstract class DolibarrModules
$err=0;
if (empty($this->const)) return 0;
foreach ($this->const as $key => $value)
{
$name = $this->const[$key][0];

View File

@ -125,7 +125,8 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices
return 0;
}
$numFinal=get_next_value($db,$mask,'facture_fourn','ref','',$objsoc->code_fournisseur,$object->datef);
//Supplier invoices take invoice date instead of creation date for the mask
$numFinal=get_next_value($db,$mask,'facture_fourn','ref','',$objsoc->code_fournisseur,$object->date);
return $numFinal;
}

View File

@ -353,16 +353,20 @@ if (($action=="create") || ($action=="edit"))
print "<tr><td>";
print $langs->trans('CronEvery')."</td>";
print "<td><select name=\"nbfrequency\">";
for($i=1; $i<=60; $i++){
if(($object->frequency/$object->unitfrequency) == $i){
for($i=1; $i<=60; $i++)
{
if (! empty($object->unitfrequency) && ($object->frequency/$object->unitfrequency) == $i)
{
print "<option value='".$i."' selected='selected'>".$i."</option>";
}
else{
else
{
print "<option value='".$i."'>".$i."</option>";
}
}
$input = "<input type=\"radio\" name=\"unitfrequency\" value=\"60\" id=\"frequency_minute\" ";
if($object->unitfrequency=="60"){
if($object->unitfrequency=="60")
{
$input .= ' checked="checked" />';
}
else{

View File

@ -108,8 +108,10 @@ $parameters=array();
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
if ($action == 'add')
if (empty($reshook))
{
if ($action == 'add')
{
$error=0;
$db->begin();
@ -235,13 +237,13 @@ if ($action == 'add')
$_GET["commande_id"]=GETPOST('commande_id','int');
$action='create';
}
}
}
/*
/*
* Build a receiving receipt
*/
else if ($action == 'create_delivery' && $conf->livraison_bon->enabled && $user->rights->expedition->livraison->creer)
{
else if ($action == 'create_delivery' && $conf->livraison_bon->enabled && $user->rights->expedition->livraison->creer)
{
$result = $object->create_delivery($user);
if ($result > 0)
{
@ -252,10 +254,10 @@ else if ($action == 'create_delivery' && $conf->livraison_bon->enabled && $user-
{
$mesg=$object->error;
}
}
}
else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->expedition->valider)
{
else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->expedition->valider)
{
$object->fetch_thirdparty();
$result = $object->valid($user);
@ -285,10 +287,10 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->exped
if ($result < 0) dol_print_error($db,$result);
}
}
}
}
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expedition->supprimer)
{
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expedition->supprimer)
{
$result = $object->delete();
if ($result > 0)
{
@ -300,19 +302,19 @@ else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expe
$langs->load("errors");
setEventMessage($langs->trans($object->error),'errors');
}
}
}
else if ($action == 'reopen' && $user->rights->expedition->valider)
{
else if ($action == 'reopen' && $user->rights->expedition->valider)
{
$result = $object->setStatut(0);
if ($result < 0)
{
$mesg = $object->error;
}
}
}
else if ($action == 'setdate_livraison' && $user->rights->expedition->creer)
{
else if ($action == 'setdate_livraison' && $user->rights->expedition->creer)
{
//print "x ".$_POST['liv_month'].", ".$_POST['liv_day'].", ".$_POST['liv_year'];
$datedelivery=dol_mktime(GETPOST('liv_hour','int'), GETPOST('liv_min','int'), 0, GETPOST('liv_month','int'), GETPOST('liv_day','int'), GETPOST('liv_year','int'));
@ -322,16 +324,16 @@ else if ($action == 'setdate_livraison' && $user->rights->expedition->creer)
{
$mesg='<div class="error">'.$object->error.'</div>';
}
}
}
// Action update description of emailing
else if ($action == 'settrackingnumber' || $action == 'settrackingurl'
|| $action == 'settrueWeight'
|| $action == 'settrueWidth'
|| $action == 'settrueHeight'
|| $action == 'settrueDepth'
|| $action == 'setshipping_method_id')
{
// Action update description of emailing
else if ($action == 'settrackingnumber' || $action == 'settrackingurl'
|| $action == 'settrueWeight'
|| $action == 'settrueWidth'
|| $action == 'settrueHeight'
|| $action == 'settrueDepth'
|| $action == 'setshipping_method_id')
{
$error=0;
if ($action == 'settrackingnumber') $object->tracking_number = trim(GETPOST('trackingnumber','alpha'));
@ -359,11 +361,11 @@ else if ($action == 'settrackingnumber' || $action == 'settrackingurl'
}
$action="";
}
}
// Build document
else if ($action == 'builddoc') // En get ou en post
{
// Build document
else if ($action == 'builddoc') // En get ou en post
{
// Save last template used to generate document
if (GETPOST('model')) $object->setDocModel($user, GETPOST('model','alpha'));
@ -384,11 +386,11 @@ else if ($action == 'builddoc') // En get ou en post
dol_print_error($db,$result);
exit;
}
}
}
// Delete file in doc form
elseif ($action == 'remove_file')
{
// Delete file in doc form
elseif ($action == 'remove_file')
{
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$upload_dir = $conf->expedition->dir_output . "/sending";
@ -396,13 +398,13 @@ elseif ($action == 'remove_file')
$ret=dol_delete_file($file,0,0,0,$object);
if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('urlfile')));
else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors');
}
}
/*
/*
* Add file in email form
*/
if (GETPOST('addfile','alpha'))
{
*/
if (GETPOST('addfile','alpha'))
{
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
// Set tmp user directory TODO Use a dedicated directory for temp mails files
@ -411,13 +413,13 @@ if (GETPOST('addfile','alpha'))
dol_add_file_process($upload_dir_tmp,0,0);
$action ='presend';
}
}
/*
/*
* Remove file in email form
*/
if (GETPOST('removedfile','alpha'))
{
*/
if (GETPOST('removedfile','alpha'))
{
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
// Set tmp user directory
@ -427,20 +429,15 @@ if (GETPOST('removedfile','alpha'))
// TODO Delete only files that was uploaded from email form
dol_remove_file_process(GETPOST('removedfile','int'),0);
$action ='presend';
}
}
/*
/*
* Send mail
*/
if ($action == 'send' && ! GETPOST('addfile','alpha') && ! GETPOST('removedfile','alpha') && ! GETPOST('cancel','alpha'))
{
*/
if ($action == 'send' && ! GETPOST('addfile','alpha') && ! GETPOST('removedfile','alpha') && ! GETPOST('cancel','alpha'))
{
$langs->load('mails');
// $ref = dol_sanitizeFileName($object->ref);
// $file = $conf->expedition->dir_output . '/sending/' . $ref . '/' . $ref . '.pdf';
// if (is_readable($file))
// {
if (GETPOST('sendto','alpha'))
{
// Le destinataire a ete fourni via le champ libre
@ -566,19 +563,13 @@ if ($action == 'send' && ! GETPOST('addfile','alpha') && ! GETPOST('removedfile'
$action='presend';
dol_syslog('Recipient email is empty');
}
/* }
else
{
$langs->load("errors");
$mesg='<div class="error">'.$langs->trans('ErrorCantReadFile',$file).'</div>';
dol_syslog('Failed to read file: '.$file);
}*/
}
}
else if ($action == 'classifybilled')
{
else if ($action == 'classifybilled')
{
$object->fetch($id);
$object->set_billed();
}
}

View File

@ -121,21 +121,30 @@ class Expedition extends CommonObject
global $db, $langs, $conf;
$langs->load("sendings");
$dir = DOL_DOCUMENT_ROOT . "/core/modules/expedition";
if (empty($conf->global->EXPEDITION_ADDON_NUMBER))
if (!empty($conf->global->EXPEDITION_ADDON_NUMBER))
{
$conf->global->EXPEDITION_ADDON_NUMBER='mod_expedition_safor';
}
$mybool = false;
$file = $conf->global->EXPEDITION_ADDON_NUMBER.".php";
// Chargement de la classe de numerotation
$classname = $conf->global->EXPEDITION_ADDON_NUMBER;
$result=include_once $dir.'/'.$file;
if ($result)
// Include file with class
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir) {
$dir = dol_buildpath($reldir."core/modules/expedition/");
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
if (! $mybool)
{
dol_print_error('',"Failed to include file ".$file);
return '';
}
$obj = new $classname();
$numref = "";
$numref = $obj->getNextValue($soc,$this);

View File

@ -585,25 +585,33 @@ class Fichinter extends CommonObject
global $conf, $db, $langs;
$langs->load("interventions");
$dir = DOL_DOCUMENT_ROOT . "/core/modules/fichinter/";
if (! empty($conf->global->FICHEINTER_ADDON))
{
$file = $conf->global->FICHEINTER_ADDON.".php";
$classname = $conf->global->FICHEINTER_ADDON;
if (! file_exists($dir.$file))
{
$file='mod_'.$file;
$classname='mod_'.$classname;
$mybool = false;
$file = "mod_".$conf->global->FICHEINTER_ADDON.".php";
$classname = "mod_".$conf->global->FICHEINTER_ADDON;
// Include file with class
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir) {
$dir = dol_buildpath($reldir."core/modules/fichinter/");
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
// Chargement de la classe de numerotation
require_once $dir.$file;
if (! $mybool)
{
dol_print_error('',"Failed to include file ".$file);
return '';
}
$obj = new $classname();
$numref = "";
$numref = $obj->getNumRef($soc,$this);
$numref = $obj->getNextValue($soc,$this);
if ( $numref != "")
{
@ -617,6 +625,7 @@ class Fichinter extends CommonObject
}
else
{
$langs->load("errors");
print $langs->trans("Error")." ".$langs->trans("Error_FICHEINTER_ADDON_NotDefined");
return "";
}

View File

@ -60,8 +60,10 @@ $parameters=array('socid'=>$socid);
$reshook=$hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
if ($action == 'setsupplieraccountancycode')
if (empty($reshook))
{
if ($action == 'setsupplieraccountancycode')
{
$cancelbutton = GETPOST('cancel');
if (! $cancelbutton)
{
@ -74,20 +76,21 @@ if ($action == 'setsupplieraccountancycode')
}
}
$action="";
}
// conditions de reglement
if ($action == 'setconditions' && $user->rights->societe->creer)
{
}
// conditions de reglement
if ($action == 'setconditions' && $user->rights->societe->creer)
{
$object->fetch($id);
$result=$object->setPaymentTerms(GETPOST('cond_reglement_supplier_id','int'));
if ($result < 0) dol_print_error($db,$object->error);
}
// mode de reglement
if ($action == 'setmode' && $user->rights->societe->creer)
{
}
// mode de reglement
if ($action == 'setmode' && $user->rights->societe->creer)
{
$object->fetch($id);
$result=$object->setPaymentMethods(GETPOST('mode_reglement_supplier_id','int'));
if ($result < 0) dol_print_error($db,$object->error);
}
}

View File

@ -557,23 +557,32 @@ class CommandeFournisseur extends CommonOrder
global $db, $langs, $conf;
$langs->load("orders");
$dir = DOL_DOCUMENT_ROOT .'/core/modules/supplier_order/';
if (! empty($conf->global->COMMANDE_SUPPLIER_ADDON_NUMBER))
{
$mybool = false;
$file = $conf->global->COMMANDE_SUPPLIER_ADDON_NUMBER.'.php';
$classname=$conf->global->COMMANDE_SUPPLIER_ADDON_NUMBER;
if (is_readable($dir.'/'.$file))
// Include file with class
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir) {
$dir = dol_buildpath($reldir."core/modules/supplier_order/");
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}
if (! $mybool)
{
// Definition du nom de modele de numerotation de commande fournisseur
$modName=$conf->global->COMMANDE_SUPPLIER_ADDON_NUMBER;
require_once $dir.'/'.$file;
dol_print_error('',"Failed to include file ".$file);
return '';
}
// Recuperation de la nouvelle reference
$objMod = new $modName($this->db);
$numref = "";
$numref = $objMod->commande_get_num($soc,$this);
$obj = new $classname();
$numref = $obj->getNextValue($soc,$this);
if ( $numref != "")
{
@ -581,22 +590,17 @@ class CommandeFournisseur extends CommonOrder
}
else
{
$this->error = $obj->error;
dol_print_error($db, get_class($this)."::getNextNumRef ".$obj->error);
return -1;
}
}
else
{
print $langs->trans("Error")." ".$langs->trans("Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File",$conf->global->COMMANDE_SUPPLIER_ADDON_NUMBER);
$this->error = "Error_COMMANDE_SUPPLIER_ADDON_NotDefined";
return -2;
}
}
else
{
print $langs->trans("Error")." ".$langs->trans("Error_COMMANDE_SUPPLIER_ADDON_NotDefined");
return -3;
}
}
/**
* Accept an order

View File

@ -1514,10 +1514,14 @@ class FactureFournisseur extends CommonInvoice
$file = $conf->global->INVOICE_SUPPLIER_ADDON_NUMBER.".php";
$classname = $conf->global->INVOICE_SUPPLIER_ADDON_NUMBER;
// Include file with class
foreach ($conf->file->dol_document_root as $dirroot)
{
$dir = $dirroot."/core/modules/supplier_invoice/";
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
foreach ($dirmodels as $reldir) {
$dir = dol_buildpath($reldir."core/modules/supplier_invoice/");
// Load file with numbering class (if found)
$mybool|=@include_once $dir.$file;
}

View File

@ -66,17 +66,20 @@ if ($user->societe_id > 0)
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('paymentsupplier'));
$parameters=array('socid'=>$socid);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
/*
* Actions
*/
if ($action == 'add_paiement' || ($action == 'confirm_paiement' && $confirm=='yes'))
$parameters=array('socid'=>$socid);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
if (empty($reshook))
{
if ($action == 'add_paiement' || ($action == 'confirm_paiement' && $confirm=='yes'))
{
$error = 0;
$datepaye = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear'));
@ -146,26 +149,26 @@ if ($action == 'add_paiement' || ($action == 'confirm_paiement' && $confirm=='ye
setEventMessage($langs->transnoentities('ErrorFieldRequired',$langs->transnoentities('Date')), 'errors');
$error++;
}
}
}
/*
/*
* Action add_paiement
*/
if ($action == 'add_paiement')
{
if ($action == 'add_paiement')
{
if ($error)
{
$action = 'create';
}
// Le reste propre a cette action s'affiche en bas de page.
}
}
/*
/*
* Action confirm_paiement
*/
if ($action == 'confirm_paiement' && $confirm == 'yes')
{
if ($action == 'confirm_paiement' && $confirm == 'yes')
{
$error=0;
$datepaye = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear'));
@ -226,10 +229,10 @@ if ($action == 'confirm_paiement' && $confirm == 'yes')
$db->rollback();
}
}
}
}
/*
* View
*/

View File

@ -1033,7 +1033,7 @@ SendingMailSetup=Setup of sendings by email
SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba).
PathToDocuments=Path to documents
PathDirectory=Directory
SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by thoose bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommanded) is to use the method "SMTP socket library" that has no disadvantages.
SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages.
TranslationSetup=Configuration de la traduction
TranslationDesc=Choice of language visible on screen can be modified:<br>* Globally from menu <strong>Home - Setup - Display</strong><br>* For user only from tab <strong>User display</strong> of user card (click on login on top of screen).
TotalNumberOfActivatedModules=Total number of activated feature modules: <b>%s</b>
@ -1410,7 +1410,7 @@ AdvancedEditor=Advanced editor
ActivateFCKeditor=Activate advanced editor for:
FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services)
FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note
FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). <font class="warning">Warning: Using this option for this case is seriously not recommanded as it can create problems with special characters and page formating when building PDF files.</font>
FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). <font class="warning">Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files.</font>
FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing)
FCKeditorForUserSignature=WYSIWIG creation/edition of user signature
FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing)

View File

@ -260,6 +260,7 @@ days=days
Hours=Hours
Minutes=Minutes
Seconds=Seconds
Weeks=Weeks
Today=Today
Yesterday=Yesterday
Tomorrow=Tomorrow

View File

@ -736,7 +736,7 @@ if ((! empty($conf->browser->layout) && $conf->browser->layout == 'phone')
// If we force to use jmobile, then we reenable javascript
if (! empty($conf->dol_use_jmobile)) $conf->use_javascript_ajax=1;
// Replace themes bugged with jmobile with eldy
if (! empty($conf->dol_use_jmobile) && in_array($conf->theme,array('bureau2crea','cameleo')))
if (! empty($conf->dol_use_jmobile) && in_array($conf->theme,array('bureau2crea','cameleo','amarok')))
{
$conf->theme='eldy';
$conf->css = "/theme/".$conf->theme."/style.css.php";

View File

@ -1,5 +1,6 @@
<?php
/* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -21,5 +22,15 @@
* \brief Page d'index du module margin
*/
require 'productMargins.php';
require '../main.inc.php';
if ($user->rights->produit->lire) {
$page = 'productMargins';
} elseif ($user->rights->societe->lire) {
$page = 'customerMargins';
} else {
$page = 'agentMargins';
}
header('Location: '.dol_buildpath('/margin/'.$page.'.php', 1));

View File

@ -1,5 +1,6 @@
<?php
/* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -56,21 +57,25 @@ function marges_admin_prepare_head()
*/
function marges_prepare_head()
{
global $langs, $conf;
global $langs, $conf, $user;
$langs->load("marges@marges");
$h = 0;
$head = array();
if ($user->rights->produit->lire) {
$head[$h][0] = DOL_URL_ROOT."/margin/productMargins.php";
$head[$h][1] = $langs->trans("ProductMargins");
$head[$h][2] = 'productMargins';
$h++;
}
if ($user->rights->societe->lire) {
$head[$h][0] = DOL_URL_ROOT."/margin/customerMargins.php";
$head[$h][1] = $langs->trans("CustomerMargins");
$head[$h][2] = 'customerMargins';
$h++;
}
$head[$h][0] = DOL_URL_ROOT."/margin/agentMargins.php";
$head[$h][1] = $langs->trans("SalesRepresentativeMargins");

View File

@ -73,16 +73,20 @@ if ($id > 0 || ! empty($ref))
}
$modulepart='produit';
/*
* Actions
*/
$parameters=array('id'=>$id);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
/*
* Action envoie fichier
*/
include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php';
if (empty($reshook))
{
// Action sending file
include_once DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_pre_headers.tpl.php';
}
/*

View File

@ -78,8 +78,9 @@ $parameters=array('socid'=>$socid, 'id_prod'=>$id);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$product,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
if ($action == 'remove_pf')
{
if (empty($reshook)) {
if ($action == 'remove_pf')
{
$product = new ProductFournisseur($db);
if ($product->fetch($id) > 0)
{
@ -90,10 +91,10 @@ if ($action == 'remove_pf')
setEventMessage($langs->trans("PriceRemoved"));
}
}
}
}
if ($action == 'updateprice' && GETPOST('cancel') <> $langs->trans("Cancel"))
{
if ($action == 'updateprice' && GETPOST('cancel') <> $langs->trans("Cancel"))
{
$id_fourn=GETPOST("id_fourn");
if (empty($id_fourn)) $id_fourn=GETPOST("search_id_fourn");
$ref_fourn=GETPOST("ref_fourn");
@ -186,17 +187,17 @@ if ($action == 'updateprice' && GETPOST('cancel') <> $langs->trans("Cancel"))
$db->rollback();
}
}
}
}
if (GETPOST('cancel') == $langs->trans("Cancel"))
{
if (GETPOST('cancel') == $langs->trans("Cancel"))
{
$action = '';
header("Location: fournisseurs.php?id=".$_GET["id"]);
exit;
}
}
/*
* view
*/

View File

@ -145,12 +145,12 @@ print '<tr><td>'.$langs->trans("Status").'</td><td>'.$project->getLibStatut(4).'
// Date start
print '<tr><td>'.$langs->trans("DateStart").'</td><td>';
print dol_print_date($object->date_start,'day');
print dol_print_date($project->date_start,'day');
print '</td></tr>';
// Date end
print '<tr><td>'.$langs->trans("DateEnd").'</td><td>';
print dol_print_date($object->date_end,'day');
print dol_print_date($project->date_end,'day');
print '</td></tr>';
print '</table>';

View File

@ -62,21 +62,20 @@ $parameters=array('resource_id'=>$id);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
/*******************************************************************
* ACTIONS
*
* Put here all code to do according to value of "action" parameter
********************************************************************/
if ($action == 'update' && ! $_POST["cancel"] && $user->rights->resource->write )
if (empty($reshook))
{
/*******************************************************************
* ACTIONS
********************************************************************/
if ($action == 'update' && ! $_POST["cancel"] && $user->rights->resource->write )
{
$error=0;
if (empty($ref))
{
$error++;
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("Ref")).'</div>';
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Ref")), 'errors');
}
if (! $error)
@ -96,7 +95,7 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->resource->write
}
else
{
setEventMessage('<div class="error">'.$object->error.'</div>');
setEventMessage($object->error, 'errors');
$action='edit';
}
@ -111,9 +110,9 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->resource->write
{
$action='edit';
}
}
}
/***************************************************
* VIEW
*