Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
b6f091926f
@ -88,6 +88,7 @@ For developers:
|
|||||||
- New: A module can add its own ECM view.
|
- New: A module can add its own ECM view.
|
||||||
- New: A module can disable a standard ECM view.
|
- New: A module can disable a standard ECM view.
|
||||||
- New: Add multilang support into product webservice.
|
- New: Add multilang support into product webservice.
|
||||||
|
- New: Add hooks on project card page.
|
||||||
|
|
||||||
WARNING: Following change may create regression for some external modules, but was necessary to make
|
WARNING: Following change may create regression for some external modules, but was necessary to make
|
||||||
Dolibarr better:
|
Dolibarr better:
|
||||||
@ -116,12 +117,14 @@ Fix: Pb of records not correctly cleaned when module marge is
|
|||||||
Fix: [ bug #1341 ] Lastname not added by file or direct input in mass e-mailing.
|
Fix: [ bug #1341 ] Lastname not added by file or direct input in mass e-mailing.
|
||||||
Fix: [ bug #1357 ] Invoice creator state not printed in generated invoice documents.
|
Fix: [ bug #1357 ] Invoice creator state not printed in generated invoice documents.
|
||||||
Fix: Suppliers invoice mask fails using {tttt} in numbering.
|
Fix: Suppliers invoice mask fails using {tttt} in numbering.
|
||||||
Fix: pdf template name for typhon was not correctly et when enabling module.
|
Fix: [ bug #1350 ] pdf template name for typhon was not correctly set when enabling module.
|
||||||
Fix: Navigation on notes for shipments was not working.
|
Fix: Navigation on notes for shipments was not working.
|
||||||
Fix: [ bug #1353 ] Email notifications, wrong URL.
|
Fix: [ bug #1353 ] Email notifications, wrong URL.
|
||||||
Fix: [ bug #1362 ] Note is not saved.
|
Fix: [ bug #1362 ] Note is not saved.
|
||||||
Fix: tr/td balance.
|
Fix: tr/td balance.
|
||||||
Fix: [ bug #1360 ] note indicator for member tab.
|
Fix: [ bug #1360 ] note indicator for member tab.
|
||||||
|
Fix: Nb of notes and doc not visible onto tasks.
|
||||||
|
Fix: [ bug #1372 ] Margin calculation does not work in proposals
|
||||||
|
|
||||||
***** ChangeLog for 3.5.2 compared to 3.5.1 *****
|
***** ChangeLog for 3.5.2 compared to 3.5.1 *****
|
||||||
Fix: Can't add user for a task.
|
Fix: Can't add user for a task.
|
||||||
|
|||||||
@ -105,8 +105,8 @@ http://bugs.debian.org/package
|
|||||||
##### Testing a package into unstable env
|
##### Testing a package into unstable env
|
||||||
|
|
||||||
Check you have a mysql server available from another interface than localhost
|
Check you have a mysql server available from another interface than localhost
|
||||||
Uncomment line if required and restart mysql
|
Comment line in /etc/mysql/my.cnf if required and restart mysql
|
||||||
bind-address = 127.0.0.1
|
#bind-address = 127.0.0.1
|
||||||
|
|
||||||
Create a chroot called "unstable-amd64-sbuild"
|
Create a chroot called "unstable-amd64-sbuild"
|
||||||
> sudo sbuild-createchroot --keyring= unstable /srv/chroot/unstable http://ftp.uk.debian.org/debian
|
> sudo sbuild-createchroot --keyring= unstable /srv/chroot/unstable http://ftp.uk.debian.org/debian
|
||||||
@ -120,14 +120,16 @@ Puis pour se connecter et préparer l'environnement
|
|||||||
> apt-get install links mysql-client
|
> apt-get install links mysql-client
|
||||||
|
|
||||||
Pour tester un package
|
Pour tester un package
|
||||||
|
> On host server, stop any server on port 80 and 3306 (same port will be used by chroot env)
|
||||||
> cp ../build-area/* /srv/chroot/unstable/tmp
|
> cp ../build-area/* /srv/chroot/unstable/tmp
|
||||||
> sudo schroot -c name_of_chroot
|
> sudo schroot -c name_of_chroot
|
||||||
> cd /tmp
|
> cd /tmp
|
||||||
> lintian --pedantic -E -I dolibarr*.deb
|
> lintian --pedantic -E -I dolibarr*.deb
|
||||||
> lintian --pedantic -E -I dolibarr*.dsc
|
> lintian --pedantic -E -I dolibarr*.dsc
|
||||||
> dpkg -i dolibarr*.deb
|
> dpkg -i dolibarr*.deb ou pour avoir des traces: dpkg -D77777 -i dolibarr*.deb
|
||||||
> apt-get install -f
|
> apt-get install -f
|
||||||
|
|
||||||
|
Puis http://localhost/dolibarr/ (cela peut etre appeler depuis le hote).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -227,9 +229,13 @@ from origin/upstream and origin/pristine.
|
|||||||
* If new upstream is available onto sourceforge, launch:
|
* If new upstream is available onto sourceforge, launch:
|
||||||
> debian/get-orig-source.sh
|
> debian/get-orig-source.sh
|
||||||
|
|
||||||
|
* Edit tgz file to remove ckeditor and phpexcel and renama file into dolibarr-x.y.z+dsfgw.tgz
|
||||||
|
|
||||||
* Staying into git root directory, run
|
* Staying into git root directory, run
|
||||||
> git-import-orig -vv ../dolibarr-3.3.4.tgz
|
> git-import-orig -vv ../dolibarr-x.y.z+dsfgw.tgz
|
||||||
and enter version when requested.
|
and enter version when requested with format
|
||||||
|
x.y.z+dsfgw
|
||||||
|
(x.y.z = version, w start from 1 and is increased for each new import)
|
||||||
|
|
||||||
Note: If there was errors solved manually after get-orig-sources.sh, you may need to make a git commit
|
Note: If there was errors solved manually after get-orig-sources.sh, you may need to make a git commit
|
||||||
|
|
||||||
|
|||||||
@ -117,24 +117,25 @@ class modMyModule extends DolibarrModules
|
|||||||
// 'objecttype:+tabname2:Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2
|
// 'objecttype:+tabname2:Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2
|
||||||
// 'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname
|
// 'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname
|
||||||
// where objecttype can be
|
// where objecttype can be
|
||||||
// 'thirdparty' to add a tab in third party view
|
// 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
|
||||||
// 'intervention' to add a tab in intervention view
|
|
||||||
// 'order_supplier' to add a tab in supplier order view
|
|
||||||
// 'invoice_supplier' to add a tab in supplier invoice view
|
|
||||||
// 'invoice' to add a tab in customer invoice view
|
|
||||||
// 'order' to add a tab in customer order view
|
|
||||||
// 'product' to add a tab in product view
|
|
||||||
// 'stock' to add a tab in stock view
|
|
||||||
// 'propal' to add a tab in propal view
|
|
||||||
// 'member' to add a tab in fundation member view
|
|
||||||
// 'contract' to add a tab in contract view
|
|
||||||
// 'user' to add a tab in user view
|
|
||||||
// 'group' to add a tab in group view
|
|
||||||
// 'contact' to add a tab in contact view
|
// 'contact' to add a tab in contact view
|
||||||
|
// 'contract' to add a tab in contract view
|
||||||
|
// 'group' to add a tab in group view
|
||||||
|
// 'intervention' to add a tab in intervention view
|
||||||
|
// 'invoice' to add a tab in customer invoice view
|
||||||
|
// 'invoice_supplier' to add a tab in supplier invoice view
|
||||||
|
// 'member' to add a tab in fundation member view
|
||||||
|
// 'opensurveypoll' to add a tab in opensurvey poll view
|
||||||
|
// 'order' to add a tab in customer order view
|
||||||
|
// 'order_supplier' to add a tab in supplier order view
|
||||||
// 'payment' to add a tab in payment view
|
// 'payment' to add a tab in payment view
|
||||||
// 'payment_supplier' to add a tab in supplier payment view
|
// 'payment_supplier' to add a tab in supplier payment view
|
||||||
// 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
|
// 'product' to add a tab in product view
|
||||||
// 'opensurveypoll' to add a tab in opensurvey poll view
|
// 'propal' to add a tab in propal view
|
||||||
|
// 'project' to add a tab in project view
|
||||||
|
// 'stock' to add a tab in stock view
|
||||||
|
// 'thirdparty' to add a tab in third party view
|
||||||
|
// 'user' to add a tab in user view
|
||||||
$this->tabs = array();
|
$this->tabs = array();
|
||||||
|
|
||||||
// Dictionaries
|
// Dictionaries
|
||||||
|
|||||||
@ -473,8 +473,8 @@ if ($user->rights->adherent->cotisation->creer && $action == 'cotisation' && ! $
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $customer->default_lang;
|
$newlang = $customer->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
|
|||||||
@ -25,6 +25,15 @@
|
|||||||
* \brief Include to show main page for cashdesk module
|
* \brief Include to show main page for cashdesk module
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* View
|
||||||
|
*/
|
||||||
|
|
||||||
|
$form=new Form($db);
|
||||||
|
|
||||||
// Get list of articles (in warehouse '$conf_fkentrepot' if defined and stock module enabled)
|
// Get list of articles (in warehouse '$conf_fkentrepot' if defined and stock module enabled)
|
||||||
if ( GETPOST('filtre') ) {
|
if ( GETPOST('filtre') ) {
|
||||||
|
|
||||||
|
|||||||
@ -22,6 +22,8 @@ $langs->load("main");
|
|||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
$langs->load("cashdesk");
|
$langs->load("cashdesk");
|
||||||
|
|
||||||
|
// Object $form must de defined
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<script type="text/javascript" src="javascript/facturation1.js"></script>
|
<script type="text/javascript" src="javascript/facturation1.js"></script>
|
||||||
|
|||||||
@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
$langs->load("main");
|
$langs->load("main");
|
||||||
|
|
||||||
|
// Object $form must de defined
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<fieldset class="cadre_facturation"><legend class="titre1"><?php echo $langs->trans("Summary"); ?></legend>
|
<fieldset class="cadre_facturation"><legend class="titre1"><?php echo $langs->trans("Summary"); ?></legend>
|
||||||
|
|||||||
@ -21,6 +21,8 @@
|
|||||||
* \brief validation.php
|
* \brief validation.php
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$form=new Form($db);
|
||||||
|
|
||||||
// Affichage des templates
|
// Affichage des templates
|
||||||
require ('tpl/validation1.tpl.php');
|
require ('tpl/validation1.tpl.php');
|
||||||
|
|
||||||
|
|||||||
@ -50,7 +50,7 @@ if ($user->societe_id > 0)
|
|||||||
unset($_GET["action"]);
|
unset($_GET["action"]);
|
||||||
$action='';
|
$action='';
|
||||||
}
|
}
|
||||||
$result = restrictedArea($user, 'agenda', $objectid, 'actioncomm&societe', 'myactions&allactions', 'fk_soc', 'id');
|
$result = restrictedArea($user, 'agenda', $objectid, 'actioncomm&societe', 'myactions|allactions', 'fk_soc', 'id');
|
||||||
|
|
||||||
|
|
||||||
$object = new ActionComm($db);
|
$object = new ActionComm($db);
|
||||||
|
|||||||
@ -53,7 +53,7 @@ if ($user->societe_id > 0)
|
|||||||
unset($_GET["action"]);
|
unset($_GET["action"]);
|
||||||
$action='';
|
$action='';
|
||||||
}
|
}
|
||||||
$result = restrictedArea($user, 'agenda', $objectid, 'actioncomm&societe', 'myactions&allactions', 'fk_soc', 'id');
|
$result = restrictedArea($user, 'agenda', $objectid, 'actioncomm&societe', 'myactions|allactions', 'fk_soc', 'id');
|
||||||
|
|
||||||
$object = new ActionComm($db);
|
$object = new ActionComm($db);
|
||||||
|
|
||||||
|
|||||||
@ -58,7 +58,7 @@ $originid=GETPOST('originid','int');
|
|||||||
$socid = GETPOST('socid','int');
|
$socid = GETPOST('socid','int');
|
||||||
$id = GETPOST('id','int');
|
$id = GETPOST('id','int');
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
$result = restrictedArea($user, 'agenda', $id, 'actioncomm&societe', 'myactions&allactions', 'fk_soc', 'id');
|
$result = restrictedArea($user, 'agenda', $id, 'actioncomm&societe', 'myactions|allactions', 'fk_soc', 'id');
|
||||||
if ($user->societe_id && $socid) $result = restrictedArea($user,'societe',$socid);
|
if ($user->societe_id && $socid) $result = restrictedArea($user,'societe',$socid);
|
||||||
|
|
||||||
$error=GETPOST("error");
|
$error=GETPOST("error");
|
||||||
|
|||||||
@ -40,7 +40,7 @@ if ($user->societe_id > 0)
|
|||||||
$socid = $user->societe_id;
|
$socid = $user->societe_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = restrictedArea($user, 'agenda', $id, 'actioncomm&societe', 'myactions&allactions', 'fk_soc', 'id');
|
$result = restrictedArea($user, 'agenda', $id, 'actioncomm&societe', 'myactions|allactions', 'fk_soc', 'id');
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -116,7 +116,7 @@ if ($action == 'confirm_clone' && $confirm == 'yes') {
|
|||||||
if ($object->id > 0) {
|
if ($object->id > 0) {
|
||||||
$result = $object->createFromClone($socid);
|
$result = $object->createFromClone($socid);
|
||||||
if ($result > 0) {
|
if ($result > 0) {
|
||||||
header("Location: " . $_SERVER ['PHP_SELF'] . '?id=' . $result);
|
header("Location: " . $_SERVER['PHP_SELF'] . '?id=' . $result);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
setEventMessage($object->error, 'errors');
|
setEventMessage($object->error, 'errors');
|
||||||
@ -157,7 +157,7 @@ else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->
|
|||||||
propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
}
|
}
|
||||||
|
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,7 +331,7 @@ else if ($action == 'add' && $user->rights->propal->creer) {
|
|||||||
propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
}
|
}
|
||||||
|
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
@ -482,7 +482,7 @@ if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! G
|
|||||||
// This avoid sending mail twice if going out and then back to page
|
// This avoid sending mail twice if going out and then back to page
|
||||||
$mesg = $langs->trans('MailSuccessfulySent', $mailfile->getValidAddress($from, 2), $mailfile->getValidAddress($sendto, 2));
|
$mesg = $langs->trans('MailSuccessfulySent', $mailfile->getValidAddress($from, 2), $mailfile->getValidAddress($sendto, 2));
|
||||||
setEventMessage($mesg);
|
setEventMessage($mesg);
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
@ -886,7 +886,7 @@ else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('sa
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -910,7 +910,7 @@ else if ($action == 'builddoc' && $user->rights->propal->creer) {
|
|||||||
dol_print_error($db, $result);
|
dol_print_error($db, $result);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#builddoc'));
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#builddoc'));
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -983,7 +983,7 @@ else if ($action == 'up' && $user->rights->propal->creer) {
|
|||||||
propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
}
|
}
|
||||||
|
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $id . '#' . GETPOST('rowid'));
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $id . '#' . GETPOST('rowid'));
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1002,7 +1002,7 @@ else if ($action == 'down' && $user->rights->propal->creer) {
|
|||||||
propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
}
|
}
|
||||||
|
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $id . '#' . GETPOST('rowid'));
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $id . '#' . GETPOST('rowid'));
|
||||||
exit();
|
exit();
|
||||||
} else if ($action == 'update_extras') {
|
} else if ($action == 'update_extras') {
|
||||||
// Fill array 'array_options' with data from update form
|
// Fill array 'array_options' with data from update form
|
||||||
@ -1040,7 +1040,7 @@ if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->propal->
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
header("Location: " . $_SERVER ['PHP_SELF'] . "?id=" . $object->id);
|
header("Location: " . $_SERVER['PHP_SELF'] . "?id=" . $object->id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
|
if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
|
||||||
@ -1067,7 +1067,7 @@ if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->propal->
|
|||||||
$result = $object->delete_contact($lineid);
|
$result = $object->delete_contact($lineid);
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
header("Location: " . $_SERVER ['PHP_SELF'] . "?id=" . $object->id);
|
header("Location: " . $_SERVER['PHP_SELF'] . "?id=" . $object->id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
@ -1099,7 +1099,7 @@ if ($action == 'create') {
|
|||||||
|
|
||||||
$object = new Propal($db);
|
$object = new Propal($db);
|
||||||
|
|
||||||
print '<form name="addprop" action="' . $_SERVER ["PHP_SELF"] . '" method="POST">';
|
print '<form name="addprop" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="add">';
|
print '<input type="hidden" name="action" value="add">';
|
||||||
|
|
||||||
@ -1349,22 +1349,22 @@ if ($action == 'create') {
|
|||||||
// 1),
|
// 1),
|
||||||
array('type' => 'other','name' => 'socid','label' => $langs->trans("SelectThirdParty"),'value' => $form->select_company(GETPOST('socid', 'int'), 'socid', '(s.client=1 OR s.client=2 OR s.client=3)')));
|
array('type' => 'other','name' => 'socid','label' => $langs->trans("SelectThirdParty"),'value' => $form->select_company(GETPOST('socid', 'int'), 'socid', '(s.client=1 OR s.client=2 OR s.client=3)')));
|
||||||
// Paiement incomplet. On demande si motif = escompte ou autre
|
// Paiement incomplet. On demande si motif = escompte ou autre
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ClonePropal'), $langs->trans('ConfirmClonePropal', $object->ref), 'confirm_clone', $formquestion, 'yes', 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ClonePropal'), $langs->trans('ConfirmClonePropal', $object->ref), 'confirm_clone', $formquestion, 'yes', 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirm delete
|
// Confirm delete
|
||||||
else if ($action == 'delete') {
|
else if ($action == 'delete') {
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteProp'), $langs->trans('ConfirmDeleteProp', $object->ref), 'confirm_delete', '', 0, 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteProp'), $langs->trans('ConfirmDeleteProp', $object->ref), 'confirm_delete', '', 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirm reopen
|
// Confirm reopen
|
||||||
else if ($action == 'reopen') {
|
else if ($action == 'reopen') {
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReOpenProp', $object->ref), 'confirm_reopen', '', 0, 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReOpenProp', $object->ref), 'confirm_reopen', '', 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirmation delete product/service line
|
// Confirmation delete product/service line
|
||||||
else if ($action == 'ask_deleteline') {
|
else if ($action == 'ask_deleteline') {
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirm validate proposal
|
// Confirm validate proposal
|
||||||
@ -1392,7 +1392,7 @@ if ($action == 'create') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (! $error)
|
if (! $error)
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ValidateProp'), $text, 'confirm_validate', '', 0, 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ValidateProp'), $text, 'confirm_validate', '', 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $formconfirm) {
|
if (! $formconfirm) {
|
||||||
@ -1419,7 +1419,7 @@ if ($action == 'create') {
|
|||||||
print '<table class="nobordernopadding" width="100%"><tr><td class="nowrap">';
|
print '<table class="nobordernopadding" width="100%"><tr><td class="nowrap">';
|
||||||
print $langs->trans('RefCustomer') . '</td>';
|
print $langs->trans('RefCustomer') . '</td>';
|
||||||
if ($action != 'refclient' && ! empty($object->brouillon))
|
if ($action != 'refclient' && ! empty($object->brouillon))
|
||||||
print '<td align="right"><a href="' . $_SERVER ['PHP_SELF'] . '?action=refclient&id=' . $object->id . '">' . img_edit($langs->trans('Modify')) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER['PHP_SELF'] . '?action=refclient&id=' . $object->id . '">' . img_edit($langs->trans('Modify')) . '</a></td>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="5">';
|
print '</td><td colspan="5">';
|
||||||
@ -1458,7 +1458,7 @@ if ($action == 'create') {
|
|||||||
// Remise dispo de type non avoir
|
// Remise dispo de type non avoir
|
||||||
$filter = 'fk_facture_source IS NULL';
|
$filter = 'fk_facture_source IS NULL';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
$form->form_remise_dispo($_SERVER ["PHP_SELF"] . '?id=' . $object->id, 0, 'remise_id', $soc->id, $absolute_discount, $filter);
|
$form->form_remise_dispo($_SERVER["PHP_SELF"] . '?id=' . $object->id, 0, 'remise_id', $soc->id, $absolute_discount, $filter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($absolute_creditnote) {
|
if ($absolute_creditnote) {
|
||||||
@ -1475,11 +1475,11 @@ if ($action == 'create') {
|
|||||||
print $langs->trans('Date');
|
print $langs->trans('Date');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editdate' && ! empty($object->brouillon))
|
if ($action != 'editdate' && ! empty($object->brouillon))
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editdate&id=' . $object->id . '">' . img_edit($langs->trans('SetDate'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editdate&id=' . $object->id . '">' . img_edit($langs->trans('SetDate'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if (! empty($object->brouillon) && $action == 'editdate') {
|
if (! empty($object->brouillon) && $action == 'editdate') {
|
||||||
print '<form name="editdate" action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
print '<form name="editdate" action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="setdate">';
|
print '<input type="hidden" name="action" value="setdate">';
|
||||||
$form->select_date($object->date, 're', '', '', 0, "editdate");
|
$form->select_date($object->date, 're', '', '', 0, "editdate");
|
||||||
@ -1501,11 +1501,11 @@ if ($action == 'create') {
|
|||||||
print $langs->trans('DateEndPropal');
|
print $langs->trans('DateEndPropal');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editecheance' && ! empty($object->brouillon))
|
if ($action != 'editecheance' && ! empty($object->brouillon))
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editecheance&id=' . $object->id . '">' . img_edit($langs->trans('SetConditions'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editecheance&id=' . $object->id . '">' . img_edit($langs->trans('SetConditions'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if (! empty($object->brouillon) && $action == 'editecheance') {
|
if (! empty($object->brouillon) && $action == 'editecheance') {
|
||||||
print '<form name="editecheance" action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
print '<form name="editecheance" action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="setecheance">';
|
print '<input type="hidden" name="action" value="setecheance">';
|
||||||
$form->select_date($object->fin_validite, 'ech', '', '', '', "editecheance");
|
$form->select_date($object->fin_validite, 'ech', '', '', '', "editecheance");
|
||||||
@ -1529,13 +1529,13 @@ if ($action == 'create') {
|
|||||||
print $langs->trans('PaymentConditionsShort');
|
print $langs->trans('PaymentConditionsShort');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editconditions' && ! empty($object->brouillon))
|
if ($action != 'editconditions' && ! empty($object->brouillon))
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editconditions&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetConditions'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editconditions&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetConditions'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editconditions') {
|
if ($action == 'editconditions') {
|
||||||
$form->form_conditions_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id');
|
$form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id');
|
||||||
} else {
|
} else {
|
||||||
$form->form_conditions_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'none');
|
$form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'none');
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -1547,11 +1547,11 @@ if ($action == 'create') {
|
|||||||
print $langs->trans('DeliveryDate');
|
print $langs->trans('DeliveryDate');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editdate_livraison' && ! empty($object->brouillon))
|
if ($action != 'editdate_livraison' && ! empty($object->brouillon))
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editdate_livraison&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetDeliveryDate'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editdate_livraison&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetDeliveryDate'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editdate_livraison') {
|
if ($action == 'editdate_livraison') {
|
||||||
print '<form name="editdate_livraison" action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
print '<form name="editdate_livraison" action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="setdate_livraison">';
|
print '<input type="hidden" name="action" value="setdate_livraison">';
|
||||||
$form->select_date($object->date_livraison, 'liv_', '', '', '', "editdate_livraison");
|
$form->select_date($object->date_livraison, 'liv_', '', '', '', "editdate_livraison");
|
||||||
@ -1571,13 +1571,13 @@ if ($action == 'create') {
|
|||||||
print ' (' . $langs->trans('AfterOrder') . ')';
|
print ' (' . $langs->trans('AfterOrder') . ')';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editavailability' && ! empty($object->brouillon))
|
if ($action != 'editavailability' && ! empty($object->brouillon))
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editavailability&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetAvailability'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editavailability&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetAvailability'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editavailability') {
|
if ($action == 'editavailability') {
|
||||||
$form->form_availability($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->availability_id, 'availability_id', 1);
|
$form->form_availability($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->availability_id, 'availability_id', 1);
|
||||||
} else {
|
} else {
|
||||||
$form->form_availability($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->availability_id, 'none', 1);
|
$form->form_availability($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->availability_id, 'none', 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -1589,13 +1589,13 @@ if ($action == 'create') {
|
|||||||
print $langs->trans('Source');
|
print $langs->trans('Source');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editdemandreason' && ! empty($object->brouillon))
|
if ($action != 'editdemandreason' && ! empty($object->brouillon))
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editdemandreason&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetDemandReason'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editdemandreason&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetDemandReason'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editdemandreason') {
|
if ($action == 'editdemandreason') {
|
||||||
$form->formInputReason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'demand_reason_id', 1);
|
$form->formInputReason($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'demand_reason_id', 1);
|
||||||
} else {
|
} else {
|
||||||
$form->formInputReason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'none');
|
$form->formInputReason($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'none');
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -1607,13 +1607,13 @@ if ($action == 'create') {
|
|||||||
print $langs->trans('PaymentMode');
|
print $langs->trans('PaymentMode');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editmode' && ! empty($object->brouillon))
|
if ($action != 'editmode' && ! empty($object->brouillon))
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editmode&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetMode'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editmode&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetMode'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editmode') {
|
if ($action == 'editmode') {
|
||||||
$form->form_modes_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id');
|
$form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id');
|
||||||
} else {
|
} else {
|
||||||
$form->form_modes_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'none');
|
$form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'none');
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
@ -1625,13 +1625,13 @@ if ($action == 'create') {
|
|||||||
print $langs->trans('Project') . '</td>';
|
print $langs->trans('Project') . '</td>';
|
||||||
if ($user->rights->propal->creer) {
|
if ($user->rights->propal->creer) {
|
||||||
if ($action != 'classify')
|
if ($action != 'classify')
|
||||||
print '<td align="right"><a href="' . $_SERVER ['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'classify') {
|
if ($action == 'classify') {
|
||||||
$form->form_project($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid');
|
$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid');
|
||||||
} else {
|
} else {
|
||||||
$form->form_project($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none');
|
$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none');
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
} else {
|
} else {
|
||||||
@ -1688,7 +1688,7 @@ if ($action == 'create') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'edit_extras' && $user->rights->propal->creer && GETPOST('attribute') == $key) {
|
if ($action == 'edit_extras' && $user->rights->propal->creer && GETPOST('attribute') == $key) {
|
||||||
print '<form enctype="multipart/form-data" action="' . $_SERVER ["PHP_SELF"] . '" method="post" name="formsoc">';
|
print '<form enctype="multipart/form-data" action="' . $_SERVER["PHP_SELF"] . '" method="post" name="formsoc">';
|
||||||
print '<input type="hidden" name="action" value="update_extras">';
|
print '<input type="hidden" name="action" value="update_extras">';
|
||||||
print '<input type="hidden" name="attribute" value="' . $key . '">';
|
print '<input type="hidden" name="attribute" value="' . $key . '">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
@ -1702,7 +1702,7 @@ if ($action == 'create') {
|
|||||||
} else {
|
} else {
|
||||||
print $extrafields->showOutputField($key, $value);
|
print $extrafields->showOutputField($key, $value);
|
||||||
if ($object->statut == 0 && $user->rights->propal->creer)
|
if ($object->statut == 0 && $user->rights->propal->creer)
|
||||||
print '<a href="' . $_SERVER ['PHP_SELF'] . '?id=' . $object->id . '&action=edit_extras&attribute=' . $key . '">' . img_picto('', 'edit') . ' ' . $langs->trans('Modify') . '</a>';
|
print '<a href="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&action=edit_extras&attribute=' . $key . '">' . img_picto('', 'edit') . ' ' . $langs->trans('Modify') . '</a>';
|
||||||
}
|
}
|
||||||
print '</td></tr>' . "\n";
|
print '</td></tr>' . "\n";
|
||||||
}
|
}
|
||||||
@ -1770,7 +1770,7 @@ if ($action == 'create') {
|
|||||||
// Show object lines
|
// Show object lines
|
||||||
$result = $object->getLinesArray();
|
$result = $object->getLinesArray();
|
||||||
|
|
||||||
print ' <form name="addproduct" id="addproduct" action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . (($action != 'editline') ? '#add' : '#line_' . GETPOST('lineid')) . '" method="POST">
|
print ' <form name="addproduct" id="addproduct" action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . (($action != 'editline') ? '#add' : '#line_' . GETPOST('lineid')) . '" method="POST">
|
||||||
<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">
|
<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">
|
||||||
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateligne') . '">
|
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateligne') . '">
|
||||||
<input type="hidden" name="mode" value="">
|
<input type="hidden" name="mode" value="">
|
||||||
@ -1812,7 +1812,7 @@ if ($action == 'create') {
|
|||||||
/*
|
/*
|
||||||
* Form to close proposal (signed or not)
|
* Form to close proposal (signed or not)
|
||||||
*/
|
*/
|
||||||
$form_close = '<form action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
$form_close = '<form action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
||||||
$form_close .= '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
$form_close .= '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
$form_close .= '<table class="border" width="100%">';
|
$form_close .= '<table class="border" width="100%">';
|
||||||
$form_close .= '<tr><td width="150" align="left">' . $langs->trans("CloseAs") . '</td><td align="left">';
|
$form_close .= '<tr><td width="150" align="left">' . $langs->trans("CloseAs") . '</td><td align="left">';
|
||||||
@ -1850,7 +1850,7 @@ if ($action == 'create') {
|
|||||||
// Validate
|
// Validate
|
||||||
if ($object->statut == 0 && $object->total_ttc >= 0 && count($object->lines) > 0 && $user->rights->propal->valider) {
|
if ($object->statut == 0 && $object->total_ttc >= 0 && count($object->lines) > 0 && $user->rights->propal->valider) {
|
||||||
if (count($object->lines) > 0)
|
if (count($object->lines) > 0)
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=validate">' . $langs->trans('Validate') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=validate">' . $langs->trans('Validate') . '</a></div>';
|
||||||
// else print '<a class="butActionRefused" href="#">'.$langs->trans('Validate').'</a>';
|
// else print '<a class="butActionRefused" href="#">'.$langs->trans('Validate').'</a>';
|
||||||
}
|
}
|
||||||
// Create event
|
// Create event
|
||||||
@ -1863,19 +1863,19 @@ if ($action == 'create') {
|
|||||||
}
|
}
|
||||||
// Edit
|
// Edit
|
||||||
if ($object->statut == 1 && $user->rights->propal->creer) {
|
if ($object->statut == 1 && $user->rights->propal->creer) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=modif">' . $langs->trans('Modify') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=modif">' . $langs->trans('Modify') . '</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReOpen
|
// ReOpen
|
||||||
if (($object->statut == 2 || $object->statut == 3) && $user->rights->propal->cloturer) {
|
if (($object->statut == 2 || $object->statut == 3) && $user->rights->propal->cloturer) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=reopen' . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#reopen') . '"';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=reopen' . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#reopen') . '"';
|
||||||
print '>' . $langs->trans('ReOpen') . '</a></div>';
|
print '>' . $langs->trans('ReOpen') . '</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send
|
// Send
|
||||||
if ($object->statut == 1 || $object->statut == 2) {
|
if ($object->statut == 1 || $object->statut == 2) {
|
||||||
if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->propal->propal_advance->send) {
|
if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->propal->propal_advance->send) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=presend&mode=init">' . $langs->trans('SendByMail') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=presend&mode=init">' . $langs->trans('SendByMail') . '</a></div>';
|
||||||
} else
|
} else
|
||||||
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#">' . $langs->trans('SendByMail') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#">' . $langs->trans('SendByMail') . '</a></div>';
|
||||||
}
|
}
|
||||||
@ -1904,24 +1904,24 @@ if ($action == 'create') {
|
|||||||
|
|
||||||
$arraypropal = $object->getInvoiceArrayList();
|
$arraypropal = $object->getInvoiceArrayList();
|
||||||
if (is_array($arraypropal) && count($arraypropal) > 0) {
|
if (is_array($arraypropal) && count($arraypropal) > 0) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=classifybilled&socid=' . $object->socid . '">' . $langs->trans("ClassifyBilled") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=classifybilled&socid=' . $object->socid . '">' . $langs->trans("ClassifyBilled") . '</a></div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close
|
// Close
|
||||||
if ($object->statut == 1 && $user->rights->propal->cloturer) {
|
if ($object->statut == 1 && $user->rights->propal->cloturer) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=statut' . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#close') . '"';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=statut' . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#close') . '"';
|
||||||
print '>' . $langs->trans('Close') . '</a></div>';
|
print '>' . $langs->trans('Close') . '</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clone
|
// Clone
|
||||||
if ($user->rights->propal->creer) {
|
if ($user->rights->propal->creer) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ['PHP_SELF'] . '?id=' . $object->id . '&socid=' . $object->socid . '&action=clone&object=' . $object->element . '">' . $langs->trans("ToClone") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&socid=' . $object->socid . '&action=clone&object=' . $object->element . '">' . $langs->trans("ToClone") . '</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete
|
// Delete
|
||||||
if ($user->rights->propal->supprimer) {
|
if ($user->rights->propal->supprimer) {
|
||||||
print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=delete"';
|
print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=delete"';
|
||||||
print '>' . $langs->trans('Delete') . '</a></div>';
|
print '>' . $langs->trans('Delete') . '</a></div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1942,7 +1942,7 @@ if ($action == 'create') {
|
|||||||
*/
|
*/
|
||||||
$filename = dol_sanitizeFileName($object->ref);
|
$filename = dol_sanitizeFileName($object->ref);
|
||||||
$filedir = $conf->propal->dir_output . "/" . dol_sanitizeFileName($object->ref);
|
$filedir = $conf->propal->dir_output . "/" . dol_sanitizeFileName($object->ref);
|
||||||
$urlsource = $_SERVER ["PHP_SELF"] . "?id=" . $object->id;
|
$urlsource = $_SERVER["PHP_SELF"] . "?id=" . $object->id;
|
||||||
$genallowed = $user->rights->propal->creer;
|
$genallowed = $user->rights->propal->creer;
|
||||||
$delallowed = $user->rights->propal->supprimer;
|
$delallowed = $user->rights->propal->supprimer;
|
||||||
|
|
||||||
@ -1982,8 +1982,8 @@ if ($action == 'create') {
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -2057,7 +2057,7 @@ if ($action == 'create') {
|
|||||||
$formmail->param ['action'] = 'send';
|
$formmail->param ['action'] = 'send';
|
||||||
$formmail->param ['models'] = 'propal_send';
|
$formmail->param ['models'] = 'propal_send';
|
||||||
$formmail->param ['id'] = $object->id;
|
$formmail->param ['id'] = $object->id;
|
||||||
$formmail->param ['returnurl'] = $_SERVER ["PHP_SELF"] . '?id=' . $object->id;
|
$formmail->param ['returnurl'] = $_SERVER["PHP_SELF"] . '?id=' . $object->id;
|
||||||
// Init list of files
|
// Init list of files
|
||||||
if (GETPOST("mode") == 'init') {
|
if (GETPOST("mode") == 'init') {
|
||||||
$formmail->clear_attached_files();
|
$formmail->clear_attached_files();
|
||||||
|
|||||||
@ -673,16 +673,26 @@ class Propal extends CommonObject
|
|||||||
dol_syslog(get_class($this)."::create ".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::create ".$this->error, LOG_ERR);
|
||||||
return -3;
|
return -3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check parameters
|
||||||
|
if (! empty($this->ref)) // We check that ref is not already used
|
||||||
|
{
|
||||||
|
$result=self::isExistingObject($this->element, 0, $this->ref); // Check ref is not yet used
|
||||||
|
if ($result > 0)
|
||||||
|
{
|
||||||
|
$this->error='ErrorRefAlreadyExists';
|
||||||
|
dol_syslog(get_class($this)."::create ".$this->error,LOG_WARNING);
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (empty($this->date))
|
if (empty($this->date))
|
||||||
{
|
{
|
||||||
$this->error="Date of proposal is required";
|
$this->error="Date of proposal is required";
|
||||||
dol_syslog(get_class($this)."::create ".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::create ".$this->error, LOG_ERR);
|
||||||
return -4;
|
return -4;
|
||||||
}
|
}
|
||||||
if (! empty($this->ref))
|
|
||||||
{
|
|
||||||
$result=$this->verifyNumRef(); // Check ref is not yet used
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|||||||
@ -612,6 +612,18 @@ class Commande extends CommonOrder
|
|||||||
dol_syslog(get_class($this)."::create user=".$user->id);
|
dol_syslog(get_class($this)."::create user=".$user->id);
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
|
if (! empty($this->ref)) // We check that ref is not already used
|
||||||
|
{
|
||||||
|
$result=self::isExistingObject($this->element, 0, $this->ref); // Check ref is not yet used
|
||||||
|
if ($result > 0)
|
||||||
|
{
|
||||||
|
$this->error='ErrorRefAlreadyExists';
|
||||||
|
dol_syslog(get_class($this)."::create ".$this->error,LOG_WARNING);
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$soc = new Societe($this->db);
|
$soc = new Societe($this->db);
|
||||||
$result=$soc->fetch($this->socid);
|
$result=$soc->fetch($this->socid);
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
|
|||||||
@ -111,7 +111,7 @@ if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->commande->
|
|||||||
if ($object->id > 0) {
|
if ($object->id > 0) {
|
||||||
$result = $object->createFromClone($socid);
|
$result = $object->createFromClone($socid);
|
||||||
if ($result > 0) {
|
if ($result > 0) {
|
||||||
header("Location: " . $_SERVER ['PHP_SELF'] . '?id=' . $result);
|
header("Location: " . $_SERVER['PHP_SELF'] . '?id=' . $result);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
$mesg = '<div class="error">' . $object->error . '</div>';
|
$mesg = '<div class="error">' . $object->error . '</div>';
|
||||||
@ -126,7 +126,7 @@ else if ($action == 'reopen' && $user->rights->commande->creer) {
|
|||||||
if ($object->statut == 3) {
|
if ($object->statut == 3) {
|
||||||
$result = $object->set_reopen($user);
|
$result = $object->set_reopen($user);
|
||||||
if ($result > 0) {
|
if ($result > 0) {
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
$mesg = '<div class="error">' . $object->error . '</div>';
|
$mesg = '<div class="error">' . $object->error . '</div>';
|
||||||
@ -165,7 +165,7 @@ else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->
|
|||||||
commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
}
|
}
|
||||||
|
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
$mesg = '<div class="error">' . $object->error . '</div>';
|
$mesg = '<div class="error">' . $object->error . '</div>';
|
||||||
@ -371,7 +371,7 @@ else if ($action == 'add' && $user->rights->commande->creer) {
|
|||||||
// End of object creation, we show it
|
// End of object creation, we show it
|
||||||
if ($object_id > 0 && ! $error) {
|
if ($object_id > 0 && ! $error) {
|
||||||
$db->commit();
|
$db->commit();
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object_id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object_id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
@ -825,7 +825,7 @@ else if ($action == 'updateligne' && $user->rights->commande->creer && GETPOST('
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -847,8 +847,8 @@ else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->co
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -880,8 +880,8 @@ else if ($action == 'confirm_modif' && $user->rights->commande->creer) {
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -929,8 +929,8 @@ else if ($action == 'up' && $user->rights->commande->creer) {
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -941,7 +941,7 @@ else if ($action == 'up' && $user->rights->commande->creer) {
|
|||||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||||
commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
|
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid'));
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid'));
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -951,8 +951,8 @@ else if ($action == 'down' && $user->rights->commande->creer) {
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -962,7 +962,7 @@ else if ($action == 'down' && $user->rights->commande->creer) {
|
|||||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||||
commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
|
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid'));
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid'));
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -980,8 +980,8 @@ else if ($action == 'builddoc') // In get or post
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -1176,7 +1176,7 @@ if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! G
|
|||||||
} else {
|
} else {
|
||||||
// Redirect here
|
// Redirect here
|
||||||
// This avoid sending mail twice if going out and then back to page
|
// This avoid sending mail twice if going out and then back to page
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&mesg=' . urlencode($mesg));
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&mesg=' . urlencode($mesg));
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -1219,7 +1219,7 @@ if (! $error && ! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->righ
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
header("Location: " . $_SERVER ['PHP_SELF'] . "?id=" . $object->id);
|
header("Location: " . $_SERVER['PHP_SELF'] . "?id=" . $object->id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
|
if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
|
||||||
@ -1245,7 +1245,7 @@ if (! $error && ! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->righ
|
|||||||
$result = $object->delete_contact($lineid);
|
$result = $object->delete_contact($lineid);
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
header("Location: " . $_SERVER ['PHP_SELF'] . "?id=" . $object->id);
|
header("Location: " . $_SERVER['PHP_SELF'] . "?id=" . $object->id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
@ -1349,7 +1349,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
|
|
||||||
$nbrow = 10;
|
$nbrow = 10;
|
||||||
|
|
||||||
print '<form name="crea_commande" action="' . $_SERVER ["PHP_SELF"] . '" method="POST">';
|
print '<form name="crea_commande" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="add">';
|
print '<input type="hidden" name="action" value="add">';
|
||||||
print '<input type="hidden" name="socid" value="' . $soc->id . '">' . "\n";
|
print '<input type="hidden" name="socid" value="' . $soc->id . '">' . "\n";
|
||||||
@ -1603,7 +1603,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
* Confirmation de la suppression de la commande
|
* Confirmation de la suppression de la commande
|
||||||
*/
|
*/
|
||||||
if ($action == 'delete') {
|
if ($action == 'delete') {
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteOrder'), $langs->trans('ConfirmDeleteOrder'), 'confirm_delete', '', 0, 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteOrder'), $langs->trans('ConfirmDeleteOrder'), 'confirm_delete', '', 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1639,7 +1639,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockDecrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1)));
|
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockDecrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ValidateOrder'), $text, 'confirm_validate', $formquestion, 0, 1, 220);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ValidateOrder'), $text, 'confirm_validate', $formquestion, 0, 1, 220);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirm back to draft status
|
// Confirm back to draft status
|
||||||
@ -1659,14 +1659,14 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockIncrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1)));
|
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockIncrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('UnvalidateOrder'), $text, 'confirm_modif', $formquestion, "yes", 1, 220);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('UnvalidateOrder'), $text, 'confirm_modif', $formquestion, "yes", 1, 220);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Confirmation de la cloture
|
* Confirmation de la cloture
|
||||||
*/
|
*/
|
||||||
if ($action == 'shipped') {
|
if ($action == 'shipped') {
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('CloseOrder'), $langs->trans('ConfirmCloseOrder'), 'confirm_shipped', '', 0, 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('CloseOrder'), $langs->trans('ConfirmCloseOrder'), 'confirm_shipped', '', 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1688,14 +1688,14 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockIncrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1)));
|
array('type' => 'other','name' => 'idwarehouse','label' => $langs->trans("SelectWarehouseForStockIncrease"),'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('Cancel'), $text, 'confirm_cancel', $formquestion, 0, 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('Cancel'), $text, 'confirm_cancel', $formquestion, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Confirmation de la suppression d'une ligne produit
|
* Confirmation de la suppression d'une ligne produit
|
||||||
*/
|
*/
|
||||||
if ($action == 'ask_deleteline') {
|
if ($action == 'ask_deleteline') {
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clone confirmation
|
// Clone confirmation
|
||||||
@ -1709,7 +1709,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
// => 1),
|
// => 1),
|
||||||
array('type' => 'other','name' => 'socid','label' => $langs->trans("SelectThirdParty"),'value' => $form->select_company(GETPOST('socid', 'int'), 'socid', '(s.client=1 OR s.client=3)')));
|
array('type' => 'other','name' => 'socid','label' => $langs->trans("SelectThirdParty"),'value' => $form->select_company(GETPOST('socid', 'int'), 'socid', '(s.client=1 OR s.client=3)')));
|
||||||
// Paiement incomplet. On demande si motif = escompte ou autre
|
// Paiement incomplet. On demande si motif = escompte ou autre
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?id=' . $object->id, $langs->trans('CloneOrder'), $langs->trans('ConfirmCloneOrder', $object->ref), 'confirm_clone', $formquestion, 'yes', 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('CloneOrder'), $langs->trans('ConfirmCloneOrder', $object->ref), 'confirm_clone', $formquestion, 'yes', 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $formconfirm) {
|
if (! $formconfirm) {
|
||||||
@ -1751,11 +1751,11 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
print $langs->trans('RefCustomer') . '</td><td align="left">';
|
print $langs->trans('RefCustomer') . '</td><td align="left">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'refcustomer' && $object->brouillon)
|
if ($action != 'refcustomer' && $object->brouillon)
|
||||||
print '<td align="right"><a href="' . $_SERVER ['PHP_SELF'] . '?action=refcustomer&id=' . $object->id . '">' . img_edit($langs->trans('Modify')) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER['PHP_SELF'] . '?action=refcustomer&id=' . $object->id . '">' . img_edit($langs->trans('Modify')) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($user->rights->commande->creer && $action == 'refcustomer') {
|
if ($user->rights->commande->creer && $action == 'refcustomer') {
|
||||||
print '<form action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
print '<form action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="set_ref_client">';
|
print '<input type="hidden" name="action" value="set_ref_client">';
|
||||||
print '<input type="text" class="flat" size="20" name="ref_client" value="' . $object->ref_client . '">';
|
print '<input type="text" class="flat" size="20" name="ref_client" value="' . $object->ref_client . '">';
|
||||||
@ -1782,9 +1782,9 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Relative and absolute discounts
|
// Relative and absolute discounts
|
||||||
$addrelativediscount = '<a href="' . DOL_URL_ROOT . '/comm/remise.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER ["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("EditRelativeDiscounts") . '</a>';
|
$addrelativediscount = '<a href="' . DOL_URL_ROOT . '/comm/remise.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("EditRelativeDiscounts") . '</a>';
|
||||||
$addabsolutediscount = '<a href="' . DOL_URL_ROOT . '/comm/remx.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER ["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("EditGlobalDiscounts") . '</a>';
|
$addabsolutediscount = '<a href="' . DOL_URL_ROOT . '/comm/remx.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("EditGlobalDiscounts") . '</a>';
|
||||||
$addcreditnote = '<a href="' . DOL_URL_ROOT . '/compta/facture.php?action=create&socid=' . $soc->id . '&type=2&backtopage=' . urlencode($_SERVER ["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("AddCreditNote") . '</a>';
|
$addcreditnote = '<a href="' . DOL_URL_ROOT . '/compta/facture.php?action=create&socid=' . $soc->id . '&type=2&backtopage=' . urlencode($_SERVER["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("AddCreditNote") . '</a>';
|
||||||
|
|
||||||
print '<tr><td>' . $langs->trans('Discounts') . '</td><td colspan="3">';
|
print '<tr><td>' . $langs->trans('Discounts') . '</td><td colspan="3">';
|
||||||
if ($soc->remise_percent)
|
if ($soc->remise_percent)
|
||||||
@ -1802,7 +1802,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
} else {
|
} else {
|
||||||
// Remise dispo de type remise fixe (not credit note)
|
// Remise dispo de type remise fixe (not credit note)
|
||||||
print '<br>';
|
print '<br>';
|
||||||
$form->form_remise_dispo($_SERVER ["PHP_SELF"] . '?id=' . $object->id, 0, 'remise_id', $soc->id, $absolute_discount, $filterabsolutediscount);
|
$form->form_remise_dispo($_SERVER["PHP_SELF"] . '?id=' . $object->id, 0, 'remise_id', $soc->id, $absolute_discount, $filterabsolutediscount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($absolute_creditnote) {
|
if ($absolute_creditnote) {
|
||||||
@ -1819,11 +1819,11 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
if ($action != 'editdate' && $object->brouillon)
|
if ($action != 'editdate' && $object->brouillon)
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editdate&id=' . $object->id . '">' . img_edit($langs->trans('SetDate'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editdate&id=' . $object->id . '">' . img_edit($langs->trans('SetDate'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editdate') {
|
if ($action == 'editdate') {
|
||||||
print '<form name="setdate" action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
print '<form name="setdate" action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="setdate">';
|
print '<input type="hidden" name="action" value="setdate">';
|
||||||
$form->select_date($object->date, 'order_', '', '', '', "setdate");
|
$form->select_date($object->date, 'order_', '', '', '', "setdate");
|
||||||
@ -1841,11 +1841,11 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
print $langs->trans('DateDeliveryPlanned');
|
print $langs->trans('DateDeliveryPlanned');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editdate_livraison')
|
if ($action != 'editdate_livraison')
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editdate_livraison&id=' . $object->id . '">' . img_edit($langs->trans('SetDeliveryDate'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editdate_livraison&id=' . $object->id . '">' . img_edit($langs->trans('SetDeliveryDate'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editdate_livraison') {
|
if ($action == 'editdate_livraison') {
|
||||||
print '<form name="setdate_livraison" action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
print '<form name="setdate_livraison" action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="setdate_livraison">';
|
print '<input type="hidden" name="action" value="setdate_livraison">';
|
||||||
$form->select_date($object->date_livraison ? $object->date_livraison : - 1, 'liv_', '', '', '', "setdate_livraison");
|
$form->select_date($object->date_livraison ? $object->date_livraison : - 1, 'liv_', '', '', '', "setdate_livraison");
|
||||||
@ -1863,13 +1863,13 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
print $langs->trans('PaymentConditionsShort');
|
print $langs->trans('PaymentConditionsShort');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editconditions' && $object->brouillon)
|
if ($action != 'editconditions' && $object->brouillon)
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editconditions&id=' . $object->id . '">' . img_edit($langs->trans('SetConditions'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editconditions&id=' . $object->id . '">' . img_edit($langs->trans('SetConditions'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editconditions') {
|
if ($action == 'editconditions') {
|
||||||
$form->form_conditions_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id', 1);
|
$form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id', 1);
|
||||||
} else {
|
} else {
|
||||||
$form->form_conditions_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'none', 1);
|
$form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'none', 1);
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
@ -1881,13 +1881,13 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
print $langs->trans('PaymentMode');
|
print $langs->trans('PaymentMode');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editmode' && $object->brouillon)
|
if ($action != 'editmode' && $object->brouillon)
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editmode&id=' . $object->id . '">' . img_edit($langs->trans('SetMode'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editmode&id=' . $object->id . '">' . img_edit($langs->trans('SetMode'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editmode') {
|
if ($action == 'editmode') {
|
||||||
$form->form_modes_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id');
|
$form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id');
|
||||||
} else {
|
} else {
|
||||||
$form->form_modes_reglement($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'none');
|
$form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'none');
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
@ -1897,13 +1897,13 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
print $langs->trans('AvailabilityPeriod');
|
print $langs->trans('AvailabilityPeriod');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editavailability' && $object->brouillon)
|
if ($action != 'editavailability' && $object->brouillon)
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editavailability&id=' . $object->id . '">' . img_edit($langs->trans('SetAvailability'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editavailability&id=' . $object->id . '">' . img_edit($langs->trans('SetAvailability'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editavailability') {
|
if ($action == 'editavailability') {
|
||||||
$form->form_availability($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->availability_id, 'availability_id', 1);
|
$form->form_availability($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->availability_id, 'availability_id', 1);
|
||||||
} else {
|
} else {
|
||||||
$form->form_availability($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->availability_id, 'none', 1);
|
$form->form_availability($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->availability_id, 'none', 1);
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
@ -1913,13 +1913,13 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
print $langs->trans('Source');
|
print $langs->trans('Source');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editdemandreason' && ! empty($object->brouillon))
|
if ($action != 'editdemandreason' && ! empty($object->brouillon))
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editdemandreason&id=' . $object->id . '">' . img_edit($langs->trans('SetDemandReason'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editdemandreason&id=' . $object->id . '">' . img_edit($langs->trans('SetDemandReason'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editdemandreason') {
|
if ($action == 'editdemandreason') {
|
||||||
$form->formInputReason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'demand_reason_id', 1);
|
$form->formInputReason($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'demand_reason_id', 1);
|
||||||
} else {
|
} else {
|
||||||
$form->formInputReason($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'none');
|
$form->formInputReason($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->demand_reason_id, 'none');
|
||||||
}
|
}
|
||||||
// Removed because using dictionary is an admin feature, not a user feature. Ther is already the "star" to show info to admin users.
|
// Removed because using dictionary is an admin feature, not a user feature. Ther is already the "star" to show info to admin users.
|
||||||
// This is to avoid too heavy screens and have an uniform look and feel for all screens.
|
// This is to avoid too heavy screens and have an uniform look and feel for all screens.
|
||||||
@ -1935,14 +1935,14 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
print $langs->trans('Project');
|
print $langs->trans('Project');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'classify')
|
if ($action != 'classify')
|
||||||
print '<td align="right"><a href="' . $_SERVER ['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->trans('SetProject')) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->trans('SetProject')) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
// print "$object->id, $object->socid, $object->fk_project";
|
// print "$object->id, $object->socid, $object->fk_project";
|
||||||
if ($action == 'classify') {
|
if ($action == 'classify') {
|
||||||
$form->form_project($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid');
|
$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid');
|
||||||
} else {
|
} else {
|
||||||
$form->form_project($_SERVER ['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none');
|
$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none');
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
@ -1983,7 +1983,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'edit_extras' && $user->rights->commande->creer && GETPOST('attribute') == $key) {
|
if ($action == 'edit_extras' && $user->rights->commande->creer && GETPOST('attribute') == $key) {
|
||||||
print '<form enctype="multipart/form-data" action="' . $_SERVER ["PHP_SELF"] . '" method="post" name="formsoc">';
|
print '<form enctype="multipart/form-data" action="' . $_SERVER["PHP_SELF"] . '" method="post" name="formsoc">';
|
||||||
print '<input type="hidden" name="action" value="update_extras">';
|
print '<input type="hidden" name="action" value="update_extras">';
|
||||||
print '<input type="hidden" name="attribute" value="' . $key . '">';
|
print '<input type="hidden" name="attribute" value="' . $key . '">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
@ -1996,7 +1996,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
} else {
|
} else {
|
||||||
print $extrafields->showOutputField($key, $value);
|
print $extrafields->showOutputField($key, $value);
|
||||||
if ($object->statut == 0 && $user->rights->commande->creer)
|
if ($object->statut == 0 && $user->rights->commande->creer)
|
||||||
print '<a href="' . $_SERVER ['PHP_SELF'] . '?id=' . $object->id . '&action=edit_extras&attribute=' . $key . '">' . img_picto('', 'edit') . ' ' . $langs->trans('Modify') . '</a>';
|
print '<a href="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&action=edit_extras&attribute=' . $key . '">' . img_picto('', 'edit') . ' ' . $langs->trans('Modify') . '</a>';
|
||||||
}
|
}
|
||||||
print '</td></tr>' . "\n";
|
print '</td></tr>' . "\n";
|
||||||
}
|
}
|
||||||
@ -2064,7 +2064,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
*/
|
*/
|
||||||
$result = $object->getLinesArray();
|
$result = $object->getLinesArray();
|
||||||
|
|
||||||
print ' <form name="addproduct" id="addproduct" action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . (($action != 'editline') ? '#add' : '#line_' . GETPOST('lineid')) . '" method="POST">
|
print ' <form name="addproduct" id="addproduct" action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . (($action != 'editline') ? '#add' : '#line_' . GETPOST('lineid')) . '" method="POST">
|
||||||
<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">
|
<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">
|
||||||
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateligne') . '">
|
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateligne') . '">
|
||||||
<input type="hidden" name="mode" value="">
|
<input type="hidden" name="mode" value="">
|
||||||
@ -2117,7 +2117,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
if (empty($reshook)) {
|
if (empty($reshook)) {
|
||||||
// Valid
|
// Valid
|
||||||
if ($object->statut == 0 && $object->total_ttc >= 0 && $numlines > 0 && $user->rights->commande->valider) {
|
if ($object->statut == 0 && $object->total_ttc >= 0 && $numlines > 0 && $user->rights->commande->valider) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=validate">' . $langs->trans('Validate') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=validate">' . $langs->trans('Validate') . '</a></div>';
|
||||||
}
|
}
|
||||||
// Edit
|
// Edit
|
||||||
if ($object->statut == 1 && $user->rights->commande->creer) {
|
if ($object->statut == 1 && $user->rights->commande->creer) {
|
||||||
@ -2133,7 +2133,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
// Send
|
// Send
|
||||||
if ($object->statut > 0) {
|
if ($object->statut > 0) {
|
||||||
if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->commande->order_advance->send)) {
|
if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->commande->order_advance->send)) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=presend&mode=init">' . $langs->trans('SendByMail') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=presend&mode=init">' . $langs->trans('SendByMail') . '</a></div>';
|
||||||
} else
|
} else
|
||||||
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#">' . $langs->trans('SendByMail') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#">' . $langs->trans('SendByMail') . '</a></div>';
|
||||||
}
|
}
|
||||||
@ -2172,7 +2172,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
|
|
||||||
// Reopen a closed order
|
// Reopen a closed order
|
||||||
if ($object->statut == 3 && $user->rights->commande->creer) {
|
if ($object->statut == 3 && $user->rights->commande->creer) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ['PHP_SELF'] . '?id=' . $object->id . '&action=reopen">' . $langs->trans('ReOpen') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&action=reopen">' . $langs->trans('ReOpen') . '</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create contract
|
// Create contract
|
||||||
@ -2191,29 +2191,29 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . DOL_URL_ROOT . '/compta/facture.php?action=create&origin=' . $object->element . '&originid=' . $object->id . '&socid=' . $object->socid . '">' . $langs->trans("CreateBill") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . DOL_URL_ROOT . '/compta/facture.php?action=create&origin=' . $object->element . '&originid=' . $object->id . '&socid=' . $object->socid . '">' . $langs->trans("CreateBill") . '</a></div>';
|
||||||
}
|
}
|
||||||
if ($user->rights->commande->creer && $object->statut > 2 && empty($conf->global->WORKFLOW_DISABLE_CLASSIFY_BILLED_FROM_ORDER) && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT)) {
|
if ($user->rights->commande->creer && $object->statut > 2 && empty($conf->global->WORKFLOW_DISABLE_CLASSIFY_BILLED_FROM_ORDER) && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT)) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=classifybilled">' . $langs->trans("ClassifyBilled") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=classifybilled">' . $langs->trans("ClassifyBilled") . '</a></div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set to shipped
|
// Set to shipped
|
||||||
if (($object->statut == 1 || $object->statut == 2) && $user->rights->commande->cloturer) {
|
if (($object->statut == 1 || $object->statut == 2) && $user->rights->commande->cloturer) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=shipped">' . $langs->trans('ClassifyShipped') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=shipped">' . $langs->trans('ClassifyShipped') . '</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clone
|
// Clone
|
||||||
if ($user->rights->commande->creer) {
|
if ($user->rights->commande->creer) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ['PHP_SELF'] . '?id=' . $object->id . '&socid=' . $object->socid . '&action=clone&object=order">' . $langs->trans("ToClone") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&socid=' . $object->socid . '&action=clone&object=order">' . $langs->trans("ToClone") . '</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cancel order
|
// Cancel order
|
||||||
if ($object->statut == 1 && $user->rights->commande->annuler) {
|
if ($object->statut == 1 && $user->rights->commande->annuler) {
|
||||||
print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=cancel">' . $langs->trans('Cancel') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=cancel">' . $langs->trans('Cancel') . '</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete order
|
// Delete order
|
||||||
if ($user->rights->commande->supprimer) {
|
if ($user->rights->commande->supprimer) {
|
||||||
if ($numshipping == 0) {
|
if ($numshipping == 0) {
|
||||||
print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '&action=delete">' . $langs->trans('Delete') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=delete">' . $langs->trans('Delete') . '</a></div>';
|
||||||
} else {
|
} else {
|
||||||
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="' . $langs->trans("ShippingExist") . '">' . $langs->trans("Delete") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="' . $langs->trans("ShippingExist") . '">' . $langs->trans("Delete") . '</a></div>';
|
||||||
}
|
}
|
||||||
@ -2236,7 +2236,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
$file = $conf->commande->dir_output . '/' . $comref . '/' . $comref . '.pdf';
|
$file = $conf->commande->dir_output . '/' . $comref . '/' . $comref . '.pdf';
|
||||||
$relativepath = $comref . '/' . $comref . '.pdf';
|
$relativepath = $comref . '/' . $comref . '.pdf';
|
||||||
$filedir = $conf->commande->dir_output . '/' . $comref;
|
$filedir = $conf->commande->dir_output . '/' . $comref;
|
||||||
$urlsource = $_SERVER ["PHP_SELF"] . "?id=" . $object->id;
|
$urlsource = $_SERVER["PHP_SELF"] . "?id=" . $object->id;
|
||||||
$genallowed = $user->rights->commande->creer;
|
$genallowed = $user->rights->commande->creer;
|
||||||
$delallowed = $user->rights->commande->supprimer;
|
$delallowed = $user->rights->commande->supprimer;
|
||||||
$somethingshown = $formfile->show_documents('commande', $comref, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', '', '', $soc->default_lang);
|
$somethingshown = $formfile->show_documents('commande', $comref, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', '', '', $soc->default_lang);
|
||||||
@ -2273,8 +2273,8 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -2346,7 +2346,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
|||||||
$formmail->param ['action'] = 'send';
|
$formmail->param ['action'] = 'send';
|
||||||
$formmail->param ['models'] = 'order_send';
|
$formmail->param ['models'] = 'order_send';
|
||||||
$formmail->param ['orderid'] = $object->id;
|
$formmail->param ['orderid'] = $object->id;
|
||||||
$formmail->param ['returnurl'] = $_SERVER ["PHP_SELF"] . '?id=' . $object->id;
|
$formmail->param ['returnurl'] = $_SERVER["PHP_SELF"] . '?id=' . $object->id;
|
||||||
|
|
||||||
// Init list of files
|
// Init list of files
|
||||||
if (GETPOST("mode") == 'init') {
|
if (GETPOST("mode") == 'init') {
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2003 Xavier DUTOIT <doli@sydesy.com>
|
* Copyright (C) 2003 Xavier DUTOIT <doli@sydesy.com>
|
||||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2004 Christophe Combelles <ccomb@free.fr>
|
* Copyright (C) 2004 Christophe Combelles <ccomb@free.fr>
|
||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
*
|
*
|
||||||
@ -341,6 +341,12 @@ if ($result)
|
|||||||
print $langs->trans("VATPayment");
|
print $langs->trans("VATPayment");
|
||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
|
else if ($links[$key]['type']=='payment_salary') {
|
||||||
|
print '<a href="'.DOL_URL_ROOT.'/compta/salaries/fiche.php?id='.$links[$key]['url_id'].'">';
|
||||||
|
print img_object($langs->trans('ShowPaymentSalary'),'payment').' ';
|
||||||
|
print $langs->trans("SalaryPayment");
|
||||||
|
print '</a>';
|
||||||
|
}
|
||||||
else if ($links[$key]['type']=='member') {
|
else if ($links[$key]['type']=='member') {
|
||||||
print '<a href="'.DOL_URL_ROOT.'/adherents/fiche.php?rowid='.$links[$key]['url_id'].'">';
|
print '<a href="'.DOL_URL_ROOT.'/adherents/fiche.php?rowid='.$links[$key]['url_id'].'">';
|
||||||
print img_object($langs->trans('ShowMember'),'user').' ';
|
print img_object($langs->trans('ShowMember'),'user').' ';
|
||||||
@ -353,6 +359,12 @@ if ($result)
|
|||||||
print $langs->trans("TransactionOnTheOtherAccount");
|
print $langs->trans("TransactionOnTheOtherAccount");
|
||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
|
else if ($links[$key]['type']=='user') {
|
||||||
|
print '<a href="'.DOL_URL_ROOT.'/user/fiche?id='.$links[$key]['url_id'].'">';
|
||||||
|
print img_object($langs->trans('ShowUser'),'user').' ';
|
||||||
|
print $langs->trans("User");
|
||||||
|
print '</a>';
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
print '<a href="'.$links[$key]['url'].$links[$key]['url_id'].'">';
|
print '<a href="'.$links[$key]['url'].$links[$key]['url_id'].'">';
|
||||||
print img_object('','generic').' ';
|
print img_object('','generic').' ';
|
||||||
|
|||||||
@ -36,7 +36,7 @@ $langs->load("bills");
|
|||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
$result = restrictedArea($user, 'tax', '', '', 'charges');
|
$result = restrictedArea($user, 'tax|salaries', '', '', 'charges|');
|
||||||
|
|
||||||
$year=$_GET["year"];
|
$year=$_GET["year"];
|
||||||
$filtre=$_GET["filtre"];
|
$filtre=$_GET["filtre"];
|
||||||
|
|||||||
@ -115,13 +115,13 @@ include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include
|
|||||||
|
|
||||||
// Action clone object
|
// Action clone object
|
||||||
if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->facture->creer) {
|
if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->facture->creer) {
|
||||||
if (1 == 0 && empty($_REQUEST ["clone_content"]) && empty($_REQUEST ["clone_receivers"])) {
|
if (1 == 0 && empty($_REQUEST["clone_content"]) && empty($_REQUEST["clone_receivers"])) {
|
||||||
$mesgs [] = '<div class="error">' . $langs->trans("NoCloneOptionsSpecified") . '</div>';
|
$mesgs [] = '<div class="error">' . $langs->trans("NoCloneOptionsSpecified") . '</div>';
|
||||||
} else {
|
} else {
|
||||||
if ($object->fetch($id) > 0) {
|
if ($object->fetch($id) > 0) {
|
||||||
$result = $object->createFromClone($socid);
|
$result = $object->createFromClone($socid);
|
||||||
if ($result > 0) {
|
if ($result > 0) {
|
||||||
header("Location: " . $_SERVER ['PHP_SELF'] . '?facid=' . $result);
|
header("Location: " . $_SERVER['PHP_SELF'] . '?facid=' . $result);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
$mesgs [] = $object->error;
|
$mesgs [] = $object->error;
|
||||||
@ -137,7 +137,7 @@ else if ($action == 'reopen' && $user->rights->facture->creer) {
|
|||||||
if ($object->statut == 2 || ($object->statut == 3 && $object->close_code != 'replaced')) {
|
if ($object->statut == 2 || ($object->statut == 3 && $object->close_code != 'replaced')) {
|
||||||
$result = $object->set_unpaid($user);
|
$result = $object->set_unpaid($user);
|
||||||
if ($result > 0) {
|
if ($result > 0) {
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?facid=' . $id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
$mesgs [] = '<div class="error">' . $object->error . '</div>';
|
$mesgs [] = '<div class="error">' . $object->error . '</div>';
|
||||||
@ -178,8 +178,8 @@ else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -191,7 +191,7 @@ else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->
|
|||||||
$result = facture_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
$result = facture_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
}
|
}
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?facid=' . $id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -231,7 +231,7 @@ else if ($action == 'set_thirdparty' && $user->rights->facture->creer) {
|
|||||||
$object->fetch($id);
|
$object->fetch($id);
|
||||||
$object->setValueFrom('fk_soc', $socid);
|
$object->setValueFrom('fk_soc', $socid);
|
||||||
|
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?facid=' . $id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -384,8 +384,8 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->factu
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -458,8 +458,8 @@ else if ($action == 'confirm_modif' && ((empty($conf->global->MAIN_USE_ADVANCED_
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -1023,7 +1023,7 @@ else if ($action == 'add' && $user->rights->facture->creer)
|
|||||||
if ($id > 0 && ! $error)
|
if ($id > 0 && ! $error)
|
||||||
{
|
{
|
||||||
$db->commit();
|
$db->commit();
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?facid=' . $id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1403,7 +1403,7 @@ elseif ($action == 'updateligne' && $user->rights->facture->creer && ! GETPOST('
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id); // Pour reaffichage de la fiche en cours d'edition
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1416,8 +1416,8 @@ else if ($action == 'up' && $user->rights->facture->creer) {
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -1427,7 +1427,7 @@ else if ($action == 'up' && $user->rights->facture->creer) {
|
|||||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||||
facture_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
facture_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
|
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?facid=' . $object->id . '#' . $_GET ['rowid']);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $object->id . '#' . $_GET ['rowid']);
|
||||||
exit();
|
exit();
|
||||||
} // Modify line position (down)
|
} // Modify line position (down)
|
||||||
else if ($action == 'down' && $user->rights->facture->creer) {
|
else if ($action == 'down' && $user->rights->facture->creer) {
|
||||||
@ -1438,8 +1438,8 @@ else if ($action == 'down' && $user->rights->facture->creer) {
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -1449,7 +1449,7 @@ else if ($action == 'down' && $user->rights->facture->creer) {
|
|||||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||||
facture_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
facture_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
|
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?facid=' . $object->id . '#' . $_GET ['rowid']);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $object->id . '#' . $_GET ['rowid']);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1608,7 +1608,7 @@ if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_PO
|
|||||||
// This avoid sending mail twice if going out and then back to page
|
// This avoid sending mail twice if going out and then back to page
|
||||||
$mesg = $langs->trans('MailSuccessfulySent', $mailfile->getValidAddress($from, 2), $mailfile->getValidAddress($sendto, 2));
|
$mesg = $langs->trans('MailSuccessfulySent', $mailfile->getValidAddress($from, 2), $mailfile->getValidAddress($sendto, 2));
|
||||||
setEventMessage($mesg);
|
setEventMessage($mesg);
|
||||||
header('Location: ' . $_SERVER ["PHP_SELF"] . '?facid=' . $object->id);
|
header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $object->id);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -1715,7 +1715,7 @@ if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->facture-
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
header("Location: " . $_SERVER ['PHP_SELF'] . "?id=" . $object->id);
|
header("Location: " . $_SERVER['PHP_SELF'] . "?id=" . $object->id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
|
if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
|
||||||
@ -1742,7 +1742,7 @@ if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->facture-
|
|||||||
$result = $object->delete_contact($lineid);
|
$result = $object->delete_contact($lineid);
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
header("Location: " . $_SERVER ['PHP_SELF'] . "?id=" . $object->id);
|
header("Location: " . $_SERVER['PHP_SELF'] . "?id=" . $object->id);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
@ -1889,7 +1889,7 @@ if ($action == 'create')
|
|||||||
print ajax_combobox('fac_avoir');
|
print ajax_combobox('fac_avoir');
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<form name="add" action="' . $_SERVER ["PHP_SELF"] . '" method="POST">';
|
print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="add">';
|
print '<input type="hidden" name="action" value="add">';
|
||||||
if ($soc->id > 0) print '<input type="hidden" name="socid" value="' . $soc->id . '">' . "\n";
|
if ($soc->id > 0) print '<input type="hidden" name="socid" value="' . $soc->id . '">' . "\n";
|
||||||
@ -2160,17 +2160,17 @@ if ($action == 'create')
|
|||||||
// Discounts for third party
|
// Discounts for third party
|
||||||
print '<tr><td>' . $langs->trans('Discounts') . '</td><td colspan="2">';
|
print '<tr><td>' . $langs->trans('Discounts') . '</td><td colspan="2">';
|
||||||
if ($soc->remise_percent)
|
if ($soc->remise_percent)
|
||||||
print $langs->trans("CompanyHasRelativeDiscount", '<a href="' . DOL_URL_ROOT . '/comm/remise.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER ["PHP_SELF"] . '?socid=' . $soc->id . '&action=' . $action . '&origin=' . GETPOST('origin') . '&originid=' . GETPOST('originid')) . '">' . $soc->remise_percent . '</a>');
|
print $langs->trans("CompanyHasRelativeDiscount", '<a href="' . DOL_URL_ROOT . '/comm/remise.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?socid=' . $soc->id . '&action=' . $action . '&origin=' . GETPOST('origin') . '&originid=' . GETPOST('originid')) . '">' . $soc->remise_percent . '</a>');
|
||||||
else
|
else
|
||||||
print $langs->trans("CompanyHasNoRelativeDiscount");
|
print $langs->trans("CompanyHasNoRelativeDiscount");
|
||||||
print ' <a href="' . DOL_URL_ROOT . '/comm/remise.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER ["PHP_SELF"] . '?socid=' . $soc->id . '&action=' . $action . '&origin=' . GETPOST('origin') . '&originid=' . GETPOST('originid')) . '">(' . $langs->trans("EditRelativeDiscount") . ')</a>';
|
print ' <a href="' . DOL_URL_ROOT . '/comm/remise.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?socid=' . $soc->id . '&action=' . $action . '&origin=' . GETPOST('origin') . '&originid=' . GETPOST('originid')) . '">(' . $langs->trans("EditRelativeDiscount") . ')</a>';
|
||||||
print '. ';
|
print '. ';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
if ($absolute_discount)
|
if ($absolute_discount)
|
||||||
print $langs->trans("CompanyHasAbsoluteDiscount", '<a href="' . DOL_URL_ROOT . '/comm/remx.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER ["PHP_SELF"] . '?socid=' . $soc->id . '&action=' . $action . '&origin=' . GETPOST('origin') . '&originid=' . GETPOST('originid')) . '">' . price($absolute_discount) . '</a>', $langs->trans("Currency" . $conf->currency));
|
print $langs->trans("CompanyHasAbsoluteDiscount", '<a href="' . DOL_URL_ROOT . '/comm/remx.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?socid=' . $soc->id . '&action=' . $action . '&origin=' . GETPOST('origin') . '&originid=' . GETPOST('originid')) . '">' . price($absolute_discount) . '</a>', $langs->trans("Currency" . $conf->currency));
|
||||||
else
|
else
|
||||||
print $langs->trans("CompanyHasNoAbsoluteDiscount");
|
print $langs->trans("CompanyHasNoAbsoluteDiscount");
|
||||||
print ' <a href="' . DOL_URL_ROOT . '/comm/remx.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER ["PHP_SELF"] . '?socid=' . $soc->id . '&action=' . $action . '&origin=' . GETPOST('origin') . '&originid=' . GETPOST('originid')) . '">(' . $langs->trans("EditGlobalDiscounts") . ')</a>';
|
print ' <a href="' . DOL_URL_ROOT . '/comm/remx.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?socid=' . $soc->id . '&action=' . $action . '&origin=' . GETPOST('origin') . '&originid=' . GETPOST('originid')) . '">(' . $langs->trans("EditGlobalDiscounts") . ')</a>';
|
||||||
print '.';
|
print '.';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
@ -2426,7 +2426,7 @@ if ($action == 'create')
|
|||||||
// Confirmation de la conversion de l'avoir en reduc
|
// Confirmation de la conversion de l'avoir en reduc
|
||||||
if ($action == 'converttoreduc') {
|
if ($action == 'converttoreduc') {
|
||||||
$text = $langs->trans('ConfirmConvertToReduc');
|
$text = $langs->trans('ConfirmConvertToReduc');
|
||||||
$formconfirm = $form->formconfirm($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('ConvertToReduc'), $text, 'confirm_converttoreduc', '', "yes", 2);
|
$formconfirm = $form->formconfirm($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('ConvertToReduc'), $text, 'confirm_converttoreduc', '', "yes", 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirmation to delete invoice
|
// Confirmation to delete invoice
|
||||||
@ -2453,9 +2453,9 @@ if ($action == 'create')
|
|||||||
// array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value'
|
// array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value'
|
||||||
// => 1),
|
// => 1),
|
||||||
array('type' => 'other','name' => 'idwarehouse','label' => $label,'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1, 0, 0, $langs->trans("NoStockAction"))));
|
array('type' => 'other','name' => 'idwarehouse','label' => $label,'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1, 0, 0, $langs->trans("NoStockAction"))));
|
||||||
$formconfirm = $form->formconfirm($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('DeleteBill'), $text, 'confirm_delete', $formquestion, "yes", 1);
|
$formconfirm = $form->formconfirm($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('DeleteBill'), $text, 'confirm_delete', $formquestion, "yes", 1);
|
||||||
} else {
|
} else {
|
||||||
$formconfirm = $form->formconfirm($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('DeleteBill'), $text, 'confirm_delete', '', '', 1);
|
$formconfirm = $form->formconfirm($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('DeleteBill'), $text, 'confirm_delete', '', '', 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2517,7 +2517,7 @@ if ($action == 'create')
|
|||||||
{
|
{
|
||||||
$text .= '<br>' . img_warning() . ' ' . $langs->trans("ErrorInvoiceOfThisTypeMustBePositive");
|
$text .= '<br>' . img_warning() . ' ' . $langs->trans("ErrorInvoiceOfThisTypeMustBePositive");
|
||||||
}
|
}
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ValidateBill'), $text, 'confirm_valid', $formquestion, (($object->type != Facture::TYPE_CREDIT_NOTE && $object->total_ttc < 0) ? "no" : "yes"), ($conf->notification->enabled ? 0 : 2));
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ValidateBill'), $text, 'confirm_valid', $formquestion, (($object->type != Facture::TYPE_CREDIT_NOTE && $object->total_ttc < 0) ? "no" : "yes"), ($conf->notification->enabled ? 0 : 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirm back to draft status
|
// Confirm back to draft status
|
||||||
@ -2554,12 +2554,12 @@ if ($action == 'create')
|
|||||||
array('type' => 'other','name' => 'idwarehouse','label' => $label,'value' => $value));
|
array('type' => 'other','name' => 'idwarehouse','label' => $label,'value' => $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('UnvalidateBill'), $text, 'confirm_modif', $formquestion, "yes", 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('UnvalidateBill'), $text, 'confirm_modif', $formquestion, "yes", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirmation du classement paye
|
// Confirmation du classement paye
|
||||||
if ($action == 'paid' && $resteapayer <= 0) {
|
if ($action == 'paid' && $resteapayer <= 0) {
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ClassifyPaid'), $langs->trans('ConfirmClassifyPaidBill', $object->ref), 'confirm_paid', '', "yes", 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ClassifyPaid'), $langs->trans('ConfirmClassifyPaidBill', $object->ref), 'confirm_paid', '', "yes", 1);
|
||||||
}
|
}
|
||||||
if ($action == 'paid' && $resteapayer > 0) {
|
if ($action == 'paid' && $resteapayer > 0) {
|
||||||
// Code
|
// Code
|
||||||
@ -2588,7 +2588,7 @@ if ($action == 'create')
|
|||||||
// Cree un tableau formulaire
|
// Cree un tableau formulaire
|
||||||
$formquestion = array('text' => $langs->trans("ConfirmClassifyPaidPartiallyQuestion"),array('type' => 'radio','name' => 'close_code','label' => $langs->trans("Reason"),'values' => $arrayreasons),array('type' => 'text','name' => 'close_note','label' => $langs->trans("Comment"),'value' => '','size' => '100'));
|
$formquestion = array('text' => $langs->trans("ConfirmClassifyPaidPartiallyQuestion"),array('type' => 'radio','name' => 'close_code','label' => $langs->trans("Reason"),'values' => $arrayreasons),array('type' => 'text','name' => 'close_note','label' => $langs->trans("Comment"),'value' => '','size' => '100'));
|
||||||
// Paiement incomplet. On demande si motif = escompte ou autre
|
// Paiement incomplet. On demande si motif = escompte ou autre
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ClassifyPaid'), $langs->trans('ConfirmClassifyPaidPartially', $object->ref), 'confirm_paid_partially', $formquestion, "yes");
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ClassifyPaid'), $langs->trans('ConfirmClassifyPaidPartially', $object->ref), 'confirm_paid_partially', $formquestion, "yes");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirmation du classement abandonne
|
// Confirmation du classement abandonne
|
||||||
@ -2619,13 +2619,13 @@ if ($action == 'create')
|
|||||||
// Cree un tableau formulaire
|
// Cree un tableau formulaire
|
||||||
$formquestion = array('text' => $langs->trans("ConfirmCancelBillQuestion"),array('type' => 'radio','name' => 'close_code','label' => $langs->trans("Reason"),'values' => $arrayreasons),array('type' => 'text','name' => 'close_note','label' => $langs->trans("Comment"),'value' => '','size' => '100'));
|
$formquestion = array('text' => $langs->trans("ConfirmCancelBillQuestion"),array('type' => 'radio','name' => 'close_code','label' => $langs->trans("Reason"),'values' => $arrayreasons),array('type' => 'text','name' => 'close_note','label' => $langs->trans("Comment"),'value' => '','size' => '100'));
|
||||||
|
|
||||||
$formconfirm = $form->formconfirm($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('CancelBill'), $langs->trans('ConfirmCancelBill', $object->ref), 'confirm_canceled', $formquestion, "yes");
|
$formconfirm = $form->formconfirm($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('CancelBill'), $langs->trans('ConfirmCancelBill', $object->ref), 'confirm_canceled', $formquestion, "yes");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Confirmation de la suppression d'une ligne produit
|
// Confirmation de la suppression d'une ligne produit
|
||||||
if ($action == 'ask_deleteline') {
|
if ($action == 'ask_deleteline') {
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 'no', 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?facid=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 'no', 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clone confirmation
|
// Clone confirmation
|
||||||
@ -2636,7 +2636,7 @@ if ($action == 'create')
|
|||||||
// array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1)
|
// array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1)
|
||||||
array('type' => 'other','name' => 'socid','label' => $langs->trans("SelectThirdParty"),'value' => $form->select_company('', 'socid', '(s.client=1 OR s.client=2 OR s.client=3)', 1)));
|
array('type' => 'other','name' => 'socid','label' => $langs->trans("SelectThirdParty"),'value' => $form->select_company('', 'socid', '(s.client=1 OR s.client=2 OR s.client=3)', 1)));
|
||||||
// Paiement incomplet. On demande si motif = escompte ou autre
|
// Paiement incomplet. On demande si motif = escompte ou autre
|
||||||
$formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('CloneInvoice'), $langs->trans('ConfirmCloneInvoice', $object->ref), 'confirm_clone', $formquestion, 'yes', 1);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('CloneInvoice'), $langs->trans('ConfirmCloneInvoice', $object->ref), 'confirm_clone', $formquestion, 'yes', 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $formconfirm) {
|
if (! $formconfirm) {
|
||||||
@ -2675,12 +2675,12 @@ if ($action == 'create')
|
|||||||
print $langs->trans('RefCustomer');
|
print $langs->trans('RefCustomer');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'refclient' && ! empty($object->brouillon))
|
if ($action != 'refclient' && ! empty($object->brouillon))
|
||||||
print '<td align="right"><a href="' . $_SERVER ['PHP_SELF'] . '?action=refclient&id=' . $object->id . '">' . img_edit($langs->trans('Modify')) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER['PHP_SELF'] . '?action=refclient&id=' . $object->id . '">' . img_edit($langs->trans('Modify')) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td colspan="5">';
|
print '<td colspan="5">';
|
||||||
if ($user->rights->facture->creer && $action == 'refclient') {
|
if ($user->rights->facture->creer && $action == 'refclient') {
|
||||||
print '<form action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
print '<form action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="set_ref_client">';
|
print '<input type="hidden" name="action" value="set_ref_client">';
|
||||||
print '<input type="text" class="flat" size="20" name="ref_client" value="' . $object->ref_client . '">';
|
print '<input type="text" class="flat" size="20" name="ref_client" value="' . $object->ref_client . '">';
|
||||||
@ -2697,11 +2697,11 @@ if ($action == 'create')
|
|||||||
print '<tr><td>' . $langs->trans('Company') . '</td>';
|
print '<tr><td>' . $langs->trans('Company') . '</td>';
|
||||||
print '</td><td colspan="5">';
|
print '</td><td colspan="5">';
|
||||||
if (! empty($conf->global->FACTURE_CHANGE_THIRDPARTY) && $action != 'editthirdparty' && $object->brouillon && $user->rights->facture->creer)
|
if (! empty($conf->global->FACTURE_CHANGE_THIRDPARTY) && $action != 'editthirdparty' && $object->brouillon && $user->rights->facture->creer)
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editthirdparty&facid=' . $object->id . '">' . img_edit($langs->trans('SetLinkToThirdParty'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editthirdparty&facid=' . $object->id . '">' . img_edit($langs->trans('SetLinkToThirdParty'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="5">';
|
print '</td><td colspan="5">';
|
||||||
if ($action == 'editthirdparty') {
|
if ($action == 'editthirdparty') {
|
||||||
$form->form_thirdparty($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->socid, 'socid');
|
$form->form_thirdparty($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->socid, 'socid');
|
||||||
} else {
|
} else {
|
||||||
print ' ' . $soc->getNomUrl(1, 'compta');
|
print ' ' . $soc->getNomUrl(1, 'compta');
|
||||||
print ' ';
|
print ' ';
|
||||||
@ -2756,9 +2756,9 @@ if ($action == 'create')
|
|||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Relative and absolute discounts
|
// Relative and absolute discounts
|
||||||
$addrelativediscount = '<a href="' . DOL_URL_ROOT . '/comm/remise.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER ["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("EditRelativeDiscounts") . '</a>';
|
$addrelativediscount = '<a href="' . DOL_URL_ROOT . '/comm/remise.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("EditRelativeDiscounts") . '</a>';
|
||||||
$addabsolutediscount = '<a href="' . DOL_URL_ROOT . '/comm/remx.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER ["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("EditGlobalDiscounts") . '</a>';
|
$addabsolutediscount = '<a href="' . DOL_URL_ROOT . '/comm/remx.php?id=' . $soc->id . '&backtopage=' . urlencode($_SERVER["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("EditGlobalDiscounts") . '</a>';
|
||||||
$addcreditnote = '<a href="' . DOL_URL_ROOT . '/compta/facture.php?action=create&socid=' . $soc->id . '&type=2&backtopage=' . urlencode($_SERVER ["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("AddCreditNote") . '</a>';
|
$addcreditnote = '<a href="' . DOL_URL_ROOT . '/compta/facture.php?action=create&socid=' . $soc->id . '&type=2&backtopage=' . urlencode($_SERVER["PHP_SELF"]) . '?facid=' . $object->id . '">' . $langs->trans("AddCreditNote") . '</a>';
|
||||||
|
|
||||||
print '<tr><td>' . $langs->trans('Discounts');
|
print '<tr><td>' . $langs->trans('Discounts');
|
||||||
print '</td><td colspan="5">';
|
print '</td><td colspan="5">';
|
||||||
@ -2787,7 +2787,7 @@ if ($action == 'create')
|
|||||||
} else {
|
} else {
|
||||||
// Remise dispo de type remise fixe (not credit note)
|
// Remise dispo de type remise fixe (not credit note)
|
||||||
print '<br>';
|
print '<br>';
|
||||||
$form->form_remise_dispo($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, GETPOST('discountid'), 'remise_id', $soc->id, $absolute_discount, $filterabsolutediscount, $resteapayer, ' (' . $addabsolutediscount . ')');
|
$form->form_remise_dispo($_SERVER["PHP_SELF"] . '?facid=' . $object->id, GETPOST('discountid'), 'remise_id', $soc->id, $absolute_discount, $filterabsolutediscount, $resteapayer, ' (' . $addabsolutediscount . ')');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($absolute_creditnote > 0) // If not, link will be added later
|
if ($absolute_creditnote > 0) // If not, link will be added later
|
||||||
@ -2814,7 +2814,7 @@ if ($action == 'create')
|
|||||||
print '<br>';
|
print '<br>';
|
||||||
// $form->form_remise_dispo($_SERVER["PHP_SELF"].'?facid='.$object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote,
|
// $form->form_remise_dispo($_SERVER["PHP_SELF"].'?facid='.$object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote,
|
||||||
// $filtercreditnote, $resteapayer);
|
// $filtercreditnote, $resteapayer);
|
||||||
$form->form_remise_dispo($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, $filtercreditnote, 0); // We
|
$form->form_remise_dispo($_SERVER["PHP_SELF"] . '?facid=' . $object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, $filtercreditnote, 0); // We
|
||||||
// must
|
// must
|
||||||
// allow
|
// allow
|
||||||
// credit
|
// credit
|
||||||
@ -2848,13 +2848,13 @@ if ($action == 'create')
|
|||||||
print $langs->trans('Date');
|
print $langs->trans('Date');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editinvoicedate' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editinvoicedate' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editinvoicedate&facid=' . $object->id . '">' . img_edit($langs->trans('SetDate'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editinvoicedate&facid=' . $object->id . '">' . img_edit($langs->trans('SetDate'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
|
|
||||||
if ($object->type != Facture::TYPE_CREDIT_NOTE) {
|
if ($object->type != Facture::TYPE_CREDIT_NOTE) {
|
||||||
if ($action == 'editinvoicedate') {
|
if ($action == 'editinvoicedate') {
|
||||||
$form->form_date($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->date, 'invoicedate');
|
$form->form_date($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->date, 'invoicedate');
|
||||||
} else {
|
} else {
|
||||||
print dol_print_date($object->date, 'daytext');
|
print dol_print_date($object->date, 'daytext');
|
||||||
}
|
}
|
||||||
@ -2984,7 +2984,7 @@ if ($action == 'create')
|
|||||||
print ' :</td>';
|
print ' :</td>';
|
||||||
print '<td align="right">' . price($obj->amount_ttc) . '</td>';
|
print '<td align="right">' . price($obj->amount_ttc) . '</td>';
|
||||||
print '<td align="right">';
|
print '<td align="right">';
|
||||||
print '<a href="' . $_SERVER ["PHP_SELF"] . '?facid=' . $object->id . '&action=unlinkdiscount&discountid=' . $obj->rowid . '">' . img_delete() . '</a>';
|
print '<a href="' . $_SERVER["PHP_SELF"] . '?facid=' . $object->id . '&action=unlinkdiscount&discountid=' . $obj->rowid . '">' . img_delete() . '</a>';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
$i ++;
|
$i ++;
|
||||||
if ($invoice->type == Facture::TYPE_CREDIT_NOTE)
|
if ($invoice->type == Facture::TYPE_CREDIT_NOTE)
|
||||||
@ -3069,7 +3069,8 @@ if ($action == 'create')
|
|||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
// Margin Infos
|
// Margin Infos
|
||||||
if (! empty($conf->margin->enabled)) {
|
if (! empty($conf->margin->enabled))
|
||||||
|
{
|
||||||
print '<br>';
|
print '<br>';
|
||||||
$object->displayMarginInfos($object->statut > 0);
|
$object->displayMarginInfos($object->statut > 0);
|
||||||
}
|
}
|
||||||
@ -3082,14 +3083,14 @@ if ($action == 'create')
|
|||||||
print $langs->trans('PaymentConditionsShort');
|
print $langs->trans('PaymentConditionsShort');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editconditions' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editconditions' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editconditions&facid=' . $object->id . '">' . img_edit($langs->trans('SetConditions'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editconditions&facid=' . $object->id . '">' . img_edit($langs->trans('SetConditions'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($object->type != Facture::TYPE_CREDIT_NOTE) {
|
if ($object->type != Facture::TYPE_CREDIT_NOTE) {
|
||||||
if ($action == 'editconditions') {
|
if ($action == 'editconditions') {
|
||||||
$form->form_conditions_reglement($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id');
|
$form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id');
|
||||||
} else {
|
} else {
|
||||||
$form->form_conditions_reglement($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->cond_reglement_id, 'none');
|
$form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->cond_reglement_id, 'none');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
print ' ';
|
print ' ';
|
||||||
@ -3102,12 +3103,12 @@ if ($action == 'create')
|
|||||||
print $langs->trans('DateMaxPayment');
|
print $langs->trans('DateMaxPayment');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editpaymentterm' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editpaymentterm' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editpaymentterm&facid=' . $object->id . '">' . img_edit($langs->trans('SetDate'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editpaymentterm&facid=' . $object->id . '">' . img_edit($langs->trans('SetDate'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($object->type != Facture::TYPE_CREDIT_NOTE) {
|
if ($object->type != Facture::TYPE_CREDIT_NOTE) {
|
||||||
if ($action == 'editpaymentterm') {
|
if ($action == 'editpaymentterm') {
|
||||||
$form->form_date($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->date_lim_reglement, 'paymentterm');
|
$form->form_date($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->date_lim_reglement, 'paymentterm');
|
||||||
} else {
|
} else {
|
||||||
print dol_print_date($object->date_lim_reglement, 'daytext');
|
print dol_print_date($object->date_lim_reglement, 'daytext');
|
||||||
if ($object->date_lim_reglement < ($now - $conf->facture->client->warning_delay) && ! $object->paye && $object->statut == 1 && ! isset($object->am))
|
if ($object->date_lim_reglement < ($now - $conf->facture->client->warning_delay) && ! $object->paye && $object->statut == 1 && ! isset($object->am))
|
||||||
@ -3124,13 +3125,13 @@ if ($action == 'create')
|
|||||||
print $langs->trans('PaymentMode');
|
print $langs->trans('PaymentMode');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editmode' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
if ($action != 'editmode' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editmode&facid=' . $object->id . '">' . img_edit($langs->trans('SetMode'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editmode&facid=' . $object->id . '">' . img_edit($langs->trans('SetMode'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'editmode') {
|
if ($action == 'editmode') {
|
||||||
$form->form_modes_reglement($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id');
|
$form->form_modes_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id');
|
||||||
} else {
|
} else {
|
||||||
$form->form_modes_reglement($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->mode_reglement_id, 'none');
|
$form->form_modes_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->mode_reglement_id, 'none');
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
@ -3160,11 +3161,11 @@ if ($action == 'create')
|
|||||||
print $langs->trans('RevenueStamp');
|
print $langs->trans('RevenueStamp');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editrevenuestamp' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
if ($action != 'editrevenuestamp' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=editrevenuestamp&facid=' . $object->id . '">' . img_edit($langs->trans('SetRevenuStamp'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editrevenuestamp&facid=' . $object->id . '">' . img_edit($langs->trans('SetRevenuStamp'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3" align="right">';
|
print '</td><td colspan="3" align="right">';
|
||||||
if ($action == 'editrevenuestamp') {
|
if ($action == 'editrevenuestamp') {
|
||||||
print '<form action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
print '<form action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="post">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="setrevenuestamp">';
|
print '<input type="hidden" name="action" value="setrevenuestamp">';
|
||||||
print $formother->select_revenue_stamp(GETPOST('revenuestamp'), 'revenuestamp', $mysoc->country_code);
|
print $formother->select_revenue_stamp(GETPOST('revenuestamp'), 'revenuestamp', $mysoc->country_code);
|
||||||
@ -3194,7 +3195,7 @@ if ($action == 'create')
|
|||||||
print $langs->trans('Project');
|
print $langs->trans('Project');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'classify') {
|
if ($action != 'classify') {
|
||||||
print '<td align="right"><a href="' . $_SERVER ["PHP_SELF"] . '?action=classify&facid=' . $object->id . '">';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=classify&facid=' . $object->id . '">';
|
||||||
print img_edit($langs->trans('SetProject'), 1);
|
print img_edit($langs->trans('SetProject'), 1);
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
}
|
}
|
||||||
@ -3202,9 +3203,9 @@ if ($action == 'create')
|
|||||||
|
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'classify') {
|
if ($action == 'classify') {
|
||||||
$form->form_project($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->socid, $object->fk_project, 'projectid');
|
$form->form_project($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->socid, $object->fk_project, 'projectid');
|
||||||
} else {
|
} else {
|
||||||
$form->form_project($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->socid, $object->fk_project, 'none');
|
$form->form_project($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->socid, $object->fk_project, 'none');
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -3236,7 +3237,7 @@ if ($action == 'create')
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'edit_extras' && $user->rights->facture->creer && GETPOST('attribute') == $key) {
|
if ($action == 'edit_extras' && $user->rights->facture->creer && GETPOST('attribute') == $key) {
|
||||||
print '<form enctype="multipart/form-data" action="' . $_SERVER ["PHP_SELF"] . '" method="post" name="formsoc">';
|
print '<form enctype="multipart/form-data" action="' . $_SERVER["PHP_SELF"] . '" method="post" name="formsoc">';
|
||||||
print '<input type="hidden" name="action" value="update_extras">';
|
print '<input type="hidden" name="action" value="update_extras">';
|
||||||
print '<input type="hidden" name="attribute" value="' . $key . '">';
|
print '<input type="hidden" name="attribute" value="' . $key . '">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
@ -3249,7 +3250,7 @@ if ($action == 'create')
|
|||||||
} else {
|
} else {
|
||||||
print $extrafields->showOutputField($key, $value);
|
print $extrafields->showOutputField($key, $value);
|
||||||
if ($object->statut == 0 && $user->rights->facture->creer)
|
if ($object->statut == 0 && $user->rights->facture->creer)
|
||||||
print '<a href="' . $_SERVER ['PHP_SELF'] . '?id=' . $object->id . '&action=edit_extras&attribute=' . $key . '">' . img_picto('', 'edit') . ' ' . $langs->trans('Modify') . '</a>';
|
print '<a href="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&action=edit_extras&attribute=' . $key . '">' . img_picto('', 'edit') . ' ' . $langs->trans('Modify') . '</a>';
|
||||||
}
|
}
|
||||||
print '</td></tr>' . "\n";
|
print '</td></tr>' . "\n";
|
||||||
}
|
}
|
||||||
@ -3273,7 +3274,7 @@ if ($action == 'create')
|
|||||||
// Lines
|
// Lines
|
||||||
$result = $object->getLinesArray();
|
$result = $object->getLinesArray();
|
||||||
|
|
||||||
print ' <form name="addproduct" id="addproduct" action="' . $_SERVER ["PHP_SELF"] . '?id=' . $object->id . (($action != 'editline') ? '#add' : '#line_' . GETPOST('lineid')) . '" method="POST">
|
print ' <form name="addproduct" id="addproduct" action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . (($action != 'editline') ? '#add' : '#line_' . GETPOST('lineid')) . '" method="POST">
|
||||||
<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">
|
<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">
|
||||||
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateligne') . '">
|
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateligne') . '">
|
||||||
<input type="hidden" name="mode" value="">
|
<input type="hidden" name="mode" value="">
|
||||||
@ -3330,7 +3331,7 @@ if ($action == 'create')
|
|||||||
if ($resteapayer == $object->total_ttc && $object->paye == 0 && $ventilExportCompta == 0) {
|
if ($resteapayer == $object->total_ttc && $object->paye == 0 && $ventilExportCompta == 0) {
|
||||||
if (! $objectidnext) {
|
if (! $objectidnext) {
|
||||||
if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->facture->valider) || $user->rights->facture->invoice_advance->unvalidate) {
|
if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->facture->valider) || $user->rights->facture->invoice_advance->unvalidate) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ['PHP_SELF'] . '?facid=' . $object->id . '&action=modif">' . $langs->trans('Modify') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?facid=' . $object->id . '&action=modif">' . $langs->trans('Modify') . '</a></div>';
|
||||||
} else {
|
} else {
|
||||||
print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("NotEnoughPermissions") . '">' . $langs->trans('Modify') . '</span></div>';
|
print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("NotEnoughPermissions") . '">' . $langs->trans('Modify') . '</span></div>';
|
||||||
}
|
}
|
||||||
@ -3349,7 +3350,7 @@ if ($action == 'create')
|
|||||||
{
|
{
|
||||||
if (! $objectidnext && $object->close_code != 'replaced') // Not replaced by another invoice
|
if (! $objectidnext && $object->close_code != 'replaced') // Not replaced by another invoice
|
||||||
{
|
{
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ['PHP_SELF'] . '?facid=' . $object->id . '&action=reopen">' . $langs->trans('ReOpen') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?facid=' . $object->id . '&action=reopen">' . $langs->trans('ReOpen') . '</a></div>';
|
||||||
} else {
|
} else {
|
||||||
print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("DisabledBecauseReplacedInvoice") . '">' . $langs->trans('ReOpen') . '</span></div>';
|
print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("DisabledBecauseReplacedInvoice") . '">' . $langs->trans('ReOpen') . '</span></div>';
|
||||||
}
|
}
|
||||||
@ -3358,7 +3359,7 @@ if ($action == 'create')
|
|||||||
// Validate
|
// Validate
|
||||||
if ($object->statut == 0 && count($object->lines) > 0 && ((($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && (! empty($conf->global->FACTURE_ENABLE_NEGATIVE) || $object->total_ttc >= 0)) || ($object->type == Facture::TYPE_CREDIT_NOTE && $object->total_ttc <= 0))) {
|
if ($object->statut == 0 && count($object->lines) > 0 && ((($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && (! empty($conf->global->FACTURE_ENABLE_NEGATIVE) || $object->total_ttc >= 0)) || ($object->type == Facture::TYPE_CREDIT_NOTE && $object->total_ttc <= 0))) {
|
||||||
if ($user->rights->facture->valider) {
|
if ($user->rights->facture->valider) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?facid=' . $object->id . '&action=valid">' . $langs->trans('Validate') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?facid=' . $object->id . '&action=valid">' . $langs->trans('Validate') . '</a></div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3368,7 +3369,7 @@ if ($action == 'create')
|
|||||||
print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("DisabledBecauseReplacedInvoice") . '">' . $langs->trans('SendByMail') . '</span></div>';
|
print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("DisabledBecauseReplacedInvoice") . '">' . $langs->trans('SendByMail') . '</span></div>';
|
||||||
} else {
|
} else {
|
||||||
if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->facture->invoice_advance->send) {
|
if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->facture->invoice_advance->send) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ['PHP_SELF'] . '?facid=' . $object->id . '&action=presend&mode=init">' . $langs->trans('SendByMail') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?facid=' . $object->id . '&action=presend&mode=init">' . $langs->trans('SendByMail') . '</a></div>';
|
||||||
} else
|
} else
|
||||||
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#">' . $langs->trans('SendByMail') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#">' . $langs->trans('SendByMail') . '</a></div>';
|
||||||
}
|
}
|
||||||
@ -3381,7 +3382,7 @@ if ($action == 'create')
|
|||||||
print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("DisabledBecauseReplacedInvoice") . '">' . $langs->trans('SendRemindByMail') . '</span></div>';
|
print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("DisabledBecauseReplacedInvoice") . '">' . $langs->trans('SendRemindByMail') . '</span></div>';
|
||||||
} else {
|
} else {
|
||||||
if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->facture->invoice_advance->send) {
|
if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->facture->invoice_advance->send) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ['PHP_SELF'] . '?facid=' . $object->id . '&action=prerelance&mode=init">' . $langs->trans('SendRemindByMail') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?facid=' . $object->id . '&action=prerelance&mode=init">' . $langs->trans('SendRemindByMail') . '</a></div>';
|
||||||
} else
|
} else
|
||||||
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#">' . $langs->trans('SendRemindByMail') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#">' . $langs->trans('SendRemindByMail') . '</a></div>';
|
||||||
}
|
}
|
||||||
@ -3418,7 +3419,7 @@ if ($action == 'create')
|
|||||||
|
|
||||||
// For credit note
|
// For credit note
|
||||||
if ($object->type == Facture::TYPE_CREDIT_NOTE && $object->statut == 1 && $object->paye == 0 && $user->rights->facture->creer && $object->getSommePaiement() == 0) {
|
if ($object->type == Facture::TYPE_CREDIT_NOTE && $object->statut == 1 && $object->paye == 0 && $user->rights->facture->creer && $object->getSommePaiement() == 0) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ["PHP_SELF"] . '?facid=' . $object->id . '&action=converttoreduc">' . $langs->trans('ConvertToReduc') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?facid=' . $object->id . '&action=converttoreduc">' . $langs->trans('ConvertToReduc') . '</a></div>';
|
||||||
}
|
}
|
||||||
// For deposit invoice
|
// For deposit invoice
|
||||||
if ($object->type == Facture::TYPE_DEPOSIT && $object->paye == 1 && $resteapayer == 0 && $user->rights->facture->creer && empty($discount->id))
|
if ($object->type == Facture::TYPE_DEPOSIT && $object->paye == 1 && $resteapayer == 0 && $user->rights->facture->creer && empty($discount->id))
|
||||||
@ -3441,14 +3442,14 @@ if ($action == 'create')
|
|||||||
if ($totalpaye > 0 || $totalcreditnotes > 0)
|
if ($totalpaye > 0 || $totalcreditnotes > 0)
|
||||||
{
|
{
|
||||||
// If one payment or one credit note was linked to this invoice
|
// If one payment or one credit note was linked to this invoice
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ['PHP_SELF'] . '?facid=' . $object->id . '&action=paid">' . $langs->trans('ClassifyPaidPartially') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?facid=' . $object->id . '&action=paid">' . $langs->trans('ClassifyPaidPartially') . '</a></div>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($objectidnext) {
|
if ($objectidnext) {
|
||||||
print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("DisabledBecauseReplacedInvoice") . '">' . $langs->trans('ClassifyCanceled') . '</span></div>';
|
print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("DisabledBecauseReplacedInvoice") . '">' . $langs->trans('ClassifyCanceled') . '</span></div>';
|
||||||
} else {
|
} else {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ['PHP_SELF'] . '?facid=' . $object->id . '&action=canceled">' . $langs->trans('ClassifyCanceled') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?facid=' . $object->id . '&action=canceled">' . $langs->trans('ClassifyCanceled') . '</a></div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3456,7 +3457,7 @@ if ($action == 'create')
|
|||||||
// Clone
|
// Clone
|
||||||
if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && $user->rights->facture->creer)
|
if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && $user->rights->facture->creer)
|
||||||
{
|
{
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER ['PHP_SELF'] . '?facid=' . $object->id . '&action=clone&object=invoice">' . $langs->trans("ToClone") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?facid=' . $object->id . '&action=clone&object=invoice">' . $langs->trans("ToClone") . '</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clone as predefined
|
// Clone as predefined
|
||||||
@ -3478,7 +3479,7 @@ if ($action == 'create')
|
|||||||
} elseif ($object->getSommePaiement()) {
|
} elseif ($object->getSommePaiement()) {
|
||||||
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="' . $langs->trans("DisabledBecausePayments") . '">' . $langs->trans('Delete') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="' . $langs->trans("DisabledBecausePayments") . '">' . $langs->trans('Delete') . '</a></div>';
|
||||||
} else {
|
} else {
|
||||||
print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER ["PHP_SELF"] . '?facid=' . $object->id . '&action=delete">' . $langs->trans('Delete') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?facid=' . $object->id . '&action=delete">' . $langs->trans('Delete') . '</a></div>';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="' . $langs->trans("NotAllowed") . '">' . $langs->trans('Delete') . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="' . $langs->trans("NotAllowed") . '">' . $langs->trans('Delete') . '</a></div>';
|
||||||
@ -3497,7 +3498,7 @@ if ($action == 'create')
|
|||||||
// Documents generes
|
// Documents generes
|
||||||
$filename = dol_sanitizeFileName($object->ref);
|
$filename = dol_sanitizeFileName($object->ref);
|
||||||
$filedir = $conf->facture->dir_output . '/' . dol_sanitizeFileName($object->ref);
|
$filedir = $conf->facture->dir_output . '/' . dol_sanitizeFileName($object->ref);
|
||||||
$urlsource = $_SERVER ['PHP_SELF'] . '?facid=' . $object->id;
|
$urlsource = $_SERVER['PHP_SELF'] . '?facid=' . $object->id;
|
||||||
$genallowed = $user->rights->facture->creer;
|
$genallowed = $user->rights->facture->creer;
|
||||||
$delallowed = $user->rights->facture->supprimer;
|
$delallowed = $user->rights->facture->supprimer;
|
||||||
|
|
||||||
@ -3602,8 +3603,8 @@ if ($action == 'create')
|
|||||||
// Define output language
|
// Define output language
|
||||||
$outputlangs = $langs;
|
$outputlangs = $langs;
|
||||||
$newlang = '';
|
$newlang = '';
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST ['lang_id']))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id']))
|
||||||
$newlang = $_REQUEST ['lang_id'];
|
$newlang = $_REQUEST['lang_id'];
|
||||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang))
|
||||||
$newlang = $object->client->default_lang;
|
$newlang = $object->client->default_lang;
|
||||||
if (! empty($newlang)) {
|
if (! empty($newlang)) {
|
||||||
@ -3680,7 +3681,7 @@ if ($action == 'create')
|
|||||||
$formmail->param ['action'] = $action;
|
$formmail->param ['action'] = $action;
|
||||||
$formmail->param ['models'] = $modelmail;
|
$formmail->param ['models'] = $modelmail;
|
||||||
$formmail->param ['facid'] = $object->id;
|
$formmail->param ['facid'] = $object->id;
|
||||||
$formmail->param ['returnurl'] = $_SERVER ["PHP_SELF"] . '?id=' . $object->id;
|
$formmail->param ['returnurl'] = $_SERVER["PHP_SELF"] . '?id=' . $object->id;
|
||||||
|
|
||||||
// Init list of files
|
// Init list of files
|
||||||
if (GETPOST("mode") == 'init') {
|
if (GETPOST("mode") == 'init') {
|
||||||
|
|||||||
@ -617,6 +617,7 @@ class Facture extends CommonInvoice
|
|||||||
$this->statut=0;
|
$this->statut=0;
|
||||||
|
|
||||||
// Clear fields
|
// Clear fields
|
||||||
|
$this->date = dol_now(); // Date of invoice is set to current date when cloning. // TODO Best is to ask date into confirm box
|
||||||
$this->user_author = $user->id;
|
$this->user_author = $user->id;
|
||||||
$this->user_valid = '';
|
$this->user_valid = '';
|
||||||
$this->fk_facture_source = 0;
|
$this->fk_facture_source = 0;
|
||||||
@ -3492,7 +3493,7 @@ class FactureLigne extends CommonInvoiceLine
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert line in database
|
* Insert line into database
|
||||||
*
|
*
|
||||||
* @param int $notrigger 1 no triggers
|
* @param int $notrigger 1 no triggers
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
@ -3530,7 +3531,21 @@ class FactureLigne extends CommonInvoiceLine
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
if ($this->product_type < 0) return -1;
|
if ($this->product_type < 0)
|
||||||
|
{
|
||||||
|
$this->error='ErrorProductTypeMustBe0orMore';
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (! empty($this->fk_product))
|
||||||
|
{
|
||||||
|
// Check product exists
|
||||||
|
$result=Product::isExistingObject('product', $this->fk_product);
|
||||||
|
if ($result <= 0)
|
||||||
|
{
|
||||||
|
$this->error='ErrorProductIdDoesNotExists';
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
|
|||||||
@ -428,7 +428,7 @@ if ($object->id > 0)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Withdrawal request
|
* Withdrawal request
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$sql = "SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande";
|
$sql = "SELECT pfd.rowid, pfd.traite, pfd.date_demande as date_demande";
|
||||||
$sql .= " , pfd.date_traite as date_traite";
|
$sql .= " , pfd.date_traite as date_traite";
|
||||||
@ -462,12 +462,13 @@ if ($object->id > 0)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<a class="butActionRefused" href="#">'.$langs->trans("MakeWithdrawRequest").'</a>';
|
print '<a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("NotEnoughPermissions")).'">'.$langs->trans("MakeWithdrawRequest").'</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<a class="butActionRefused" href="#">'.$langs->trans("MakeWithdrawRequest").'</a>';
|
if ($num == 0) print '<a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("AlreadyPayed")).'">'.$langs->trans("MakeWithdrawRequest").'</a>';
|
||||||
|
else print '<a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("RequestAlreadyDone")).'">'.$langs->trans("MakeWithdrawRequest").'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</div><br>\n";
|
print "</div><br>\n";
|
||||||
|
|||||||
@ -359,20 +359,12 @@ class PaymentSalary extends CommonObject
|
|||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."payment_salary"); // TODO should be called payment_salary
|
$ok=1;
|
||||||
|
|
||||||
// Start triggers
|
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."payment_salary");
|
||||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
|
||||||
$interface=new Interfaces($this->db);
|
|
||||||
$result=$interface->run_triggers('PAYMENT_SALARY_CREATE',$this,$user,$langs,$conf);
|
|
||||||
if ($result < 0) {
|
|
||||||
$error++; $this->errors=$interface->errors;
|
|
||||||
}
|
|
||||||
// End triggers
|
|
||||||
|
|
||||||
if ($this->id > 0)
|
if ($this->id > 0)
|
||||||
{
|
{
|
||||||
$ok=1;
|
|
||||||
if (! empty($conf->banque->enabled) && ! empty($this->amount))
|
if (! empty($conf->banque->enabled) && ! empty($this->amount))
|
||||||
{
|
{
|
||||||
// Insert into llx_bank
|
// Insert into llx_bank
|
||||||
@ -406,42 +398,53 @@ class PaymentSalary extends CommonObject
|
|||||||
$ok=0;
|
$ok=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add link 'payment_salary' in bank_url between payment and bank transaction
|
if ($ok)
|
||||||
$url=DOL_URL_ROOT.'/compta/salaries/fiche.php?id=';
|
{
|
||||||
|
// Add link 'payment_salary' in bank_url between payment and bank transaction
|
||||||
|
$url=DOL_URL_ROOT.'/compta/salaries/fiche.php?id=';
|
||||||
|
|
||||||
|
$result=$acc->add_url_line($bank_line_id, $this->id, $url, "(SalaryPayment)", "payment_salary");
|
||||||
|
if ($result <= 0)
|
||||||
|
{
|
||||||
|
$this->error=$acc->error;
|
||||||
|
$ok=0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$fuser=new User($this->db);
|
||||||
|
$fuser->fetch($this->fk_user);
|
||||||
|
|
||||||
|
// Add link 'user' in bank_url between operation and bank transaction
|
||||||
|
$result=$acc->add_url_line(
|
||||||
|
$bank_line_id,
|
||||||
|
$this->fk_user,
|
||||||
|
DOL_URL_ROOT.'/user/fiche.php?id=',
|
||||||
|
$langs->trans("SalaryPayment").' '.$fuser->getFullName($langs).' '.dol_print_date($this->datesp,'dayrfc').' '.dol_print_date($this->dateep,'dayrfc'),
|
||||||
|
'(User)',
|
||||||
|
'user'
|
||||||
|
);
|
||||||
|
|
||||||
$result=$acc->add_url_line($bank_line_id, $this->id, $url, "(SalaryPayment)", "payment_salary");
|
|
||||||
if ($result <= 0)
|
if ($result <= 0)
|
||||||
{
|
{
|
||||||
$this->error=$acc->error;
|
$this->error=$acc->error;
|
||||||
$ok=0;
|
$ok=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add link 'user' in bank_url between operation and bank transaction
|
|
||||||
$linkaddedforthirdparty=array();
|
|
||||||
foreach ($this->amounts as $key => $value)
|
|
||||||
{
|
|
||||||
$sal = new PaymentSalary($this->db);
|
|
||||||
|
|
||||||
$sal->fetch($key);
|
|
||||||
$sal->fetch_user($this->fk_user);
|
|
||||||
|
|
||||||
if (! in_array($sal->user->id,$linkaddedforthirdparty)) // Not yet done for this thirdparty
|
|
||||||
{
|
|
||||||
$result=$acc->add_url_line(
|
|
||||||
$bank_line_id,
|
|
||||||
$sal->user->id,
|
|
||||||
DOL_URL_ROOT.'/user/fiche.php?id=',
|
|
||||||
$sal->user->lastname,
|
|
||||||
'user'
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($result <= 0) dol_print_error($this->db);
|
|
||||||
$linkaddedforthirdparty[$sal->user->id]=$sal->user->id; // Mark as done for this thirdparty
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Start triggers
|
||||||
|
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||||
|
$interface=new Interfaces($this->db);
|
||||||
|
$result=$interface->run_triggers('PAYMENT_SALARY_CREATE',$this,$user,$langs,$conf);
|
||||||
|
if ($result < 0) {
|
||||||
|
$error++; $this->errors=$interface->errors;
|
||||||
|
}
|
||||||
|
// End triggers
|
||||||
|
|
||||||
|
}
|
||||||
|
else $ok=0;
|
||||||
|
|
||||||
|
if ($ok)
|
||||||
|
{
|
||||||
if ($ok)
|
if ($ok)
|
||||||
{
|
{
|
||||||
$this->db->commit();
|
$this->db->commit();
|
||||||
|
|||||||
@ -37,14 +37,14 @@ $id=GETPOST("id",'int');
|
|||||||
$action=GETPOST('action');
|
$action=GETPOST('action');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
|
$socid = GETPOST("socid","int");
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
$result = restrictedArea($user, 'tax', '', '', 'charges');
|
$result = restrictedArea($user, 'salaries', '', '', '');
|
||||||
|
|
||||||
$sal = new PaymentSalary($db);
|
$sal = new PaymentSalary($db);
|
||||||
|
|
||||||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
||||||
$hookmanager->initHooks(array('taxsalarycard'));
|
$hookmanager->initHooks(array('salarycard'));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -78,7 +78,13 @@ if ($action == 'add' && $_POST["cancel"] <> $langs->trans("Cancel"))
|
|||||||
$sal->note=GETPOST("note");
|
$sal->note=GETPOST("note");
|
||||||
$sal->type_payment=GETPOST("paymenttype");
|
$sal->type_payment=GETPOST("paymenttype");
|
||||||
$sal->num_payment=GETPOST("num_payment");
|
$sal->num_payment=GETPOST("num_payment");
|
||||||
|
$sal->fk_user_creat=$user->id;
|
||||||
|
|
||||||
|
if (empty($datep) || empty($datesp) || empty($dateep))
|
||||||
|
{
|
||||||
|
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Date")),'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
if (empty($sal->fk_user) || $sal->fk_user < 0)
|
if (empty($sal->fk_user) || $sal->fk_user < 0)
|
||||||
{
|
{
|
||||||
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Employee")),'errors');
|
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Employee")),'errors');
|
||||||
@ -210,11 +216,11 @@ if ($action == 'create')
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print '<td class="fieldrequired">'.$langs->trans("DatePayment").'</td><td>';
|
print '<td class="fieldrequired">'.$langs->trans("DatePayment").'</td><td>';
|
||||||
print $form->select_date($datep,"datep",'','','','add');
|
print $form->select_date((empty($datep)?-1:$datep),"datep",'','','','add',1,1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '<tr><td class="fieldrequired">'.$langs->trans("DateValue").'</td><td>';
|
print '<tr><td>'.$langs->trans("DateValue").'</td><td>';
|
||||||
print $form->select_date($datev,"datev",'','','','add');
|
print $form->select_date((empty($datev)?-1:$datev),"datev",'','','','add',1,1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Employee
|
// Employee
|
||||||
@ -244,13 +250,16 @@ if ($action == 'create')
|
|||||||
print '<tr><td class="fieldrequired">'.$langs->trans("Account").'</td><td>';
|
print '<tr><td class="fieldrequired">'.$langs->trans("Account").'</td><td>';
|
||||||
$form->select_comptes($_POST["accountid"],"accountid",0,"courant=1",1); // Affiche liste des comptes courant
|
$form->select_comptes($_POST["accountid"],"accountid",0,"courant=1",1); // Affiche liste des comptes courant
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
}
|
||||||
|
|
||||||
// Type payment
|
// Type payment
|
||||||
print '<tr><td class="fieldrequired">'.$langs->trans("PaymentMode").'</td><td>';
|
print '<tr><td class="fieldrequired">'.$langs->trans("PaymentMode").'</td><td>';
|
||||||
$form->select_types_paiements(GETPOST("paymenttype"), "paymenttype");
|
$form->select_types_paiements(GETPOST("paymenttype"), "paymenttype");
|
||||||
print "</td>\n";
|
print "</td>\n";
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
|
if (! empty($conf->banque->enabled))
|
||||||
|
{
|
||||||
// Number
|
// Number
|
||||||
print '<tr><td>'.$langs->trans('Numero');
|
print '<tr><td>'.$langs->trans('Numero');
|
||||||
print ' <em>('.$langs->trans("ChequeOrTransferNumber").')</em>';
|
print ' <em>('.$langs->trans("ChequeOrTransferNumber").')</em>';
|
||||||
|
|||||||
@ -29,9 +29,9 @@ $langs->load("salaries");
|
|||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
|
$socid = GETPOST("socid","int");
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
$result = restrictedArea($user, 'tax', '', '', 'charges');
|
$result = restrictedArea($user, 'salaries', '', '', '');
|
||||||
|
|
||||||
$sortfield = GETPOST("sortfield",'alpha');
|
$sortfield = GETPOST("sortfield",'alpha');
|
||||||
$sortorder = GETPOST("sortorder",'alpha');
|
$sortorder = GETPOST("sortorder",'alpha');
|
||||||
|
|||||||
@ -60,7 +60,7 @@ if (isset($_GET["modetax"])) $modetax=$_GET["modetax"];
|
|||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
* @param string $sql SQL Request
|
* @param string $sql SQL Request
|
||||||
* @param date $date Date
|
* @param date $date Date
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function pt ($db, $sql, $date)
|
function pt ($db, $sql, $date)
|
||||||
@ -122,17 +122,17 @@ print $langs->trans("VATReportBuildWithOptionDefinedInModule").'<br>';
|
|||||||
print '('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')<br>';
|
print '('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')<br>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
echo '<table width="100%" class="notopnoleftnoright">';
|
print '<table width="100%" class="notopnoleftnoright">';
|
||||||
echo '<tr><td class="notopnoleft" width="50%">';
|
print '<tr><td class="notopnoleft" width="50%">';
|
||||||
print_titre($langs->trans("VATSummary"));
|
print_titre($langs->trans("VATSummary"));
|
||||||
// The report mode is the one defined by defaut in tax module setup
|
// The report mode is the one defined by defaut in tax module setup
|
||||||
//print $modetax;
|
//print $modetax;
|
||||||
//print '('.$langs->trans("SeeVATReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=0">','</a>').')';
|
//print '('.$langs->trans("SeeVATReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=0">','</a>').')';
|
||||||
echo '</td><td>';
|
print '</td><td>';
|
||||||
print_titre($langs->trans("VATPaid"));
|
print_titre($langs->trans("VATPaid"));
|
||||||
echo '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
echo '<tr><td class="notopnoleft" width="50%" valign="top">';
|
print '<tr><td class="notopnoleft" width="50%" valign="top">';
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
@ -230,7 +230,7 @@ print '</tr>';
|
|||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
|
||||||
echo '</td>';
|
print '</td>';
|
||||||
print '<td class="notopnoleftnoright" valign="top" width="50%">';
|
print '<td class="notopnoleftnoright" valign="top" width="50%">';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -242,15 +242,15 @@ $sql.= " FROM ".MAIN_DB_PREFIX."tva as f";
|
|||||||
$sql.= " WHERE f.entity = ".$conf->entity;
|
$sql.= " WHERE f.entity = ".$conf->entity;
|
||||||
$sql.= " AND f.datev >= '".$db->idate(dol_get_first_day($y,1,false))."'";
|
$sql.= " AND f.datev >= '".$db->idate(dol_get_first_day($y,1,false))."'";
|
||||||
$sql.= " AND f.datev <= '".$db->idate(dol_get_last_day($y,12,false))."'";
|
$sql.= " AND f.datev <= '".$db->idate(dol_get_last_day($y,12,false))."'";
|
||||||
$sql.= " GROUP BY dm ORDER BY dm ASC";
|
$sql.= " GROUP BY dm ORDER BY dm ASC";
|
||||||
|
|
||||||
pt($db, $sql,$langs->trans("Year")." $y");
|
pt($db, $sql,$langs->trans("Year")." $y");
|
||||||
|
|
||||||
|
|
||||||
print "</td></tr></table>";
|
print "</td></tr></table>";
|
||||||
|
|
||||||
echo '</td></tr>';
|
print '</td></tr>';
|
||||||
echo '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
|
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
|
||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
* Copyright (C) 2013 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
||||||
|
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -105,11 +106,11 @@ if (empty($reshook))
|
|||||||
|
|
||||||
// Creation user
|
// Creation user
|
||||||
$nuser = new User($db);
|
$nuser = new User($db);
|
||||||
$result=$nuser->create_from_contact($object,$_POST["login"]);
|
$result=$nuser->create_from_contact($object,GETPOST("login")); // Do not use GETPOST(alpha)
|
||||||
|
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
$result2=$nuser->setPassword($user,$_POST["password"],0,0,1);
|
$result2=$nuser->setPassword($user,GETPOST("password"),0,0,1); // Do not use GETPOST(alpha)
|
||||||
if ($result2)
|
if ($result2)
|
||||||
{
|
{
|
||||||
$db->commit();
|
$db->commit();
|
||||||
@ -159,37 +160,37 @@ if (empty($reshook))
|
|||||||
|
|
||||||
if ($canvas) $object->canvas=$canvas;
|
if ($canvas) $object->canvas=$canvas;
|
||||||
|
|
||||||
$object->socid = $_POST["socid"];
|
$object->socid = GETPOST("socid",'int');
|
||||||
$object->lastname = $_POST["lastname"];
|
$object->lastname = GETPOST("lastname");
|
||||||
$object->firstname = $_POST["firstname"];
|
$object->firstname = GETPOST("firstname");
|
||||||
$object->civility_id = $_POST["civility_id"];
|
$object->civility_id = GETPOST("civility_id",'alpha');
|
||||||
$object->poste = $_POST["poste"];
|
$object->poste = GETPOST("poste");
|
||||||
$object->address = $_POST["address"];
|
$object->address = GETPOST("address");
|
||||||
$object->zip = $_POST["zipcode"];
|
$object->zip = GETPOST("zipcode");
|
||||||
$object->town = $_POST["town"];
|
$object->town = GETPOST("town");
|
||||||
$object->country_id = $_POST["country_id"];
|
$object->country_id = GETPOST("country_id",'int');
|
||||||
$object->state_id = $_POST["state_id"];
|
$object->state_id = GETPOST("state_id",'int');
|
||||||
$object->skype = $_POST["skype"];
|
$object->skype = GETPOST("skype");
|
||||||
$object->email = $_POST["email"];
|
$object->email = GETPOST("email",'alpha');
|
||||||
$object->phone_pro = $_POST["phone_pro"];
|
$object->phone_pro = GETPOST("phone_pro");
|
||||||
$object->phone_perso = $_POST["phone_perso"];
|
$object->phone_perso = GETPOST("phone_perso");
|
||||||
$object->phone_mobile = $_POST["phone_mobile"];
|
$object->phone_mobile = GETPOST("phone_mobile");
|
||||||
$object->fax = $_POST["fax"];
|
$object->fax = GETPOST("fax");
|
||||||
$object->jabberid = $_POST["jabberid"];
|
$object->jabberid = GETPOST("jabberid",'alpha');
|
||||||
$object->no_email = $_POST["no_email"];
|
$object->no_email = GETPOST("no_email",'int');
|
||||||
$object->priv = $_POST["priv"];
|
$object->priv = GETPOST("priv",'int');
|
||||||
$object->note_public = GETPOST("note_public");
|
$object->note_public = GETPOST("note_public");
|
||||||
$object->note_private = GETPOST("note_private");
|
$object->note_private = GETPOST("note_private");
|
||||||
$object->statut = 1; //Defult status to Actif
|
$object->statut = 1; //Defult status to Actif
|
||||||
|
|
||||||
// Note: Correct date should be completed with location to have exact GM time of birth.
|
// Note: Correct date should be completed with location to have exact GM time of birth.
|
||||||
$object->birthday = dol_mktime(0,0,0,$_POST["birthdaymonth"],$_POST["birthdayday"],$_POST["birthdayyear"]);
|
$object->birthday = dol_mktime(0,0,0,GETPOST("birthdaymonth",'int'),GETPOST("birthdayday",'int'),GETPOST("birthdayyear",'int'));
|
||||||
$object->birthday_alert = $_POST["birthday_alert"];
|
$object->birthday_alert = GETPOST("birthday_alert",'alpha');
|
||||||
|
|
||||||
// Fill array 'array_options' with data from add form
|
// Fill array 'array_options' with data from add form
|
||||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||||
|
|
||||||
if (! $_POST["lastname"])
|
if (! GETPOST("lastname"))
|
||||||
{
|
{
|
||||||
$error++; $errors[]=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Lastname").' / '.$langs->transnoentities("Label"));
|
$error++; $errors[]=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Lastname").' / '.$langs->transnoentities("Label"));
|
||||||
$action = 'create';
|
$action = 'create';
|
||||||
@ -223,8 +224,8 @@ if (empty($reshook))
|
|||||||
{
|
{
|
||||||
$result=$object->fetch($id);
|
$result=$object->fetch($id);
|
||||||
|
|
||||||
$object->old_lastname = $_POST["old_lastname"];
|
$object->old_lastname = GETPOST("old_lastname");
|
||||||
$object->old_firstname = $_POST["old_firstname"];
|
$object->old_firstname = GETPOST("old_firstname");
|
||||||
|
|
||||||
$result = $object->delete();
|
$result = $object->delete();
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
@ -254,30 +255,30 @@ if (empty($reshook))
|
|||||||
|
|
||||||
$object->oldcopy=dol_clone($object);
|
$object->oldcopy=dol_clone($object);
|
||||||
|
|
||||||
$object->old_lastname = $_POST["old_lastname"];
|
$object->old_lastname = GETPOST("old_lastname");
|
||||||
$object->old_firstname = $_POST["old_firstname"];
|
$object->old_firstname = GETPOST("old_firstname");
|
||||||
|
|
||||||
$object->socid = $_POST["socid"];
|
$object->socid = GETPOST("socid",'int');
|
||||||
$object->lastname = $_POST["lastname"];
|
$object->lastname = GETPOST("lastname");
|
||||||
$object->firstname = $_POST["firstname"];
|
$object->firstname = GETPOST("firstname");
|
||||||
$object->civility_id = $_POST["civility_id"];
|
$object->civility_id = GETPOST("civility_id",'alpha');
|
||||||
$object->poste = $_POST["poste"];
|
$object->poste = GETPOST("poste");
|
||||||
|
|
||||||
$object->address = $_POST["address"];
|
$object->address = GETPOST("address");
|
||||||
$object->zip = $_POST["zipcode"];
|
$object->zip = GETPOST("zipcode");
|
||||||
$object->town = $_POST["town"];
|
$object->town = GETPOST("town");
|
||||||
$object->state_id = $_POST["state_id"];
|
$object->state_id = GETPOST("state_id",'int');
|
||||||
$object->country_id = $_POST["country_id"];
|
$object->country_id = GETPOST("country_id",'int');
|
||||||
|
|
||||||
$object->email = $_POST["email"];
|
$object->email = GETPOST("email",'alpha');
|
||||||
$object->skype = $_POST["skype"];
|
$object->skype = GETPOST("skype",'alpha');
|
||||||
$object->phone_pro = $_POST["phone_pro"];
|
$object->phone_pro = GETPOST("phone_pro");
|
||||||
$object->phone_perso = $_POST["phone_perso"];
|
$object->phone_perso = GETPOST("phone_perso");
|
||||||
$object->phone_mobile = $_POST["phone_mobile"];
|
$object->phone_mobile = GETPOST("phone_mobile");
|
||||||
$object->fax = $_POST["fax"];
|
$object->fax = GETPOST("fax");
|
||||||
$object->jabberid = $_POST["jabberid"];
|
$object->jabberid = GETPOST("jabberid",'alpha');
|
||||||
$object->no_email = $_POST["no_email"];
|
$object->no_email = GETPOST("no_email",'int');
|
||||||
$object->priv = $_POST["priv"];
|
$object->priv = GETPOST("priv",'int');
|
||||||
$object->note_public = GETPOST("note_public");
|
$object->note_public = GETPOST("note_public");
|
||||||
$object->note_private = GETPOST("note_private");
|
$object->note_private = GETPOST("note_private");
|
||||||
|
|
||||||
@ -423,8 +424,8 @@ else
|
|||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
// Name
|
// Name
|
||||||
print '<tr><td width="20%" class="fieldrequired">'.$langs->trans("Lastname").' / '.$langs->trans("Label").'</td><td width="30%"><input name="lastname" type="text" size="30" maxlength="80" value="'.(isset($_POST["lastname"])?$_POST["lastname"]:$object->lastname).'"></td>';
|
print '<tr><td width="20%" class="fieldrequired">'.$langs->trans("Lastname").' / '.$langs->trans("Label").'</td><td width="30%"><input name="lastname" type="text" size="30" maxlength="80" value="'.dol_escape_htmltag(GETPOST("lastname")?GETPOST("lastname"):$object->lastname).'"></td>';
|
||||||
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="30%"><input name="firstname" type="text" size="30" maxlength="80" value="'.(isset($_POST["firstname"])?$_POST["firstname"]:$object->firstname).'"></td></tr>';
|
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="30%"><input name="firstname" type="text" size="30" maxlength="80" value="'.dol_escape_htmltag(GETPOST("firstname")?GETPOST("firstname"):$object->firstname).'"></td></tr>';
|
||||||
|
|
||||||
// Company
|
// Company
|
||||||
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
|
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
|
||||||
@ -447,10 +448,10 @@ else
|
|||||||
|
|
||||||
// Civility
|
// Civility
|
||||||
print '<tr><td width="15%">'.$langs->trans("UserTitle").'</td><td colspan="3">';
|
print '<tr><td width="15%">'.$langs->trans("UserTitle").'</td><td colspan="3">';
|
||||||
print $formcompany->select_civility(isset($_POST["civility_id"])?$_POST["civility_id"]:$object->civility_id);
|
print $formcompany->select_civility(GETPOST("civility_id",'alpha')?GETPOST("civility_id",'alpha'):$object->civility_id);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '<tr><td>'.$langs->trans("PostOrFunction").'</td><td colspan="3"><input name="poste" type="text" size="50" maxlength="80" value="'.(isset($_POST["poste"])?$_POST["poste"]:$object->poste).'"></td>';
|
print '<tr><td>'.$langs->trans("PostOrFunction").'</td><td colspan="3"><input name="poste" type="text" size="50" maxlength="80" value="'.dol_escape_htmltag(GETPOST("poste",'alpha')?GETPOST("poste",'alpha'):$object->poste).'"></td>';
|
||||||
|
|
||||||
$colspan=3;
|
$colspan=3;
|
||||||
if ($conf->use_javascript_ajax && $socid > 0) $colspan=2;
|
if ($conf->use_javascript_ajax && $socid > 0) $colspan=2;
|
||||||
@ -458,7 +459,7 @@ else
|
|||||||
// Address
|
// Address
|
||||||
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->address)) == 0) $object->address = $objsoc->address; // Predefined with third party
|
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->address)) == 0) $object->address = $objsoc->address; // Predefined with third party
|
||||||
print '<tr><td>'.$langs->trans("Address");
|
print '<tr><td>'.$langs->trans("Address");
|
||||||
print '</td><td colspan="'.$colspan.'"><textarea class="flat" name="address" cols="70">'.(isset($_POST["address"])?$_POST["address"]:$object->address).'</textarea></td>';
|
print '</td><td colspan="'.$colspan.'"><textarea class="flat" name="address" cols="70">'.(GETPOST("address",'alpha')?GETPOST("address",'alpha'):$object->address).'</textarea></td>';
|
||||||
|
|
||||||
if ($conf->use_javascript_ajax && $socid > 0)
|
if ($conf->use_javascript_ajax && $socid > 0)
|
||||||
{
|
{
|
||||||
@ -475,13 +476,13 @@ else
|
|||||||
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->zip)) == 0) $object->zip = $objsoc->zip; // Predefined with third party
|
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->zip)) == 0) $object->zip = $objsoc->zip; // Predefined with third party
|
||||||
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->town)) == 0) $object->town = $objsoc->town; // Predefined with third party
|
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->town)) == 0) $object->town = $objsoc->town; // Predefined with third party
|
||||||
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td colspan="'.$colspan.'" class="maxwidthonsmartphone">';
|
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td colspan="'.$colspan.'" class="maxwidthonsmartphone">';
|
||||||
print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6).' ';
|
print $formcompany->select_ziptown((GETPOST("zipcode")?GETPOST("zipcode"):$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6).' ';
|
||||||
print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','state_id'));
|
print $formcompany->select_ziptown((GETPOST("town")?GETPOST("town"):$object->town),'town',array('zipcode','selectcountry_id','state_id'));
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Country
|
// Country
|
||||||
print '<tr><td>'.$langs->trans("Country").'</td><td colspan="'.$colspan.'" class="maxwidthonsmartphone">';
|
print '<tr><td>'.$langs->trans("Country").'</td><td colspan="'.$colspan.'" class="maxwidthonsmartphone">';
|
||||||
print $form->select_country((isset($_POST["country_id"])?$_POST["country_id"]:$object->country_id),'country_id');
|
print $form->select_country((GETPOST("country_id",'alpha')?GETPOST("country_id",'alpha'):$object->country_id),'country_id');
|
||||||
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1);
|
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
@ -491,7 +492,7 @@ else
|
|||||||
print '<tr><td>'.$langs->trans('State').'</td><td colspan="'.$colspan.'" class="maxwidthonsmartphone">';
|
print '<tr><td>'.$langs->trans('State').'</td><td colspan="'.$colspan.'" class="maxwidthonsmartphone">';
|
||||||
if ($object->country_id)
|
if ($object->country_id)
|
||||||
{
|
{
|
||||||
print $formcompany->select_state(isset($_POST["state_id"])?$_POST["state_id"]:$object->state_id,$object->country_code,'state_id');
|
print $formcompany->select_state(GETPOST("state_id",'alpha')?GETPOST("state_id",'alpha'):$object->state_id,$object->country_code,'state_id');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -502,19 +503,19 @@ else
|
|||||||
|
|
||||||
// Phone / Fax
|
// Phone / Fax
|
||||||
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->phone_pro)) == 0) $object->phone_pro = $objsoc->phone; // Predefined with third party
|
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->phone_pro)) == 0) $object->phone_pro = $objsoc->phone; // Predefined with third party
|
||||||
print '<tr><td>'.$langs->trans("PhonePro").'</td><td><input name="phone_pro" id="phone_pro" type="text" size="18" maxlength="80" value="'.(isset($_POST["phone_pro"])?$_POST["phone_pro"]:$object->phone_pro).'"></td>';
|
print '<tr><td>'.$langs->trans("PhonePro").'</td><td><input name="phone_pro" id="phone_pro" type="text" size="18" maxlength="80" value="'.dol_escape_htmltag(GETPOST("phone_pro")?GETPOST("phone_pro"):$object->phone_pro).'"></td>';
|
||||||
print '<td>'.$langs->trans("PhonePerso").'</td><td><input name="phone_perso" id="phone_perso" type="text" size="18" maxlength="80" value="'.(isset($_POST["phone_perso"])?$_POST["phone_perso"]:$object->phone_perso).'"></td></tr>';
|
print '<td>'.$langs->trans("PhonePerso").'</td><td><input name="phone_perso" id="phone_perso" type="text" size="18" maxlength="80" value="'.dol_escape_htmltag(GETPOST("phone_perso")?GETPOST("phone_perso"):$object->phone_perso).'"></td></tr>';
|
||||||
|
|
||||||
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->fax)) == 0) $object->fax = $objsoc->fax; // Predefined with third party
|
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->fax)) == 0) $object->fax = $objsoc->fax; // Predefined with third party
|
||||||
print '<tr><td>'.$langs->trans("PhoneMobile").'</td><td><input name="phone_mobile" id="phone_mobile" type="text" size="18" maxlength="80" value="'.(isset($_POST["phone_mobile"])?$_POST["phone_mobile"]:$object->phone_mobile).'"></td>';
|
print '<tr><td>'.$langs->trans("PhoneMobile").'</td><td><input name="phone_mobile" id="phone_mobile" type="text" size="18" maxlength="80" value="'.dol_escape_htmltag(GETPOST("phone_mobile")?GETPOST("phone_mobile"):$object->phone_mobile).'"></td>';
|
||||||
print '<td>'.$langs->trans("Fax").'</td><td><input name="fax" id="fax" type="text" size="18" maxlength="80" value="'.(isset($_POST["fax"])?$_POST["fax"]:$object->fax).'"></td></tr>';
|
print '<td>'.$langs->trans("Fax").'</td><td><input name="fax" id="fax" type="text" size="18" maxlength="80" value="'.dol_escape_htmltag(GETPOST("fax",'alpha')?GETPOST("fax",'alpha'):$object->fax).'"></td></tr>';
|
||||||
|
|
||||||
// EMail
|
// EMail
|
||||||
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->email)) == 0) $object->email = $objsoc->email; // Predefined with third party
|
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->email)) == 0) $object->email = $objsoc->email; // Predefined with third party
|
||||||
print '<tr><td>'.$langs->trans("Email").'</td><td><input name="email" id="email" type="text" size="50" maxlength="80" value="'.(isset($_POST["email"])?$_POST["email"]:$object->email).'"></td>';
|
print '<tr><td>'.$langs->trans("Email").'</td><td><input name="email" id="email" type="text" size="50" maxlength="80" value="'.(GETPOST("email",'alpha')?GETPOST("email",'alpha'):$object->email).'"></td>';
|
||||||
if (! empty($conf->mailing->enabled))
|
if (! empty($conf->mailing->enabled))
|
||||||
{
|
{
|
||||||
print '<td>'.$langs->trans("No_Email").'</td><td>'.$form->selectyesno('no_email',(isset($_POST["no_email"])?$_POST["no_email"]:$object->no_email), 1).'</td>';
|
print '<td>'.$langs->trans("No_Email").'</td><td>'.$form->selectyesno('no_email',(GETPOST("no_email",'alpha')?GETPOST("no_email",'alpha'):$object->no_email), 1).'</td>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -523,18 +524,18 @@ else
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Instant message and no email
|
// Instant message and no email
|
||||||
print '<tr><td>'.$langs->trans("IM").'</td><td colspan="3"><input name="jabberid" type="text" size="50" maxlength="80" value="'.(isset($_POST["jabberid"])?$_POST["jabberid"]:$object->jabberid).'"></td></tr>';
|
print '<tr><td>'.$langs->trans("IM").'</td><td colspan="3"><input name="jabberid" type="text" size="50" maxlength="80" value="'.(GETPOST("jabberid",'alpha')?GETPOST("jabberid",'alpha'):$object->jabberid).'"></td></tr>';
|
||||||
|
|
||||||
// Skype
|
// Skype
|
||||||
if (! empty($conf->skype->enabled))
|
if (! empty($conf->skype->enabled))
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans("Skype").'</td><td colspan="3"><input name="skype" type="text" size="50" maxlength="80" value="'.(isset($_POST["skype"])?$_POST["skype"]:$object->skype).'"></td></tr>';
|
print '<tr><td>'.$langs->trans("Skype").'</td><td colspan="3"><input name="skype" type="text" size="50" maxlength="80" value="'.(GETPOST("skype",'alpha')?GETPOST("skype",'alpha'):$object->skype).'"></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Visibility
|
// Visibility
|
||||||
print '<tr><td>'.$langs->trans("ContactVisibility").'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans("ContactVisibility").'</td><td colspan="3">';
|
||||||
$selectarray=array('0'=>$langs->trans("ContactPublic"),'1'=>$langs->trans("ContactPrivate"));
|
$selectarray=array('0'=>$langs->trans("ContactPublic"),'1'=>$langs->trans("ContactPrivate"));
|
||||||
print $form->selectarray('priv',$selectarray,(isset($_POST["priv"])?$_POST["priv"]:$object->priv),0);
|
print $form->selectarray('priv',$selectarray,(GETPOST("priv",'alpha')?GETPOST("priv",'alpha'):$object->priv),0);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Other attributes
|
// Other attributes
|
||||||
|
|||||||
@ -1099,18 +1099,14 @@ else
|
|||||||
*/
|
*/
|
||||||
$productstatic=new Product($db);
|
$productstatic=new Product($db);
|
||||||
|
|
||||||
|
|
||||||
|
$usemargins=0;
|
||||||
|
if (! empty($conf->margin->enabled) && ! empty($object->element) && in_array($object->element,array('facture','propal','commande'))) $usemargins=1;
|
||||||
|
|
||||||
// Title line for service
|
// Title line for service
|
||||||
//print '<table class="notopnoleft allwidth">'; // Array with (n*2)+1 lines
|
|
||||||
$cursorline=1;
|
$cursorline=1;
|
||||||
while ($cursorline <= $nbofservices)
|
while ($cursorline <= $nbofservices)
|
||||||
{
|
{
|
||||||
//print '<tr '.$bc[false].'>';
|
|
||||||
//print '<td width="90" style="border-left: 1px solid #'.$colorb.'; border-top: 1px solid #'.$colorb.'; border-bottom: 1px solid #'.$colorb.';">';
|
|
||||||
//print $langs->trans("ServiceNb",$cursorline).'</td>';
|
|
||||||
|
|
||||||
// print '<td class="tab" style="border-right: 1px solid #'.$colorb.'; border-top: 1px solid #'.$colorb.'; border-bottom: 1px solid #'.$colorb.';" rowspan="2">';
|
|
||||||
|
|
||||||
|
|
||||||
print '<form name="update" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'" method="post">';
|
print '<form name="update" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'" method="post">';
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print '<input type="hidden" name="action" value="updateligne">';
|
print '<input type="hidden" name="action" value="updateligne">';
|
||||||
@ -1119,7 +1115,7 @@ else
|
|||||||
print '<input type="hidden" name="fournprice" value="'.($objp->fk_fournprice?$objp->fk_fournprice:'0').'">';
|
print '<input type="hidden" name="fournprice" value="'.($objp->fk_fournprice?$objp->fk_fournprice:'0').'">';
|
||||||
|
|
||||||
// Area with common detail of line
|
// Area with common detail of line
|
||||||
print '<table class="notopnoleft allwidth" width="100%">';
|
print '<table class="notopnoleftnoright allwidth tableforservicepart1" width="100%">';
|
||||||
|
|
||||||
$sql = "SELECT cd.rowid, cd.statut, cd.label as label_det, cd.fk_product, cd.description, cd.price_ht, cd.qty,";
|
$sql = "SELECT cd.rowid, cd.statut, cd.label as label_det, cd.fk_product, cd.description, cd.price_ht, cd.qty,";
|
||||||
$sql.= " cd.tva_tx, cd.remise_percent, cd.info_bits, cd.subprice,";
|
$sql.= " cd.tva_tx, cd.remise_percent, cd.info_bits, cd.subprice,";
|
||||||
@ -1289,10 +1285,10 @@ else
|
|||||||
print '<td align="right"><input size="5" type="text" name="elprice" value="'.price($objp->subprice).'"></td>';
|
print '<td align="right"><input size="5" type="text" name="elprice" value="'.price($objp->subprice).'"></td>';
|
||||||
print '<td align="center"><input size="2" type="text" name="elqty" value="'.$objp->qty.'"></td>';
|
print '<td align="center"><input size="2" type="text" name="elqty" value="'.$objp->qty.'"></td>';
|
||||||
print '<td align="right" class="nowrap"><input size="1" type="text" name="elremise_percent" value="'.$objp->remise_percent.'">%</td>';
|
print '<td align="right" class="nowrap"><input size="1" type="text" name="elremise_percent" value="'.$objp->remise_percent.'">%</td>';
|
||||||
if ($conf->margin->enabled) {
|
if (! empty($usemargins))
|
||||||
|
{
|
||||||
print '<td align="right">';
|
print '<td align="right">';
|
||||||
if ($objp->fk_product)
|
if ($objp->fk_product) print '<select id="fournprice" name="fournprice"></select>';
|
||||||
print '<select id="fournprice" name="fournprice"></select>';
|
|
||||||
print '<input id="buying_price" type="text" size="5" name="buying_price" value="'.price($objp->pa_ht,0,'',0).'"></td>';
|
print '<input id="buying_price" type="text" size="5" name="buying_price" value="'.price($objp->pa_ht,0,'',0).'"></td>';
|
||||||
}
|
}
|
||||||
print '<td align="center" rowspan="2" valign="middle"><input type="submit" class="button" name="save" value="'.$langs->trans("Modify").'">';
|
print '<td align="center" rowspan="2" valign="middle"><input type="submit" class="button" name="save" value="'.$langs->trans("Modify").'">';
|
||||||
@ -1389,7 +1385,7 @@ else
|
|||||||
// Area with status and activation info of line
|
// Area with status and activation info of line
|
||||||
if ($object->statut > 0)
|
if ($object->statut > 0)
|
||||||
{
|
{
|
||||||
print '<table class="notopnoleft" width="100%">';
|
print '<table class="notopnoleftnoright tableforservicepart2" width="100%">';
|
||||||
|
|
||||||
print '<tr '.$bc[false].'>';
|
print '<tr '.$bc[false].'>';
|
||||||
print '<td>'.$langs->trans("ServiceStatus").': '.$object->lines[$cursorline-1]->getLibStatut(4).'</td>';
|
print '<td>'.$langs->trans("ServiceStatus").': '.$object->lines[$cursorline-1]->getLibStatut(4).'</td>';
|
||||||
@ -1447,8 +1443,7 @@ else
|
|||||||
print '<form name="active" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&ligne='.GETPOST('ligne').'&action=active" method="post">';
|
print '<form name="active" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&ligne='.GETPOST('ligne').'&action=active" method="post">';
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="notopnoleftnoright" width="100%">';
|
||||||
//print '<tr class="liste_titre"><td colspan="5">'.$langs->trans("Status").'</td></tr>';
|
|
||||||
|
|
||||||
// Definie date debut et fin par defaut
|
// Definie date debut et fin par defaut
|
||||||
$dateactstart = $objp->date_debut;
|
$dateactstart = $objp->date_debut;
|
||||||
@ -1540,15 +1535,8 @@ else
|
|||||||
print '</form>';
|
print '</form>';
|
||||||
}
|
}
|
||||||
|
|
||||||
/* print '</td>'; // End td if line is 1
|
|
||||||
|
|
||||||
print '</tr>';
|
|
||||||
print '<tr><td style="border-right: 1px solid #'.$colorb.'"> </td></tr>';*/
|
|
||||||
|
|
||||||
$cursorline++;
|
$cursorline++;
|
||||||
}
|
}
|
||||||
//print '</table>';
|
|
||||||
|
|
||||||
|
|
||||||
// Form to add new line
|
// Form to add new line
|
||||||
if ($user->rights->contrat->creer && ($object->statut >= 0))
|
if ($user->rights->contrat->creer && ($object->statut >= 0))
|
||||||
|
|||||||
@ -110,7 +110,7 @@ abstract class CommonDocGenerator
|
|||||||
'mycompany_web'=>$mysoc->url,
|
'mycompany_web'=>$mysoc->url,
|
||||||
'mycompany_juridicalstatus'=>$mysoc->forme_juridique,
|
'mycompany_juridicalstatus'=>$mysoc->forme_juridique,
|
||||||
'mycompany_managers'=>$mysoc->managers,
|
'mycompany_managers'=>$mysoc->managers,
|
||||||
'mycompany_capital'=>$mysoc->capital,
|
'mycompany_capital'=>$mysoc->capital,
|
||||||
'mycompany_barcode'=>$mysoc->barcode,
|
'mycompany_barcode'=>$mysoc->barcode,
|
||||||
'mycompany_idprof1'=>$mysoc->idprof1,
|
'mycompany_idprof1'=>$mysoc->idprof1,
|
||||||
'mycompany_idprof2'=>$mysoc->idprof2,
|
'mycompany_idprof2'=>$mysoc->idprof2,
|
||||||
@ -254,24 +254,22 @@ abstract class CommonDocGenerator
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Retrieve extrafields
|
// Retrieve extrafields
|
||||||
if (is_array($object->array_options) && count($object->array_options)) {
|
require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
|
$extrafields = new ExtraFields($this->db);
|
||||||
$extrafields = new ExtraFields($this->db);
|
$extralabels = $extrafields->fetch_name_optionals_label('socpeople', true);
|
||||||
$extralabels = $extrafields->fetch_name_optionals_label('contact', true);
|
$object->fetch_optionals($object->id, $extralabels);
|
||||||
$object->fetch_optionals($object->id, $extralabels);
|
|
||||||
|
|
||||||
foreach($extrafields->attribute_label as $key => $label)
|
foreach($extrafields->attribute_label as $key => $label)
|
||||||
|
{
|
||||||
|
if ($extrafields->attribute_type[$key] == 'price')
|
||||||
{
|
{
|
||||||
if ($extrafields->attribute_type[$key] == 'price')
|
$object->array_options['options_' . $key] = price($object->array_options ['options_' . $key], 0, $outputlangs, 0, 0, - 1, $conf->currency);
|
||||||
{
|
|
||||||
$object->array_options['options_' . $key] = price($object->array_options ['options_' . $key], 0, $outputlangs, 0, 0, - 1, $conf->currency);
|
|
||||||
}
|
|
||||||
elseif($extrafields->attribute_type[$key] == 'select')
|
|
||||||
{
|
|
||||||
$object->array_options['options_' . $key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_' . $key]];
|
|
||||||
}
|
|
||||||
$array_contact = array_merge($array_contact, array('contact_options_' . $key => $object->array_options['options_'. $key]));
|
|
||||||
}
|
}
|
||||||
|
elseif($extrafields->attribute_type[$key] == 'select')
|
||||||
|
{
|
||||||
|
$object->array_options['options_' . $key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_' . $key]];
|
||||||
|
}
|
||||||
|
$array_contact = array_merge($array_contact, array($array_key.'_options_' . $key => $object->array_options['options_'. $key]));
|
||||||
}
|
}
|
||||||
return $array_contact;
|
return $array_contact;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,6 +53,42 @@ abstract class CommonObject
|
|||||||
// No constructor as it is an abstract class
|
// No constructor as it is an abstract class
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check an object id/ref exists
|
||||||
|
* If you don't need/want to instantiate object and just need to know if object exists, use this method instead of fetch
|
||||||
|
*
|
||||||
|
* @param string $element String of element ('product', 'facture', ...)
|
||||||
|
* @param int $id Id of object
|
||||||
|
* @param string $ref Ref of object to check
|
||||||
|
* @param string $ref_ext Ref ext of object to check
|
||||||
|
* @return int <0 if KO, 0 if OK but not found, >0 if OK and exists
|
||||||
|
*/
|
||||||
|
static function isExistingObject($element, $id, $ref='', $ref_ext='')
|
||||||
|
{
|
||||||
|
global $db;
|
||||||
|
|
||||||
|
$sql = "SELECT rowid, ref, ref_ext";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX.$element;
|
||||||
|
if ($id > 0) $sql.= " WHERE rowid = ".$db->escape($id);
|
||||||
|
else if ($ref) $sql.= " WHERE ref = '".$db->escape($ref)."'";
|
||||||
|
else if ($ref_ext) $sql.= " WHERE ref_ext = '".$db->escape($ref_ext)."'";
|
||||||
|
else {
|
||||||
|
$error='ErrorWrongParameters';
|
||||||
|
dol_print_error(get_class()."::isExistingObject ".$error, LOG_ERR);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
dol_syslog(get_class()."::isExistingObject sql=".$sql);
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$num=$db->num_rows($resql);
|
||||||
|
if ($num > 0) return 1;
|
||||||
|
else return 0;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method to output saved errors
|
* Method to output saved errors
|
||||||
*
|
*
|
||||||
@ -114,33 +150,6 @@ abstract class CommonObject
|
|||||||
return dol_format_address($this, $withcountry, $sep);
|
return dol_format_address($this, $withcountry, $sep);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if ref is used.
|
|
||||||
*
|
|
||||||
* @return int <0 if KO, 0 if not found, >0 if found
|
|
||||||
*/
|
|
||||||
function verifyNumRef()
|
|
||||||
{
|
|
||||||
global $conf;
|
|
||||||
|
|
||||||
$sql = "SELECT rowid";
|
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element;
|
|
||||||
$sql.= " WHERE ref = '".$this->ref."'";
|
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
|
||||||
dol_syslog(get_class($this)."::verifyNumRef sql=".$sql, LOG_DEBUG);
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$num = $this->db->num_rows($resql);
|
|
||||||
return $num;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->error=$this->db->lasterror();
|
|
||||||
dol_syslog(get_class($this)."::verifyNumRef ".$this->error, LOG_ERR);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a link between element $this->element and a contact
|
* Add a link between element $this->element and a contact
|
||||||
@ -1827,9 +1836,6 @@ abstract class CommonObject
|
|||||||
else if ($objecttype == 'invoice_supplier' || $objecttype == 'order_supplier') {
|
else if ($objecttype == 'invoice_supplier' || $objecttype == 'order_supplier') {
|
||||||
$classpath = 'fourn/class'; $module = 'fournisseur';
|
$classpath = 'fourn/class'; $module = 'fournisseur';
|
||||||
}
|
}
|
||||||
else if ($objecttype == 'order_supplier') {
|
|
||||||
$classpath = 'fourn/class';
|
|
||||||
}
|
|
||||||
else if ($objecttype == 'fichinter') {
|
else if ($objecttype == 'fichinter') {
|
||||||
$classpath = 'fichinter/class'; $subelement = 'fichinter'; $module = 'ficheinter';
|
$classpath = 'fichinter/class'; $subelement = 'fichinter'; $module = 'ficheinter';
|
||||||
}
|
}
|
||||||
@ -2055,7 +2061,7 @@ abstract class CommonObject
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get special code of line
|
* Get special code of a line
|
||||||
*
|
*
|
||||||
* @param int $lineid Id of line
|
* @param int $lineid Id of line
|
||||||
* @return int Special code
|
* @return int Special code
|
||||||
@ -2721,7 +2727,7 @@ abstract class CommonObject
|
|||||||
*/
|
*/
|
||||||
function printObjectLines($action, $seller, $buyer, $selected=0, $dateSelector=0)
|
function printObjectLines($action, $seller, $buyer, $selected=0, $dateSelector=0)
|
||||||
{
|
{
|
||||||
global $conf,$langs,$user,$hookmanager;
|
global $conf,$langs,$user,$object,$hookmanager;
|
||||||
|
|
||||||
print '<tr class="liste_titre nodrag nodrop">';
|
print '<tr class="liste_titre nodrag nodrop">';
|
||||||
|
|
||||||
@ -2760,11 +2766,11 @@ abstract class CommonObject
|
|||||||
// Total HT
|
// Total HT
|
||||||
print '<td align="right" width="50">'.$langs->trans('TotalHTShort').'</td>';
|
print '<td align="right" width="50">'.$langs->trans('TotalHTShort').'</td>';
|
||||||
|
|
||||||
print '<td width="10"></td>';
|
print '<td></td>'; // No width to allow autodim
|
||||||
|
|
||||||
print '<td width="10"></td>';
|
print '<td width="10"></td>';
|
||||||
|
|
||||||
print '<td class="nowrap"></td>'; // No width to allow autodim
|
print '<td width="10"></td>';
|
||||||
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
@ -2819,7 +2825,7 @@ abstract class CommonObject
|
|||||||
*/
|
*/
|
||||||
function printObjectLine($action,$line,$var,$num,$i,$dateSelector,$seller,$buyer,$selected=0,$extrafieldsline=0)
|
function printObjectLine($action,$line,$var,$num,$i,$dateSelector,$seller,$buyer,$selected=0,$extrafieldsline=0)
|
||||||
{
|
{
|
||||||
global $conf,$langs,$user,$hookmanager;
|
global $conf,$langs,$user,$object,$hookmanager;
|
||||||
global $form,$bc,$bcdd;
|
global $form,$bc,$bcdd;
|
||||||
|
|
||||||
$element=$this->element;
|
$element=$this->element;
|
||||||
@ -3091,7 +3097,8 @@ abstract class CommonObject
|
|||||||
* @param string $force_price True of not
|
* @param string $force_price True of not
|
||||||
* @return mixed Array with info
|
* @return mixed Array with info
|
||||||
*/
|
*/
|
||||||
function getMarginInfos($force_price=false) {
|
function getMarginInfos($force_price=false)
|
||||||
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
|
||||||
|
|
||||||
@ -3211,7 +3218,7 @@ abstract class CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* displayMarginInfos
|
* Show the array with all margin infos
|
||||||
*
|
*
|
||||||
* @param string $force_price Force price
|
* @param string $force_price Force price
|
||||||
* @return void
|
* @return void
|
||||||
@ -3228,7 +3235,7 @@ abstract class CommonObject
|
|||||||
|
|
||||||
$marginInfo = $this->getMarginInfos($force_price);
|
$marginInfo = $this->getMarginInfos($force_price);
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="nobordernopadding" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td width="30%">'.$langs->trans('Margins').'</td>';
|
print '<td width="30%">'.$langs->trans('Margins').'</td>';
|
||||||
print '<td width="20%" align="right">'.$langs->trans('SellingPrice').'</td>';
|
print '<td width="20%" align="right">'.$langs->trans('SellingPrice').'</td>';
|
||||||
@ -3249,9 +3256,9 @@ abstract class CommonObject
|
|||||||
print '<td align="right">'.price($marginInfo['pa_products'], null, null, null, null, $rounding).'</td>';
|
print '<td align="right">'.price($marginInfo['pa_products'], null, null, null, null, $rounding).'</td>';
|
||||||
print '<td align="right">'.price($marginInfo['margin_on_products'], null, null, null, null, $rounding).'</td>';
|
print '<td align="right">'.price($marginInfo['margin_on_products'], null, null, null, null, $rounding).'</td>';
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES))
|
if (! empty($conf->global->DISPLAY_MARGIN_RATES))
|
||||||
print '<td align="right">'.(($marginInfo['margin_rate_products'] == '')?'n/a':price($marginInfo['margin_rate_products'], null, null, null, null, $rounding).'%').'</td>';
|
print '<td align="right">'.(($marginInfo['margin_rate_products'] == '')?'':price($marginInfo['margin_rate_products'], null, null, null, null, $rounding).'%').'</td>';
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES))
|
if (! empty($conf->global->DISPLAY_MARK_RATES))
|
||||||
print '<td align="right">'.(($marginInfo['mark_rate_products'] == '')?'n/a':price($marginInfo['mark_rate_products'], null, null, null, null, $rounding).'%').'</td>';
|
print '<td align="right">'.(($marginInfo['mark_rate_products'] == '')?'':price($marginInfo['mark_rate_products'], null, null, null, null, $rounding).'%').'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
print '<tr class="pair">';
|
print '<tr class="pair">';
|
||||||
print '<td>'.$langs->trans('MarginOnServices').'</td>';
|
print '<td>'.$langs->trans('MarginOnServices').'</td>';
|
||||||
@ -3259,9 +3266,9 @@ abstract class CommonObject
|
|||||||
print '<td align="right">'.price($marginInfo['pa_services'], null, null, null, null, $rounding).'</td>';
|
print '<td align="right">'.price($marginInfo['pa_services'], null, null, null, null, $rounding).'</td>';
|
||||||
print '<td align="right">'.price($marginInfo['margin_on_services'], null, null, null, null, $rounding).'</td>';
|
print '<td align="right">'.price($marginInfo['margin_on_services'], null, null, null, null, $rounding).'</td>';
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES))
|
if (! empty($conf->global->DISPLAY_MARGIN_RATES))
|
||||||
print '<td align="right">'.(($marginInfo['margin_rate_services'] == '')?'n/a':price($marginInfo['margin_rate_services'], null, null, null, null, $rounding).'%').'</td>';
|
print '<td align="right">'.(($marginInfo['margin_rate_services'] == '')?'':price($marginInfo['margin_rate_services'], null, null, null, null, $rounding).'%').'</td>';
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES))
|
if (! empty($conf->global->DISPLAY_MARK_RATES))
|
||||||
print '<td align="right">'.(($marginInfo['mark_rate_services'] == '')?'n/a':price($marginInfo['mark_rate_services'], null, null, null, null, $rounding).'%').'</td>';
|
print '<td align="right">'.(($marginInfo['mark_rate_services'] == '')?'':price($marginInfo['mark_rate_services'], null, null, null, null, $rounding).'%').'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
//}
|
//}
|
||||||
print '<tr class="impair">';
|
print '<tr class="impair">';
|
||||||
@ -3270,9 +3277,9 @@ abstract class CommonObject
|
|||||||
print '<td align="right">'.price($marginInfo['pa_total'], null, null, null, null, $rounding).'</td>';
|
print '<td align="right">'.price($marginInfo['pa_total'], null, null, null, null, $rounding).'</td>';
|
||||||
print '<td align="right">'.price($marginInfo['total_margin'], null, null, null, null, $rounding).'</td>';
|
print '<td align="right">'.price($marginInfo['total_margin'], null, null, null, null, $rounding).'</td>';
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES))
|
if (! empty($conf->global->DISPLAY_MARGIN_RATES))
|
||||||
print '<td align="right">'.(($marginInfo['total_margin_rate'] == '')?'n/a':price($marginInfo['total_margin_rate'], null, null, null, null, $rounding).'%').'</td>';
|
print '<td align="right">'.(($marginInfo['total_margin_rate'] == '')?'':price($marginInfo['total_margin_rate'], null, null, null, null, $rounding).'%').'</td>';
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES))
|
if (! empty($conf->global->DISPLAY_MARK_RATES))
|
||||||
print '<td align="right">'.(($marginInfo['total_mark_rate'] == '')?'n/a':price($marginInfo['total_mark_rate'], null, null, null, null, $rounding).'%').'</td>';
|
print '<td align="right">'.(($marginInfo['total_mark_rate'] == '')?'':price($marginInfo['total_mark_rate'], null, null, null, null, $rounding).'%').'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
print '</table>';
|
print '</table>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -479,11 +479,11 @@ class FormOther
|
|||||||
$numlines=count($lines);
|
$numlines=count($lines);
|
||||||
for ($i = 0 ; $i < $numlines ; $i++)
|
for ($i = 0 ; $i < $numlines ; $i++)
|
||||||
{
|
{
|
||||||
if ($lines[$i]->fk_parent == $parent)
|
if ($lines[$i]->fk_parent == $parent)
|
||||||
{
|
{
|
||||||
$var = !$var;
|
$var = !$var;
|
||||||
|
|
||||||
//var_dump($selectedproject."--".$selectedtask."--".$lines[$i]->fk_project."_".$lines[$i]->id);
|
//var_dump($selectedproject."--".$selectedtask."--".$lines[$i]->fk_project."_".$lines[$i]->id); // $lines[$i]->id may be empty if project has no lines
|
||||||
|
|
||||||
// Break on a new project
|
// Break on a new project
|
||||||
if ($parent == 0) // We are on a task at first level
|
if ($parent == 0) // We are on a task at first level
|
||||||
@ -514,7 +514,7 @@ class FormOther
|
|||||||
$newdisablechildoftaskid=$disablechildoftaskid;
|
$newdisablechildoftaskid=$disablechildoftaskid;
|
||||||
|
|
||||||
// Print task
|
// Print task
|
||||||
if ($lines[$i]->id >= 0)
|
if (isset($lines[$i]->id)) // We use isset because $lines[$i]->id may be null if project has no task and are on root project (tasks may be caught by a left join). We enter here only if '0' or >0
|
||||||
{
|
{
|
||||||
// Check if we must disable entry
|
// Check if we must disable entry
|
||||||
$disabled=0;
|
$disabled=0;
|
||||||
|
|||||||
@ -238,7 +238,7 @@ function limitChars(textarea, limit, infodiv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// To
|
// To (target)
|
||||||
if ($this->withto || is_array($this->withto))
|
if ($this->withto || is_array($this->withto))
|
||||||
{
|
{
|
||||||
print '<tr><td width="180">';
|
print '<tr><td width="180">';
|
||||||
|
|||||||
@ -102,7 +102,7 @@ class Interfaces
|
|||||||
if (in_array($modName,$modules))
|
if (in_array($modName,$modules))
|
||||||
{
|
{
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
dol_syslog(get_class($this)."::run_triggers action=".$action." ".$langs->trans("ErrorDuplicateTrigger",$modName,"/htdocs/core/triggers/"),LOG_ERR);
|
dol_syslog(get_class($this)."::run_triggers action=".$action." ".$langs->trans("ErrorDuplicateTrigger",$modName,"/htdocs/core/triggers/"), LOG_ERR);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -123,7 +123,7 @@ class Interfaces
|
|||||||
|
|
||||||
if (! $qualified)
|
if (! $qualified)
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::run_triggers action=".$action." Triggers for file '".$file."' need module to be enabled",LOG_INFO);
|
dol_syslog(get_class($this)."::run_triggers action=".$action." Triggers for file '".$file."' need module to be enabled", LOG_DEBUG);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ class Interfaces
|
|||||||
$objMod = new $modName($this->db);
|
$objMod = new $modName($this->db);
|
||||||
if ($objMod)
|
if ($objMod)
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::run_triggers action=".$action." Launch triggers for file '".$files[$key]."'",LOG_INFO);
|
dol_syslog(get_class($this)."::run_triggers action=".$action." Launch triggers for file '".$files[$key]."'", LOG_INFO);
|
||||||
|
|
||||||
$result=$objMod->run_trigger($action,$object,$user,$langs,$conf);
|
$result=$objMod->run_trigger($action,$object,$user,$langs,$conf);
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
@ -173,7 +173,7 @@ class Interfaces
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::run_triggers action=".$action." Failed to instantiate trigger for file '".$files[$key]."'",LOG_ERR);
|
dol_syslog(get_class($this)."::run_triggers action=".$action." Failed to instantiate trigger for file '".$files[$key]."'", LOG_ERR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
|
|||||||
global $conf, $user, $langs, $db;
|
global $conf, $user, $langs, $db;
|
||||||
|
|
||||||
// Filters
|
// Filters
|
||||||
print '<form name="listactionsfilter" class="listactionsfilter" action="' . $_SERVER ["PHP_SELF"] . '" method="POST">';
|
print '<form name="listactionsfilter" class="listactionsfilter" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="status" value="' . $status . '">';
|
print '<input type="hidden" name="status" value="' . $status . '">';
|
||||||
print '<input type="hidden" name="year" value="' . $year . '">';
|
print '<input type="hidden" name="year" value="' . $year . '">';
|
||||||
|
|||||||
@ -69,8 +69,6 @@ function doc_getlinedesc($line,$outputlangs,$hideref=0,$hidedesc=0,$issupplierli
|
|||||||
// Description long of product line
|
// Description long of product line
|
||||||
if ($desc && ($desc != $label))
|
if ($desc && ($desc != $label))
|
||||||
{
|
{
|
||||||
if ( $libelleproduitservice && empty($hidedesc) ) $libelleproduitservice.="\n";
|
|
||||||
|
|
||||||
if ($desc == '(CREDIT_NOTE)' && $line->fk_remise_except)
|
if ($desc == '(CREDIT_NOTE)' && $line->fk_remise_except)
|
||||||
{
|
{
|
||||||
$discount=new DiscountAbsolute($db);
|
$discount=new DiscountAbsolute($db);
|
||||||
@ -83,18 +81,17 @@ function doc_getlinedesc($line,$outputlangs,$hideref=0,$hidedesc=0,$issupplierli
|
|||||||
$discount->fetch($line->fk_remise_except);
|
$discount->fetch($line->fk_remise_except);
|
||||||
$libelleproduitservice=$outputlangs->transnoentitiesnoconv("DiscountFromDeposit",$discount->ref_facture_source);
|
$libelleproduitservice=$outputlangs->transnoentitiesnoconv("DiscountFromDeposit",$discount->ref_facture_source);
|
||||||
// Add date of deposit
|
// Add date of deposit
|
||||||
if (! empty($conf->global->INVOICE_ADD_DEPOSIT_DATE)) echo ' ('.dol_print_date($discount->datec,'day','',$outputlangs).')';
|
if (! empty($conf->global->INVOICE_ADD_DEPOSIT_DATE)) $libelleproduitservice.=' ('.dol_print_date($discount->datec,'day','',$outputlangs).')';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($idprod)
|
if ($idprod)
|
||||||
{
|
{
|
||||||
if (empty($hidedesc))
|
if (empty($hidedesc)) $libelleproduitservice=dol_concatdesc($libelleproduitservice, $desc);
|
||||||
$libelleproduitservice.=$desc;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$libelleproduitservice.=$desc;
|
$libelleproduitservice=dol_concatdesc($libelleproduitservice, $desc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -148,7 +145,7 @@ function doc_getlinedesc($line,$outputlangs,$hideref=0,$hidedesc=0,$issupplierli
|
|||||||
$period='('.$outputlangs->transnoentitiesnoconv('DateUntil',dol_print_date($line->date_end, $format, false, $outputlangs)).')';
|
$period='('.$outputlangs->transnoentitiesnoconv('DateUntil',dol_print_date($line->date_end, $format, false, $outputlangs)).')';
|
||||||
}
|
}
|
||||||
//print '>'.$outputlangs->charset_output.','.$period;
|
//print '>'.$outputlangs->charset_output.','.$period;
|
||||||
$libelleproduitservice.="\n".$period;
|
$libelleproduitservice=dol_concatdesc($libelleproduitservice, $period);
|
||||||
//print $libelleproduitservice;
|
//print $libelleproduitservice;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2560,7 +2560,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so
|
|||||||
if ($picto == 'setup') $picto='title.png';
|
if ($picto == 'setup') $picto='title.png';
|
||||||
if (!empty($conf->browser->ie) && $picto=='title.png') $picto='title.gif';
|
if (!empty($conf->browser->ie) && $picto=='title.png') $picto='title.gif';
|
||||||
|
|
||||||
if ($num > $conf->liste_limit or $num == -1)
|
if (($num > $conf->liste_limit) || ($num == -1))
|
||||||
{
|
{
|
||||||
$nextpage = 1;
|
$nextpage = 1;
|
||||||
}
|
}
|
||||||
@ -3433,13 +3433,13 @@ function picto_required()
|
|||||||
* Clean a string from all HTML tags and entities
|
* Clean a string from all HTML tags and entities
|
||||||
*
|
*
|
||||||
* @param string $StringHtml String to clean
|
* @param string $StringHtml String to clean
|
||||||
* @param string $removelinefeed Replace also all lines feeds by a space
|
* @param string $removelinefeed Replace also all lines feeds by a space, otherwise only last one are removed
|
||||||
* @param string $pagecodeto Encoding of input/output string
|
* @param string $pagecodeto Encoding of input/output string
|
||||||
* @return string String cleaned
|
* @return string String cleaned
|
||||||
*/
|
*/
|
||||||
function dol_string_nohtmltag($StringHtml,$removelinefeed=1,$pagecodeto='UTF-8')
|
function dol_string_nohtmltag($StringHtml,$removelinefeed=1,$pagecodeto='UTF-8')
|
||||||
{
|
{
|
||||||
$pattern = "/<[^>]+>/";
|
$pattern = "/<[^<>]+>/";
|
||||||
$temp = dol_html_entity_decode($StringHtml,ENT_COMPAT,$pagecodeto);
|
$temp = dol_html_entity_decode($StringHtml,ENT_COMPAT,$pagecodeto);
|
||||||
$temp = preg_replace($pattern,"",$temp);
|
$temp = preg_replace($pattern,"",$temp);
|
||||||
|
|
||||||
@ -3506,7 +3506,6 @@ function dol_htmlentitiesbr($stringtoencode,$nl2brmode=0,$pagecodefrom='UTF-8',$
|
|||||||
$newstring=strtr($newstring,array('&'=>'__and__','<'=>'__lt__','>'=>'__gt__','"'=>'__dquot__'));
|
$newstring=strtr($newstring,array('&'=>'__and__','<'=>'__lt__','>'=>'__gt__','"'=>'__dquot__'));
|
||||||
$newstring=dol_htmlentities($newstring,ENT_COMPAT,$pagecodefrom); // Make entity encoding
|
$newstring=dol_htmlentities($newstring,ENT_COMPAT,$pagecodefrom); // Make entity encoding
|
||||||
$newstring=strtr($newstring,array('__and__'=>'&','__lt__'=>'<','__gt__'=>'>','__dquot__'=>'"'));
|
$newstring=strtr($newstring,array('__and__'=>'&','__lt__'=>'<','__gt__'=>'>','__dquot__'=>'"'));
|
||||||
//$newstring=strtr($newstring,array('__li__'=>"<li>\n")); // Restore <li>\n
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -3551,7 +3550,7 @@ function dol_htmlcleanlastbr($stringtodecode)
|
|||||||
* Replace html_entity_decode functions to manage errors
|
* Replace html_entity_decode functions to manage errors
|
||||||
*
|
*
|
||||||
* @param string $a Operand a
|
* @param string $a Operand a
|
||||||
* @param string $b Operand b
|
* @param string $b Operand b (ENT_QUOTES=convert simple and double quotes)
|
||||||
* @param string $c Operand c
|
* @param string $c Operand c
|
||||||
* @return string String decoded
|
* @return string String decoded
|
||||||
*/
|
*/
|
||||||
@ -3691,17 +3690,10 @@ function dol_textishtml($msg,$option=0)
|
|||||||
{
|
{
|
||||||
if (preg_match('/<html/i',$msg)) return true;
|
if (preg_match('/<html/i',$msg)) return true;
|
||||||
elseif (preg_match('/<body/i',$msg)) return true;
|
elseif (preg_match('/<body/i',$msg)) return true;
|
||||||
elseif (preg_match('/<b>/i',$msg)) return true;
|
elseif (preg_match('/<(b|em|i)>/i',$msg)) return true;
|
||||||
elseif (preg_match('/<br/i',$msg)) return true;
|
elseif (preg_match('/<(br|div|font|img|li|span|strong|table)>/i',$msg)) return true;
|
||||||
elseif (preg_match('/<div/i',$msg)) return true;
|
elseif (preg_match('/<(br|div|font|img|li|span|strong|table)\s+[^<>\/]*>/i',$msg)) return true;
|
||||||
elseif (preg_match('/<em>/i',$msg)) return true;
|
elseif (preg_match('/<(br|div|font|img|li|span|strong|table)\s+[^<>\/]*\/>/i',$msg)) return true;
|
||||||
elseif (preg_match('/<font/i',$msg)) return true;
|
|
||||||
elseif (preg_match('/<img/i',$msg)) return true;
|
|
||||||
elseif (preg_match('/<i>/i',$msg)) return true;
|
|
||||||
elseif (preg_match('/<li/i',$msg)) return true;
|
|
||||||
elseif (preg_match('/<span/i',$msg)) return true;
|
|
||||||
elseif (preg_match('/<strong/i',$msg)) return true;
|
|
||||||
elseif (preg_match('/<table/i',$msg)) return true;
|
|
||||||
elseif (preg_match('/&[A-Z0-9]{1,6};/i',$msg)) return true; // Html entities names (http://www.w3schools.com/tags/ref_entities.asp)
|
elseif (preg_match('/&[A-Z0-9]{1,6};/i',$msg)) return true; // Html entities names (http://www.w3schools.com/tags/ref_entities.asp)
|
||||||
elseif (preg_match('/&#[0-9]{2,3};/i',$msg)) return true; // Html entities numbers (http://www.w3schools.com/tags/ref_entities.asp)
|
elseif (preg_match('/&#[0-9]{2,3};/i',$msg)) return true; // Html entities numbers (http://www.w3schools.com/tags/ref_entities.asp)
|
||||||
return false;
|
return false;
|
||||||
@ -3709,7 +3701,7 @@ function dol_textishtml($msg,$option=0)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Concat 2 descriptions (second one after first one)
|
* Concat 2 descriptions (second one after first one with a new line separator if required)
|
||||||
* text1 html + text2 html => text1 + '<br>' + text2
|
* text1 html + text2 html => text1 + '<br>' + text2
|
||||||
* text1 html + text2 txt => text1 + '<br>' + dol_nl2br(text2)
|
* text1 html + text2 txt => text1 + '<br>' + dol_nl2br(text2)
|
||||||
* text1 txt + text2 html => dol_nl2br(text1) + '<br>' + text2
|
* text1 txt + text2 html => dol_nl2br(text1) + '<br>' + text2
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
*
|
*
|
||||||
* @param string $url URL to call.
|
* @param string $url URL to call.
|
||||||
* @param string $postorget 'POST', 'GET', 'HEAD'
|
* @param string $postorget 'POST', 'GET', 'HEAD'
|
||||||
* @param string $param Paraemeters of URL (x=value1&y=value2)
|
* @param string $param Parameters of URL (x=value1&y=value2)
|
||||||
* @param string $followlocation 1=Follow location, 0=Do not follow
|
* @param string $followlocation 1=Follow location, 0=Do not follow
|
||||||
* @param array $addheaders Array of string to add into header. Example: ('Accept: application/xrds+xml', ....)
|
* @param array $addheaders Array of string to add into header. Example: ('Accept: application/xrds+xml', ....)
|
||||||
* @return array Returns an associative array containing the response from the server array('content'=>response,'curl_error_no'=>errno,'curl_error_msg'=>errmsg...)
|
* @return array Returns an associative array containing the response from the server array('content'=>response,'curl_error_no'=>errno,'curl_error_msg'=>errmsg...)
|
||||||
|
|||||||
@ -142,18 +142,24 @@ function task_prepare_head($object)
|
|||||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'task');
|
complete_head_from_modules($conf,$langs,$object,$head,$h,'task');
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks/document.php?id='.$object->id.(GETPOST('withproject')?'&withproject=1':'');;
|
if (empty($conf->global->MAIN_DISABLE_NOTES_TAB))
|
||||||
/*$filesdir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($object->ref);
|
{
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
$nbNote = 0;
|
||||||
$listoffiles=dol_dir_list($filesdir,'files',1);
|
if(!empty($object->note_private)) $nbNote++;
|
||||||
$head[$h][1] = (count($listoffiles)?$langs->trans('DocumentsNb',count($listoffiles)):$langs->trans('Documents'));*/
|
if(!empty($object->note_public)) $nbNote++;
|
||||||
$head[$h][1] = $langs->trans('Documents');
|
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks/note.php?id='.$object->id.(GETPOST('withproject')?'&withproject=1':'');;
|
||||||
$head[$h][2] = 'task_document';
|
$head[$h][1] = $langs->trans('Notes');
|
||||||
$h++;
|
if($nbNote > 0) $head[$h][1].= ' ('.$nbNote.')';
|
||||||
|
$head[$h][2] = 'task_notes';
|
||||||
|
$h++;
|
||||||
|
}
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks/note.php?id='.$object->id.(GETPOST('withproject')?'&withproject=1':'');;
|
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks/document.php?id='.$object->id.(GETPOST('withproject')?'&withproject=1':'');;
|
||||||
$head[$h][1] = $langs->trans('Notes');
|
$filesdir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($object->project->ref) . '/' .dol_sanitizeFileName($object->ref);
|
||||||
$head[$h][2] = 'task_notes';
|
include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
$listoffiles=dol_dir_list($filesdir,'files',1,'','thumbs');
|
||||||
|
$head[$h][1] = (count($listoffiles)?$langs->trans('DocumentsNb',count($listoffiles)):$langs->trans('Documents'));
|
||||||
|
$head[$h][2] = 'task_document';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'task','remove');
|
complete_head_from_modules($conf,$langs,$object,$head,$h,'task','remove');
|
||||||
|
|||||||
@ -97,7 +97,7 @@ function dol_hash($chain,$type=0)
|
|||||||
* If GETPOST('action') defined, we also check write and delete permission.
|
* If GETPOST('action') defined, we also check write and delete permission.
|
||||||
*
|
*
|
||||||
* @param User $user User to check
|
* @param User $user User to check
|
||||||
* @param string $features Features to check (it must be module name. Examples: 'societe', 'contact', 'produit&service', ...)
|
* @param string $features Features to check (it must be module name. Examples: 'societe', 'contact', 'produit&service', 'produit|service', ...)
|
||||||
* @param int $objectid Object ID if we want to check a particular record (optional) is linked to a owned thirdparty (optional).
|
* @param int $objectid Object ID if we want to check a particular record (optional) is linked to a owned thirdparty (optional).
|
||||||
* @param string $dbtablename 'TableName&SharedElement' with Tablename is table where object is stored. SharedElement is an optional key to define where to check entity. Not used if objectid is null (optional)
|
* @param string $dbtablename 'TableName&SharedElement' with Tablename is table where object is stored. SharedElement is an optional key to define where to check entity. Not used if objectid is null (optional)
|
||||||
* @param string $feature2 Feature to check, second level of permission (optional)
|
* @param string $feature2 Feature to check, second level of permission (optional)
|
||||||
@ -123,12 +123,13 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
|
|||||||
|
|
||||||
if ($dbt_select != 'rowid' && $dbt_select != 'id') $objectid = "'".$objectid."'";
|
if ($dbt_select != 'rowid' && $dbt_select != 'id') $objectid = "'".$objectid."'";
|
||||||
|
|
||||||
// More features to check
|
// Features/modules to check
|
||||||
$features = explode("&", $features);
|
$featuresarray = array($features);
|
||||||
|
if (preg_match('/&/', $features)) $featuresarray = explode("&", $features);
|
||||||
|
else if (preg_match('/\|/', $features)) $featuresarray = explode("|", $features);
|
||||||
|
|
||||||
// More subfeatures to check
|
// More subfeatures to check
|
||||||
if (!empty($feature2))
|
if (! empty($feature2)) $feature2 = explode("|", $feature2);
|
||||||
$feature2 = explode("&", $feature2);
|
|
||||||
|
|
||||||
// More parameters
|
// More parameters
|
||||||
$params = explode('&', $dbtablename);
|
$params = explode('&', $dbtablename);
|
||||||
@ -138,106 +139,113 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
|
|||||||
$listofmodules=explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL);
|
$listofmodules=explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL);
|
||||||
|
|
||||||
// Check read permission from module
|
// Check read permission from module
|
||||||
$readok=1;
|
$readok=1; $nbko=0;
|
||||||
foreach ($features as $feature)
|
foreach ($featuresarray as $feature)
|
||||||
{
|
{
|
||||||
if (! empty($user->societe_id) && ! empty($conf->global->MAIN_MODULES_FOR_EXTERNAL) && ! in_array($feature,$listofmodules)) // If limits on modules for external users, module must be into list of modules for external users
|
if (! empty($user->societe_id) && ! empty($conf->global->MAIN_MODULES_FOR_EXTERNAL) && ! in_array($feature,$listofmodules)) // If limits on modules for external users, module must be into list of modules for external users
|
||||||
{
|
{
|
||||||
$readok=0;
|
$readok=0; $nbko++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($feature == 'societe')
|
if ($feature == 'societe')
|
||||||
{
|
{
|
||||||
if (! $user->rights->societe->lire && ! $user->rights->fournisseur->lire) $readok=0;
|
if (! $user->rights->societe->lire && ! $user->rights->fournisseur->lire) { $readok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if ($feature == 'contact')
|
else if ($feature == 'contact')
|
||||||
{
|
{
|
||||||
if (! $user->rights->societe->contact->lire) $readok=0;
|
if (! $user->rights->societe->contact->lire) { $readok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if ($feature == 'produit|service')
|
else if ($feature == 'produit|service')
|
||||||
{
|
{
|
||||||
if (! $user->rights->produit->lire && ! $user->rights->service->lire) $readok=0;
|
if (! $user->rights->produit->lire && ! $user->rights->service->lire) { $readok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if ($feature == 'prelevement')
|
else if ($feature == 'prelevement')
|
||||||
{
|
{
|
||||||
if (! $user->rights->prelevement->bons->lire) $readok=0;
|
if (! $user->rights->prelevement->bons->lire) { $readok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if ($feature == 'cheque')
|
else if ($feature == 'cheque')
|
||||||
{
|
{
|
||||||
if (! $user->rights->banque->cheque) $readok=0;
|
if (! $user->rights->banque->cheque) { $readok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if ($feature == 'projet')
|
else if ($feature == 'projet')
|
||||||
{
|
{
|
||||||
if (! $user->rights->projet->lire && ! $user->rights->projet->all->lire) $readok=0;
|
if (! $user->rights->projet->lire && ! $user->rights->projet->all->lire) { $readok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if (! empty($feature2)) // This should be used for future changes
|
else if (! empty($feature2)) // This should be used for future changes
|
||||||
{
|
{
|
||||||
foreach($feature2 as $subfeature)
|
foreach($feature2 as $subfeature)
|
||||||
{
|
{
|
||||||
if (empty($user->rights->$feature->$subfeature->lire) && empty($user->rights->$feature->$subfeature->read)) $readok=0;
|
if (! empty($subfeature) && empty($user->rights->$feature->$subfeature->lire) && empty($user->rights->$feature->$subfeature->read)) { $readok=0; $nbko++; }
|
||||||
else { $readok=1; break; } // For bypass the second test if the first is ok
|
else if (empty($subfeature) && empty($user->rights->$feature->lire) && empty($user->rights->$feature->read)) { $readok=0; $nbko++; }
|
||||||
|
else { $readok=1; break; } // Break is to bypass second test if the first is ok
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (! empty($feature) && ($feature!='user' && $feature!='usergroup')) // This is for old permissions
|
else if (! empty($feature) && ($feature!='user' && $feature!='usergroup')) // This is for old permissions
|
||||||
{
|
{
|
||||||
if (empty($user->rights->$feature->lire)
|
if (empty($user->rights->$feature->lire)
|
||||||
&& empty($user->rights->$feature->read)
|
&& empty($user->rights->$feature->read)
|
||||||
&& empty($user->rights->$feature->run)) $readok=0;
|
&& empty($user->rights->$feature->run)) { $readok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If a or and at least one ok
|
||||||
|
if (preg_match('/\|/', $features) && $nbko < count($featuresarray)) $readok=1;
|
||||||
|
|
||||||
if (! $readok) accessforbidden();
|
if (! $readok) accessforbidden();
|
||||||
//print "Read access is ok";
|
//print "Read access is ok";
|
||||||
|
|
||||||
// Check write permission from module
|
// Check write permission from module
|
||||||
$createok=1;
|
$createok=1; $nbko=0;
|
||||||
if (GETPOST("action") == 'create')
|
if (GETPOST("action") == 'create')
|
||||||
{
|
{
|
||||||
foreach ($features as $feature)
|
foreach ($featuresarray as $feature)
|
||||||
{
|
{
|
||||||
if ($feature == 'contact')
|
if ($feature == 'contact')
|
||||||
{
|
{
|
||||||
if (! $user->rights->societe->contact->creer) $createok=0;
|
if (! $user->rights->societe->contact->creer) { $createok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if ($feature == 'produit|service')
|
else if ($feature == 'produit|service')
|
||||||
{
|
{
|
||||||
if (! $user->rights->produit->creer && ! $user->rights->service->creer) $createok=0;
|
if (! $user->rights->produit->creer && ! $user->rights->service->creer) { $createok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if ($feature == 'prelevement')
|
else if ($feature == 'prelevement')
|
||||||
{
|
{
|
||||||
if (! $user->rights->prelevement->bons->creer) $createok=0;
|
if (! $user->rights->prelevement->bons->creer) { $createok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if ($feature == 'commande_fournisseur')
|
else if ($feature == 'commande_fournisseur')
|
||||||
{
|
{
|
||||||
if (! $user->rights->fournisseur->commande->creer) $createok=0;
|
if (! $user->rights->fournisseur->commande->creer) { $createok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if ($feature == 'banque')
|
else if ($feature == 'banque')
|
||||||
{
|
{
|
||||||
if (! $user->rights->banque->modifier) $createok=0;
|
if (! $user->rights->banque->modifier) { $createok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if ($feature == 'cheque')
|
else if ($feature == 'cheque')
|
||||||
{
|
{
|
||||||
if (! $user->rights->banque->cheque) $createok=0;
|
if (! $user->rights->banque->cheque) { $createok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
else if (! empty($feature2)) // This should be used for future changes
|
else if (! empty($feature2)) // This should be used
|
||||||
{
|
{
|
||||||
foreach($feature2 as $subfeature)
|
foreach($feature2 as $subfeature)
|
||||||
{
|
{
|
||||||
if (empty($user->rights->$feature->$subfeature->creer)
|
if (empty($user->rights->$feature->$subfeature->creer)
|
||||||
&& empty($user->rights->$feature->$subfeature->write)
|
&& empty($user->rights->$feature->$subfeature->write)
|
||||||
&& empty($user->rights->$feature->$subfeature->create)) $createok=0;
|
&& empty($user->rights->$feature->$subfeature->create)) { $createok=0; $nbko++; }
|
||||||
else { $createok=1; break; } // For bypass the second test if the first is ok
|
else { $createok=1; break; } // Break to bypass second test if the first is ok
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (! empty($feature)) // This is for old permissions
|
else if (! empty($feature)) // This is for old permissions ('creer' or 'write')
|
||||||
{
|
{
|
||||||
//print '<br>feature='.$feature.' creer='.$user->rights->$feature->creer.' write='.$user->rights->$feature->write;
|
//print '<br>feature='.$feature.' creer='.$user->rights->$feature->creer.' write='.$user->rights->$feature->write;
|
||||||
if (empty($user->rights->$feature->creer)
|
if (empty($user->rights->$feature->creer)
|
||||||
&& empty($user->rights->$feature->write)) $createok=0;
|
&& empty($user->rights->$feature->write)) { $createok=0; $nbko++; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If a or and at least one ok
|
||||||
|
if (preg_match('/\|/', $features) && $nbko < count($featuresarray)) $createok=1;
|
||||||
|
|
||||||
if (! $createok) accessforbidden();
|
if (! $createok) accessforbidden();
|
||||||
//print "Write access is ok";
|
//print "Write access is ok";
|
||||||
}
|
}
|
||||||
@ -253,10 +261,10 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check delete permission from module
|
// Check delete permission from module
|
||||||
$deleteok=1;
|
$deleteok=1; $nbko=0;
|
||||||
if ((GETPOST("action") == 'confirm_delete' && GETPOST("confirm") == 'yes') || GETPOST("action") == 'delete')
|
if ((GETPOST("action") == 'confirm_delete' && GETPOST("confirm") == 'yes') || GETPOST("action") == 'delete')
|
||||||
{
|
{
|
||||||
foreach ($features as $feature)
|
foreach ($featuresarray as $feature)
|
||||||
{
|
{
|
||||||
if ($feature == 'contact')
|
if ($feature == 'contact')
|
||||||
{
|
{
|
||||||
@ -312,7 +320,7 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
|
|||||||
// is linked to a company allowed to $user.
|
// is linked to a company allowed to $user.
|
||||||
if (! empty($objectid) && $objectid > 0)
|
if (! empty($objectid) && $objectid > 0)
|
||||||
{
|
{
|
||||||
foreach ($features as $feature)
|
foreach ($featuresarray as $feature)
|
||||||
{
|
{
|
||||||
$sql='';
|
$sql='';
|
||||||
|
|
||||||
|
|||||||
@ -175,10 +175,10 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
|
|||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2002__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/liste.php?leftmenu=donations&mainmenu=accountancy', 'List', 1, 'donations', '$user->rights->don->lire', '', 2, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2002__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/liste.php?leftmenu=donations&mainmenu=accountancy', 'List', 1, 'donations', '$user->rights->don->lire', '', 2, 1, __ENTITY__);
|
||||||
--insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2003__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/stats.php?leftmenu=donations&mainmenu=accountancy', 'Statistics', 1, 'donations', '$user->rights->don->lire', '', 2, 2, __ENTITY__);
|
--insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2003__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/stats.php?leftmenu=donations&mainmenu=accountancy', 'Statistics', 1, 'donations', '$user->rights->don->lire', '', 2, 2, __ENTITY__);
|
||||||
-- Special expenses
|
-- Special expenses
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled || $conf->salaries->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'accountancy', 'tax', 6__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy', 'MenuSpecialExpenses', 0, 'compta', '1', '', 0, 6, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled || $conf->salaries->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'accountancy', 'tax', 6__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy', 'MenuSpecialExpenses', 0, 'compta', '(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)', '', 0, 6, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2201__+MAX_llx_menu__, 'accountancy', 'tax_sal', 2200__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy', 'Salaries', 1, 'salaries', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled', __HANDLER__, 'left', 2210__+MAX_llx_menu__, 'accountancy', 'tax_sal', 2200__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy', 'Salaries', 1, 'salaries', '$user->rights->salaries->read', '', 0, 1, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2202__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/salaries/fiche.php?leftmenu=tax_salary&action=create', 'NewPayment', 2, 'companies', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2211__+MAX_llx_menu__, 'accountancy', '', 2210__+MAX_llx_menu__, '/compta/salaries/fiche.php?leftmenu=tax_salary&action=create', 'NewPayment', 2, 'companies', '$user->rights->salaries->write', '', 0, 2, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2203__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary', 'Payments', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2212__+MAX_llx_menu__, 'accountancy', '', 2210__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary', 'Payments', 2, 'companies', '$user->rights->salaries->read', '', 0, 3, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2250__+MAX_llx_menu__, 'accountancy', 'tax_social', 2200__+MAX_llx_menu__, '/compta/sociales/index.php?leftmenu=tax_social', 'SocialContributions', 1, '', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2250__+MAX_llx_menu__, 'accountancy', 'tax_social', 2200__+MAX_llx_menu__, '/compta/sociales/index.php?leftmenu=tax_social', 'SocialContributions', 1, '', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2251__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/sociales/charges.php?leftmenu=tax_social&action=create', 'MenuNewSocialContribution', 2, '', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2251__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/sociales/charges.php?leftmenu=tax_social&action=create', 'MenuNewSocialContribution', 2, '', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2252__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly', 'Payments', 2, '', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2252__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly', 'Payments', 2, '', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__);
|
||||||
|
|||||||
@ -797,42 +797,46 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
{
|
{
|
||||||
global $mysoc;
|
global $mysoc;
|
||||||
|
|
||||||
$newmenu->add("/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy",$langs->trans("MenuSpecialExpenses"), 0, $user->rights->tax->charges->lire, '', $mainmenu, 'tax');
|
$permtoshowmenu=((! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read));
|
||||||
|
$newmenu->add("/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy",$langs->trans("MenuSpecialExpenses"), 0, $permtoshowmenu, '', $mainmenu, 'tax');
|
||||||
|
|
||||||
// Salaries
|
// Salaries
|
||||||
if (! empty($conf->salaries->enabled))
|
if (! empty($conf->salaries->enabled))
|
||||||
{
|
{
|
||||||
$langs->load("salaries");
|
$langs->load("salaries");
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy",$langs->trans("Salaries"),1,$user->rights->salaries->read, '', $mainmenu, 'tax_salary');
|
$newmenu->add("/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy",$langs->trans("Salaries"),1,$user->rights->salaries->read, '', $mainmenu, 'tax_salary');
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/fiche.php?leftmenu=tax_salary&action=create",$langs->trans("NewPayment"),2,$user->rights->salaries->create);
|
if (empty($leftmenu) || preg_match('/^tax_salary/i',$leftmenu)) $newmenu->add("/compta/salaries/fiche.php?leftmenu=tax_salary&action=create",$langs->trans("NewPayment"),2,$user->rights->salaries->write);
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_salary",$langs->trans("Payments"),2,$user->rights->salaries->read);
|
if (empty($leftmenu) || preg_match('/^tax_salary/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_salary",$langs->trans("Payments"),2,$user->rights->salaries->read);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Social contributions
|
// Social contributions
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/sociales/index.php?leftmenu=tax_social",$langs->trans("MenuSocialContributions"),1,$user->rights->tax->charges->lire);
|
if (! empty($conf->tax->enabled))
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/sociales/charges.php?leftmenu=tax_social&action=create",$langs->trans("MenuNewSocialContribution"), 2, $user->rights->tax->charges->creer);
|
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly",$langs->trans("Payments"), 2, $user->rights->tax->charges->lire);
|
|
||||||
// VAT
|
|
||||||
if (empty($conf->global->TAX_DISABLE_VAT_MENUS))
|
|
||||||
{
|
{
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy",$langs->trans("VAT"),1,$user->rights->tax->charges->lire, '', $mainmenu, 'tax_vat');
|
$newmenu->add("/compta/sociales/index.php?leftmenu=tax_social",$langs->trans("MenuSocialContributions"),1,$user->rights->tax->charges->lire);
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/tva/fiche.php?leftmenu=tax_vat&action=create",$langs->trans("NewPayment"),2,$user->rights->tax->charges->creer);
|
if (empty($leftmenu) || preg_match('/^tax_social/i',$leftmenu)) $newmenu->add("/compta/sociales/charges.php?leftmenu=tax_social&action=create",$langs->trans("MenuNewSocialContribution"), 2, $user->rights->tax->charges->creer);
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/tva/reglement.php?leftmenu=tax_vat",$langs->trans("Payments"),2,$user->rights->tax->charges->lire);
|
if (empty($leftmenu) || preg_match('/^tax_social/i',$leftmenu)) $newmenu->add("/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly",$langs->trans("Payments"), 2, $user->rights->tax->charges->lire);
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/tva/clients.php?leftmenu=tax_vat", $langs->trans("ReportByCustomers"), 2, $user->rights->tax->charges->lire);
|
// VAT
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/tva/quadri_detail.php?leftmenu=tax_vat", $langs->trans("ReportByQuarter"), 2, $user->rights->tax->charges->lire);
|
if (empty($conf->global->TAX_DISABLE_VAT_MENUS))
|
||||||
global $mysoc;
|
|
||||||
|
|
||||||
//Local Taxes
|
|
||||||
if($mysoc->country_code=='ES' && (isset($mysoc->localtax2_assuj) && $mysoc->localtax2_assuj=="1"))
|
|
||||||
{
|
{
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/localtax/index.php?leftmenu=tax_vat&mainmenu=accountancy",$langs->transcountry("LT2",$mysoc->country_code),1,$user->rights->tax->charges->lire);
|
$newmenu->add("/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy",$langs->trans("VAT"),1,$user->rights->tax->charges->lire, '', $mainmenu, 'tax_vat');
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/localtax/fiche.php?leftmenu=tax_vat&action=create",$langs->trans("NewPayment"),2,$user->rights->tax->charges->creer);
|
if (empty($leftmenu) || preg_match('/^tax_vat/i',$leftmenu)) $newmenu->add("/compta/tva/fiche.php?leftmenu=tax_vat&action=create",$langs->trans("NewPayment"),2,$user->rights->tax->charges->creer);
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/localtax/reglement.php?leftmenu=tax_vat",$langs->trans("Payments"),2,$user->rights->tax->charges->lire);
|
if (empty($leftmenu) || preg_match('/^tax_vat/i',$leftmenu)) $newmenu->add("/compta/tva/reglement.php?leftmenu=tax_vat",$langs->trans("Payments"),2,$user->rights->tax->charges->lire);
|
||||||
if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/localtax/clients.php?leftmenu=tax_vat", $langs->trans("ReportByCustomers"), 2, $user->rights->tax->charges->lire);
|
if (empty($leftmenu) || preg_match('/^tax_vat/i',$leftmenu)) $newmenu->add("/compta/tva/clients.php?leftmenu=tax_vat", $langs->trans("ReportByCustomers"), 2, $user->rights->tax->charges->lire);
|
||||||
//if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/localtax/quadri_detail.php?leftmenu=tax_vat", $langs->trans("ReportByQuarter"), 2, $user->rights->tax->charges->lire);
|
if (empty($leftmenu) || preg_match('/^tax_vat/i',$leftmenu)) $newmenu->add("/compta/tva/quadri_detail.php?leftmenu=tax_vat", $langs->trans("ReportByQuarter"), 2, $user->rights->tax->charges->lire);
|
||||||
|
global $mysoc;
|
||||||
|
|
||||||
|
//Local Taxes
|
||||||
|
if($mysoc->country_code=='ES' && (isset($mysoc->localtax2_assuj) && $mysoc->localtax2_assuj=="1"))
|
||||||
|
{
|
||||||
|
if (empty($leftmenu) || preg_match('/^tax_vat/i',$leftmenu)) $newmenu->add("/compta/localtax/index.php?leftmenu=tax_vat&mainmenu=accountancy",$langs->transcountry("LT2",$mysoc->country_code),1,$user->rights->tax->charges->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/^tax_vat/i',$leftmenu)) $newmenu->add("/compta/localtax/fiche.php?leftmenu=tax_vat&action=create",$langs->trans("NewPayment"),2,$user->rights->tax->charges->creer);
|
||||||
|
if (empty($leftmenu) || preg_match('/^tax_vat/i',$leftmenu)) $newmenu->add("/compta/localtax/reglement.php?leftmenu=tax_vat",$langs->trans("Payments"),2,$user->rights->tax->charges->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/^tax_vat/i',$leftmenu)) $newmenu->add("/compta/localtax/clients.php?leftmenu=tax_vat", $langs->trans("ReportByCustomers"), 2, $user->rights->tax->charges->lire);
|
||||||
|
//if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/localtax/quadri_detail.php?leftmenu=tax_vat", $langs->trans("ReportByQuarter"), 2, $user->rights->tax->charges->lire);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compta simple
|
// Compta simple
|
||||||
|
|||||||
@ -206,6 +206,32 @@ class modProduct extends DolibarrModules
|
|||||||
if (! empty($conf->fournisseur->enabled)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_fournisseur_price as pf ON pf.fk_product = p.rowid LEFT JOIN '.MAIN_DB_PREFIX.'societe s ON s.rowid = pf.fk_soc';
|
if (! empty($conf->fournisseur->enabled)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_fournisseur_price as pf ON pf.fk_product = p.rowid LEFT JOIN '.MAIN_DB_PREFIX.'societe s ON s.rowid = pf.fk_soc';
|
||||||
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity("product", 1).')';
|
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity("product", 1).')';
|
||||||
|
|
||||||
|
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||||
|
{
|
||||||
|
// Exports product multiprice
|
||||||
|
$r++;
|
||||||
|
$this->export_code[$r]=$this->rights_class.'_'.$key;
|
||||||
|
$this->export_label[$r]="ProductsMultiPrice"; // Translation key (used only if key ExportDataset_xxx_z not found)
|
||||||
|
$this->export_permission[$r]=array(array("produit","export"));
|
||||||
|
$this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",
|
||||||
|
'pr.price_base_type'=>"PriceLevelPriceBase",'pr.price_level'=>"PriceLevel",
|
||||||
|
'pr.price'=>"PriceLevelUnitPriceHT",'pr.price_ttc'=>"PriceLevelUnitPriceTTC",
|
||||||
|
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
||||||
|
'pr.tva_tx'=>'PriceLevelVATRate',
|
||||||
|
'pr.date_price'=>'DateCreation');
|
||||||
|
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",
|
||||||
|
'pr.price_base_type'=>"product",'pr.price_level'=>"product",'pr.price'=>"product",
|
||||||
|
'pr.price_ttc'=>"product",
|
||||||
|
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
||||||
|
'pr.tva_tx'=>'product',
|
||||||
|
'pr.date_price'=>"product");
|
||||||
|
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||||
|
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||||
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_price as pr ON p.rowid = pr.fk_product';
|
||||||
|
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity("product", 1).')';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Imports
|
// Imports
|
||||||
//--------
|
//--------
|
||||||
@ -239,15 +265,15 @@ class modProduct extends DolibarrModules
|
|||||||
|
|
||||||
if (! empty($conf->fournisseur->enabled))
|
if (! empty($conf->fournisseur->enabled))
|
||||||
{
|
{
|
||||||
// Import product suppliers
|
// Import suppliers prices (note: this code is duplicated into module service)
|
||||||
$r++;
|
$r++;
|
||||||
$this->import_code[$r]=$this->rights_class.'_'.$r;
|
$this->import_code[$r]=$this->rights_class.'_supplierprices';
|
||||||
$this->import_label[$r]="SuppliersPrices"; // Translation key
|
$this->import_label[$r]="SuppliersPricesOfProductsOrServices"; // Translation key
|
||||||
$this->import_icon[$r]='product';
|
$this->import_icon[$r]=$this->picto;
|
||||||
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||||
$this->import_tables_array[$r]=array('sp'=>MAIN_DB_PREFIX.'product_fournisseur_price');
|
$this->import_tables_array[$r]=array('sp'=>MAIN_DB_PREFIX.'product_fournisseur_price');
|
||||||
$this->import_tables_creator_array[$r]=array('sp'=>'fk_user');
|
$this->import_tables_creator_array[$r]=array('sp'=>'fk_user');
|
||||||
$this->import_fields_array[$r]=array('sp.fk_product'=>"Product*",
|
$this->import_fields_array[$r]=array('sp.fk_product'=>"ProductOrService*",
|
||||||
'sp.fk_soc'=>"Supplier*", 'sp.ref_fourn'=>'SupplierRef', 'sp.quantity'=>"QtyMin*", 'sp.tva_tx'=>'VATRate',
|
'sp.fk_soc'=>"Supplier*", 'sp.ref_fourn'=>'SupplierRef', 'sp.quantity'=>"QtyMin*", 'sp.tva_tx'=>'VATRate',
|
||||||
'sp.price'=>"PriceQtyMinHT*",
|
'sp.price'=>"PriceQtyMinHT*",
|
||||||
'sp.unitprice'=>'UnitPriceHT*', // TODO Make this file not required and calculate it from price and qty
|
'sp.unitprice'=>'UnitPriceHT*', // TODO Make this file not required and calculate it from price and qty
|
||||||
@ -266,55 +292,29 @@ class modProduct extends DolibarrModules
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! empty($conf->global->PRODUIT_MULTIPRICES)) {
|
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||||
// Exports product multiprice
|
{
|
||||||
//--------
|
// Import product multiprice
|
||||||
$r++;
|
$r++;
|
||||||
$this->export_code[$r]=$this->rights_class.'_'.$r;
|
$this->import_code[$r]=$this->rights_class.'_multiprice';
|
||||||
$this->export_label[$r]="ProductsMultiPrice"; // Translation key (used only if key ExportDataset_xxx_z not found)
|
$this->import_label[$r]="ProductsOrServiceMultiPrice"; // Translation key
|
||||||
$this->export_permission[$r]=array(array("produit","export"));
|
$this->import_icon[$r]=$this->picto;
|
||||||
$this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",
|
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||||
'pr.price_base_type'=>"PriceLevelPriceBase",'pr.price_level'=>"PriceLevel",
|
$this->import_tables_array[$r]=array('pr'=>MAIN_DB_PREFIX.'product_price');
|
||||||
'pr.price'=>"PriceLevelUnitPriceHT",'pr.price_ttc'=>"PriceLevelUnitPriceTTC",
|
$this->import_tables_creator_array[$r]=array('pr'=>'fk_user_author'); // Fields to store import user id
|
||||||
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
$this->import_fields_array[$r]=array('pr.fk_product'=>"ProductRowid*",
|
||||||
'pr.tva_tx'=>'PriceLevelVATRate',
|
'pr.price_base_type'=>"PriceLevelPriceBase",'pr.price_level'=>"PriceLevel",
|
||||||
'pr.date_price'=>'DateCreation');
|
'pr.price'=>"PriceLevelUnitPriceHT",'pr.price_ttc'=>"PriceLevelUnitPriceTTC",
|
||||||
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",
|
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
||||||
'pr.price_base_type'=>"product",'pr.price_level'=>"product",'pr.price'=>"product",
|
'pr.tva_tx'=>'PriceLevelVATRate',
|
||||||
'pr.price_ttc'=>"product",
|
'pr.date_price'=>'DateCreation*');
|
||||||
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
$this->import_regex_array[$r]=array('pr.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$');
|
||||||
'pr.tva_tx'=>'product',
|
$this->import_examplevalues_array[$r]=array('pr.fk_product'=>"1",
|
||||||
'pr.date_price'=>"product");
|
'pr.price_base_type'=>"HT",'pr.price_level'=>"1",
|
||||||
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
'pr.price'=>"100",'pr.price_ttc'=>"110",
|
||||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
'pr.price_min'=>"100",'pr.price_min_ttc'=>"110",
|
||||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_price as pr ON p.rowid = pr.fk_product';
|
'pr.tva_tx'=>'19.6',
|
||||||
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity("product", 1).')';
|
'pr.date_price'=>'2013-04-10');
|
||||||
|
|
||||||
|
|
||||||
// Import product multiprice
|
|
||||||
//--------
|
|
||||||
$r=0;
|
|
||||||
|
|
||||||
$r++;
|
|
||||||
$this->import_code[$r]=$this->rights_class.'_'.$r;
|
|
||||||
$this->import_label[$r]="ProductsMultiPrice"; // Translation key
|
|
||||||
$this->import_icon[$r]=$this->picto;
|
|
||||||
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
|
||||||
$this->import_tables_array[$r]=array('pr'=>MAIN_DB_PREFIX.'product_price');
|
|
||||||
$this->import_tables_creator_array[$r]=array('pr'=>'fk_user_author'); // Fields to store import user id
|
|
||||||
$this->import_fields_array[$r]=array('pr.fk_product'=>"ProductRowid*",
|
|
||||||
'pr.price_base_type'=>"PriceLevelPriceBase",'pr.price_level'=>"PriceLevel",
|
|
||||||
'pr.price'=>"PriceLevelUnitPriceHT",'pr.price_ttc'=>"PriceLevelUnitPriceTTC",
|
|
||||||
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
|
||||||
'pr.tva_tx'=>'PriceLevelVATRate',
|
|
||||||
'pr.date_price'=>'DateCreation*');
|
|
||||||
$this->import_regex_array[$r]=array('pr.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$');
|
|
||||||
$this->import_examplevalues_array[$r]=array('pr.fk_product'=>"1",
|
|
||||||
'pr.price_base_type'=>"HT",'pr.price_level'=>"1",
|
|
||||||
'pr.price'=>"100",'pr.price_ttc'=>"110",
|
|
||||||
'pr.price_min'=>"100",'pr.price_min_ttc'=>"110",
|
|
||||||
'pr.tva_tx'=>'19.6',
|
|
||||||
'pr.date_price'=>'2013-04-10');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
|
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -93,15 +94,15 @@ class modSalaries extends DolibarrModules
|
|||||||
$this->rights[$r][5] = '';
|
$this->rights[$r][5] = '';
|
||||||
|
|
||||||
$r++;
|
$r++;
|
||||||
$this->rights[$r][0] = 511;
|
$this->rights[$r][0] = 512;
|
||||||
$this->rights[$r][1] = 'Create/modify salaries';
|
$this->rights[$r][1] = 'Create/modify salaries';
|
||||||
$this->rights[$r][2] = 'w';
|
$this->rights[$r][2] = 'w';
|
||||||
$this->rights[$r][3] = 0;
|
$this->rights[$r][3] = 0;
|
||||||
$this->rights[$r][4] = 'create';
|
$this->rights[$r][4] = 'write';
|
||||||
$this->rights[$r][5] = '';
|
$this->rights[$r][5] = '';
|
||||||
|
|
||||||
$r++;
|
$r++;
|
||||||
$this->rights[$r][0] = 512;
|
$this->rights[$r][0] = 514;
|
||||||
$this->rights[$r][1] = 'Delete salaries';
|
$this->rights[$r][1] = 'Delete salaries';
|
||||||
$this->rights[$r][2] = 'd';
|
$this->rights[$r][2] = 'd';
|
||||||
$this->rights[$r][3] = 0;
|
$this->rights[$r][3] = 0;
|
||||||
@ -109,7 +110,7 @@ class modSalaries extends DolibarrModules
|
|||||||
$this->rights[$r][5] = '';
|
$this->rights[$r][5] = '';
|
||||||
|
|
||||||
$r++;
|
$r++;
|
||||||
$this->rights[$r][0] = 515;
|
$this->rights[$r][0] = 517;
|
||||||
$this->rights[$r][1] = 'Export salaries';
|
$this->rights[$r][1] = 'Export salaries';
|
||||||
$this->rights[$r][2] = 'r';
|
$this->rights[$r][2] = 'r';
|
||||||
$this->rights[$r][3] = 0;
|
$this->rights[$r][3] = 0;
|
||||||
|
|||||||
@ -168,6 +168,35 @@ class modService extends DolibarrModules
|
|||||||
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 1 AND p.entity IN ('.getEntity("product", 1).')';
|
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 1 AND p.entity IN ('.getEntity("product", 1).')';
|
||||||
|
|
||||||
|
|
||||||
|
if (empty($conf->product->enabled)) // We enable next import templates only if module product not already enabled (to avoid duplicate entries)
|
||||||
|
{
|
||||||
|
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||||
|
{
|
||||||
|
// Exports product multiprice
|
||||||
|
$r++;
|
||||||
|
$this->export_code[$r]=$this->rights_class.'_'.$r;
|
||||||
|
$this->export_label[$r]="ProductsMultiPrice"; // Translation key (used only if key ExportDataset_xxx_z not found)
|
||||||
|
$this->export_permission[$r]=array(array("produit","export"));
|
||||||
|
$this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",
|
||||||
|
'pr.price_base_type'=>"PriceLevelPriceBase",'pr.price_level'=>"PriceLevel",
|
||||||
|
'pr.price'=>"PriceLevelUnitPriceHT",'pr.price_ttc'=>"PriceLevelUnitPriceTTC",
|
||||||
|
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
||||||
|
'pr.tva_tx'=>'PriceLevelVATRate',
|
||||||
|
'pr.date_price'=>'DateCreation');
|
||||||
|
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",
|
||||||
|
'pr.price_base_type'=>"product",'pr.price_level'=>"product",'pr.price'=>"product",
|
||||||
|
'pr.price_ttc'=>"product",
|
||||||
|
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
||||||
|
'pr.tva_tx'=>'product',
|
||||||
|
'pr.date_price'=>"product");
|
||||||
|
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||||
|
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||||
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_price as pr ON p.rowid = pr.fk_product';
|
||||||
|
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity("product", 1).')';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Imports
|
// Imports
|
||||||
//--------
|
//--------
|
||||||
$r=0;
|
$r=0;
|
||||||
@ -196,6 +225,64 @@ class modService extends DolibarrModules
|
|||||||
$this->import_fieldshidden_array[$r]=array('extra.fk_object'=>'lastrowid-'.MAIN_DB_PREFIX.'product'); // aliastable.field => ('user->id' or 'lastrowid-'.tableparent)
|
$this->import_fieldshidden_array[$r]=array('extra.fk_object'=>'lastrowid-'.MAIN_DB_PREFIX.'product'); // aliastable.field => ('user->id' or 'lastrowid-'.tableparent)
|
||||||
$this->import_regex_array[$r]=array('p.ref'=>'[^ ]','p.tosell'=>'^[0|1]$','p.tobuy'=>'^[0|1]$','p.fk_product_type'=>'^[0|1]$','p.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$');
|
$this->import_regex_array[$r]=array('p.ref'=>'[^ ]','p.tosell'=>'^[0|1]$','p.tobuy'=>'^[0|1]$','p.fk_product_type'=>'^[0|1]$','p.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$');
|
||||||
$this->import_examplevalues_array[$r]=array('p.ref'=>"PR123456",'p.label'=>"My product",'p.description'=>"This is a description example for record",'p.note'=>"Some note",'p.price'=>"100",'p.price_ttc'=>"110",'p.tva_tx'=>'10','p.tosell'=>"0 or 1",'p.tobuy'=>"0 or 1",'p.fk_product_type'=>"0 for product/1 for service",'p.finished'=>'','p.duration'=>"1y",'p.datec'=>'2008-12-31');
|
$this->import_examplevalues_array[$r]=array('p.ref'=>"PR123456",'p.label'=>"My product",'p.description'=>"This is a description example for record",'p.note'=>"Some note",'p.price'=>"100",'p.price_ttc'=>"110",'p.tva_tx'=>'10','p.tosell'=>"0 or 1",'p.tobuy'=>"0 or 1",'p.fk_product_type'=>"0 for product/1 for service",'p.finished'=>'','p.duration'=>"1y",'p.datec'=>'2008-12-31');
|
||||||
|
|
||||||
|
|
||||||
|
if (empty($conf->product->enabled)) // We enable next import templates only if module product not already enabled (to avoid duplicate entries)
|
||||||
|
{
|
||||||
|
if (! empty($conf->fournisseur->enabled))
|
||||||
|
{
|
||||||
|
// Import suppliers prices (note: this code is duplicated into module product)
|
||||||
|
$r++;
|
||||||
|
$this->import_code[$r]=$this->rights_class.'_supplierprices';
|
||||||
|
$this->import_label[$r]="SuppliersPricesOfProductsOrServices"; // Translation key
|
||||||
|
$this->import_icon[$r]=$this->picto;
|
||||||
|
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||||
|
$this->import_tables_array[$r]=array('sp'=>MAIN_DB_PREFIX.'product_fournisseur_price');
|
||||||
|
$this->import_tables_creator_array[$r]=array('sp'=>'fk_user');
|
||||||
|
$this->import_fields_array[$r]=array('sp.fk_product'=>"ProductOrService*",
|
||||||
|
'sp.fk_soc'=>"Supplier*", 'sp.ref_fourn'=>'SupplierRef', 'sp.quantity'=>"QtyMin*", 'sp.tva_tx'=>'VATRate',
|
||||||
|
'sp.price'=>"PriceQtyMinHT*",
|
||||||
|
'sp.unitprice'=>'UnitPriceHT*', // TODO Make this file not required and calculate it from price and qty
|
||||||
|
'sp.remise_percent'=>'DiscountQtyMin'
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->import_convertvalue_array[$r]=array(
|
||||||
|
'sp.fk_soc'=>array('rule'=>'fetchidfromref','classfile'=>'/societe/class/societe.class.php','class'=>'Societe','method'=>'fetch','element'=>'ThirdParty'),
|
||||||
|
'sp.fk_product'=>array('rule'=>'fetchidfromref','classfile'=>'/product/class/product.class.php','class'=>'Product','method'=>'fetch','element'=>'Product')
|
||||||
|
);
|
||||||
|
$this->import_examplevalues_array[$r]=array('sp.fk_product'=>"PREF123456",
|
||||||
|
'sp.fk_soc'=>"My Supplier",'sp.ref_fourn'=>"SupplierRef", 'sp.quantity'=>"1", 'sp.tva_tx'=>'21',
|
||||||
|
'sp.price'=>"50",
|
||||||
|
'sp.unitprice'=>'50',
|
||||||
|
'sp.remise_percent'=>'0'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||||
|
{
|
||||||
|
// Import product multiprice
|
||||||
|
$r++;
|
||||||
|
$this->import_code[$r]=$this->rights_class.'_multiprice';
|
||||||
|
$this->import_label[$r]="ProductsOrServiceMultiPrice"; // Translation key
|
||||||
|
$this->import_icon[$r]=$this->picto;
|
||||||
|
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||||
|
$this->import_tables_array[$r]=array('pr'=>MAIN_DB_PREFIX.'product_price');
|
||||||
|
$this->import_tables_creator_array[$r]=array('pr'=>'fk_user_author'); // Fields to store import user id
|
||||||
|
$this->import_fields_array[$r]=array('pr.fk_product'=>"ProductRowid*",
|
||||||
|
'pr.price_base_type'=>"PriceLevelPriceBase",'pr.price_level'=>"PriceLevel",
|
||||||
|
'pr.price'=>"PriceLevelUnitPriceHT",'pr.price_ttc'=>"PriceLevelUnitPriceTTC",
|
||||||
|
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
||||||
|
'pr.tva_tx'=>'PriceLevelVATRate',
|
||||||
|
'pr.date_price'=>'DateCreation*');
|
||||||
|
$this->import_regex_array[$r]=array('pr.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$');
|
||||||
|
$this->import_examplevalues_array[$r]=array('pr.fk_product'=>"1",
|
||||||
|
'pr.price_base_type'=>"HT",'pr.price_level'=>"1",
|
||||||
|
'pr.price'=>"100",'pr.price_ttc'=>"110",
|
||||||
|
'pr.price_min'=>"100",'pr.price_min_ttc'=>"110",
|
||||||
|
'pr.tva_tx'=>'19.6',
|
||||||
|
'pr.date_price'=>'2013-04-10');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -329,7 +329,6 @@ class doc_generic_odt extends ModeleThirdPartyDoc
|
|||||||
foreach($contact_arrray as $array_key => $contact_id)
|
foreach($contact_arrray as $array_key => $contact_id)
|
||||||
{
|
{
|
||||||
$res_contact = $contactstatic->fetch($contact_id);
|
$res_contact = $contactstatic->fetch($contact_id);
|
||||||
//$contact['fullname']=$objectdetail->getFullName($outputlangs,1);
|
|
||||||
$tmparray=$this->get_substitutionarray_contact($contactstatic,$outputlangs,'contact');
|
$tmparray=$this->get_substitutionarray_contact($contactstatic,$outputlangs,'contact');
|
||||||
foreach($tmparray as $key => $val)
|
foreach($tmparray as $key => $val)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,330 +0,0 @@
|
|||||||
<?php
|
|
||||||
/* Copyright (C) 2010-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
|
||||||
* Copyright (C) 2010-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
|
||||||
* Copyright (C) 2012-2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
|
||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* Need to have following variables defined:
|
|
||||||
* $conf
|
|
||||||
* $langs
|
|
||||||
* $dateSelector
|
|
||||||
* $this (invoice, order, ...)
|
|
||||||
* $line defined
|
|
||||||
*/
|
|
||||||
|
|
||||||
$usemargins=0;
|
|
||||||
if (! empty($conf->margin->enabled) && ! empty($object->element) && in_array($object->element,array('facture','propal','commande'))) $usemargins=1;
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
||||||
<!-- BEGIN PHP TEMPLATE freeproductline_create.tpl.php -->
|
|
||||||
|
|
||||||
<tr class="liste_titre nodrag nodrop">
|
|
||||||
<td<?php echo (! empty($conf->global->MAIN_VIEW_LINE_NUMBER) ? ' colspan="2"' : ''); ?>>
|
|
||||||
<div id="add"></div>
|
|
||||||
<span class="hideonsmartphone"><?php echo $langs->trans('AddNewLine').' - ' ?></span><?php echo $langs->trans("FreeZone"); ?>
|
|
||||||
</td>
|
|
||||||
<td align="right"><?php echo $langs->trans('VAT'); ?></td>
|
|
||||||
<td align="right"><?php echo $langs->trans('PriceUHT'); ?></td>
|
|
||||||
<td align="right"><?php echo $langs->trans('Qty'); ?></td>
|
|
||||||
<td align="right"><?php echo $langs->trans('ReductionShort'); ?></td>
|
|
||||||
<?php
|
|
||||||
$colspan = 4;
|
|
||||||
if (! empty($usemargins))
|
|
||||||
{
|
|
||||||
?>
|
|
||||||
<td align="right">
|
|
||||||
<?php
|
|
||||||
if ($conf->global->MARGIN_TYPE == "1")
|
|
||||||
echo $langs->trans('BuyingPrice');
|
|
||||||
else
|
|
||||||
echo $langs->trans('CostPrice');
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
<?php
|
|
||||||
if ($user->rights->margins->creer)
|
|
||||||
{
|
|
||||||
if(! empty($conf->global->DISPLAY_MARGIN_RATES))
|
|
||||||
{
|
|
||||||
echo '<td align="right">'.$langs->trans('MarginRate').'</td>';
|
|
||||||
}
|
|
||||||
if(! empty($conf->global->DISPLAY_MARK_RATES))
|
|
||||||
{
|
|
||||||
echo '<td align="right">'.$langs->trans('MarkRate').'</td>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) $colspan++;
|
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES)) $colspan++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<td colspan="<?php echo $colspan; ?>"> </td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr <?php echo $bcnd[$var]; ?>>
|
|
||||||
<?php
|
|
||||||
if (! empty($conf->global->MAIN_VIEW_LINE_NUMBER)) {
|
|
||||||
$coldisplay=2; }
|
|
||||||
else {
|
|
||||||
$coldisplay=0; }
|
|
||||||
?>
|
|
||||||
|
|
||||||
<td<?php echo (! empty($conf->global->MAIN_VIEW_LINE_NUMBER) ? ' colspan="2"' : ''); ?>>
|
|
||||||
<?php
|
|
||||||
|
|
||||||
echo '<span>';
|
|
||||||
echo $form->select_type_of_lines(isset($_POST["type"])?$_POST["type"]:-1,'type',1);
|
|
||||||
echo '</span>';
|
|
||||||
|
|
||||||
if (is_object($hookmanager))
|
|
||||||
{
|
|
||||||
$parameters=array('fk_parent_line'=>GETPOST('fk_parent_line','int'));
|
|
||||||
$reshook=$hookmanager->executeHooks('formCreateProductOptions',$parameters,$object,$action);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((! empty($conf->product->enabled) && ! empty($conf->service->enabled)) || (empty($conf->product->enabled) && empty($conf->service->enabled))) echo '<br>';
|
|
||||||
|
|
||||||
// Editor wysiwyg
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
|
||||||
$nbrows=ROWS_2;
|
|
||||||
$enabled=(! empty($conf->global->FCKEDITOR_ENABLE_DETAILS)?$conf->global->FCKEDITOR_ENABLE_DETAILS:0);
|
|
||||||
if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT;
|
|
||||||
$doleditor=new DolEditor('dp_desc',GETPOST('dp_desc'),'',100,'dolibarr_details','',false,true,$enabled,$nbrows,70);
|
|
||||||
$doleditor->Create();
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td align="right"><?php
|
|
||||||
if ($seller->tva_assuj == "0") echo '<input type="hidden" name="tva_tx" value="0">0';
|
|
||||||
else echo $form->load_tva('tva_tx', (isset($_POST["tva_tx"])?$_POST["tva_tx"]:-1), $seller, $buyer);
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
<td align="right"><input type="text" size="5" name="price_ht" class="flat" value="<?php echo (isset($_POST["price_ht"])?$_POST["price_ht"]:''); ?>"></td>
|
|
||||||
<td align="right"><input type="text" size="2" name="qty" class="flat" value="<?php echo (isset($_POST["qty"])?$_POST["qty"]:1); ?>"></td>
|
|
||||||
<td align="right" class="nowrap"><input type="text" size="1" class="flat" value="<?php echo (isset($_POST["remise_percent"])?$_POST["remise_percent"]:$buyer->remise_client); ?>" name="remise_percent"><span class="hideonsmartphone">%</span></td>
|
|
||||||
<?php
|
|
||||||
$colspan = 4;
|
|
||||||
if (! empty($usemargins))
|
|
||||||
{
|
|
||||||
?>
|
|
||||||
<td align="right">
|
|
||||||
<input type="text" size="5" name="buying_price" class="flat" value="<?php echo (isset($_POST["buying_price"])?$_POST["buying_price"]:''); ?>">
|
|
||||||
</td>
|
|
||||||
<?php
|
|
||||||
$colspan++;
|
|
||||||
$coldisplay++;
|
|
||||||
|
|
||||||
if ($user->rights->margins->creer)
|
|
||||||
{
|
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) {
|
|
||||||
echo '<td align="right" class="nowrap"><input type="text" size="2" name="np_marginRate" value="'.(isset($_POST["np_marginRate"])?$_POST["np_marginRate"]:'').'"><span class="hideonsmartphone">%</span></td>';
|
|
||||||
$colspan++;
|
|
||||||
$coldisplay++;
|
|
||||||
}
|
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES)) {
|
|
||||||
echo '<td align="right" class="nowrap"><input type="text" size="2" name="np_markRate" value="'.(isset($_POST["np_markRate"])?$_POST["np_markRate"]:'').'"><span class="hideonsmartphone">%</span></td>';
|
|
||||||
$colspan++;
|
|
||||||
$coldisplay++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) {
|
|
||||||
$colspan++;
|
|
||||||
$coldisplay++;
|
|
||||||
}
|
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES)) {
|
|
||||||
$colspan++;
|
|
||||||
$coldisplay++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<td align="center" valign="middle" colspan="<?php echo $colspan; ?>">
|
|
||||||
<input type="submit" class="button" value="<?php echo $langs->trans('Add'); ?>" name="addline_libre" id="addline_libre">
|
|
||||||
</td>
|
|
||||||
<?php
|
|
||||||
//Line extrafield
|
|
||||||
if (!empty($extrafieldsline)) {
|
|
||||||
if ($this->table_element_line=='commandedet') {
|
|
||||||
$newline = new OrderLine($this->db);
|
|
||||||
}
|
|
||||||
elseif ($this->table_element_line=='propaldet') {
|
|
||||||
$newline = new PropaleLigne($this->db);
|
|
||||||
}
|
|
||||||
elseif ($this->table_element_line=='facturedet') {
|
|
||||||
$newline = new FactureLigne($this->db);
|
|
||||||
}
|
|
||||||
if (is_object($newline)) {
|
|
||||||
print $newline->showOptionals($extrafieldsline, 'edit', array('style'=>$bcnd[$var], 'colspan'=>$coldisplay+8));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
if (! empty($conf->service->enabled) && $dateSelector)
|
|
||||||
{
|
|
||||||
if(! empty($conf->global->MAIN_VIEW_LINE_NUMBER)) $colspan = 10;
|
|
||||||
else $colspan = 9;
|
|
||||||
|
|
||||||
if (! empty($usemargins))
|
|
||||||
{
|
|
||||||
$colspan++; // For the buying price
|
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) $colspan++;
|
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES)) $colspan++;
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<tr <?php echo $bcnd[$var]; ?>>
|
|
||||||
<td colspan="<?php echo $colspan; ?>">
|
|
||||||
<?php
|
|
||||||
if (! empty($object->element) && $object->element == 'contrat')
|
|
||||||
{
|
|
||||||
print $langs->trans("DateStartPlanned").' ';
|
|
||||||
$form->select_date('',"date_start",$usehm,$usehm,1,"addline_sl");
|
|
||||||
print ' '.$langs->trans("DateEndPlanned").' ';
|
|
||||||
$form->select_date('',"date_end",$usehm,$usehm,1,"addline_sl");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
echo $langs->trans('ServiceLimitedDuration').' '.$langs->trans('From').' ';
|
|
||||||
echo $form->select_date('','date_start',empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,1,"addproduct");
|
|
||||||
echo ' '.$langs->trans('to').' ';
|
|
||||||
echo $form->select_date('','date_end',empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,1,"addproduct");
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
|
||||||
if (! empty($usemargins) && $user->rights->margins->creer)
|
|
||||||
{
|
|
||||||
?>
|
|
||||||
<script type="text/javascript">
|
|
||||||
|
|
||||||
jQuery(document).ready(function() {
|
|
||||||
<?php
|
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) { ?>
|
|
||||||
$('#addline_libre').click(function (e) {
|
|
||||||
return checkFreeLine(e, "np_marginRate");
|
|
||||||
});
|
|
||||||
$("input[name='np_marginRate']:first").blur(function(e) {
|
|
||||||
return checkFreeLine(e, "np_marginRate");
|
|
||||||
});
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES)) { ?>
|
|
||||||
$('#addline_libre').click(function (e) {
|
|
||||||
return checkFreeLine(e, "np_markRate");
|
|
||||||
});
|
|
||||||
$("input[name='np_markRate']:first").blur(function(e) {
|
|
||||||
return checkFreeLine(e, "np_markRate");
|
|
||||||
});
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
});
|
|
||||||
|
|
||||||
// TODO This works for french numbers only
|
|
||||||
function checkFreeLine(e, npRate)
|
|
||||||
{
|
|
||||||
var buying_price = $("input[name='buying_price']:first");
|
|
||||||
var remise = $("input[name='remise_percent']:first");
|
|
||||||
|
|
||||||
var rate = $("input[name='"+npRate+"']:first");
|
|
||||||
if (rate.val() == '')
|
|
||||||
return true;
|
|
||||||
if (! $.isNumeric(rate.val().replace(',','.')))
|
|
||||||
{
|
|
||||||
alert('<?php echo dol_escape_js($langs->trans("rateMustBeNumeric")); ?>');
|
|
||||||
e.stopPropagation();
|
|
||||||
setTimeout(function () { rate.focus() }, 50);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (npRate == "np_markRate" && rate.val() >= 100)
|
|
||||||
{
|
|
||||||
alert('<?php echo dol_escape_js($langs->trans("markRateShouldBeLesserThan100")); ?>');
|
|
||||||
e.stopPropagation();
|
|
||||||
setTimeout(function () { rate.focus() }, 50);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var price = 0;
|
|
||||||
remisejs=price2numjs(remise.val());
|
|
||||||
|
|
||||||
if (remisejs != 100)
|
|
||||||
{
|
|
||||||
bpjs=price2numjs(buying_price.val());
|
|
||||||
ratejs=price2numjs(rate.val());
|
|
||||||
|
|
||||||
if (npRate == "marginRate")
|
|
||||||
price = ((bpjs * (1 + ratejs / 100)) / (1 - remisejs / 100));
|
|
||||||
else if (npRate == "markRate")
|
|
||||||
price = ((bpjs / (1 - ratejs / 100)) / (1 - remisejs / 100));
|
|
||||||
}
|
|
||||||
$("input[name='price_ht']:first").val(price); // TODO Must use a function like php price to have here a formated value
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Function similar to price2num in PHP */
|
|
||||||
function price2numjs(num)
|
|
||||||
{
|
|
||||||
<?php
|
|
||||||
$dec=','; $thousand=' ';
|
|
||||||
if ($langs->transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") $dec=$langs->transnoentitiesnoconv("SeparatorDecimal");
|
|
||||||
if ($langs->transnoentitiesnoconv("SeparatorThousand")!= "SeparatorThousand") $thousand=$langs->transnoentitiesnoconv("SeparatorThousand");
|
|
||||||
if ($thousand == 'None') $thousand='';
|
|
||||||
print "var dec='".$dec."'; var thousand='".$thousand."';\n";
|
|
||||||
?>
|
|
||||||
|
|
||||||
var main_max_dec_shown = <?php echo $conf->global->MAIN_MAX_DECIMALS_SHOWN; ?>;
|
|
||||||
var main_rounding_unit = <?php echo $conf->global->MAIN_MAX_DECIMALS_UNIT; ?>;
|
|
||||||
var main_rounding_tot = <?php echo $conf->global->MAIN_MAX_DECIMALS_TOT; ?>;
|
|
||||||
|
|
||||||
var amount = num.toString();
|
|
||||||
|
|
||||||
// rounding for unit price
|
|
||||||
var rounding = main_rounding_unit;
|
|
||||||
var pos = amount.indexOf(dec);
|
|
||||||
var decpart = '';
|
|
||||||
if (pos >= 0) decpart = amount.substr(pos+1).replace('/0+$/i',''); // Supprime les 0 de fin de partie decimale
|
|
||||||
var nbdec = decpart.length;
|
|
||||||
if (nbdec > rounding) rounding = nbdec;
|
|
||||||
// If rounding higher than max shown
|
|
||||||
if (rounding > main_max_dec_shown) rounding = main_max_dec_shown;
|
|
||||||
|
|
||||||
if (thousand != ',' && thousand != '.') amount=amount.replace(',','.');
|
|
||||||
amount=amount.replace(' ',''); // To avoid spaces
|
|
||||||
amount=amount.replace(thousand,''); // Replace of thousand before replace of dec to avoid pb if thousand is .
|
|
||||||
amount=amount.replace(dec,'.');
|
|
||||||
|
|
||||||
return parseFloat(amount).toFixed(rounding);
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<!-- END PHP TEMPLATE freeproductline_create.tpl.php -->
|
|
||||||
@ -41,9 +41,7 @@ if (empty($inputalsopricewithtax)) $inputalsopricewithtax=0;
|
|||||||
// Define colspan for button Add
|
// Define colspan for button Add
|
||||||
$colspan = 3; // Col total ht + col edit + col delete
|
$colspan = 3; // Col total ht + col edit + col delete
|
||||||
if (! empty($inputalsopricewithtax)) $colspan++; // We add 1 if col total ttc
|
if (! empty($inputalsopricewithtax)) $colspan++; // We add 1 if col total ttc
|
||||||
if (in_array($object->element,array('propal','facture','invoice','commande','order'))) $colspan++; // With this, there is a column move
|
if (in_array($object->element,array('propal','facture','invoice','commande','order'))) $colspan++; // With this, there is a column move button
|
||||||
if ($user->rights->margins->creer && ! empty($conf->global->DISPLAY_MARGIN_RATES)) $colspan++;
|
|
||||||
if ($user->rights->margins->creer && ! empty($conf->global->DISPLAY_MARK_RATES)) $colspan++;
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- BEGIN PHP TEMPLATE objectline_create.tpl.php -->
|
<!-- BEGIN PHP TEMPLATE objectline_create.tpl.php -->
|
||||||
@ -72,8 +70,8 @@ if ($user->rights->margins->creer && ! empty($conf->global->DISPLAY_MARK_RATES))
|
|||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
<?php
|
<?php
|
||||||
if ($user->rights->margins->creer && ! empty($conf->global->DISPLAY_MARGIN_RATES)) echo '<td align="right">'.$langs->trans('MarginRate').'</td>';
|
if ($user->rights->margins->creer && ! empty($conf->global->DISPLAY_MARGIN_RATES)) echo '<td align="right"><span class="np_marginRate">'.$langs->trans('MarginRate').'</span></td>';
|
||||||
if ($user->rights->margins->creer && ! empty($conf->global->DISPLAY_MARK_RATES)) echo '<td align="right">'.$langs->trans('MarkRate').'</td>';
|
if ($user->rights->margins->creer && ! empty($conf->global->DISPLAY_MARK_RATES)) echo '<td align="right"><span class="np_markRate">'.$langs->trans('MarkRate').'</span></td>';
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<td colspan="<?php echo $colspan; ?>"> </td>
|
<td colspan="<?php echo $colspan; ?>"> </td>
|
||||||
@ -226,12 +224,12 @@ else {
|
|||||||
{
|
{
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES))
|
if (! empty($conf->global->DISPLAY_MARGIN_RATES))
|
||||||
{
|
{
|
||||||
echo '<td align="right" class="nowrap"><input type="text" size="2" name="np_marginRate" value="'.(isset($_POST["np_marginRate"])?$_POST["np_marginRate"]:'').'"><span class="hideonsmartphone">%</span></td>';
|
echo '<td align="right" class="nowrap"><input type="text" size="2" id="np_marginRate" name="np_marginRate" value="'.(isset($_POST["np_marginRate"])?$_POST["np_marginRate"]:'').'"><span class="np_marginRate hideonsmartphone">%</span></td>';
|
||||||
$coldisplay++;
|
$coldisplay++;
|
||||||
}
|
}
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES))
|
if (! empty($conf->global->DISPLAY_MARK_RATES))
|
||||||
{
|
{
|
||||||
echo '<td align="right" class="nowrap"><input type="text" size="2" name="np_markRate" value="'.(isset($_POST["np_markRate"])?$_POST["np_markRate"]:'').'"><span class="hideonsmartphone">%</span></td>';
|
echo '<td align="right" class="nowrap"><input type="text" size="2" id="np_markRate" name="np_markRate" value="'.(isset($_POST["np_markRate"])?$_POST["np_markRate"]:'').'"><span class="np_markRate hideonsmartphone">%</span></td>';
|
||||||
$coldisplay++;
|
$coldisplay++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -246,7 +244,7 @@ else {
|
|||||||
<input type="submit" class="button" value="<?php echo $langs->trans('Add'); ?>" name="addline" id="addline">
|
<input type="submit" class="button" value="<?php echo $langs->trans('Add'); ?>" name="addline" id="addline">
|
||||||
</td>
|
</td>
|
||||||
<?php
|
<?php
|
||||||
//Line extrafield
|
// Line extrafield
|
||||||
if (!empty($extrafieldsline)) {
|
if (!empty($extrafieldsline)) {
|
||||||
if ($this->table_element_line=='commandedet') {
|
if ($this->table_element_line=='commandedet') {
|
||||||
$newline = new OrderLine($this->db);
|
$newline = new OrderLine($this->db);
|
||||||
@ -344,6 +342,7 @@ if (! empty($usemargins) && $user->rights->margins->creer)
|
|||||||
var rate = $("input[name='"+npRate+"']:first");
|
var rate = $("input[name='"+npRate+"']:first");
|
||||||
if (rate.val() == '')
|
if (rate.val() == '')
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (! $.isNumeric(rate.val().replace(',','.')))
|
if (! $.isNumeric(rate.val().replace(',','.')))
|
||||||
{
|
{
|
||||||
alert('<?php echo dol_escape_js($langs->trans("rateMustBeNumeric")); ?>');
|
alert('<?php echo dol_escape_js($langs->trans("rateMustBeNumeric")); ?>');
|
||||||
@ -362,14 +361,16 @@ if (! empty($usemargins) && $user->rights->margins->creer)
|
|||||||
var price = 0;
|
var price = 0;
|
||||||
remisejs=price2numjs(remise.val());
|
remisejs=price2numjs(remise.val());
|
||||||
|
|
||||||
if (remisejs != 100)
|
if (remisejs != 100) // If a discount not 100 or no discount
|
||||||
{
|
{
|
||||||
|
if (remisejs == '') remisejs=0;
|
||||||
|
|
||||||
bpjs=price2numjs(buying_price.val());
|
bpjs=price2numjs(buying_price.val());
|
||||||
ratejs=price2numjs(rate.val());
|
ratejs=price2numjs(rate.val());
|
||||||
|
|
||||||
if (npRate == "marginRate")
|
if (npRate == "np_marginRate")
|
||||||
price = ((bpjs * (1 + ratejs / 100)) / (1 - remisejs / 100));
|
price = ((bpjs * (1 + ratejs / 100)) / (1 - remisejs / 100));
|
||||||
else if (npRate == "markRate")
|
else if (npRate == "np_markRate")
|
||||||
price = ((bpjs / (1 - ratejs / 100)) / (1 - remisejs / 100));
|
price = ((bpjs / (1 - ratejs / 100)) / (1 - remisejs / 100));
|
||||||
}
|
}
|
||||||
$("input[name='price_ht']:first").val(price); // TODO Must use a function like php price to have here a formated value
|
$("input[name='price_ht']:first").val(price); // TODO Must use a function like php price to have here a formated value
|
||||||
@ -381,12 +382,13 @@ if (! empty($usemargins) && $user->rights->margins->creer)
|
|||||||
/* Function similar to price2num in PHP */
|
/* Function similar to price2num in PHP */
|
||||||
function price2numjs(num)
|
function price2numjs(num)
|
||||||
{
|
{
|
||||||
|
if (num == '') return '';
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$dec=','; $thousand=' ';
|
$dec=','; $thousand=' ';
|
||||||
if ($langs->transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") $dec=$langs->transnoentitiesnoconv("SeparatorDecimal");
|
if ($langs->transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") $dec=$langs->transnoentitiesnoconv("SeparatorDecimal");
|
||||||
if ($langs->transnoentitiesnoconv("SeparatorThousand")!= "SeparatorThousand") $thousand=$langs->transnoentitiesnoconv("SeparatorThousand");
|
if ($langs->transnoentitiesnoconv("SeparatorThousand")!= "SeparatorThousand") $thousand=$langs->transnoentitiesnoconv("SeparatorThousand");
|
||||||
if ($thousand == 'None') $thousand='';
|
print "var dec='".$dec."'; var thousand='".$thousand."';\n"; // Set var in javascript
|
||||||
print "var dec='".$dec."'; var thousand='".$thousand."';\n";
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
var main_max_dec_shown = <?php echo $conf->global->MAIN_MAX_DECIMALS_SHOWN; ?>;
|
var main_max_dec_shown = <?php echo $conf->global->MAIN_MAX_DECIMALS_SHOWN; ?>;
|
||||||
@ -497,6 +499,10 @@ function setforfree() {
|
|||||||
jQuery("#title_vat").show();
|
jQuery("#title_vat").show();
|
||||||
jQuery("#title_up_ht").show();
|
jQuery("#title_up_ht").show();
|
||||||
jQuery("#title_up_ttc").show();
|
jQuery("#title_up_ttc").show();
|
||||||
|
jQuery("#np_marginRate").show(); // May no exists
|
||||||
|
jQuery("#np_markRate").show(); // May no exists
|
||||||
|
jQuery(".np_marginRate").show(); // May no exists
|
||||||
|
jQuery(".np_markRate").show(); // May no exists
|
||||||
}
|
}
|
||||||
function setforpredef() {
|
function setforpredef() {
|
||||||
jQuery("#select_type").val(-1);
|
jQuery("#select_type").val(-1);
|
||||||
@ -509,6 +515,10 @@ function setforpredef() {
|
|||||||
jQuery("#title_vat").hide();
|
jQuery("#title_vat").hide();
|
||||||
jQuery("#title_up_ht").hide();
|
jQuery("#title_up_ht").hide();
|
||||||
jQuery("#title_up_ttc").hide();
|
jQuery("#title_up_ttc").hide();
|
||||||
|
jQuery("#np_marginRate").hide(); // May no exists
|
||||||
|
jQuery("#np_markRate").hide(); // May no exists
|
||||||
|
jQuery(".np_marginRate").hide(); // May no exists
|
||||||
|
jQuery(".np_markRate").hide(); // May no exists
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -17,14 +17,31 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
*
|
|
||||||
* Need to have following variables defined:
|
* Need to have following variables defined:
|
||||||
|
* $object (invoice, order, ...)
|
||||||
* $conf
|
* $conf
|
||||||
* $langs
|
* $langs
|
||||||
* $dateSelector
|
* $dateSelector
|
||||||
* $this (invoice, order, ...)
|
* $forceall (0 by default, 1 for supplier invoices/orders)
|
||||||
* $line defined
|
* $senderissupplier (0 by default, 1 for supplier invoices/orders)
|
||||||
|
* $inputalsopricewithtax (0 by default, 1 to also show column with unit price including tax)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
$usemargins=0;
|
||||||
|
if (! empty($conf->margin->enabled) && ! empty($object->element) && in_array($object->element,array('facture','propal','commande'))) $usemargins=1;
|
||||||
|
|
||||||
|
global $dateSelector, $forceall, $senderissupplier, $inputalsopricewithtax;
|
||||||
|
if (empty($dateSelector)) $dateSelector=0;
|
||||||
|
if (empty($forceall)) $forceall=0;
|
||||||
|
if (empty($senderissupplier)) $senderissupplier=0;
|
||||||
|
if (empty($inputalsopricewithtax)) $inputalsopricewithtax=0;
|
||||||
|
|
||||||
|
|
||||||
|
// Define colspan for button Add
|
||||||
|
$colspan = 3; // Col total ht + col edit + col delete
|
||||||
|
if (! empty($inputalsopricewithtax)) $colspan++; // We add 1 if col total ttc
|
||||||
|
if (in_array($object->element,array('propal','facture','invoice','commande','order'))) $colspan++; // With this, there is a column move button
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- BEGIN PHP TEMPLATE objectline_edit.tpl.php -->
|
<!-- BEGIN PHP TEMPLATE objectline_edit.tpl.php -->
|
||||||
@ -41,29 +58,7 @@ $coldisplay=-1; // We remove first td
|
|||||||
<input type="hidden" id="product_id" name="productid" value="<?php echo (! empty($line->fk_product)?$line->fk_product:0); ?>" />
|
<input type="hidden" id="product_id" name="productid" value="<?php echo (! empty($line->fk_product)?$line->fk_product:0); ?>" />
|
||||||
<input type="hidden" id="special_code" name="special_code" value="<?php echo $line->special_code; ?>">
|
<input type="hidden" id="special_code" name="special_code" value="<?php echo $line->special_code; ?>">
|
||||||
|
|
||||||
<?php
|
<?php if ($line->fk_product > 0) { ?>
|
||||||
if ($conf->global->MAIN_FEATURES_LEVEL > 1)
|
|
||||||
{
|
|
||||||
if ($line->fk_product > 0)
|
|
||||||
{
|
|
||||||
echo $text . ' - ';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
echo $form->select_type_of_lines($line->product_type, 'type', 1, 1);
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<input id="product_label" name="product_label" size="40" value="<?php echo $label; ?>"<?php echo $placeholder . ((! empty($line->fk_product) && empty($line->label)) ? ' disabled="disabled"' : ''); ?>>
|
|
||||||
<input type="hidden" id="origin_label_cache" name="origin_label_cache" value="<?php echo $line->product_label; ?>" />
|
|
||||||
<span id="update_label_area" class="hideobject"><input type="checkbox" id="update_label_checkbox" name="update_label" value="1" />
|
|
||||||
<?php echo $form->textwithtooltip($langs->trans('UpdateOriginalProductLabel'), $langs->trans('HelpUpdateOriginalProductLabel'),1,0,'','',3); ?>
|
|
||||||
</span>
|
|
||||||
<span id="price_base_type" class="hideobject"></span>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<?php } else if ($line->fk_product > 0) { ?>
|
|
||||||
|
|
||||||
<a href="<?php echo DOL_URL_ROOT.'/product/fiche.php?id='.$line->fk_product; ?>">
|
<a href="<?php echo DOL_URL_ROOT.'/product/fiche.php?id='.$line->fk_product; ?>">
|
||||||
<?php
|
<?php
|
||||||
@ -126,9 +121,16 @@ $coldisplay=-1; // We remove first td
|
|||||||
<?php } ?>
|
<?php } ?>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<?php if (! empty($conf->margin->enabled)) { ?>
|
<?php
|
||||||
|
if (! empty($usemargins))
|
||||||
|
{
|
||||||
|
?>
|
||||||
<td align="right"><?php $coldisplay++; ?>
|
<td align="right"><?php $coldisplay++; ?>
|
||||||
<select id="fournprice" name="fournprice" class="hideobject"></select>
|
<!-- For predef product -->
|
||||||
|
<?php if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) { ?>
|
||||||
|
<select id="fournprice_predef" name="fournprice_predef" class="flat" style="display: none;"></select>
|
||||||
|
<?php } ?>
|
||||||
|
<!-- For free product -->
|
||||||
<input type="text" size="5" id="buying_price" name="buying_price" class="hideobject" value="<?php echo price($line->pa_ht,0,'',0); ?>">
|
<input type="text" size="5" id="buying_price" name="buying_price" class="hideobject" value="<?php echo price($line->pa_ht,0,'',0); ?>">
|
||||||
</td>
|
</td>
|
||||||
<?php if ($user->rights->margins->creer) {
|
<?php if ($user->rights->margins->creer) {
|
||||||
@ -156,7 +158,7 @@ $coldisplay=-1; // We remove first td
|
|||||||
} ?>
|
} ?>
|
||||||
|
|
||||||
<!-- colspan=4 for this td because it replace total_ht+3 td for buttons -->
|
<!-- colspan=4 for this td because it replace total_ht+3 td for buttons -->
|
||||||
<td align="center" colspan="4" valign="middle"><?php $coldisplay+=4; ?>
|
<td align="center" colspan="<?php echo $colspan; ?>" valign="middle"><?php $coldisplay+=4; ?>
|
||||||
<input type="submit" class="button" id="savelinebutton" name="save" value="<?php echo $langs->trans("Save"); ?>"><br>
|
<input type="submit" class="button" id="savelinebutton" name="save" value="<?php echo $langs->trans("Save"); ?>"><br>
|
||||||
<input type="submit" class="button" id="cancellinebutton" name="cancel" value="<?php echo $langs->trans("Cancel"); ?>">
|
<input type="submit" class="button" id="cancellinebutton" name="cancel" value="<?php echo $langs->trans("Cancel"); ?>">
|
||||||
</td>
|
</td>
|
||||||
@ -185,193 +187,6 @@ $coldisplay=-1; // We remove first td
|
|||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
<?php
|
|
||||||
if ($conf->global->MAIN_FEATURES_LEVEL > 1) // TODO A virer
|
|
||||||
{
|
|
||||||
?>
|
|
||||||
jQuery(document).ready(function() {
|
|
||||||
|
|
||||||
|
|
||||||
if ($('#product_type').val() == 0) {
|
|
||||||
$('#service_duration_area').hide();
|
|
||||||
} else if ($('#product_type').val() == 1) {
|
|
||||||
$('#service_duration_area').show();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($('#product_label').attr('disabled')) {
|
|
||||||
$('#update_label_area').show();
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#update_label_checkbox').change(function() {
|
|
||||||
if ($(this).attr('checked')) {
|
|
||||||
$('#product_label').removeAttr('disabled').focus();
|
|
||||||
} else {
|
|
||||||
$('#product_label')
|
|
||||||
.attr('disabled','disabled')
|
|
||||||
.val($('#origin_label_cache').val());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#select_type').change(function() {
|
|
||||||
var type = $(this).val();
|
|
||||||
if (type >= 0) {
|
|
||||||
if (type == 0) {
|
|
||||||
$('#service_duration_area').hide();
|
|
||||||
$('#date_start').val('').trigger('change');
|
|
||||||
$('#date_end').val('').trigger('change');
|
|
||||||
} else if (type == 1) {
|
|
||||||
$('#service_duration_area').show();
|
|
||||||
}
|
|
||||||
var addline=false;
|
|
||||||
if ($('#price_ht').val().length > 0) {
|
|
||||||
if ($('#product_id').val() == 0) {
|
|
||||||
if (typeof CKEDITOR == 'object' && typeof CKEDITOR.instances != 'undefined' && CKEDITOR.instances['product_desc'] != 'undefined') {
|
|
||||||
var content = CKEDITOR.instances['product_desc'].getData();
|
|
||||||
} else {
|
|
||||||
var content = $('#product_desc').val();
|
|
||||||
}
|
|
||||||
if (content.length > 0) {
|
|
||||||
addline=true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
addline=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (addline) {
|
|
||||||
$('#savelinebutton').removeAttr('disabled');
|
|
||||||
} else {
|
|
||||||
$('#savelinebutton').attr('disabled','disabled');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$('#savelinebutton').attr('disabled','disabled');
|
|
||||||
$('#service_duration_area').hide();
|
|
||||||
$('#date_start').val('').trigger('change');
|
|
||||||
$('#date_end').val('').trigger('change');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#price_ht').focusin(function() {
|
|
||||||
$('#price_base_type').val('HT');
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#price_ht').bind('change keyup input', function() {
|
|
||||||
if ($('#price_base_type').val() == 'HT') {
|
|
||||||
update_price('price_ht', 'price_ttc');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#price_ttc').focusin(function() {
|
|
||||||
$('#price_base_type').val('TTC');
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#price_ttc').bind('change keyup input', function() {
|
|
||||||
if ($('#price_base_type').val() == 'TTC') {
|
|
||||||
update_price('price_ttc', 'price_ht');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if ($('#tva_tx').val() == 0) {
|
|
||||||
$('#price_ttc').attr('disabled','disabled');
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#tva_tx').change(function() {
|
|
||||||
if ($(this).val() == 0) {
|
|
||||||
$('#price_ttc').attr('disabled','disabled');
|
|
||||||
$('#price_ttc').val('');
|
|
||||||
} else {
|
|
||||||
$('#price_ttc').removeAttr('disabled');
|
|
||||||
if ($('#price_base_type').val() == 'HT') {
|
|
||||||
update_price('price_ht', 'price_ttc');
|
|
||||||
} else if ($('#price_base_type').val() == 'TTC') {
|
|
||||||
update_price('price_ttc', 'price_ht');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// update_price
|
|
||||||
function update_price(input, output)
|
|
||||||
{
|
|
||||||
$.post('<?php echo DOL_URL_ROOT; ?>/core/ajax/price.php', {
|
|
||||||
'amount': $('#' + input).val(),
|
|
||||||
'output': output,
|
|
||||||
'tva_tx': $('#tva_tx').val()
|
|
||||||
},
|
|
||||||
function(data) {
|
|
||||||
var addline=false;
|
|
||||||
if (typeof data[output] != 'undefined') {
|
|
||||||
// Hide price_ttc if no vat
|
|
||||||
if ($('#tva_tx').val() > 0 || ($('#tva_tx').val() == 0 && output == 'price_ht')) {
|
|
||||||
$('#' + output).val(data[output]);
|
|
||||||
}
|
|
||||||
if ($('#product_id').val() == 0 && $('#select_type').val() >= 0) {
|
|
||||||
if (typeof CKEDITOR == 'object' && typeof CKEDITOR.instances != 'undefined' && CKEDITOR.instances['product_desc'] != 'undefined') {
|
|
||||||
var content = CKEDITOR.instances['product_desc'].getData();
|
|
||||||
} else {
|
|
||||||
var content = $('#product_desc').val();
|
|
||||||
}
|
|
||||||
if (content.length > 0) {
|
|
||||||
addline=true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
addline=true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$('#' + input).val('');
|
|
||||||
$('#' + output).val('');
|
|
||||||
}
|
|
||||||
if (addline) {
|
|
||||||
$('#savelinebutton').removeAttr('disabled');
|
|
||||||
} else {
|
|
||||||
$('#savelinebutton').attr('disabled','disabled');
|
|
||||||
}
|
|
||||||
}, 'json');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check if decription is not empty for free line
|
|
||||||
<?php if (! empty($conf->fckeditor->enabled) && ! empty($conf->global->FCKEDITOR_ENABLE_DETAILS)) { ?>
|
|
||||||
CKEDITOR.on('instanceReady', function() {
|
|
||||||
CKEDITOR.instances['product_desc'].on('key', function() {
|
|
||||||
var addline=false;
|
|
||||||
if ($('#product_id').val() == 0 && $('#select_type').val() >= 0 && $('#price_ht').val().length > 0) {
|
|
||||||
var content = CKEDITOR.instances['product_desc'].getData();
|
|
||||||
if (content.length > 0) {
|
|
||||||
addline=true;
|
|
||||||
}
|
|
||||||
} else if ($('#product_id').val() > 0 && $('#price_ht').val().length > 0) {
|
|
||||||
addline=true;
|
|
||||||
}
|
|
||||||
if (addline) {
|
|
||||||
$('#savelinebutton').removeAttr('disabled');
|
|
||||||
} else {
|
|
||||||
$('#savelinebutton').attr('disabled','disabled');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
<?php } else { ?>
|
|
||||||
$('#product_desc').keyup(function() {
|
|
||||||
var addline=false;
|
|
||||||
if ($('#product_id').val() == 0 && $('#select_type').val() >= 0 && $('#price_ht').val().length > 0) {
|
|
||||||
var content = $('#product_desc').val();
|
|
||||||
if (content.length > 0) {
|
|
||||||
addline=true;
|
|
||||||
}
|
|
||||||
} else if ($('#product_id').val() > 0 && $('#price_ht').val().length > 0) {
|
|
||||||
addline=true;
|
|
||||||
}
|
|
||||||
if (addline) {
|
|
||||||
$('#savelinebutton').removeAttr('disabled');
|
|
||||||
} else {
|
|
||||||
$('#savelinebutton').attr('disabled','disabled');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
<?php } // End MAIN_LEVEL_FEATURES > 1 ?>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
if (! empty($conf->margin->enabled))
|
if (! empty($conf->margin->enabled))
|
||||||
{
|
{
|
||||||
@ -499,12 +314,13 @@ if (! empty($conf->margin->enabled))
|
|||||||
/* Function similar to price2num in PHP */
|
/* Function similar to price2num in PHP */
|
||||||
function price2numjs(num)
|
function price2numjs(num)
|
||||||
{
|
{
|
||||||
|
if (num == '') return '';
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$dec=','; $thousand=' ';
|
$dec=','; $thousand=' ';
|
||||||
if ($langs->transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") $dec=$langs->transnoentitiesnoconv("SeparatorDecimal");
|
if ($langs->transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") $dec=$langs->transnoentitiesnoconv("SeparatorDecimal");
|
||||||
if ($langs->transnoentitiesnoconv("SeparatorThousand")!= "SeparatorThousand") $thousand=$langs->transnoentitiesnoconv("SeparatorThousand");
|
if ($langs->transnoentitiesnoconv("SeparatorThousand")!= "SeparatorThousand") $thousand=$langs->transnoentitiesnoconv("SeparatorThousand");
|
||||||
if ($thousand == 'None') $thousand='';
|
print "var dec='".$dec."'; var thousand='".$thousand."';\n"; // Set var in javascript
|
||||||
print "var dec='".$dec."'; var thousand='".$thousand."';\n";
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
var main_max_dec_shown = <?php echo $conf->global->MAIN_MAX_DECIMALS_SHOWN; ?>;
|
var main_max_dec_shown = <?php echo $conf->global->MAIN_MAX_DECIMALS_SHOWN; ?>;
|
||||||
|
|||||||
@ -1,373 +0,0 @@
|
|||||||
<?php
|
|
||||||
/* Copyright (C) 2010-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
|
||||||
* Copyright (C) 2010-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
|
||||||
* Copyright (C) 2012-2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
|
||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* Need to have following variables defined:
|
|
||||||
* $conf
|
|
||||||
* $langs
|
|
||||||
* $dateSelector
|
|
||||||
* $this (invoice, order, ...)
|
|
||||||
* $line defined
|
|
||||||
*/
|
|
||||||
|
|
||||||
$usemargins=0;
|
|
||||||
if (! empty($conf->margin->enabled) && ! empty($object->element) && in_array($object->element,array('facture','propal','commande'))) $usemargins=1;
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
||||||
<!-- BEGIN PHP TEMPLATE predefinedproductline_create.tpl.php -->
|
|
||||||
|
|
||||||
<tr class="liste_titre nodrag nodrop">
|
|
||||||
<td<?php echo (! empty($conf->global->MAIN_VIEW_LINE_NUMBER) ? ' colspan="4"' : ' colspan="3"'); ?>>
|
|
||||||
<?php
|
|
||||||
echo '<span class="hideonsmartphone">'.$langs->trans("AddNewLine").' - </span>';
|
|
||||||
if (! empty($conf->product->enabled) && empty($conf->service->enabled)) echo $langs->trans('RecordedProducts');
|
|
||||||
else if (empty($conf->product->enabled) && ! empty($conf->service->enabled)) echo $langs->trans('RecordedServices');
|
|
||||||
else echo $langs->trans('RecordedProductsAndServices');
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
<td align="right"><?php echo $langs->trans('Qty'); ?></td>
|
|
||||||
<td align="right"><?php echo $langs->trans('ReductionShort'); ?></td>
|
|
||||||
<?php
|
|
||||||
$colspan = 4;
|
|
||||||
if (! empty($usemargins))
|
|
||||||
{
|
|
||||||
?>
|
|
||||||
<td align="right">
|
|
||||||
<?php
|
|
||||||
if ($conf->global->MARGIN_TYPE == "1")
|
|
||||||
echo $langs->trans('BuyingPrice');
|
|
||||||
else
|
|
||||||
echo $langs->trans('CostPrice');
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
<?php
|
|
||||||
if ($user->rights->margins->creer)
|
|
||||||
{
|
|
||||||
if(! empty($conf->global->DISPLAY_MARGIN_RATES))
|
|
||||||
{
|
|
||||||
echo '<td align="right">'.$langs->trans('MarginRate').'</td>';
|
|
||||||
}
|
|
||||||
if(! empty($conf->global->DISPLAY_MARK_RATES))
|
|
||||||
{
|
|
||||||
echo '<td align="right">'.$langs->trans('MarkRate').'</td>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) $colspan++;
|
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES)) $colspan++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<td colspan="<?php echo $colspan; ?>"> </td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr <?php echo $bcnd[$var]; ?>>
|
|
||||||
<?php
|
|
||||||
if (! empty($conf->global->MAIN_VIEW_LINE_NUMBER)) {
|
|
||||||
$coldisplay=4; }
|
|
||||||
else {
|
|
||||||
$coldisplay=3; }
|
|
||||||
?>
|
|
||||||
|
|
||||||
<td<?php echo (! empty($conf->global->MAIN_VIEW_LINE_NUMBER) ? ' colspan="4"' : ' colspan="3"'); ?>>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
jQuery(document).ready(function() {
|
|
||||||
jQuery('#idprod').change(function() {
|
|
||||||
if (jQuery('#idprod').val() > 0) jQuery('#np_desc').focus();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
|
|
||||||
echo '<span>';
|
|
||||||
$filtertype='';
|
|
||||||
if (! empty($object->element) && $object->element == 'contrat') $filtertype='1';
|
|
||||||
$form->select_produits('','idprod',$filtertype,$conf->product->limit_size,$buyer->price_level, 1, 2, '', 3, array(),$buyer->id);
|
|
||||||
echo '</span>';
|
|
||||||
|
|
||||||
if (is_object($hookmanager))
|
|
||||||
{
|
|
||||||
$parameters=array('fk_parent_line'=>GETPOST('fk_parent_line','int'));
|
|
||||||
$reshook=$hookmanager->executeHooks('formCreateProductOptions',$parameters,$object,$action);
|
|
||||||
}
|
|
||||||
|
|
||||||
echo '<br>';
|
|
||||||
|
|
||||||
// Editor wysiwyg
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
|
||||||
$nbrows=ROWS_2;
|
|
||||||
$enabled=(! empty($conf->global->FCKEDITOR_ENABLE_DETAILS)?$conf->global->FCKEDITOR_ENABLE_DETAILS:0);
|
|
||||||
if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT;
|
|
||||||
$doleditor=new DolEditor('np_desc',GETPOST('np_desc"'),'',100,'dolibarr_details','',false,true,$enabled,$nbrows,70);
|
|
||||||
$doleditor->Create();
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td align="right"><input type="hidden" name="price_ht_predef"><input type="text" size="2" name="qty_predef" class="flat" value="1"></td>
|
|
||||||
<td align="right" class="nowrap"><input type="text" size="1" class="flat" name="remise_percent_predef" value="<?php echo $buyer->remise_percent; ?>"><span class="hideonsmartphone">%</span></td>
|
|
||||||
<?php
|
|
||||||
$colspan = 4;
|
|
||||||
if (! empty($usemargins))
|
|
||||||
{
|
|
||||||
?>
|
|
||||||
<td align="right">
|
|
||||||
<select id="fournprice_predef" name="fournprice_predef" class="flat" style="display: none;"></select>
|
|
||||||
<input type="text" size="5" id="buying_price_predef" name="buying_price_predef" class="flat" value="<?php echo (isset($_POST["buying_price_predef"])?$_POST["buying_price_predef"]:''); ?>">
|
|
||||||
</td>
|
|
||||||
<?php
|
|
||||||
$colspan++;
|
|
||||||
$coldisplay++;
|
|
||||||
|
|
||||||
if ($user->rights->margins->creer)
|
|
||||||
{
|
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) {
|
|
||||||
echo '<td align="right"><input type="text" size="2" name="np_marginRate_predef" value="'.(isset($_POST["np_marginRate_predef"])?$_POST["np_marginRate_predef"]:'').'">%</td>';
|
|
||||||
$colspan++;
|
|
||||||
$coldisplay++;
|
|
||||||
}
|
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES)) {
|
|
||||||
echo '<td align="right"><input type="text" size="2" name="np_markRate_predef" value="'.(isset($_POST["np_markRate_predef"])?$_POST["np_markRate_predef"]:'').'">%</td>';
|
|
||||||
$colspan++;
|
|
||||||
$coldisplay++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) {
|
|
||||||
$colspan++;
|
|
||||||
$coldisplay++;
|
|
||||||
}
|
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES)) {
|
|
||||||
$colspan++;
|
|
||||||
$coldisplay++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<td align="center" valign="middle" colspan="<?php echo $colspan; ?>">
|
|
||||||
<input type="submit" class="button" value="<?php echo $langs->trans('Add'); ?>" name="addline_predefined" id="addline_predefined">
|
|
||||||
</td>
|
|
||||||
<?php
|
|
||||||
//Line extrafield
|
|
||||||
if (!empty($extrafieldsline)) {
|
|
||||||
if ($this->table_element_line=='commandedet') {
|
|
||||||
$newline = new OrderLine($this->db);
|
|
||||||
}
|
|
||||||
elseif ($this->table_element_line=='propaldet') {
|
|
||||||
$newline = new PropaleLigne($this->db);
|
|
||||||
}
|
|
||||||
elseif ($this->table_element_line=='facturedet') {
|
|
||||||
$newline = new FactureLigne($this->db);
|
|
||||||
}
|
|
||||||
if (is_object($newline)) {
|
|
||||||
print $newline->showOptionals($extrafieldsline, 'edit', array('style'=>$bcnd[$var],'colspan'=>$coldisplay+5), '_predef');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
if (! empty($conf->service->enabled) && $dateSelector)
|
|
||||||
{
|
|
||||||
if (! empty($conf->global->MAIN_VIEW_LINE_NUMBER)) $colspan = 10;
|
|
||||||
else $colspan = 9;
|
|
||||||
if (! empty($usemargins))
|
|
||||||
{
|
|
||||||
$colspan++; // For the buying price
|
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) $colspan++;
|
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES)) $colspan++;
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<tr <?php echo $bcnd[$var]; ?>>
|
|
||||||
<td colspan="<?php echo $colspan; ?>">
|
|
||||||
<?php
|
|
||||||
if (! empty($object->element) && $object->element == 'contrat')
|
|
||||||
{
|
|
||||||
print $langs->trans("DateStartPlanned").' ';
|
|
||||||
$form->select_date('',"date_start_predef",$usehm,$usehm,1,"addline");
|
|
||||||
print ' '.$langs->trans("DateEndPlanned").' ';
|
|
||||||
$form->select_date('',"date_end_predef",$usehm,$usehm,1,"addline");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
echo $langs->trans('ServiceLimitedDuration').' '.$langs->trans('From').' ';
|
|
||||||
echo $form->select_date('','date_start_predef',empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,1,"addpredefinedproduct");
|
|
||||||
echo ' '.$langs->trans('to').' ';
|
|
||||||
echo $form->select_date('','date_end_predef',empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?0:1,1,"addpredefinedproduct");
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
|
||||||
if (! empty($usemargins) && $user->rights->margins->creer)
|
|
||||||
{
|
|
||||||
?>
|
|
||||||
<script type="text/javascript">
|
|
||||||
|
|
||||||
jQuery(document).ready(function() {
|
|
||||||
<?php
|
|
||||||
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) { ?>
|
|
||||||
$('#addline_predefined').click(function (e) {
|
|
||||||
return checkLine(e, "np_marginRate_predef");
|
|
||||||
});
|
|
||||||
$("input[name='np_marginRate_predef']:last").blur(function(e) {
|
|
||||||
return checkLine(e, "np_marginRate_predef");
|
|
||||||
});
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
if (! empty($conf->global->DISPLAY_MARK_RATES)) {
|
|
||||||
?>
|
|
||||||
$('#addline_predefined').click(function (e) {
|
|
||||||
return checkLine(e, "np_markRate_predef");
|
|
||||||
});
|
|
||||||
$("input[name='np_marginRate_predef']:last").blur(function(e) {
|
|
||||||
return checkLine(e, "np_markRate_predef");
|
|
||||||
});
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
});
|
|
||||||
|
|
||||||
// TODO This works for french numbers only
|
|
||||||
function checkLine(e, npRate)
|
|
||||||
{
|
|
||||||
var buying_price = $("input[name='buying_price_predef']:last");
|
|
||||||
var remise = $("input[name='remise_percent_predef']:last");
|
|
||||||
|
|
||||||
var rate = $("input[name='"+npRate+"']:last");
|
|
||||||
if (rate.val() == '')
|
|
||||||
return true;
|
|
||||||
if (! $.isNumeric(rate.val().replace(',','.')))
|
|
||||||
{
|
|
||||||
alert('<?php echo dol_escape_js($langs->trans("rateMustBeNumeric")); ?>');
|
|
||||||
e.stopPropagation();
|
|
||||||
setTimeout(function () { rate.focus() }, 50);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (npRate == "np_markRate_predef" && rate.val() >= 100)
|
|
||||||
{
|
|
||||||
alert('<?php echo dol_escape_js($langs->trans("markRateShouldBeLesserThan100")); ?>');
|
|
||||||
e.stopPropagation();
|
|
||||||
setTimeout(function () { rate.focus() }, 50);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var price = 0;
|
|
||||||
remisejs=price2numjs(remise.val());
|
|
||||||
|
|
||||||
if (remisejs != 100)
|
|
||||||
{
|
|
||||||
bpjs=price2numjs(buying_price.val());
|
|
||||||
ratejs=price2numjs(rate.val());
|
|
||||||
|
|
||||||
if (npRate == "np_marginRate_predef")
|
|
||||||
price = ((bpjs * (1 + ratejs / 100)) / (1 - remisejs / 100));
|
|
||||||
else if (npRate == "np_markRate_predef")
|
|
||||||
price = ((bpjs / (1 - ratejs / 100)) / (1 - remisejs / 100));
|
|
||||||
}
|
|
||||||
$("input[name='price_ht_predef']:last").val(price); // TODO Must use a function like php price to have here a formated value
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Function similar to price2num in PHP */
|
|
||||||
function price2numjs(num)
|
|
||||||
{
|
|
||||||
<?php
|
|
||||||
$dec=','; $thousand=' ';
|
|
||||||
if ($langs->transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") $dec=$langs->transnoentitiesnoconv("SeparatorDecimal");
|
|
||||||
if ($langs->transnoentitiesnoconv("SeparatorThousand")!= "SeparatorThousand") $thousand=$langs->transnoentitiesnoconv("SeparatorThousand");
|
|
||||||
if ($thousand == 'None') $thousand='';
|
|
||||||
print "var dec='".$dec."'; var thousand='".$thousand."';\n";
|
|
||||||
?>
|
|
||||||
|
|
||||||
var main_max_dec_shown = <?php echo $conf->global->MAIN_MAX_DECIMALS_SHOWN; ?>;
|
|
||||||
var main_rounding_unit = <?php echo $conf->global->MAIN_MAX_DECIMALS_UNIT; ?>;
|
|
||||||
var main_rounding_tot = <?php echo $conf->global->MAIN_MAX_DECIMALS_TOT; ?>;
|
|
||||||
|
|
||||||
var amount = num.toString();
|
|
||||||
|
|
||||||
// rounding for unit price
|
|
||||||
var rounding = main_rounding_unit;
|
|
||||||
var pos = amount.indexOf(dec);
|
|
||||||
var decpart = '';
|
|
||||||
if (pos >= 0) decpart = amount.substr(pos+1).replace('/0+$/i',''); // Supprime les 0 de fin de partie decimale
|
|
||||||
var nbdec = decpart.length;
|
|
||||||
if (nbdec > rounding) rounding = nbdec;
|
|
||||||
// If rounding higher than max shown
|
|
||||||
if (rounding > main_max_dec_shown) rounding = main_max_dec_shown;
|
|
||||||
|
|
||||||
if (thousand != ',' && thousand != '.') amount=amount.replace(',','.');
|
|
||||||
amount=amount.replace(' ',''); // To avoid spaces
|
|
||||||
amount=amount.replace(thousand,''); // Replace of thousand before replace of dec to avoid pb if thousand is .
|
|
||||||
amount=amount.replace(dec,'.');
|
|
||||||
|
|
||||||
return parseFloat(amount).toFixed(rounding);
|
|
||||||
}
|
|
||||||
|
|
||||||
jQuery(document).ready(function() {
|
|
||||||
$("#idprod").change(function()
|
|
||||||
{
|
|
||||||
$("#fournprice_predef options").remove();
|
|
||||||
$("#fournprice_predef").hide();
|
|
||||||
$("#buying_price_predef").val("").show();
|
|
||||||
$.post('<?php echo DOL_URL_ROOT; ?>/fourn/ajax/getSupplierPrices.php', { 'idprod': $(this).val() }, function(data) {
|
|
||||||
if (data && data.length > 0)
|
|
||||||
{
|
|
||||||
var options = '';
|
|
||||||
var i = 0;
|
|
||||||
$(data).each(function() {
|
|
||||||
i++;
|
|
||||||
options += '<option value="'+this.id+'" price="'+this.price+'"';
|
|
||||||
if (i == 1) {
|
|
||||||
options += ' selected';
|
|
||||||
$("#buying_price_predef").val(this.price);
|
|
||||||
}
|
|
||||||
options += '>'+this.label+'</option>';
|
|
||||||
});
|
|
||||||
options += '<option value=""><?php echo $langs->trans("InputPrice"); ?></option>';
|
|
||||||
$("#buying_price_predef").hide();
|
|
||||||
$("#fournprice_predef").html(options).show();
|
|
||||||
$("#fournprice_predef").change(function() {
|
|
||||||
var selval = $(this).find('option:selected').attr("price");
|
|
||||||
if (selval)
|
|
||||||
$("#buying_price_predef").val(selval).hide();
|
|
||||||
else
|
|
||||||
$('#buying_price_predef').show();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'json');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<!-- END PHP TEMPLATE predefinedproductline_create.tpl.php -->
|
|
||||||
@ -95,36 +95,28 @@ class Fichinter extends CommonObject
|
|||||||
dol_syslog(get_class($this)."::create ref=".$this->ref);
|
dol_syslog(get_class($this)."::create ref=".$this->ref);
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
if (! is_numeric($this->duree)) {
|
if (! empty($this->ref)) // We check that ref is not already used
|
||||||
$this->duree = 0;
|
{
|
||||||
|
$result=self::isExistingObject($this->element, 0, $this->ref); // Check ref is not yet used
|
||||||
|
if ($result > 0)
|
||||||
|
{
|
||||||
|
$this->error='ErrorRefAlreadyExists';
|
||||||
|
dol_syslog(get_class($this)."::create ".$this->error,LOG_WARNING);
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (! is_numeric($this->duree)) $this->duree = 0;
|
||||||
|
|
||||||
if ($this->socid <= 0)
|
if ($this->socid <= 0)
|
||||||
{
|
{
|
||||||
$this->error='ErrorBadParameterForFunc';
|
$this->error='ErrorBadParameterForFunc';
|
||||||
dol_syslog(get_class($this)."::create ".$this->error,LOG_ERR);
|
dol_syslog(get_class($this)."::create ".$this->error,LOG_ERR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
// on verifie si la ref n'est pas utilisee
|
|
||||||
$soc = new Societe($this->db);
|
$soc = new Societe($this->db);
|
||||||
$result=$soc->fetch($this->socid);
|
$result=$soc->fetch($this->socid);
|
||||||
if (! empty($this->ref))
|
|
||||||
{
|
|
||||||
$result=$this->verifyNumRef(); // Check ref is not yet used
|
|
||||||
if ($result > 0)
|
|
||||||
{
|
|
||||||
$this->error='ErrorRefAlreadyExists';
|
|
||||||
dol_syslog(get_class($this)."::create ".$this->error,LOG_WARNING);
|
|
||||||
$this->db->rollback();
|
|
||||||
return -3;
|
|
||||||
}
|
|
||||||
else if ($result < 0)
|
|
||||||
{
|
|
||||||
$this->error=$this->db->error();
|
|
||||||
dol_syslog(get_class($this)."::create ".$this->error,LOG_ERR);
|
|
||||||
$this->db->rollback();
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$now=dol_now();
|
$now=dol_now();
|
||||||
|
|
||||||
|
|||||||
@ -186,10 +186,7 @@ if ($holiday_payes == '-1')
|
|||||||
{
|
{
|
||||||
print_fiche_titre($langs->trans('CPTitreMenu'));
|
print_fiche_titre($langs->trans('CPTitreMenu'));
|
||||||
|
|
||||||
print '<div class="tabBar">';
|
dol_print_error($db, $langs->trans('Error').' '.$holiday->error);
|
||||||
print '<span>'.$langs->trans('CPErrorSQL');
|
|
||||||
print ' '.$holiday->error.'</span>';
|
|
||||||
print '</div>';
|
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -352,10 +352,13 @@ if ($step == 1 || ! $datatoimport)
|
|||||||
{
|
{
|
||||||
foreach ($objimport->array_import_code as $key => $value)
|
foreach ($objimport->array_import_code as $key => $value)
|
||||||
{
|
{
|
||||||
|
//var_dump($objimport->array_import_code[$key]);
|
||||||
$val=!$val;
|
$val=!$val;
|
||||||
print '<tr '.$bc[$val].'><td nospan="nospan">';
|
print '<tr '.$bc[$val].'><td nospan="nospan">';
|
||||||
//print img_object($objimport->array_import_module[$key]->getName(),$import->array_import_module[$key]->picto).' ';
|
$titleofmodule=$objimport->array_import_module[$key]->getName();
|
||||||
print $objimport->array_import_module[$key]->getName();
|
// Special cas for import common to module/services
|
||||||
|
if (in_array($objimport->array_import_code[$key], array('produit_supplierprices','produit_multiprice'))) $titleofmodule=$langs->trans("ProductOrService");
|
||||||
|
print $titleofmodule;
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
//print $value;
|
//print $value;
|
||||||
print img_object($objimport->array_import_module[$key]->getName(),$objimport->array_import_icon[$key]).' ';
|
print img_object($objimport->array_import_module[$key]->getName(),$objimport->array_import_icon[$key]).' ';
|
||||||
@ -407,8 +410,10 @@ if ($step == 2 && $datatoimport)
|
|||||||
// Module
|
// Module
|
||||||
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
|
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
//print img_object($objimport->array_import_module[0]->getName(),$objimport->array_import_module[0]->picto).' ';
|
$titleofmodule=$objimport->array_import_module[0]->getName();
|
||||||
print $objimport->array_import_module[0]->getName();
|
// Special cas for import common to module/services
|
||||||
|
if (in_array($objimport->array_import_code[0], array('produit_supplierprices','produit_multiprice'))) $titleofmodule=$langs->trans("ProductOrService");
|
||||||
|
print $titleofmodule;
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Lot de donnees a importer
|
// Lot de donnees a importer
|
||||||
@ -490,8 +495,10 @@ if ($step == 3 && $datatoimport)
|
|||||||
// Module
|
// Module
|
||||||
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
|
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
//print img_object($objimport->array_import_module[0]->getName(),$objimport->array_import_module[0]->picto).' ';
|
$titleofmodule=$objimport->array_import_module[0]->getName();
|
||||||
print $objimport->array_import_module[0]->getName();
|
// Special cas for import common to module/services
|
||||||
|
if (in_array($objimport->array_import_code[0], array('produit_supplierprices','produit_multiprice'))) $titleofmodule=$langs->trans("ProductOrService");
|
||||||
|
print $titleofmodule;
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Lot de donnees a importer
|
// Lot de donnees a importer
|
||||||
@ -695,8 +702,10 @@ if ($step == 4 && $datatoimport)
|
|||||||
// Module
|
// Module
|
||||||
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
|
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
//print img_object($objimport->array_import_module[0]->getName(),$objimport->array_import_module[0]->picto).' ';
|
$titleofmodule=$objimport->array_import_module[0]->getName();
|
||||||
print $objimport->array_import_module[0]->getName();
|
// Special cas for import common to module/services
|
||||||
|
if (in_array($objimport->array_import_code[0], array('produit_supplierprices','produit_multiprice'))) $titleofmodule=$langs->trans("ProductOrService");
|
||||||
|
print $titleofmodule;
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Lot de donnees a importer
|
// Lot de donnees a importer
|
||||||
@ -1144,8 +1153,10 @@ if ($step == 5 && $datatoimport)
|
|||||||
// Module
|
// Module
|
||||||
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
|
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
//print img_object($objimport->array_import_module[0]->getName(),$objimport->array_import_module[0]->picto).' ';
|
$titleofmodule=$objimport->array_import_module[0]->getName();
|
||||||
print $objimport->array_import_module[0]->getName();
|
// Special cas for import common to module/services
|
||||||
|
if (in_array($objimport->array_import_code[0], array('produit_supplierprices','produit_multiprice'))) $titleofmodule=$langs->trans("ProductOrService");
|
||||||
|
print $titleofmodule;
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Lot de donnees a importer
|
// Lot de donnees a importer
|
||||||
@ -1487,8 +1498,10 @@ if ($step == 6 && $datatoimport)
|
|||||||
// Module
|
// Module
|
||||||
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
|
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
//print img_object($objimport->array_import_module[0]->getName(),$objimport->array_import_module[0]->picto).' ';
|
$titleofmodule=$objimport->array_import_module[0]->getName();
|
||||||
print $objimport->array_import_module[0]->getName();
|
// Special cas for import common to module/services
|
||||||
|
if (in_array($objimport->array_import_code[0], array('produit_supplierprices','produit_multiprice'))) $titleofmodule=$langs->trans("ProductOrService");
|
||||||
|
print $titleofmodule;
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Lot de donnees a importer
|
// Lot de donnees a importer
|
||||||
|
|||||||
@ -136,9 +136,15 @@ class Segment implements IteratorAggregate, Countable
|
|||||||
if (strpos($this->xml, $this->odf->getConfig('DELIMITER_LEFT') . $key . $this->odf->getConfig('DELIMITER_RIGHT')) === false) {
|
if (strpos($this->xml, $this->odf->getConfig('DELIMITER_LEFT') . $key . $this->odf->getConfig('DELIMITER_RIGHT')) === false) {
|
||||||
throw new SegmentException("var $key not found in {$this->getName()}");
|
throw new SegmentException("var $key not found in {$this->getName()}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$value=$this->odf->htmlToUTFAndPreOdf($value);
|
||||||
|
|
||||||
$value = $encode ? htmlspecialchars($value) : $value;
|
$value = $encode ? htmlspecialchars($value) : $value;
|
||||||
$value = ($charset == 'ISO-8859') ? utf8_encode($value) : $value;
|
$value = ($charset == 'ISO-8859') ? utf8_encode($value) : $value;
|
||||||
$this->vars[$this->odf->getConfig('DELIMITER_LEFT') . $key . $this->odf->getConfig('DELIMITER_RIGHT')] = str_replace("\n", "<text:line-break/>", $value);
|
|
||||||
|
$value=$this->odf->preOdfToOdf($value);
|
||||||
|
|
||||||
|
$this->vars[$this->odf->getConfig('DELIMITER_LEFT') . $key . $this->odf->getConfig('DELIMITER_RIGHT')] = $value;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -122,12 +122,68 @@ class Odf
|
|||||||
throw new OdfException("var $key not found in the document");
|
throw new OdfException("var $key not found in the document");
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$value=$this->htmlToUTFAndPreOdf($value);
|
||||||
|
|
||||||
$value = $encode ? htmlspecialchars($value) : $value;
|
$value = $encode ? htmlspecialchars($value) : $value;
|
||||||
$value = ($charset == 'ISO-8859') ? utf8_encode($value) : $value;
|
$value = ($charset == 'ISO-8859') ? utf8_encode($value) : $value;
|
||||||
$this->vars[$tag] = str_replace("\n", "<text:line-break/>", $value);
|
|
||||||
|
$value=$this->preOdfToOdf($value);
|
||||||
|
|
||||||
|
$this->vars[$tag] = $value;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to convert a HTML string into an ODT string
|
||||||
|
*
|
||||||
|
* @param string $value String to convert
|
||||||
|
*/
|
||||||
|
public function htmlToUTFAndPreOdf($value)
|
||||||
|
{
|
||||||
|
// We decode into utf8, entities
|
||||||
|
$value=dol_html_entity_decode($value, ENT_QUOTES);
|
||||||
|
|
||||||
|
// We convert html tags
|
||||||
|
$ishtml=dol_textishtml($value);
|
||||||
|
if ($ishtml)
|
||||||
|
{
|
||||||
|
// If string is "MYPODUCT - Desc <strong>bold</strong> with é accent<br />\n<br />\nUn texto en español ?"
|
||||||
|
// Result after clean must be "MYPODUCT - Desc bold with é accent\n\nUn texto en español ?"
|
||||||
|
|
||||||
|
// We want to ignore \n and we want all <br> to be \n
|
||||||
|
$value=preg_replace('/(\r\n|\r|\n)/i','',$value);
|
||||||
|
$value=preg_replace('/<br>/i',"\n",$value);
|
||||||
|
$value=preg_replace('/<br\s+[^<>\/]*>/i',"\n",$value);
|
||||||
|
$value=preg_replace('/<br\s+[^<>\/]*\/>/i',"\n",$value);
|
||||||
|
|
||||||
|
//$value=preg_replace('/<strong>/','__lt__text:p text:style-name=__quot__bold__quot____gt__',$value);
|
||||||
|
//$value=preg_replace('/<\/strong>/','__lt__/text:p__gt__',$value);
|
||||||
|
|
||||||
|
$value=dol_string_nohtmltag($value, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to convert a HTML string into an ODT string
|
||||||
|
*
|
||||||
|
* @param string $value String to convert
|
||||||
|
*/
|
||||||
|
public function preOdfToOdf($value)
|
||||||
|
{
|
||||||
|
$value = str_replace("\n", "<text:line-break/>", $value);
|
||||||
|
|
||||||
|
//$value = str_replace("__lt__", "<", $value);
|
||||||
|
//$value = str_replace("__gt__", ">", $value);
|
||||||
|
//$value = str_replace("__quot__", '"', $value);
|
||||||
|
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Evaluating php codes inside the ODT and output the buffer (print, echo) inplace of the code
|
* Evaluating php codes inside the ODT and output the buffer (print, echo) inplace of the code
|
||||||
*
|
*
|
||||||
|
|||||||
@ -141,9 +141,10 @@ HolidaysRefused=Denied holidays
|
|||||||
HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
||||||
HolidaysCanceled=Canceled holidays
|
HolidaysCanceled=Canceled holidays
|
||||||
HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
||||||
Permission20001=Read/create/modify their holidays
|
Permission20000=Read you own holidays
|
||||||
Permission20002=Read/modify all requests of holidays
|
Permission20001=Create/modify your holidays
|
||||||
Permission20003=Delete their holidays requests
|
Permission20002=Create/modify holidays for everybody
|
||||||
Permission20004=Define users holidays
|
Permission20003=Delete holidays requests
|
||||||
|
Permission20004=Setup users holidays
|
||||||
Permission20005=Review log of modified holidays
|
Permission20005=Review log of modified holidays
|
||||||
Permission20006=Access holidays monthly report
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -25,14 +25,14 @@ ErrorGoBackAndCorrectParameters=العودة إلى الوراء وتصحيح ا
|
|||||||
ErrorWrongValueForParameter=قد تكون لديكم مطبوعة خاطئة قيمة معلمة '٪ ق.
|
ErrorWrongValueForParameter=قد تكون لديكم مطبوعة خاطئة قيمة معلمة '٪ ق.
|
||||||
ErrorFailedToCreateDatabase=فشل إنشاء قاعدة بيانات '٪ ق.
|
ErrorFailedToCreateDatabase=فشل إنشاء قاعدة بيانات '٪ ق.
|
||||||
ErrorFailedToConnectToDatabase=فشل في الاتصال بقاعدة البيانات '٪ ق.
|
ErrorFailedToConnectToDatabase=فشل في الاتصال بقاعدة البيانات '٪ ق.
|
||||||
# ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
||||||
ErrorPHPVersionTooLow=PHP نسخة قديمة جدا. النسخة ٪ ق هو مطلوب.
|
ErrorPHPVersionTooLow=PHP نسخة قديمة جدا. النسخة ٪ ق هو مطلوب.
|
||||||
WarningPHPVersionTooLow=PHP نسخة قديمة جدا. ومن المتوقع %s نسخة أو أكثر. وينبغي أن تسمح هذه النسخة تثبيت ولكن لم يتم اعتماد.
|
WarningPHPVersionTooLow=PHP نسخة قديمة جدا. ومن المتوقع %s نسخة أو أكثر. وينبغي أن تسمح هذه النسخة تثبيت ولكن لم يتم اعتماد.
|
||||||
ErrorConnectedButDatabaseNotFound=خادم الصدد الى قاعدة البيانات ولكن النجاح في '٪ ق' لم يتم العثور عليه.
|
ErrorConnectedButDatabaseNotFound=خادم الصدد الى قاعدة البيانات ولكن النجاح في '٪ ق' لم يتم العثور عليه.
|
||||||
ErrorDatabaseAlreadyExists=قاعدة البيانات '٪ ق' موجود بالفعل.
|
ErrorDatabaseAlreadyExists=قاعدة البيانات '٪ ق' موجود بالفعل.
|
||||||
IfDatabaseNotExistsGoBackAndUncheckCreate=إذا كان لا وجود قاعدة بيانات ، والتأكد من العودة الخيار "إنشاء قاعدة بيانات".
|
IfDatabaseNotExistsGoBackAndUncheckCreate=إذا كان لا وجود قاعدة بيانات ، والتأكد من العودة الخيار "إنشاء قاعدة بيانات".
|
||||||
IfDatabaseExistsGoBackAndCheckCreate=إذا كانت قاعدة البيانات موجود بالفعل ، من العودة وإلغاء "إنشاء قاعدة بيانات" الخيار.
|
IfDatabaseExistsGoBackAndCheckCreate=إذا كانت قاعدة البيانات موجود بالفعل ، من العودة وإلغاء "إنشاء قاعدة بيانات" الخيار.
|
||||||
# WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
||||||
PHPVersion=PHP الإصدار
|
PHPVersion=PHP الإصدار
|
||||||
YouCanContinue=يمكنك الاستمرار...
|
YouCanContinue=يمكنك الاستمرار...
|
||||||
PleaseBePatient=يرجى التحلي بالصبر...
|
PleaseBePatient=يرجى التحلي بالصبر...
|
||||||
@ -154,11 +154,10 @@ MigrationShippingDelivery2=ترقية تخزين الشحن 2
|
|||||||
MigrationFinished=الانتهاء من الهجرة
|
MigrationFinished=الانتهاء من الهجرة
|
||||||
LastStepDesc=<strong>الخطوة الأخيرة</strong> : تعريف المستخدم وكلمة السر هنا كنت تخطط لاستخدامها للاتصال البرمجيات. لا تفقد هذا كما هو حساب لإدارة جميع الآخرين.
|
LastStepDesc=<strong>الخطوة الأخيرة</strong> : تعريف المستخدم وكلمة السر هنا كنت تخطط لاستخدامها للاتصال البرمجيات. لا تفقد هذا كما هو حساب لإدارة جميع الآخرين.
|
||||||
ActivateModule=تفعيل وحدة %s
|
ActivateModule=تفعيل وحدة %s
|
||||||
# ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
#########
|
|
||||||
MigrationFixData=إصلاح البيانات الذي لم تتم تسويته
|
MigrationFixData=إصلاح البيانات الذي لم تتم تسويته
|
||||||
MigrationOrder=بيانات الهجرة طلبات الزبائن
|
MigrationOrder=بيانات الهجرة طلبات الزبائن
|
||||||
MigrationSupplierOrder=بيانات الهجرة من أجل الموردين أوامر
|
MigrationSupplierOrder=بيانات الهجرة من أجل الموردين أوامر
|
||||||
@ -206,4 +205,7 @@ MigrationProjectUserResp=بيانات fk_user_resp مجال الهجرة من ll
|
|||||||
MigrationProjectTaskTime=تحديث الوقت الذي يقضيه في ثوان
|
MigrationProjectTaskTime=تحديث الوقت الذي يقضيه في ثوان
|
||||||
MigrationActioncommElement=تحديث البيانات على الإجراءات
|
MigrationActioncommElement=تحديث البيانات على الإجراءات
|
||||||
MigrationPaymentMode=بيانات الهجرة لطريقة الدفع
|
MigrationPaymentMode=بيانات الهجرة لطريقة الدفع
|
||||||
# MigrationCategorieAssociation=Migration of categories
|
MigrationCategorieAssociation=Migration of categories
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -141,9 +141,10 @@ HolidaysRefused=Denied holidays
|
|||||||
HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
||||||
HolidaysCanceled=Canceled holidays
|
HolidaysCanceled=Canceled holidays
|
||||||
HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
||||||
Permission20001=/ Промяна на всички искания празници
|
Permission20000=Read you own holidays
|
||||||
Permission20002=Read/modify all requests of holidays
|
Permission20001=Create/modify your holidays
|
||||||
Permission20003=Delete their holidays requests
|
Permission20002=Create/modify holidays for everybody
|
||||||
Permission20004=Define users holidays
|
Permission20003=Delete holidays requests
|
||||||
|
Permission20004=Setup users holidays
|
||||||
Permission20005=Review log of modified holidays
|
Permission20005=Review log of modified holidays
|
||||||
Permission20006=Access holidays monthly report
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -206,3 +206,6 @@ MigrationProjectTaskTime=Актуализация на времето, прек
|
|||||||
MigrationActioncommElement=Актуализиране на данни за действия
|
MigrationActioncommElement=Актуализиране на данни за действия
|
||||||
MigrationPaymentMode=Миграция на данни за плащане режим
|
MigrationPaymentMode=Миграция на данни за плащане режим
|
||||||
MigrationCategorieAssociation=Migration of categories
|
MigrationCategorieAssociation=Migration of categories
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -34,7 +34,6 @@ ReturnCP=Vrati se na prethodnu stranicu
|
|||||||
ErrorUserViewCP=Niste autorizovani da čitate ovaj zahtjev za godišnji odmor.
|
ErrorUserViewCP=Niste autorizovani da čitate ovaj zahtjev za godišnji odmor.
|
||||||
InfosCP=Informacije o zahtjevu za odmor
|
InfosCP=Informacije o zahtjevu za odmor
|
||||||
InfosWorkflowCP=Workflow informacija
|
InfosWorkflowCP=Workflow informacija
|
||||||
DateCreateCP=Datum kreiranja
|
|
||||||
RequestByCP=Zahtjev poslao
|
RequestByCP=Zahtjev poslao
|
||||||
TitreRequestCP=Lista godišnjih odmora
|
TitreRequestCP=Lista godišnjih odmora
|
||||||
NbUseDaysCP=Broj iskorištenih dana godišnjeg odmora
|
NbUseDaysCP=Broj iskorištenih dana godišnjeg odmora
|
||||||
@ -130,7 +129,6 @@ ErrorMailNotSend=Desila se greška prilikom slanja emaila:
|
|||||||
NoCPforMonth=Nema odsustva za ovaj mjesec.
|
NoCPforMonth=Nema odsustva za ovaj mjesec.
|
||||||
nbJours=Broj dana
|
nbJours=Broj dana
|
||||||
TitleAdminCP=Konfiguracija godišnjih odmora
|
TitleAdminCP=Konfiguracija godišnjih odmora
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Zdravo
|
Hello=Zdravo
|
||||||
HolidaysToValidate=Potvrdi godišnje odmore
|
HolidaysToValidate=Potvrdi godišnje odmore
|
||||||
@ -143,10 +141,10 @@ HolidaysRefused=Odbijeni godišnji odmori
|
|||||||
HolidaysRefusedBody=Vaš zahtjev za godišnji odmor od %s do %s je odbijen zbog:
|
HolidaysRefusedBody=Vaš zahtjev za godišnji odmor od %s do %s je odbijen zbog:
|
||||||
HolidaysCanceled=Poništeni godišnji odmori
|
HolidaysCanceled=Poništeni godišnji odmori
|
||||||
HolidaysCanceledBody=Vaš zahtjev za godišnji odmor od %s fo %s je poništen.
|
HolidaysCanceledBody=Vaš zahtjev za godišnji odmor od %s fo %s je poništen.
|
||||||
|
Permission20000=Read you own holidays
|
||||||
Permission20001=Pročitaj/kreiraj/izmijeni njigove godišnje odmore
|
Permission20001=Create/modify your holidays
|
||||||
Permission20002=Pročitaj/kreiraj/izmijeni sve zahtjeve za godišnje odmore
|
Permission20002=Create/modify holidays for everybody
|
||||||
Permission20003=Obriši njihove zahtjeve za godišnje odmore
|
Permission20003=Delete holidays requests
|
||||||
Permission20004=Definiši korisnikove godišnje odmore
|
Permission20004=Setup users holidays
|
||||||
Permission20005=Pregledaj izvještaj o izmijenjenim godišnjim odmorima
|
Permission20005=Pregledaj izvještaj o izmijenjenim godišnjim odmorima
|
||||||
Permission20006=Pristupi mjesečnom izvještaj za godišnje odmore
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -1,209 +1,211 @@
|
|||||||
# Dolibarr language file - Source file is en_US - install
|
# Dolibarr language file - Source file is en_US - install
|
||||||
# InstallEasy=Just follow the instructions step by step.
|
InstallEasy=Just follow the instructions step by step.
|
||||||
# MiscellaneousChecks=Prerequisites check
|
MiscellaneousChecks=Prerequisites check
|
||||||
# DolibarrWelcome=Welcome to Dolibarr
|
DolibarrWelcome=Welcome to Dolibarr
|
||||||
# ConfFileExists=Configuration file <b>%s</b> exists.
|
ConfFileExists=Configuration file <b>%s</b> exists.
|
||||||
# ConfFileDoesNotExists=Configuration file <b>%s</b> does not exist !
|
ConfFileDoesNotExists=Configuration file <b>%s</b> does not exist !
|
||||||
# ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file <b>%s</b> does not exist and could not be created !
|
ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file <b>%s</b> does not exist and could not be created !
|
||||||
# ConfFileCouldBeCreated=Configuration file <b>%s</b> could be created.
|
ConfFileCouldBeCreated=Configuration file <b>%s</b> could be created.
|
||||||
# ConfFileIsNotWritable=Configuration file <b>%s</b> is not writable. Check permissions. For first install, your web server must be granted to be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS).
|
ConfFileIsNotWritable=Configuration file <b>%s</b> is not writable. Check permissions. For first install, your web server must be granted to be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS).
|
||||||
# ConfFileIsWritable=Configuration file <b>%s</b> is writable.
|
ConfFileIsWritable=Configuration file <b>%s</b> is writable.
|
||||||
# ConfFileReload=Reload all information from configuration file.
|
ConfFileReload=Reload all information from configuration file.
|
||||||
# PHPSupportSessions=This PHP supports sessions.
|
PHPSupportSessions=This PHP supports sessions.
|
||||||
# PHPSupportPOSTGETOk=This PHP supports variables POST and GET.
|
PHPSupportPOSTGETOk=This PHP supports variables POST and GET.
|
||||||
# PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check your parameter <b>variables_order</b> in php.ini.
|
PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check your parameter <b>variables_order</b> in php.ini.
|
||||||
# PHPSupportGD=This PHP support GD graphical functions.
|
PHPSupportGD=This PHP support GD graphical functions.
|
||||||
# PHPSupportUTF8=This PHP support UTF8 functions.
|
PHPSupportUTF8=This PHP support UTF8 functions.
|
||||||
# PHPMemoryOK=Your PHP max session memory is set to <b>%s</b>. This should be enough.
|
PHPMemoryOK=Your PHP max session memory is set to <b>%s</b>. This should be enough.
|
||||||
# PHPMemoryTooLow=Your PHP max session memory is set to <b>%s</b> bytes. This should be too low. Change your <b>php.ini</b> to set <b>memory_limit</b> parameter to at least <b>%s</b> bytes.
|
PHPMemoryTooLow=Your PHP max session memory is set to <b>%s</b> bytes. This should be too low. Change your <b>php.ini</b> to set <b>memory_limit</b> parameter to at least <b>%s</b> bytes.
|
||||||
# Recheck=Click here for a more significative test
|
Recheck=Click here for a more significative test
|
||||||
# ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to make Dolibarr working. Check your PHP setup.
|
ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to make Dolibarr working. Check your PHP setup.
|
||||||
# ErrorPHPDoesNotSupportGD=Your PHP installation does not support graphical function GD. No graph will be available.
|
ErrorPHPDoesNotSupportGD=Your PHP installation does not support graphical function GD. No graph will be available.
|
||||||
# ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr can't work correctly. Solve this before installing Dolibarr.
|
ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr can't work correctly. Solve this before installing Dolibarr.
|
||||||
# ErrorDirDoesNotExists=Directory %s does not exist.
|
ErrorDirDoesNotExists=Directory %s does not exist.
|
||||||
# ErrorGoBackAndCorrectParameters=Go backward and correct wrong parameters.
|
ErrorGoBackAndCorrectParameters=Go backward and correct wrong parameters.
|
||||||
# ErrorWrongValueForParameter=You may have typed a wrong value for parameter '%s'.
|
ErrorWrongValueForParameter=You may have typed a wrong value for parameter '%s'.
|
||||||
# ErrorFailedToCreateDatabase=Failed to create database '%s'.
|
ErrorFailedToCreateDatabase=Failed to create database '%s'.
|
||||||
# ErrorFailedToConnectToDatabase=Failed to connect to database '%s'.
|
ErrorFailedToConnectToDatabase=Failed to connect to database '%s'.
|
||||||
# ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
||||||
# ErrorPHPVersionTooLow=PHP version too old. Version %s is required.
|
ErrorPHPVersionTooLow=PHP version too old. Version %s is required.
|
||||||
# WarningPHPVersionTooLow=PHP version too old. Version %s or more is expected. This version should allow install but is not supported.
|
WarningPHPVersionTooLow=PHP version too old. Version %s or more is expected. This version should allow install but is not supported.
|
||||||
# ErrorConnectedButDatabaseNotFound=Connection to server successfull but database '%s' not found.
|
ErrorConnectedButDatabaseNotFound=Connection to server successfull but database '%s' not found.
|
||||||
# ErrorDatabaseAlreadyExists=Database '%s' already exists.
|
ErrorDatabaseAlreadyExists=Database '%s' already exists.
|
||||||
# IfDatabaseNotExistsGoBackAndUncheckCreate=If database does not exists, go back and check option "Create database".
|
IfDatabaseNotExistsGoBackAndUncheckCreate=If database does not exists, go back and check option "Create database".
|
||||||
# IfDatabaseExistsGoBackAndCheckCreate=If database already exists, go back and uncheck "Create database" option.
|
IfDatabaseExistsGoBackAndCheckCreate=If database already exists, go back and uncheck "Create database" option.
|
||||||
# WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
||||||
# PHPVersion=PHP Version
|
PHPVersion=PHP Version
|
||||||
# YouCanContinue=You can continue...
|
YouCanContinue=You can continue...
|
||||||
# PleaseBePatient=Please be patient...
|
PleaseBePatient=Please be patient...
|
||||||
# License=Using license
|
License=Using license
|
||||||
# ConfigurationFile=Configuration file
|
ConfigurationFile=Configuration file
|
||||||
# WebPagesDirectory=Directory where web pages are stored
|
WebPagesDirectory=Directory where web pages are stored
|
||||||
# DocumentsDirectory=Directory to store uploaded and generated documents
|
DocumentsDirectory=Directory to store uploaded and generated documents
|
||||||
# URLRoot=URL Root
|
URLRoot=URL Root
|
||||||
# ForceHttps=Force secure connections (https)
|
ForceHttps=Force secure connections (https)
|
||||||
# CheckToForceHttps=Check this option to force secure connections (https).<br>This requires that the web server is configured with an SSL certificate.
|
CheckToForceHttps=Check this option to force secure connections (https).<br>This requires that the web server is configured with an SSL certificate.
|
||||||
# DolibarrDatabase=Dolibarr Database
|
DolibarrDatabase=Dolibarr Database
|
||||||
# DatabaseChoice=Database choice
|
DatabaseChoice=Database choice
|
||||||
# DatabaseType=Database type
|
DatabaseType=Database type
|
||||||
# DriverType=Driver type
|
DriverType=Driver type
|
||||||
# Server=Server
|
Server=Server
|
||||||
# ServerAddressDescription=Name or ip address for database server, usually 'localhost' when database server is hosted on same server than web server
|
ServerAddressDescription=Name or ip address for database server, usually 'localhost' when database server is hosted on same server than web server
|
||||||
# ServerPortDescription=Database server port. Keep empty if unknown.
|
ServerPortDescription=Database server port. Keep empty if unknown.
|
||||||
# DatabaseServer=Database server
|
DatabaseServer=Database server
|
||||||
# DatabaseName=Database name
|
DatabaseName=Database name
|
||||||
# DatabasePrefix=Database prefix table
|
DatabasePrefix=Database prefix table
|
||||||
# Login=Login
|
Login=Login
|
||||||
# AdminLogin=Login for Dolibarr database owner.
|
AdminLogin=Login for Dolibarr database owner.
|
||||||
# Password=Password
|
Password=Password
|
||||||
# PasswordAgain=Retype password a second time
|
PasswordAgain=Retype password a second time
|
||||||
# AdminPassword=Password for Dolibarr database owner.
|
AdminPassword=Password for Dolibarr database owner.
|
||||||
# CreateDatabase=Create database
|
CreateDatabase=Create database
|
||||||
# CreateUser=Create owner
|
CreateUser=Create owner
|
||||||
# DatabaseSuperUserAccess=Database server - Superuser access
|
DatabaseSuperUserAccess=Database server - Superuser access
|
||||||
# CheckToCreateDatabase=Check box if database does not exist and must be created.<br>In this case, you must fill the login/password for superuser account at the bottom of this page.
|
CheckToCreateDatabase=Check box if database does not exist and must be created.<br>In this case, you must fill the login/password for superuser account at the bottom of this page.
|
||||||
# CheckToCreateUser=Check box if database owner does not exist and must be created.<br>In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists.
|
CheckToCreateUser=Check box if database owner does not exist and must be created.<br>In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists.
|
||||||
# Experimental=(experimental)
|
Experimental=(experimental)
|
||||||
# DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists.
|
DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists.
|
||||||
# KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this)
|
KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this)
|
||||||
# SaveConfigurationFile=Save values
|
SaveConfigurationFile=Save values
|
||||||
# ConfigurationSaving=Saving configuration file
|
ConfigurationSaving=Saving configuration file
|
||||||
# ServerConnection=Server connection
|
ServerConnection=Server connection
|
||||||
# DatabaseConnection=Database connection
|
DatabaseConnection=Database connection
|
||||||
# DatabaseCreation=Database creation
|
DatabaseCreation=Database creation
|
||||||
# UserCreation=User creation
|
UserCreation=User creation
|
||||||
# CreateDatabaseObjects=Database objects creation
|
CreateDatabaseObjects=Database objects creation
|
||||||
# ReferenceDataLoading=Reference data loading
|
ReferenceDataLoading=Reference data loading
|
||||||
# TablesAndPrimaryKeysCreation=Tables and Primary keys creation
|
TablesAndPrimaryKeysCreation=Tables and Primary keys creation
|
||||||
# CreateTableAndPrimaryKey=Create table %s
|
CreateTableAndPrimaryKey=Create table %s
|
||||||
# CreateOtherKeysForTable=Create foreign keys and indexes for table %s
|
CreateOtherKeysForTable=Create foreign keys and indexes for table %s
|
||||||
# OtherKeysCreation=Foreign keys and indexes creation
|
OtherKeysCreation=Foreign keys and indexes creation
|
||||||
# FunctionsCreation=Functions creation
|
FunctionsCreation=Functions creation
|
||||||
# AdminAccountCreation=Administrator login creation
|
AdminAccountCreation=Administrator login creation
|
||||||
# PleaseTypePassword=Please type a password, empty passwords are not allowed !
|
PleaseTypePassword=Please type a password, empty passwords are not allowed !
|
||||||
# PleaseTypeALogin=Please type a login !
|
PleaseTypeALogin=Please type a login !
|
||||||
# PasswordsMismatch=Passwords differs, please try again !
|
PasswordsMismatch=Passwords differs, please try again !
|
||||||
# SetupEnd=End of setup
|
SetupEnd=End of setup
|
||||||
# SystemIsInstalled=This installation is complete.
|
SystemIsInstalled=This installation is complete.
|
||||||
# SystemIsUpgraded=Dolibarr has been upgraded successfully.
|
SystemIsUpgraded=Dolibarr has been upgraded successfully.
|
||||||
# YouNeedToPersonalizeSetup=You need to configure Dolibarr to suit your needs (appearance, features, ...). To do this, please follow the link below:
|
YouNeedToPersonalizeSetup=You need to configure Dolibarr to suit your needs (appearance, features, ...). To do this, please follow the link below:
|
||||||
# AdminLoginCreatedSuccessfuly=Dolibarr administrator login '<b>%s</b>' created successfuly.
|
AdminLoginCreatedSuccessfuly=Dolibarr administrator login '<b>%s</b>' created successfuly.
|
||||||
# GoToDolibarr=Go to Dolibarr
|
GoToDolibarr=Go to Dolibarr
|
||||||
# GoToSetupArea=Go to Dolibarr (setup area)
|
GoToSetupArea=Go to Dolibarr (setup area)
|
||||||
# MigrationNotFinished=Version of your database is not completely up to date, so you'll have to run the upgrade process again.
|
MigrationNotFinished=Version of your database is not completely up to date, so you'll have to run the upgrade process again.
|
||||||
# GoToUpgradePage=Go to upgrade page again
|
GoToUpgradePage=Go to upgrade page again
|
||||||
# Examples=Examples
|
Examples=Examples
|
||||||
# WithNoSlashAtTheEnd=Without the slash "/" at the end
|
WithNoSlashAtTheEnd=Without the slash "/" at the end
|
||||||
# DirectoryRecommendation=It is recommanded to use a directory outside of your directory of your web pages.
|
DirectoryRecommendation=It is recommanded to use a directory outside of your directory of your web pages.
|
||||||
# LoginAlreadyExists=Already exists
|
LoginAlreadyExists=Already exists
|
||||||
# DolibarrAdminLogin=Dolibarr admin login
|
DolibarrAdminLogin=Dolibarr admin login
|
||||||
# AdminLoginAlreadyExists=Dolibarr administrator account '<b>%s</b>' already exists. Go back, if you want to create another one.
|
AdminLoginAlreadyExists=Dolibarr administrator account '<b>%s</b>' already exists. Go back, if you want to create another one.
|
||||||
# WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called <b>install.lock</b> into Dolibarr document directory, in order to avoid malicious use of it.
|
WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called <b>install.lock</b> into Dolibarr document directory, in order to avoid malicious use of it.
|
||||||
# ThisPHPDoesNotSupportTypeBase=This PHP system does not support any interface to access database type %s
|
ThisPHPDoesNotSupportTypeBase=This PHP system does not support any interface to access database type %s
|
||||||
# FunctionNotAvailableInThisPHP=Not available on this PHP
|
FunctionNotAvailableInThisPHP=Not available on this PHP
|
||||||
# MigrateScript=Migration script
|
MigrateScript=Migration script
|
||||||
# ChoosedMigrateScript=Choose migration script
|
ChoosedMigrateScript=Choose migration script
|
||||||
# DataMigration=Data migration
|
DataMigration=Data migration
|
||||||
# DatabaseMigration=Structure database migration
|
DatabaseMigration=Structure database migration
|
||||||
# ProcessMigrateScript=Script processing
|
ProcessMigrateScript=Script processing
|
||||||
# ChooseYourSetupMode=Choose your setup mode and click "Start"...
|
ChooseYourSetupMode=Choose your setup mode and click "Start"...
|
||||||
# FreshInstall=Fresh install
|
FreshInstall=Fresh install
|
||||||
# FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install, but if you want to upgrade your version, choose "Upgrade" mode.
|
FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install, but if you want to upgrade your version, choose "Upgrade" mode.
|
||||||
# Upgrade=Upgrade
|
Upgrade=Upgrade
|
||||||
# UpgradeDesc=Use this mode if you have replaced old Dolibarr files with files from a newer version. This will upgrade your database and data.
|
UpgradeDesc=Use this mode if you have replaced old Dolibarr files with files from a newer version. This will upgrade your database and data.
|
||||||
# Start=Start
|
Start=Start
|
||||||
# InstallNotAllowed=Setup not allowed by <b>conf.php</b> permissions
|
InstallNotAllowed=Setup not allowed by <b>conf.php</b> permissions
|
||||||
# NotAvailable=Not available
|
NotAvailable=Not available
|
||||||
# YouMustCreateWithPermission=You must create file %s and set write permissions on it for the web server during install process.
|
YouMustCreateWithPermission=You must create file %s and set write permissions on it for the web server during install process.
|
||||||
# CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload page.
|
CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload page.
|
||||||
# AlreadyDone=Already migrated
|
AlreadyDone=Already migrated
|
||||||
# DatabaseVersion=Database version
|
DatabaseVersion=Database version
|
||||||
# ServerVersion=Database server version
|
ServerVersion=Database server version
|
||||||
# YouMustCreateItAndAllowServerToWrite=You must create this directory and allow for the web server to write into it.
|
YouMustCreateItAndAllowServerToWrite=You must create this directory and allow for the web server to write into it.
|
||||||
# CharsetChoice=Character set choice
|
CharsetChoice=Character set choice
|
||||||
# CharacterSetClient=Character set used for generated HTML web pages
|
CharacterSetClient=Character set used for generated HTML web pages
|
||||||
# CharacterSetClientComment=Choose character set for web display.<br/> Default proposed character set is the one of your database.
|
CharacterSetClientComment=Choose character set for web display.<br/> Default proposed character set is the one of your database.
|
||||||
# DBSortingCollation=Character sorting order
|
DBSortingCollation=Character sorting order
|
||||||
# DBSortingCollationComment=Choose page code that defines character's sorting order used by database. This parameter is also called 'collation' by some databases.<br/>This parameter can't be defined if database already exists.
|
DBSortingCollationComment=Choose page code that defines character's sorting order used by database. This parameter is also called 'collation' by some databases.<br/>This parameter can't be defined if database already exists.
|
||||||
# CharacterSetDatabase=Character set for database
|
CharacterSetDatabase=Character set for database
|
||||||
# CharacterSetDatabaseComment=Choose character set wanted for database creation.<br/>This parameter can't be defined if database already exists.
|
CharacterSetDatabaseComment=Choose character set wanted for database creation.<br/>This parameter can't be defined if database already exists.
|
||||||
# YouAskDatabaseCreationSoDolibarrNeedToConnect=You ask to create database <b>%s</b>, but for this, Dolibarr need to connect to server <b>%s</b> with super user <b>%s</b> permissions.
|
YouAskDatabaseCreationSoDolibarrNeedToConnect=You ask to create database <b>%s</b>, but for this, Dolibarr need to connect to server <b>%s</b> with super user <b>%s</b> permissions.
|
||||||
# YouAskLoginCreationSoDolibarrNeedToConnect=You ask to create database login <b>%s</b>, but for this, Dolibarr need to connect to server <b>%s</b> with super user <b>%s</b> permissions.
|
YouAskLoginCreationSoDolibarrNeedToConnect=You ask to create database login <b>%s</b>, but for this, Dolibarr need to connect to server <b>%s</b> with super user <b>%s</b> permissions.
|
||||||
# BecauseConnectionFailedParametersMayBeWrong=As connection failed, host or super user parameters must be wrong.
|
BecauseConnectionFailedParametersMayBeWrong=As connection failed, host or super user parameters must be wrong.
|
||||||
# OrphelinsPaymentsDetectedByMethod=Orphans payment detected by method %s
|
OrphelinsPaymentsDetectedByMethod=Orphans payment detected by method %s
|
||||||
# RemoveItManuallyAndPressF5ToContinue=Remove it manually and press F5 to continue.
|
RemoveItManuallyAndPressF5ToContinue=Remove it manually and press F5 to continue.
|
||||||
# KeepDefaultValuesWamp=You use the Dolibarr setup wizard from DoliWamp, so values proposed here are already optimized. Change them only if you know what you do.
|
KeepDefaultValuesWamp=You use the Dolibarr setup wizard from DoliWamp, so values proposed here are already optimized. Change them only if you know what you do.
|
||||||
# KeepDefaultValuesDeb=You use the Dolibarr setup wizard from a Linux package (Ubuntu, Debian, Fedora...), so values proposed here are already optimized. Only the password of the database owner to create must be completed. Change other parameters only if you know what you do.
|
KeepDefaultValuesDeb=You use the Dolibarr setup wizard from a Linux package (Ubuntu, Debian, Fedora...), so values proposed here are already optimized. Only the password of the database owner to create must be completed. Change other parameters only if you know what you do.
|
||||||
# KeepDefaultValuesMamp=You use the Dolibarr setup wizard from DoliMamp, so values proposed here are already optimized. Change them only if you know what you do.
|
KeepDefaultValuesMamp=You use the Dolibarr setup wizard from DoliMamp, so values proposed here are already optimized. Change them only if you know what you do.
|
||||||
# KeepDefaultValuesProxmox=You use the Dolibarr setup wizard from a Proxmox virtual appliance, so values proposed here are already optimized. Change them only if you know what you do.
|
KeepDefaultValuesProxmox=You use the Dolibarr setup wizard from a Proxmox virtual appliance, so values proposed here are already optimized. Change them only if you know what you do.
|
||||||
# FieldRenamed=Field renamed
|
FieldRenamed=Field renamed
|
||||||
# IfLoginDoesNotExistsCheckCreateUser=If login does not exists yet, you must check option "Create user"
|
IfLoginDoesNotExistsCheckCreateUser=If login does not exists yet, you must check option "Create user"
|
||||||
# ErrorConnection=Server "<b>%s</b>", database name "<b>%s</b>", login "<b>%s</b>", or database password may be wrong or PHP client version may be too old compared to database version.
|
ErrorConnection=Server "<b>%s</b>", database name "<b>%s</b>", login "<b>%s</b>", or database password may be wrong or PHP client version may be too old compared to database version.
|
||||||
# InstallChoiceRecommanded=Recommended choice to install version <b>%s</b> from your current version <b>%s</b>
|
InstallChoiceRecommanded=Recommended choice to install version <b>%s</b> from your current version <b>%s</b>
|
||||||
# InstallChoiceSuggested=<b>Install choice suggested by installer</b>.
|
InstallChoiceSuggested=<b>Install choice suggested by installer</b>.
|
||||||
# MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions, so install wizard will come back to suggest next migration once this one will be finished.
|
MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions, so install wizard will come back to suggest next migration once this one will be finished.
|
||||||
# CheckThatDatabasenameIsCorrect=Check that database name "<b>%s</b>" is correct.
|
CheckThatDatabasenameIsCorrect=Check that database name "<b>%s</b>" is correct.
|
||||||
# IfAlreadyExistsCheckOption=If this name is correct and that database does not exist yet, you must check option "Create database".
|
IfAlreadyExistsCheckOption=If this name is correct and that database does not exist yet, you must check option "Create database".
|
||||||
# OpenBaseDir=PHP openbasedir parameter
|
OpenBaseDir=PHP openbasedir parameter
|
||||||
# YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide login/password of superuser (bottom of form).
|
YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide login/password of superuser (bottom of form).
|
||||||
# YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide login/password of superuser (bottom of form).
|
YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide login/password of superuser (bottom of form).
|
||||||
# NextStepMightLastALongTime=Current step may last several minutes. Please wait until the next screen is shown completely before continuing.
|
NextStepMightLastALongTime=Current step may last several minutes. Please wait until the next screen is shown completely before continuing.
|
||||||
# MigrationCustomerOrderShipping=Migrate shipping for customer orders storage
|
MigrationCustomerOrderShipping=Migrate shipping for customer orders storage
|
||||||
# MigrationShippingDelivery=Upgrade storage of shipping
|
MigrationShippingDelivery=Upgrade storage of shipping
|
||||||
# MigrationShippingDelivery2=Upgrade storage of shipping 2
|
MigrationShippingDelivery2=Upgrade storage of shipping 2
|
||||||
# MigrationFinished=Migration finished
|
MigrationFinished=Migration finished
|
||||||
# LastStepDesc=<strong>Last step</strong>: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others.
|
LastStepDesc=<strong>Last step</strong>: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others.
|
||||||
# ActivateModule=Activate module %s
|
ActivateModule=Activate module %s
|
||||||
# ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
#########
|
MigrationFixData=Fix for denormalized data
|
||||||
# MigrationFixData=Fix for denormalized data
|
MigrationOrder=Data migration for customer's orders
|
||||||
# MigrationOrder=Data migration for customer's orders
|
MigrationSupplierOrder=Data migration for supplier's orders
|
||||||
# MigrationSupplierOrder=Data migration for supplier's orders
|
MigrationProposal=Data migration for commercial proposals
|
||||||
# MigrationProposal=Data migration for commercial proposals
|
MigrationInvoice=Data migration for customer's invoices
|
||||||
# MigrationInvoice=Data migration for customer's invoices
|
MigrationContract=Data migration for contracts
|
||||||
# MigrationContract=Data migration for contracts
|
MigrationSuccessfullUpdate=Upgrade successful
|
||||||
# MigrationSuccessfullUpdate=Upgrade successful
|
MigrationUpdateFailed=Failed upgrade process
|
||||||
# MigrationUpdateFailed=Failed upgrade process
|
MigrationRelationshipTables=Data migration for relationship tables (%s)
|
||||||
# MigrationRelationshipTables=Data migration for relationship tables (%s)
|
MigrationPaymentsUpdate=Payment data correction
|
||||||
# MigrationPaymentsUpdate=Payment data correction
|
MigrationPaymentsNumberToUpdate=%s payment(s) to update
|
||||||
# MigrationPaymentsNumberToUpdate=%s payment(s) to update
|
MigrationProcessPaymentUpdate=Update payment(s) %s
|
||||||
# MigrationProcessPaymentUpdate=Update payment(s) %s
|
MigrationPaymentsNothingToUpdate=No more things to do
|
||||||
# MigrationPaymentsNothingToUpdate=No more things to do
|
MigrationPaymentsNothingUpdatable=No more payments that can be corrected
|
||||||
# MigrationPaymentsNothingUpdatable=No more payments that can be corrected
|
MigrationContractsUpdate=Contract data correction
|
||||||
# MigrationContractsUpdate=Contract data correction
|
MigrationContractsNumberToUpdate=%s contract(s) to update
|
||||||
# MigrationContractsNumberToUpdate=%s contract(s) to update
|
MigrationContractsLineCreation=Create contract line for contract ref %s
|
||||||
# MigrationContractsLineCreation=Create contract line for contract ref %s
|
MigrationContractsNothingToUpdate=No more things to do
|
||||||
# MigrationContractsNothingToUpdate=No more things to do
|
MigrationContractsFieldDontExist=Field fk_facture does not exists anymore. Nothing to do.
|
||||||
# MigrationContractsFieldDontExist=Field fk_facture does not exists anymore. Nothing to do.
|
MigrationContractsEmptyDatesUpdate=Contract empty date correction
|
||||||
# MigrationContractsEmptyDatesUpdate=Contract empty date correction
|
MigrationContractsEmptyDatesUpdateSuccess=Contract emtpy date correction done successfuly
|
||||||
# MigrationContractsEmptyDatesUpdateSuccess=Contract emtpy date correction done successfuly
|
MigrationContractsEmptyDatesNothingToUpdate=No contract empty date to correct
|
||||||
# MigrationContractsEmptyDatesNothingToUpdate=No contract empty date to correct
|
MigrationContractsEmptyCreationDatesNothingToUpdate=No contract creation date to correct
|
||||||
# MigrationContractsEmptyCreationDatesNothingToUpdate=No contract creation date to correct
|
MigrationContractsInvalidDatesUpdate=Bad value date contract correction
|
||||||
# MigrationContractsInvalidDatesUpdate=Bad value date contract correction
|
MigrationContractsInvalidDateFix=Correct contract %s (Contract date=%s, Starting service date min=%s)
|
||||||
# MigrationContractsInvalidDateFix=Correct contract %s (Contract date=%s, Starting service date min=%s)
|
MigrationContractsInvalidDatesNumber=%s contracts modified
|
||||||
# MigrationContractsInvalidDatesNumber=%s contracts modified
|
MigrationContractsInvalidDatesNothingToUpdate=No date with bad value to correct
|
||||||
# MigrationContractsInvalidDatesNothingToUpdate=No date with bad value to correct
|
MigrationContractsIncoherentCreationDateUpdate=Bad value contract creation date correction
|
||||||
# MigrationContractsIncoherentCreationDateUpdate=Bad value contract creation date correction
|
MigrationContractsIncoherentCreationDateUpdateSuccess=Bad value contract creation date correction done succesfuly
|
||||||
# MigrationContractsIncoherentCreationDateUpdateSuccess=Bad value contract creation date correction done succesfuly
|
MigrationContractsIncoherentCreationDateNothingToUpdate=No bad value for contract creation date to correct
|
||||||
# MigrationContractsIncoherentCreationDateNothingToUpdate=No bad value for contract creation date to correct
|
MigrationReopeningContracts=Open contract closed by error
|
||||||
# MigrationReopeningContracts=Open contract closed by error
|
MigrationReopenThisContract=Reopen contract %s
|
||||||
# MigrationReopenThisContract=Reopen contract %s
|
MigrationReopenedContractsNumber=%s contracts modified
|
||||||
# MigrationReopenedContractsNumber=%s contracts modified
|
MigrationReopeningContractsNothingToUpdate=No closed contract to open
|
||||||
# MigrationReopeningContractsNothingToUpdate=No closed contract to open
|
MigrationBankTransfertsUpdate=Update links between bank transaction and a bank transfer
|
||||||
# MigrationBankTransfertsUpdate=Update links between bank transaction and a bank transfer
|
MigrationBankTransfertsNothingToUpdate=All links are up to date
|
||||||
# MigrationBankTransfertsNothingToUpdate=All links are up to date
|
MigrationShipmentOrderMatching=Sendings receipt update
|
||||||
# MigrationShipmentOrderMatching=Sendings receipt update
|
MigrationDeliveryOrderMatching=Delivery receipt update
|
||||||
# MigrationDeliveryOrderMatching=Delivery receipt update
|
MigrationDeliveryDetail=Delivery update
|
||||||
# MigrationDeliveryDetail=Delivery update
|
MigrationStockDetail=Update stock value of products
|
||||||
# MigrationStockDetail=Update stock value of products
|
MigrationMenusDetail=Update dynamic menus tables
|
||||||
# MigrationMenusDetail=Update dynamic menus tables
|
MigrationDeliveryAddress=Update delivery address in shipments
|
||||||
# MigrationDeliveryAddress=Update delivery address in shipments
|
MigrationProjectTaskActors=Data migration for llx_projet_task_actors table
|
||||||
# MigrationProjectTaskActors=Data migration for llx_projet_task_actors table
|
MigrationProjectUserResp=Data migration field fk_user_resp of llx_projet to llx_element_contact
|
||||||
# MigrationProjectUserResp=Data migration field fk_user_resp of llx_projet to llx_element_contact
|
MigrationProjectTaskTime=Update time spent in seconds
|
||||||
# MigrationProjectTaskTime=Update time spent in seconds
|
MigrationActioncommElement=Update data on actions
|
||||||
# MigrationActioncommElement=Update data on actions
|
MigrationPaymentMode=Data migration for payment mode
|
||||||
# MigrationPaymentMode=Data migration for payment mode
|
MigrationCategorieAssociation=Migration of categories
|
||||||
# MigrationCategorieAssociation=Migration of categories
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -34,7 +34,6 @@ ReturnCP=Tornar a la pàgina anterior
|
|||||||
ErrorUserViewCP=No està autoritzat a llegir aquesta petició de vacances.
|
ErrorUserViewCP=No està autoritzat a llegir aquesta petició de vacances.
|
||||||
InfosCP=Informació de la petició de vacances
|
InfosCP=Informació de la petició de vacances
|
||||||
InfosWorkflowCP=Informació del workflow
|
InfosWorkflowCP=Informació del workflow
|
||||||
DateCreateCP=Data de creació
|
|
||||||
RequestByCP=Comandada per
|
RequestByCP=Comandada per
|
||||||
TitreRequestCP=Fitxa vacances
|
TitreRequestCP=Fitxa vacances
|
||||||
NbUseDaysCP=Nombre de dies de vacances consumits
|
NbUseDaysCP=Nombre de dies de vacances consumits
|
||||||
@ -87,7 +86,7 @@ FirstDayOfHoliday=Primer dia lliure
|
|||||||
LastDayOfHoliday=Últim dí lliure
|
LastDayOfHoliday=Últim dí lliure
|
||||||
HolidaysMonthlyUpdate=Actualització mensual
|
HolidaysMonthlyUpdate=Actualització mensual
|
||||||
ManualUpdate=Actualització manual
|
ManualUpdate=Actualització manual
|
||||||
# HolidaysCancelation=Holidays cancelation
|
HolidaysCancelation=Holidays cancelation
|
||||||
|
|
||||||
## Configuration du Module ##
|
## Configuration du Module ##
|
||||||
ConfCP=Configuració del mòdul Vacacions
|
ConfCP=Configuració del mòdul Vacacions
|
||||||
@ -130,7 +129,6 @@ ErrorMailNotSend=S'ha produït un error en l'enviament del correu electrònic:
|
|||||||
NoCPforMonth=Sense vacances aquest mes.
|
NoCPforMonth=Sense vacances aquest mes.
|
||||||
nbJours=Número de dies
|
nbJours=Número de dies
|
||||||
TitleAdminCP=Configuració de les vacances
|
TitleAdminCP=Configuració de les vacances
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Hola
|
Hello=Hola
|
||||||
HolidaysToValidate=Dies retribuïts a validar
|
HolidaysToValidate=Dies retribuïts a validar
|
||||||
@ -143,10 +141,10 @@ HolidaysRefused=Dies retribuïts denegats
|
|||||||
HolidaysRefusedBody=La seva sol·licitud de dies retribuïts des de %s al %s ha estat denegada pel següent motiu:
|
HolidaysRefusedBody=La seva sol·licitud de dies retribuïts des de %s al %s ha estat denegada pel següent motiu:
|
||||||
HolidaysCanceled=Dies retribuïts cancel·lats
|
HolidaysCanceled=Dies retribuïts cancel·lats
|
||||||
HolidaysCanceledBody=La seva sol·licitud de dies retribuïts des de %s al %s ha estat cancel·lada.
|
HolidaysCanceledBody=La seva sol·licitud de dies retribuïts des de %s al %s ha estat cancel·lada.
|
||||||
|
Permission20000=Read you own holidays
|
||||||
Permission20001=Consultar/crear/modificar les seves vacances
|
Permission20001=Create/modify your holidays
|
||||||
Permission20002=Consultar/modificar totes les sol·licituds de permisos retribuïts
|
Permission20002=Create/modify holidays for everybody
|
||||||
Permission20003=Eliminar les sol·licituds de permisos retribuïts
|
Permission20003=Delete holidays requests
|
||||||
Permission20004=Definir els permisos retribuïts dels usuaris
|
Permission20004=Setup users holidays
|
||||||
Permission20005=Consultar l'historial de modificacions de permisos retribuïts
|
Permission20005=Consultar l'historial de modificacions de permisos retribuïts
|
||||||
Permission20006=Accedir a l'informe mensual de permisos retribuïts
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -158,7 +158,6 @@ ShowEditTechnicalParameters=Premi aquí per veure/editar els paràmetres tècnic
|
|||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
#########
|
|
||||||
MigrationFixData=Correcció de dades desnormalitzades
|
MigrationFixData=Correcció de dades desnormalitzades
|
||||||
MigrationOrder=Migració de dades de les comandes clients
|
MigrationOrder=Migració de dades de les comandes clients
|
||||||
MigrationSupplierOrder=Migració de dades de les comandes a proveïdors
|
MigrationSupplierOrder=Migració de dades de les comandes a proveïdors
|
||||||
@ -207,3 +206,6 @@ MigrationProjectTaskTime=Actualització de temps dedicat en segons
|
|||||||
MigrationActioncommElement=Actualització de les dades de accions sobre elements
|
MigrationActioncommElement=Actualització de les dades de accions sobre elements
|
||||||
MigrationPaymentMode=Actualització de les formes de pagament
|
MigrationPaymentMode=Actualització de les formes de pagament
|
||||||
MigrationCategorieAssociation=Actualització de les categories
|
MigrationCategorieAssociation=Actualització de les categories
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -34,7 +34,6 @@ ReturnCP=Zpět na předchozí stránku
|
|||||||
ErrorUserViewCP=Nejste oprávněn číst toto žádosti o dovolenou.
|
ErrorUserViewCP=Nejste oprávněn číst toto žádosti o dovolenou.
|
||||||
InfosCP=Informace o poptávce po prázdninách
|
InfosCP=Informace o poptávce po prázdninách
|
||||||
InfosWorkflowCP=Informace Workflow
|
InfosWorkflowCP=Informace Workflow
|
||||||
DateCreateCP=Datum vytvoření
|
|
||||||
RequestByCP=Žádost
|
RequestByCP=Žádost
|
||||||
TitreRequestCP=List dovolenou
|
TitreRequestCP=List dovolenou
|
||||||
NbUseDaysCP=Počet dní dovolené spotřebovaných
|
NbUseDaysCP=Počet dní dovolené spotřebovaných
|
||||||
@ -130,7 +129,6 @@ ErrorMailNotSend=Došlo k chybě při odesílání e-mail:
|
|||||||
NoCPforMonth=Ne opustit tento měsíc.
|
NoCPforMonth=Ne opustit tento měsíc.
|
||||||
nbJours=Počet dní
|
nbJours=Počet dní
|
||||||
TitleAdminCP=Konfigurace svátky
|
TitleAdminCP=Konfigurace svátky
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Ahoj
|
Hello=Ahoj
|
||||||
HolidaysToValidate=Ověřit dovolenou
|
HolidaysToValidate=Ověřit dovolenou
|
||||||
@ -143,10 +141,10 @@ HolidaysRefused=Odepření prázdniny
|
|||||||
HolidaysRefusedBody=Vaše žádost o dovolenou pro %s na %s byl zamítnut z těchto důvodů:
|
HolidaysRefusedBody=Vaše žádost o dovolenou pro %s na %s byl zamítnut z těchto důvodů:
|
||||||
HolidaysCanceled=Zrušené svátky
|
HolidaysCanceled=Zrušené svátky
|
||||||
HolidaysCanceledBody=Vaše žádost o dovolenou pro %s na %s byla zrušena.
|
HolidaysCanceledBody=Vaše žádost o dovolenou pro %s na %s byla zrušena.
|
||||||
|
Permission20000=Read you own holidays
|
||||||
Permission20001=Čtení / zápis / přepis jejich svátky
|
Permission20001=Create/modify your holidays
|
||||||
Permission20002=Přečtěte si / upravit všechny žádosti dovolenou
|
Permission20002=Create/modify holidays for everybody
|
||||||
Permission20003=Odstranit svou dovolenou žádosti
|
Permission20003=Delete holidays requests
|
||||||
Permission20004=Definujte uživatelům dovolenou
|
Permission20004=Setup users holidays
|
||||||
Permission20005=Recenze protokol modifikovaných dovolenou
|
Permission20005=Recenze protokol modifikovaných dovolenou
|
||||||
Permission20006=Přístup dovolená měsíční zprávu
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -206,3 +206,6 @@ MigrationProjectTaskTime=Čas aktualizace v sekundách
|
|||||||
MigrationActioncommElement=Aktualizovat údaje na činnostech
|
MigrationActioncommElement=Aktualizovat údaje na činnostech
|
||||||
MigrationPaymentMode=Migrace dat platebního režimu
|
MigrationPaymentMode=Migrace dat platebního režimu
|
||||||
MigrationCategorieAssociation=Migrace kategorií
|
MigrationCategorieAssociation=Migrace kategorií
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -1,152 +1,150 @@
|
|||||||
# Dolibarr language file - Source file is en_US - holiday
|
# Dolibarr language file - Source file is en_US - holiday
|
||||||
# HRM=HRM
|
HRM=HRM
|
||||||
# Holidays=Holidays
|
Holidays=Holidays
|
||||||
# CPTitreMenu=Holidays
|
CPTitreMenu=Holidays
|
||||||
# MenuReportMonth=Monthly statement
|
MenuReportMonth=Monthly statement
|
||||||
# MenuAddCP=Apply for holidays
|
MenuAddCP=Apply for holidays
|
||||||
# NotActiveModCP=You must enable the module holidays to view this page.
|
NotActiveModCP=You must enable the module holidays to view this page.
|
||||||
# NotConfigModCP=You must configure the module holidays to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
NotConfigModCP=You must configure the module holidays to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
||||||
# NoCPforUser=You don't have a demand for holidays.
|
NoCPforUser=You don't have a demand for holidays.
|
||||||
# AddCP=Apply for holidays
|
AddCP=Apply for holidays
|
||||||
# CPErrorSQL=An SQL error occurred:
|
CPErrorSQL=An SQL error occurred:
|
||||||
# Employe=Employee
|
Employe=Employee
|
||||||
DateDebCP=Startdato
|
DateDebCP=Startdato
|
||||||
DateFinCP=Slutdato
|
DateFinCP=Slutdato
|
||||||
DateCreateCP=Lavet dato
|
DateCreateCP=Lavet dato
|
||||||
DraftCP=Udkast til
|
DraftCP=Udkast til
|
||||||
# ToReviewCP=Awaiting approval
|
ToReviewCP=Awaiting approval
|
||||||
ApprovedCP=Godkendt
|
ApprovedCP=Godkendt
|
||||||
CancelCP=Aflyst
|
CancelCP=Aflyst
|
||||||
RefuseCP=Afviste
|
RefuseCP=Afviste
|
||||||
# ValidatorCP=Approbator
|
ValidatorCP=Approbator
|
||||||
# ListeCP=List of holidays
|
ListeCP=List of holidays
|
||||||
# ReviewedByCP=Will be reviewed by
|
ReviewedByCP=Will be reviewed by
|
||||||
DescCP=Beskrivelse
|
DescCP=Beskrivelse
|
||||||
# SendRequestCP=Creating demand for holidays
|
SendRequestCP=Creating demand for holidays
|
||||||
# DelayToRequestCP=Applications for holidays must be made at least <b>%s day(s)</b> before them.
|
DelayToRequestCP=Applications for holidays must be made at least <b>%s day(s)</b> before them.
|
||||||
# MenuConfCP=Edit balance of holidays
|
MenuConfCP=Edit balance of holidays
|
||||||
# UpdateAllCP=Update the holidays
|
UpdateAllCP=Update the holidays
|
||||||
# SoldeCPUser=Holidays balance is <b>%s</b> days.
|
SoldeCPUser=Holidays balance is <b>%s</b> days.
|
||||||
# ErrorEndDateCP=You must select an end date greater than the start date.
|
ErrorEndDateCP=You must select an end date greater than the start date.
|
||||||
# ErrorSQLCreateCP=An SQL error occurred during the creation:
|
ErrorSQLCreateCP=An SQL error occurred during the creation:
|
||||||
# ErrorIDFicheCP=An error has occurred, the request for holidays does not exist.
|
ErrorIDFicheCP=An error has occurred, the request for holidays does not exist.
|
||||||
# ReturnCP=Return to previous page
|
ReturnCP=Return to previous page
|
||||||
# ErrorUserViewCP=You are not authorized to read this request for holidays.
|
ErrorUserViewCP=You are not authorized to read this request for holidays.
|
||||||
# InfosCP=Information of the demand of holidays
|
InfosCP=Information of the demand of holidays
|
||||||
# InfosWorkflowCP=Information Workflow
|
InfosWorkflowCP=Information Workflow
|
||||||
DateCreateCP=Lavet dato
|
RequestByCP=Requested by
|
||||||
# RequestByCP=Requested by
|
TitreRequestCP=Sheet of holidays
|
||||||
# TitreRequestCP=Sheet of holidays
|
NbUseDaysCP=Number of days of holidays consumed
|
||||||
# NbUseDaysCP=Number of days of holidays consumed
|
|
||||||
EditCP=Redigér
|
EditCP=Redigér
|
||||||
DeleteCP=Slet
|
DeleteCP=Slet
|
||||||
ActionValidCP=Validate
|
ActionValidCP=Validate
|
||||||
# ActionRefuseCP=Refuse
|
ActionRefuseCP=Refuse
|
||||||
ActionCancelCP=Annuller
|
ActionCancelCP=Annuller
|
||||||
StatutCP=Status
|
StatutCP=Status
|
||||||
# SendToValidationCP=Send to validation
|
SendToValidationCP=Send to validation
|
||||||
# TitleDeleteCP=Delete the request of holidays
|
TitleDeleteCP=Delete the request of holidays
|
||||||
# ConfirmDeleteCP=Confirm the deletion of this request for holidays?
|
ConfirmDeleteCP=Confirm the deletion of this request for holidays?
|
||||||
# ErrorCantDeleteCP=Error you don't have the right to delete this holiday request.
|
ErrorCantDeleteCP=Error you don't have the right to delete this holiday request.
|
||||||
# CantCreateCP=You don't have the right to apply for holidays.
|
CantCreateCP=You don't have the right to apply for holidays.
|
||||||
# InvalidValidatorCP=You must choose an approbator to your holiday request.
|
InvalidValidatorCP=You must choose an approbator to your holiday request.
|
||||||
UpdateButtonCP=Opdatering
|
UpdateButtonCP=Opdatering
|
||||||
# CantUpdate=You cannot update this request of holidays.
|
CantUpdate=You cannot update this request of holidays.
|
||||||
# NoDateDebut=You must select a start date.
|
NoDateDebut=You must select a start date.
|
||||||
# NoDateFin=You must select an end date.
|
NoDateFin=You must select an end date.
|
||||||
# ErrorDureeCP=Your request for holidays does not contain working day.
|
ErrorDureeCP=Your request for holidays does not contain working day.
|
||||||
# TitleValidCP=Approve the request holidays
|
TitleValidCP=Approve the request holidays
|
||||||
# ConfirmValidCP=Are you sure you want to approve the holiday request?
|
ConfirmValidCP=Are you sure you want to approve the holiday request?
|
||||||
# DateValidCP=Date approved
|
DateValidCP=Date approved
|
||||||
# TitleToValidCP=Send request holidays
|
TitleToValidCP=Send request holidays
|
||||||
# ConfirmToValidCP=Are you sure you want to send the request of holidays?
|
ConfirmToValidCP=Are you sure you want to send the request of holidays?
|
||||||
# TitleRefuseCP=Refuse the request holidays
|
TitleRefuseCP=Refuse the request holidays
|
||||||
# ConfirmRefuseCP=Are you sure you want to refuse the request of holidays?
|
ConfirmRefuseCP=Are you sure you want to refuse the request of holidays?
|
||||||
# NoMotifRefuseCP=You must choose a reason for refusing the request.
|
NoMotifRefuseCP=You must choose a reason for refusing the request.
|
||||||
# TitleCancelCP=Cancel the request holidays
|
TitleCancelCP=Cancel the request holidays
|
||||||
# ConfirmCancelCP=Are you sure you want to cancel the request of holidays?
|
ConfirmCancelCP=Are you sure you want to cancel the request of holidays?
|
||||||
# DetailRefusCP=Reason for refusal
|
DetailRefusCP=Reason for refusal
|
||||||
# DateRefusCP=Date of refusal
|
DateRefusCP=Date of refusal
|
||||||
# DateCancelCP=Date of cancellation
|
DateCancelCP=Date of cancellation
|
||||||
# DefineEventUserCP=Assign an exceptional leave for a user
|
DefineEventUserCP=Assign an exceptional leave for a user
|
||||||
# addEventToUserCP=Assign leave
|
addEventToUserCP=Assign leave
|
||||||
MotifCP=Årsag
|
MotifCP=Årsag
|
||||||
UserCP=Bruger
|
UserCP=Bruger
|
||||||
# ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
||||||
# AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
||||||
# MenuLogCP=View logs of holidays
|
MenuLogCP=View logs of holidays
|
||||||
# LogCP=Log of updates of holidays
|
LogCP=Log of updates of holidays
|
||||||
# ActionByCP=Performed by
|
ActionByCP=Performed by
|
||||||
# UserUpdateCP=For the user
|
UserUpdateCP=For the user
|
||||||
# PrevSoldeCP=Previous Balance
|
PrevSoldeCP=Previous Balance
|
||||||
# NewSoldeCP=New Balance
|
NewSoldeCP=New Balance
|
||||||
# alreadyCPexist=A request for holidays has already been done on this period.
|
alreadyCPexist=A request for holidays has already been done on this period.
|
||||||
UserName=Navn
|
UserName=Navn
|
||||||
# Employee=Employee
|
Employee=Employee
|
||||||
# FirstDayOfHoliday=First day of holiday
|
FirstDayOfHoliday=First day of holiday
|
||||||
# LastDayOfHoliday=Last day of holiday
|
LastDayOfHoliday=Last day of holiday
|
||||||
# HolidaysMonthlyUpdate=Monthly update
|
HolidaysMonthlyUpdate=Monthly update
|
||||||
# ManualUpdate=Manual update
|
ManualUpdate=Manual update
|
||||||
# HolidaysCancelation=Holidays cancelation
|
HolidaysCancelation=Holidays cancelation
|
||||||
|
|
||||||
## Configuration du Module ##
|
## Configuration du Module ##
|
||||||
# ConfCP=Configuration of holidays module
|
ConfCP=Configuration of holidays module
|
||||||
# DescOptionCP=Description of the option
|
DescOptionCP=Description of the option
|
||||||
ValueOptionCP=Værdi
|
ValueOptionCP=Værdi
|
||||||
# GroupToValidateCP=Group with the ability to approve holidays
|
GroupToValidateCP=Group with the ability to approve holidays
|
||||||
# ConfirmConfigCP=Validate the configuration
|
ConfirmConfigCP=Validate the configuration
|
||||||
# LastUpdateCP=Last updated automatically of holidays
|
LastUpdateCP=Last updated automatically of holidays
|
||||||
# UpdateConfCPOK=Updated successfully.
|
UpdateConfCPOK=Updated successfully.
|
||||||
# ErrorUpdateConfCP=An error occurred during the update, please try again.
|
ErrorUpdateConfCP=An error occurred during the update, please try again.
|
||||||
# AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
||||||
# DelayForSubmitCP=Deadline to apply for holidays
|
DelayForSubmitCP=Deadline to apply for holidays
|
||||||
# AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline
|
AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline
|
||||||
# AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay
|
AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay
|
||||||
# AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance
|
AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance
|
||||||
# nbUserCP=Number of users supported in the module holidays
|
nbUserCP=Number of users supported in the module holidays
|
||||||
# nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
|
nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
|
||||||
# nbHolidayEveryMonthCP=Number of holidays added every month
|
nbHolidayEveryMonthCP=Number of holidays added every month
|
||||||
# Module27130Name= Management of holidays
|
Module27130Name= Management of holidays
|
||||||
# Module27130Desc= Management of holidays
|
Module27130Desc= Management of holidays
|
||||||
# TitleOptionMainCP=Main settings of holidays
|
TitleOptionMainCP=Main settings of holidays
|
||||||
# TitleOptionEventCP=Settings of holidays related to events
|
TitleOptionEventCP=Settings of holidays related to events
|
||||||
ValidEventCP=Validate
|
ValidEventCP=Validate
|
||||||
# UpdateEventCP=Update events
|
UpdateEventCP=Update events
|
||||||
CreateEventCP=Opret
|
CreateEventCP=Opret
|
||||||
# NameEventCP=Event name
|
NameEventCP=Event name
|
||||||
# OkCreateEventCP=The addition of the event went well.
|
OkCreateEventCP=The addition of the event went well.
|
||||||
# ErrorCreateEventCP=Error creating the event.
|
ErrorCreateEventCP=Error creating the event.
|
||||||
# UpdateEventOkCP=The update of the event went well.
|
UpdateEventOkCP=The update of the event went well.
|
||||||
# ErrorUpdateEventCP=Error while updating the event.
|
ErrorUpdateEventCP=Error while updating the event.
|
||||||
# DeleteEventCP=Delete Event
|
DeleteEventCP=Delete Event
|
||||||
# DeleteEventOkCP=The event has been deleted.
|
DeleteEventOkCP=The event has been deleted.
|
||||||
# ErrorDeleteEventCP=Error while deleting the event.
|
ErrorDeleteEventCP=Error while deleting the event.
|
||||||
# TitleDeleteEventCP=Delete a exceptional leave
|
TitleDeleteEventCP=Delete a exceptional leave
|
||||||
# TitleCreateEventCP=Create a exceptional leave
|
TitleCreateEventCP=Create a exceptional leave
|
||||||
# TitleUpdateEventCP=Edit or delete a exceptional leave
|
TitleUpdateEventCP=Edit or delete a exceptional leave
|
||||||
DeleteEventOptionCP=Slet
|
DeleteEventOptionCP=Slet
|
||||||
UpdateEventOptionCP=Opdatering
|
UpdateEventOptionCP=Opdatering
|
||||||
# ErrorMailNotSend=An error occurred while sending email:
|
ErrorMailNotSend=An error occurred while sending email:
|
||||||
# NoCPforMonth=No leave this month.
|
NoCPforMonth=No leave this month.
|
||||||
# nbJours=Number days
|
nbJours=Number days
|
||||||
# TitleAdminCP=Configuration of Holidays
|
TitleAdminCP=Configuration of Holidays
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
# Hello=Hello
|
Hello=Hello
|
||||||
# HolidaysToValidate=Validate holidays
|
HolidaysToValidate=Validate holidays
|
||||||
# HolidaysToValidateBody=Below is a request for holidays to validate
|
HolidaysToValidateBody=Below is a request for holidays to validate
|
||||||
# HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
||||||
# HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days.
|
HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days.
|
||||||
# HolidaysValidated=Validated holidays
|
HolidaysValidated=Validated holidays
|
||||||
# HolidaysValidatedBody=Your request for holidays for %s to %s has been validated.
|
HolidaysValidatedBody=Your request for holidays for %s to %s has been validated.
|
||||||
# HolidaysRefused=Denied holidays
|
HolidaysRefused=Denied holidays
|
||||||
# HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
||||||
# HolidaysCanceled=Canceled holidays
|
HolidaysCanceled=Canceled holidays
|
||||||
# HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
||||||
|
Permission20000=Read you own holidays
|
||||||
# Permission20001=Read/create/modify their holidays
|
Permission20001=Create/modify your holidays
|
||||||
# Permission20002=Read/modify all requests of holidays
|
Permission20002=Create/modify holidays for everybody
|
||||||
# Permission20003=Delete their holidays requests
|
Permission20003=Delete holidays requests
|
||||||
# Permission20004=Define users holidays
|
Permission20004=Setup users holidays
|
||||||
# Permission20005=Review log of modified holidays
|
Permission20005=Review log of modified holidays
|
||||||
# Permission20006=Access holidays monthly report
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -25,14 +25,14 @@ ErrorGoBackAndCorrectParameters=Gå tilbage og rette forkerte parametre.
|
|||||||
ErrorWrongValueForParameter=Du kan have indtastet en forkert værdi for parameter ' %s'.
|
ErrorWrongValueForParameter=Du kan have indtastet en forkert værdi for parameter ' %s'.
|
||||||
ErrorFailedToCreateDatabase=Kunne ikke oprette databasen ' %s'.
|
ErrorFailedToCreateDatabase=Kunne ikke oprette databasen ' %s'.
|
||||||
ErrorFailedToConnectToDatabase=Det lykkedes ikke at oprette forbindelse til databasen ' %s'.
|
ErrorFailedToConnectToDatabase=Det lykkedes ikke at oprette forbindelse til databasen ' %s'.
|
||||||
# ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
||||||
ErrorPHPVersionTooLow=PHP version for gammel. Version %s er påkrævet.
|
ErrorPHPVersionTooLow=PHP version for gammel. Version %s er påkrævet.
|
||||||
WarningPHPVersionTooLow=PHP version for gammel. Version %s eller mere er forventet. Denne version skulle gøre det muligt installere, men er ikke understøttet.
|
WarningPHPVersionTooLow=PHP version for gammel. Version %s eller mere er forventet. Denne version skulle gøre det muligt installere, men er ikke understøttet.
|
||||||
ErrorConnectedButDatabaseNotFound=Forbindelsen til serveren vellykket men database ' %s' blev ikke fundet.
|
ErrorConnectedButDatabaseNotFound=Forbindelsen til serveren vellykket men database ' %s' blev ikke fundet.
|
||||||
ErrorDatabaseAlreadyExists=Database ' %s' eksisterer allerede.
|
ErrorDatabaseAlreadyExists=Database ' %s' eksisterer allerede.
|
||||||
IfDatabaseNotExistsGoBackAndUncheckCreate=Hvis databasen ikke findes, gå tilbage og tjekke valgmulighed "Opret database".
|
IfDatabaseNotExistsGoBackAndUncheckCreate=Hvis databasen ikke findes, gå tilbage og tjekke valgmulighed "Opret database".
|
||||||
IfDatabaseExistsGoBackAndCheckCreate=Hvis database findes allerede, gå tilbage og fjerne markeringen "Opret database" valgmulighed.
|
IfDatabaseExistsGoBackAndCheckCreate=Hvis database findes allerede, gå tilbage og fjerne markeringen "Opret database" valgmulighed.
|
||||||
# WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
||||||
PHPVersion=PHP Version
|
PHPVersion=PHP Version
|
||||||
YouCanContinue=Du kan fortsætte ...
|
YouCanContinue=Du kan fortsætte ...
|
||||||
PleaseBePatient=Vær tålmodig ...
|
PleaseBePatient=Vær tålmodig ...
|
||||||
@ -154,11 +154,10 @@ MigrationShippingDelivery2=Opgrader opbevaring af shipping 2
|
|||||||
MigrationFinished=Migration er færdig
|
MigrationFinished=Migration er færdig
|
||||||
LastStepDesc=<strong>Sidste trin:</strong> Definer her login og adgangskode, du planlægger at bruge til at oprette forbindelse til software. Må ikke løse dette, da det er den konto, at administrere alle andre.
|
LastStepDesc=<strong>Sidste trin:</strong> Definer her login og adgangskode, du planlægger at bruge til at oprette forbindelse til software. Må ikke løse dette, da det er den konto, at administrere alle andre.
|
||||||
ActivateModule=Aktiver modul %s
|
ActivateModule=Aktiver modul %s
|
||||||
# ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
#########
|
|
||||||
MigrationFixData=Fix for denormalized data
|
MigrationFixData=Fix for denormalized data
|
||||||
MigrationOrder=Data migration for kundernes ordrer
|
MigrationOrder=Data migration for kundernes ordrer
|
||||||
MigrationSupplierOrder=Data migration for leverandører ordrer
|
MigrationSupplierOrder=Data migration for leverandører ordrer
|
||||||
@ -206,4 +205,7 @@ MigrationProjectUserResp=Data migration inden fk_user_resp af llx_projet til llx
|
|||||||
MigrationProjectTaskTime=Update tid i sekunder
|
MigrationProjectTaskTime=Update tid i sekunder
|
||||||
MigrationActioncommElement=Opdatere data om tiltag
|
MigrationActioncommElement=Opdatere data om tiltag
|
||||||
MigrationPaymentMode=Data migration for betaling mode
|
MigrationPaymentMode=Data migration for betaling mode
|
||||||
# MigrationCategorieAssociation=Migration of categories
|
MigrationCategorieAssociation=Migration of categories
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -50,10 +50,10 @@ ErrorCodeCantContainZero=Code darf keinen Wert 0 enthalten
|
|||||||
DisableJavascript=JavaScript- und Ajax-Funktionen deaktivieren
|
DisableJavascript=JavaScript- und Ajax-Funktionen deaktivieren
|
||||||
ConfirmAjax=Ajax-Bestätigungs-Popups verwenden
|
ConfirmAjax=Ajax-Bestätigungs-Popups verwenden
|
||||||
UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||||
UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box.
|
UseSearchToSelectCompany=Suchfeld statt Listenansicht für Partnerauswahl verwenden.
|
||||||
ActivityStateToSelectCompany= Setzt einen Filter um Partner ein-/ausblenden, welche aktiv oder inaktiv sind.
|
ActivityStateToSelectCompany= Setzt einen Filter um Partner ein-/ausblenden, welche aktiv oder inaktiv sind.
|
||||||
UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||||
UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box).
|
UseSearchToSelectContact=Suchfeld statt Listenansicht für Kontaktauswahl verwenden.
|
||||||
SearchFilter=Suchfilter Optionen
|
SearchFilter=Suchfilter Optionen
|
||||||
NumberOfKeyToSearch=Anzahl der Buchstaben um eine Suche auszulösen: %s
|
NumberOfKeyToSearch=Anzahl der Buchstaben um eine Suche auszulösen: %s
|
||||||
ViewFullDateActions=Zeige alle Terminaktionen in der Partneransicht
|
ViewFullDateActions=Zeige alle Terminaktionen in der Partneransicht
|
||||||
@ -1014,7 +1014,7 @@ YouMustEnableOneModule=Sie müssen mindestens 1 Modul aktivieren
|
|||||||
ClassNotFoundIntoPathWarning=Klasse %s nicht innerhalb PHP-Pfad gefunden
|
ClassNotFoundIntoPathWarning=Klasse %s nicht innerhalb PHP-Pfad gefunden
|
||||||
YesInSummer=Ja im Sommer
|
YesInSummer=Ja im Sommer
|
||||||
OnlyFollowingModulesAreOpenedToExternalUsers=Bitte beachten: nur die folgenden Module sind für externe Nutzer verfügbar (unabhängig von deren Rechten):
|
OnlyFollowingModulesAreOpenedToExternalUsers=Bitte beachten: nur die folgenden Module sind für externe Nutzer verfügbar (unabhängig von deren Rechten):
|
||||||
SuhosinSessionEncrypt=Session storage encrypted by Suhosin
|
SuhosinSessionEncrypt=Sitzungsspeicher durch Suhosin verschlüsselt
|
||||||
ConditionIsCurrently=Einstellung ist aktuell %s
|
ConditionIsCurrently=Einstellung ist aktuell %s
|
||||||
TestNotPossibleWithCurrentBrowsers=Automatische Erkennung nicht möglich
|
TestNotPossibleWithCurrentBrowsers=Automatische Erkennung nicht möglich
|
||||||
YouUseBestDriver=Sie verwenden den Treiber %s, dies ist derzeit der beste verfügbare.
|
YouUseBestDriver=Sie verwenden den Treiber %s, dies ist derzeit der beste verfügbare.
|
||||||
@ -1310,7 +1310,7 @@ ModifyProductDescAbility=Produktbeschreibungen in Formularen individuell anpassb
|
|||||||
ViewProductDescInFormAbility=Anzeige dr Produktbeschreibungen in Formularen (andernfalls als Popup-Tooltip)
|
ViewProductDescInFormAbility=Anzeige dr Produktbeschreibungen in Formularen (andernfalls als Popup-Tooltip)
|
||||||
ViewProductDescInThirdpartyLanguageAbility=Visualisierung von Produkten Beschreibungen in der Sprache thirdparty
|
ViewProductDescInThirdpartyLanguageAbility=Visualisierung von Produkten Beschreibungen in der Sprache thirdparty
|
||||||
UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||||
UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list).
|
UseSearchToSelectProduct=Suchfeld statt Listenansicht für die Produktauswahl verwenden.
|
||||||
UseEcoTaxeAbility=Umweltabgaben unterstüzten
|
UseEcoTaxeAbility=Umweltabgaben unterstüzten
|
||||||
SetDefaultBarcodeTypeProducts=Standard-Barcode-Typ für Produkte
|
SetDefaultBarcodeTypeProducts=Standard-Barcode-Typ für Produkte
|
||||||
SetDefaultBarcodeTypeThirdParties=Standard-Barcode-Typ für Partner
|
SetDefaultBarcodeTypeThirdParties=Standard-Barcode-Typ für Partner
|
||||||
@ -1492,7 +1492,7 @@ TestGeoIPResult=Test einer Umwandlung IP -> Land
|
|||||||
ProjectsNumberingModules=Projektnumerierungsmodul
|
ProjectsNumberingModules=Projektnumerierungsmodul
|
||||||
ProjectsSetup=Projekteinstellungenmodul
|
ProjectsSetup=Projekteinstellungenmodul
|
||||||
ProjectsModelModule=Projektvorlagenmodul
|
ProjectsModelModule=Projektvorlagenmodul
|
||||||
TasksNumberingModules=Tasks numbering module
|
TasksNumberingModules=Aufgaben-Nummerierungs-Modul
|
||||||
TaskModelModule=Tasks reports document model
|
TaskModelModule=Tasks reports document model
|
||||||
##### ECM (GED) #####
|
##### ECM (GED) #####
|
||||||
ECMSetup = GED Setup
|
ECMSetup = GED Setup
|
||||||
|
|||||||
@ -6,7 +6,7 @@ MenuReportMonth=Monatsauszug
|
|||||||
MenuAddCP=Ferienantrag
|
MenuAddCP=Ferienantrag
|
||||||
NotActiveModCP=Sie müssen das Ferien-Modul aktivieren um diese Seite zu sehen.
|
NotActiveModCP=Sie müssen das Ferien-Modul aktivieren um diese Seite zu sehen.
|
||||||
NotConfigModCP=Sie müssen das Ferien-Modul konfigurieren um diese Seite zu sehen. Dazu <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> klicken Sie hier </ a>.
|
NotConfigModCP=Sie müssen das Ferien-Modul konfigurieren um diese Seite zu sehen. Dazu <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> klicken Sie hier </ a>.
|
||||||
# NoCPforUser=You don't have a demand for holidays.
|
NoCPforUser=You don't have a demand for holidays.
|
||||||
AddCP=Ferienantrag
|
AddCP=Ferienantrag
|
||||||
CPErrorSQL=Ein SQL Fehler ist aufgetreten:
|
CPErrorSQL=Ein SQL Fehler ist aufgetreten:
|
||||||
Employe=Angestellter
|
Employe=Angestellter
|
||||||
@ -18,13 +18,13 @@ ToReviewCP=Wartet auf Genehmigung
|
|||||||
ApprovedCP=Genehmigt
|
ApprovedCP=Genehmigt
|
||||||
CancelCP=Storno
|
CancelCP=Storno
|
||||||
RefuseCP=Abgelehnt
|
RefuseCP=Abgelehnt
|
||||||
# ValidatorCP=Approbator
|
ValidatorCP=Approbator
|
||||||
ListeCP=Ferienliste
|
ListeCP=Ferienliste
|
||||||
# ReviewedByCP=Will be reviewed by
|
ReviewedByCP=Will be reviewed by
|
||||||
DescCP=Beschreibung
|
DescCP=Beschreibung
|
||||||
# SendRequestCP=Creating demand for holidays
|
SendRequestCP=Creating demand for holidays
|
||||||
DelayToRequestCP=Anträge für Ferien müssen mindestens <b>%s Tage</b> im voraus gestellt werden.
|
DelayToRequestCP=Anträge für Ferien müssen mindestens <b>%s Tage</b> im voraus gestellt werden.
|
||||||
# MenuConfCP=Edit balance of holidays
|
MenuConfCP=Edit balance of holidays
|
||||||
UpdateAllCP=Ferien aktualisieren
|
UpdateAllCP=Ferien aktualisieren
|
||||||
SoldeCPUser=Feriensaldo ist <b>%s</b> Tage.
|
SoldeCPUser=Feriensaldo ist <b>%s</b> Tage.
|
||||||
ErrorEndDateCP=Sie müssen ein End-Datum wählen, dass nach dem Start-Datum liegt.
|
ErrorEndDateCP=Sie müssen ein End-Datum wählen, dass nach dem Start-Datum liegt.
|
||||||
@ -32,11 +32,10 @@ ErrorSQLCreateCP=Ein SQL Fehler trat auf bei der Eerstellung von:
|
|||||||
ErrorIDFicheCP=Ein Fehler trat auf, der Antrag auf Ferien existiert nicht.
|
ErrorIDFicheCP=Ein Fehler trat auf, der Antrag auf Ferien existiert nicht.
|
||||||
ReturnCP=Zurück zur vorherigen Seite
|
ReturnCP=Zurück zur vorherigen Seite
|
||||||
ErrorUserViewCP=Sie sind nicht berechtigt diese Ferien-Anträge zu lesen.
|
ErrorUserViewCP=Sie sind nicht berechtigt diese Ferien-Anträge zu lesen.
|
||||||
# InfosCP=Information of the demand of holidays
|
InfosCP=Information of the demand of holidays
|
||||||
# InfosWorkflowCP=Information Workflow
|
InfosWorkflowCP=Information Workflow
|
||||||
DateCreateCP=Erstellungsdatum
|
|
||||||
RequestByCP=Beantragt von
|
RequestByCP=Beantragt von
|
||||||
# TitreRequestCP=Sheet of holidays
|
TitreRequestCP=Sheet of holidays
|
||||||
NbUseDaysCP=Anzahl Ferientage bezogen
|
NbUseDaysCP=Anzahl Ferientage bezogen
|
||||||
EditCP=Bearbeiten
|
EditCP=Bearbeiten
|
||||||
DeleteCP=Lösche Gruppe
|
DeleteCP=Lösche Gruppe
|
||||||
@ -49,15 +48,15 @@ TitleDeleteCP=Antrag auf Ferien löschen
|
|||||||
ConfirmDeleteCP=Löschung dieses Ferienantrags bestätigen?
|
ConfirmDeleteCP=Löschung dieses Ferienantrags bestätigen?
|
||||||
ErrorCantDeleteCP=Fehler, Sie haben nicht die Berechtigung diesen Ferien-Antrag zu löschen.
|
ErrorCantDeleteCP=Fehler, Sie haben nicht die Berechtigung diesen Ferien-Antrag zu löschen.
|
||||||
CantCreateCP=Sie haben nicht die Berechtigung Ferien zu beantragen.
|
CantCreateCP=Sie haben nicht die Berechtigung Ferien zu beantragen.
|
||||||
# InvalidValidatorCP=You must choose an approbator to your holiday request.
|
InvalidValidatorCP=You must choose an approbator to your holiday request.
|
||||||
UpdateButtonCP=Aktualisieren
|
UpdateButtonCP=Aktualisieren
|
||||||
# CantUpdate=You cannot update this request of holidays.
|
CantUpdate=You cannot update this request of holidays.
|
||||||
NoDateDebut=Sie müssen ein Startdatum wählen.
|
NoDateDebut=Sie müssen ein Startdatum wählen.
|
||||||
NoDateFin=Sie müssen ein Enddatum wählen.
|
NoDateFin=Sie müssen ein Enddatum wählen.
|
||||||
ErrorDureeCP=Ihr Antrag auf Ferien enthält keine Werktage.
|
ErrorDureeCP=Ihr Antrag auf Ferien enthält keine Werktage.
|
||||||
# TitleValidCP=Approve the request holidays
|
TitleValidCP=Approve the request holidays
|
||||||
ConfirmValidCP=Möchten Sie diesen Ferienantrag wirklich genehmigen?
|
ConfirmValidCP=Möchten Sie diesen Ferienantrag wirklich genehmigen?
|
||||||
# DateValidCP=Date approved
|
DateValidCP=Date approved
|
||||||
TitleToValidCP=Ferienantrag senden
|
TitleToValidCP=Ferienantrag senden
|
||||||
ConfirmToValidCP=Möchten Sie diesen Ferienantrag wirklich senden?
|
ConfirmToValidCP=Möchten Sie diesen Ferienantrag wirklich senden?
|
||||||
TitleRefuseCP=Ferienantrag ablehnen
|
TitleRefuseCP=Ferienantrag ablehnen
|
||||||
@ -67,14 +66,14 @@ TitleCancelCP=Ferienantrag abbrechen
|
|||||||
ConfirmCancelCP=Möchten Sie diesen Ferienantrag wirklich abbrechen?
|
ConfirmCancelCP=Möchten Sie diesen Ferienantrag wirklich abbrechen?
|
||||||
DetailRefusCP=Ablehnungsgrund
|
DetailRefusCP=Ablehnungsgrund
|
||||||
DateRefusCP=Datum der Ablehnung
|
DateRefusCP=Datum der Ablehnung
|
||||||
# DateCancelCP=Date of cancellation
|
DateCancelCP=Date of cancellation
|
||||||
# DefineEventUserCP=Assign an exceptional leave for a user
|
DefineEventUserCP=Assign an exceptional leave for a user
|
||||||
# addEventToUserCP=Assign leave
|
addEventToUserCP=Assign leave
|
||||||
MotifCP=Grund
|
MotifCP=Grund
|
||||||
UserCP=Benutzer
|
UserCP=Benutzer
|
||||||
# ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
||||||
# AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
||||||
# MenuLogCP=View logs of holidays
|
MenuLogCP=View logs of holidays
|
||||||
LogCP=Liste von neuen Ferieneinträgen
|
LogCP=Liste von neuen Ferieneinträgen
|
||||||
ActionByCP=Ausgeführt von
|
ActionByCP=Ausgeführt von
|
||||||
UserUpdateCP=Für den Benutzer
|
UserUpdateCP=Für den Benutzer
|
||||||
@ -87,7 +86,7 @@ FirstDayOfHoliday=Erster Ferientag
|
|||||||
LastDayOfHoliday=Letzter Ferientag
|
LastDayOfHoliday=Letzter Ferientag
|
||||||
HolidaysMonthlyUpdate=Monatliches Update
|
HolidaysMonthlyUpdate=Monatliches Update
|
||||||
ManualUpdate=Manuelles Update
|
ManualUpdate=Manuelles Update
|
||||||
# HolidaysCancelation=Holidays cancelation
|
HolidaysCancelation=Holidays cancelation
|
||||||
|
|
||||||
## Configuration du Module ##
|
## Configuration du Module ##
|
||||||
ConfCP=Konfiguration des Ferienmoduls
|
ConfCP=Konfiguration des Ferienmoduls
|
||||||
@ -95,58 +94,57 @@ DescOptionCP=Beschreibung der Wahlmöglichkeit
|
|||||||
ValueOptionCP=Warenwert
|
ValueOptionCP=Warenwert
|
||||||
GroupToValidateCP=Gruppe mit der Fähigkeit Ferien zu bewilligen
|
GroupToValidateCP=Gruppe mit der Fähigkeit Ferien zu bewilligen
|
||||||
ConfirmConfigCP=Konfiguration bestätigen
|
ConfirmConfigCP=Konfiguration bestätigen
|
||||||
# LastUpdateCP=Last updated automatically of holidays
|
LastUpdateCP=Last updated automatically of holidays
|
||||||
UpdateConfCPOK=Erfolgreich bearbeitet.
|
UpdateConfCPOK=Erfolgreich bearbeitet.
|
||||||
ErrorUpdateConfCP=Ein Fehler trat beim Bearbeiten auf, bitte nochmals versuchen.
|
ErrorUpdateConfCP=Ein Fehler trat beim Bearbeiten auf, bitte nochmals versuchen.
|
||||||
# AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
||||||
DelayForSubmitCP=Letzter Termin für Ferienanträge
|
DelayForSubmitCP=Letzter Termin für Ferienanträge
|
||||||
# AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline
|
AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline
|
||||||
# AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay
|
AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay
|
||||||
# AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance
|
AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance
|
||||||
nbUserCP=Anzahl unterstützte Benutzer im Ferienmodul
|
nbUserCP=Anzahl unterstützte Benutzer im Ferienmodul
|
||||||
# nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
|
nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
|
||||||
nbHolidayEveryMonthCP=Anzahl hinzugefügter Ferientage pro Monat
|
nbHolidayEveryMonthCP=Anzahl hinzugefügter Ferientage pro Monat
|
||||||
Module27130Name= Verwaltung der Ferien
|
Module27130Name= Verwaltung der Ferien
|
||||||
Module27130Desc= Verwaltung der Ferien
|
Module27130Desc= Verwaltung der Ferien
|
||||||
TitleOptionMainCP=Wichtigste Ferien-Einstellungen
|
TitleOptionMainCP=Wichtigste Ferien-Einstellungen
|
||||||
# TitleOptionEventCP=Settings of holidays related to events
|
TitleOptionEventCP=Settings of holidays related to events
|
||||||
ValidEventCP=Freigeben
|
ValidEventCP=Freigeben
|
||||||
# UpdateEventCP=Update events
|
UpdateEventCP=Update events
|
||||||
CreateEventCP=Erstelle
|
CreateEventCP=Erstelle
|
||||||
# NameEventCP=Event name
|
NameEventCP=Event name
|
||||||
# OkCreateEventCP=The addition of the event went well.
|
OkCreateEventCP=The addition of the event went well.
|
||||||
# ErrorCreateEventCP=Error creating the event.
|
ErrorCreateEventCP=Error creating the event.
|
||||||
# UpdateEventOkCP=The update of the event went well.
|
UpdateEventOkCP=The update of the event went well.
|
||||||
# ErrorUpdateEventCP=Error while updating the event.
|
ErrorUpdateEventCP=Error while updating the event.
|
||||||
# DeleteEventCP=Delete Event
|
DeleteEventCP=Delete Event
|
||||||
# DeleteEventOkCP=The event has been deleted.
|
DeleteEventOkCP=The event has been deleted.
|
||||||
# ErrorDeleteEventCP=Error while deleting the event.
|
ErrorDeleteEventCP=Error while deleting the event.
|
||||||
# TitleDeleteEventCP=Delete a exceptional leave
|
TitleDeleteEventCP=Delete a exceptional leave
|
||||||
# TitleCreateEventCP=Create a exceptional leave
|
TitleCreateEventCP=Create a exceptional leave
|
||||||
# TitleUpdateEventCP=Edit or delete a exceptional leave
|
TitleUpdateEventCP=Edit or delete a exceptional leave
|
||||||
DeleteEventOptionCP=Lösche Gruppe
|
DeleteEventOptionCP=Lösche Gruppe
|
||||||
UpdateEventOptionCP=Aktualisieren
|
UpdateEventOptionCP=Aktualisieren
|
||||||
# ErrorMailNotSend=An error occurred while sending email:
|
ErrorMailNotSend=An error occurred while sending email:
|
||||||
# NoCPforMonth=No leave this month.
|
NoCPforMonth=No leave this month.
|
||||||
nbJours=Anzahl der Tage
|
nbJours=Anzahl der Tage
|
||||||
TitleAdminCP=Konfiguration der Ferien
|
TitleAdminCP=Konfiguration der Ferien
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Hallo
|
Hello=Hallo
|
||||||
HolidaysToValidate=Ferien freigeben
|
HolidaysToValidate=Ferien freigeben
|
||||||
HolidaysToValidateBody=Es folgt ein Ferienantrag zur Freigabe
|
HolidaysToValidateBody=Es folgt ein Ferienantrag zur Freigabe
|
||||||
# HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
||||||
HolidaysToValidateAlertSolde=Der Benutzer dieses Ferienantrags besitzt nicht mehr genügend verfügbare Tage.
|
HolidaysToValidateAlertSolde=Der Benutzer dieses Ferienantrags besitzt nicht mehr genügend verfügbare Tage.
|
||||||
HolidaysValidated=Freigegebene Ferien
|
HolidaysValidated=Freigegebene Ferien
|
||||||
HolidaysValidatedBody=Ihr Antrag auf Ferien von %s bis %s wurde bewilligt.
|
HolidaysValidatedBody=Ihr Antrag auf Ferien von %s bis %s wurde bewilligt.
|
||||||
HolidaysRefused=Abgelehnte Ferien
|
HolidaysRefused=Abgelehnte Ferien
|
||||||
HolidaysRefusedBody=Ihr Antrag auf Ferien von %s bis %s wurde aus folgendem Grund abgelehnt:
|
HolidaysRefusedBody=Ihr Antrag auf Ferien von %s bis %s wurde aus folgendem Grund abgelehnt:
|
||||||
# HolidaysCanceled=Canceled holidays
|
HolidaysCanceled=Canceled holidays
|
||||||
HolidaysCanceledBody=Ihr Antrag auf Ferien von %s bis %s wurde storniert.
|
HolidaysCanceledBody=Ihr Antrag auf Ferien von %s bis %s wurde storniert.
|
||||||
|
Permission20000=Read you own holidays
|
||||||
Permission20001=Lesen/erstellen/verändern ihrer Ferien
|
Permission20001=Create/modify your holidays
|
||||||
Permission20002=Lesen/verändern sämtlicher Ferienanträge
|
Permission20002=Create/modify holidays for everybody
|
||||||
Permission20003=Löschen ihrer Ferienanträge
|
Permission20003=Delete holidays requests
|
||||||
Permission20004=Definiere Benutzer-Ferien
|
Permission20004=Setup users holidays
|
||||||
# Permission20005=Review log of modified holidays
|
Permission20005=Review log of modified holidays
|
||||||
# Permission20006=Access holidays monthly report
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -147,7 +147,7 @@ IfAlreadyExistsCheckOption=Sollte dieser Name korrekt und die Datenbank noch nic
|
|||||||
OpenBaseDir=PHP openbasedir Einstellungen
|
OpenBaseDir=PHP openbasedir Einstellungen
|
||||||
YouAskToCreateDatabaseSoRootRequired=Sie haben die Option "Datenbank erstellen" ausgewählt. Hierfür müssen Sie Benutzername und Passwort des Datenbank-Super-Users in das untenstehende Formular eintragen.
|
YouAskToCreateDatabaseSoRootRequired=Sie haben die Option "Datenbank erstellen" ausgewählt. Hierfür müssen Sie Benutzername und Passwort des Datenbank-Super-Users in das untenstehende Formular eintragen.
|
||||||
YouAskToCreateDatabaseUserSoRootRequired=Sie haben die Option "Datenbankbenutzer erstellen" ausgewählt. Hierfür müssen Sie Benutzername und Passwort des Datenbank-Super-Users in das untenstehende Formular eintragen.
|
YouAskToCreateDatabaseUserSoRootRequired=Sie haben die Option "Datenbankbenutzer erstellen" ausgewählt. Hierfür müssen Sie Benutzername und Passwort des Datenbank-Super-Users in das untenstehende Formular eintragen.
|
||||||
NextStepMightLastALongTime=Der aktuelle Vorgang kann mehrere Minuten dauern. Holen Sie sich eine frische Tasse Kaffee, oder nutzen Sie die Gelegenheit für eine Rauchpause. Warten Sie jedoch bitte in jedem Fall, bis der nächste Bildschirm vollständig angezeigt wird, bevor Sir fortfahren.
|
NextStepMightLastALongTime=Der aktuelle Vorgang kann mehrere Minuten dauern. Holen Sie sich eine frische Tasse Kaffee, oder nutzen Sie die Gelegenheit für eine Rauchpause. Warten Sie jedoch bitte in jedem Fall, bis der nächste Bildschirm vollständig angezeigt wird, bevor Sie fortfahren.
|
||||||
MigrationCustomerOrderShipping=Kundenbestellungsversand aktualisieren
|
MigrationCustomerOrderShipping=Kundenbestellungsversand aktualisieren
|
||||||
MigrationShippingDelivery=Aktualisiere die Speicherung von Lieferungen (Versandart?)
|
MigrationShippingDelivery=Aktualisiere die Speicherung von Lieferungen (Versandart?)
|
||||||
MigrationShippingDelivery2=Aktualisiere die Speicherung von Lieferungen 2 (Versandart 2?)
|
MigrationShippingDelivery2=Aktualisiere die Speicherung von Lieferungen 2 (Versandart 2?)
|
||||||
@ -158,7 +158,6 @@ ShowEditTechnicalParameters=Hier klicken um erweiterte Funktionen zu zeigen/bear
|
|||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
#########
|
|
||||||
MigrationFixData=Denormalisierte Daten bereinigen
|
MigrationFixData=Denormalisierte Daten bereinigen
|
||||||
MigrationOrder=Datenmigration für Kundenbestellungen
|
MigrationOrder=Datenmigration für Kundenbestellungen
|
||||||
MigrationSupplierOrder=Datenmigration für Lieferantenbestellungen
|
MigrationSupplierOrder=Datenmigration für Lieferantenbestellungen
|
||||||
@ -207,3 +206,6 @@ MigrationProjectTaskTime=Aktualisiere aufgewandte Zeit (in Sekunden)
|
|||||||
MigrationActioncommElement=Aktualisiere die Maßnahmen
|
MigrationActioncommElement=Aktualisiere die Maßnahmen
|
||||||
MigrationPaymentMode=Migration der Daten für die Zahlungsart
|
MigrationPaymentMode=Migration der Daten für die Zahlungsart
|
||||||
MigrationCategorieAssociation=Kategorien verschieben
|
MigrationCategorieAssociation=Kategorien verschieben
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -45,9 +45,9 @@ Notify_MEMBER_SUBSCRIPTION=Mitglied hat unterzeichnet
|
|||||||
Notify_MEMBER_RESILIATE=Mitglied auflösen
|
Notify_MEMBER_RESILIATE=Mitglied auflösen
|
||||||
Notify_MEMBER_DELETE=Mitglied gelöscht
|
Notify_MEMBER_DELETE=Mitglied gelöscht
|
||||||
Notify_PROJECT_CREATE=Projekt-Erstellung
|
Notify_PROJECT_CREATE=Projekt-Erstellung
|
||||||
Notify_TASK_CREATE=Task created
|
Notify_TASK_CREATE=Aufgabe erstellt
|
||||||
Notify_TASK_MODIFY=Task modified
|
Notify_TASK_MODIFY=Aufgabe geändert
|
||||||
Notify_TASK_DELETE=Task deleted
|
Notify_TASK_DELETE=Aufgabe gelöscht
|
||||||
NbOfAttachedFiles=Anzahl der angehängten Dateien/okumente
|
NbOfAttachedFiles=Anzahl der angehängten Dateien/okumente
|
||||||
TotalSizeOfAttachedFiles=Gesamtgröße der angehängten Dateien/Dokumente
|
TotalSizeOfAttachedFiles=Gesamtgröße der angehängten Dateien/Dokumente
|
||||||
MaxSize=Maximalgröße
|
MaxSize=Maximalgröße
|
||||||
|
|||||||
@ -109,7 +109,7 @@ BarcodeValue=Barcode-Wert
|
|||||||
NoteNotVisibleOnBill=Anmerkung (nicht sichtbar auf Rechnungen, Angeboten,...)
|
NoteNotVisibleOnBill=Anmerkung (nicht sichtbar auf Rechnungen, Angeboten,...)
|
||||||
CreateCopy=Kopie erstellen
|
CreateCopy=Kopie erstellen
|
||||||
ServiceLimitedDuration=Ist die Leistungserbringung eines Service zeitlich beschränkt:
|
ServiceLimitedDuration=Ist die Leistungserbringung eines Service zeitlich beschränkt:
|
||||||
MultiPricesAbility=Several level of prices per product/service
|
MultiPricesAbility=Mehrere Preisstufen pro Produkt/Service
|
||||||
MultiPricesNumPrices=Preisnummer
|
MultiPricesNumPrices=Preisnummer
|
||||||
MultiPriceLevelsName=Preiskategorien
|
MultiPriceLevelsName=Preiskategorien
|
||||||
AssociatedProductsAbility=Untergeordnete Produkte aktivieren
|
AssociatedProductsAbility=Untergeordnete Produkte aktivieren
|
||||||
@ -156,12 +156,12 @@ NoSupplierPriceDefinedForThisProduct=Einkaufskonditionen für dieses Produkt noc
|
|||||||
RecordedProducts=Erfasste Produkte
|
RecordedProducts=Erfasste Produkte
|
||||||
RecordedServices=Erfasste Services
|
RecordedServices=Erfasste Services
|
||||||
RecordedProductsAndServices=Erfasste Produkte/Leistungen
|
RecordedProductsAndServices=Erfasste Produkte/Leistungen
|
||||||
PredefinedProductsToSell=Predefined products to sell
|
PredefinedProductsToSell=Vordefinierte Verkaufs-Produkte
|
||||||
PredefinedServicesToSell=Predefined services to sell
|
PredefinedServicesToSell=Vordefinierte Services zum Verkauf
|
||||||
PredefinedProductsAndServicesToSell=Predefined products/services to sell
|
PredefinedProductsAndServicesToSell=Vordefinierte Verkaufs-Produkte/-Services
|
||||||
PredefinedProductsToPurchase=Predefined product to purchase
|
PredefinedProductsToPurchase=Vordefinierte Einkaufs-Produkte
|
||||||
PredefinedServicesToPurchase=Predefined services to purchase
|
PredefinedServicesToPurchase=Vordefinierte Services zum Einkauf
|
||||||
PredefinedProductsAndServicesToPurchase=Predefined products/services to puchase
|
PredefinedProductsAndServicesToPurchase=Vordefinierte Einkaufs-Produkte/-Services
|
||||||
GenerateThumb=Erzeuge Vorschaubild
|
GenerateThumb=Erzeuge Vorschaubild
|
||||||
ProductCanvasAbility=Verwende spezielle "canvas" Add-Ons
|
ProductCanvasAbility=Verwende spezielle "canvas" Add-Ons
|
||||||
ServiceNb=Leistung #%s
|
ServiceNb=Leistung #%s
|
||||||
@ -174,7 +174,7 @@ CloneProduct=Produkt/Leistung duplizieren
|
|||||||
ConfirmCloneProduct=Möchten Sie <b>%s</b> wirklich duplizieren?
|
ConfirmCloneProduct=Möchten Sie <b>%s</b> wirklich duplizieren?
|
||||||
CloneContentProduct=Allgemeine Informationen des Produkts/Leistungen duplizieren
|
CloneContentProduct=Allgemeine Informationen des Produkts/Leistungen duplizieren
|
||||||
ClonePricesProduct=Allgemeine Informationen und Preise duplizieren
|
ClonePricesProduct=Allgemeine Informationen und Preise duplizieren
|
||||||
CloneCompositionProduct=Clone virtual product/services
|
CloneCompositionProduct=Unterprodukt/-Service duplizieren
|
||||||
ProductIsUsed=Produkt in Verwendung
|
ProductIsUsed=Produkt in Verwendung
|
||||||
NewRefForClone=Artikel-Nr. des neuen Produkts/Leistungen
|
NewRefForClone=Artikel-Nr. des neuen Produkts/Leistungen
|
||||||
CustomerPrices=Kundenpreise
|
CustomerPrices=Kundenpreise
|
||||||
|
|||||||
@ -50,10 +50,10 @@ ErrorCodeCantContainZero=Ο κώδικας δεν μπορεί να περιέχ
|
|||||||
DisableJavascript=Απενεργοποίηση συναρτήσεων JavaScript και Ajax
|
DisableJavascript=Απενεργοποίηση συναρτήσεων JavaScript και Ajax
|
||||||
ConfirmAjax=Χρήση διαλόγων επιβεβαίωσης Ajax
|
ConfirmAjax=Χρήση διαλόγων επιβεβαίωσης Ajax
|
||||||
UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||||
UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box.
|
UseSearchToSelectCompany=Χρησιμοποιήστε τα πεδία αυτόματης συμπλήρωσης για να επιλέξετε Πελ./Προμ. αντί να χρησιμοποιεί ένα πλαίσιο λίστας.
|
||||||
ActivityStateToSelectCompany= Προσθέστε μια επιλογή φίλτρου για εμφάνιση / απόκρυψη ΠΕΛ./ΠΡΟΜ. τα οποία βρίσκονται σε λειτουργία ή έχει παύσει
|
ActivityStateToSelectCompany= Προσθέστε μια επιλογή φίλτρου για εμφάνιση / απόκρυψη ΠΕΛ./ΠΡΟΜ. τα οποία βρίσκονται σε λειτουργία ή έχει παύσει
|
||||||
UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||||
UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box).
|
UseSearchToSelectContact=Χρησιμοποιήστε τα πεδία αυτόματης συμπλήρωσης για να επιλέξετε την επαφή (αντί της χρήσης ενός πλαισίου λίστας).
|
||||||
SearchFilter=Αναζήτηση επιλογές φίλτρων
|
SearchFilter=Αναζήτηση επιλογές φίλτρων
|
||||||
NumberOfKeyToSearch=Πλήθος χαρακτήρων για να ξεκινήσει η αναζήτηση: %s
|
NumberOfKeyToSearch=Πλήθος χαρακτήρων για να ξεκινήσει η αναζήτηση: %s
|
||||||
ViewFullDateActions=Εμφάνιση πλήρους χρονοδιαγράμματος γεγονότων στο φύλλο ΠΕΛ./ΠΡΟΜ.
|
ViewFullDateActions=Εμφάνιση πλήρους χρονοδιαγράμματος γεγονότων στο φύλλο ΠΕΛ./ΠΡΟΜ.
|
||||||
@ -102,9 +102,9 @@ OtherOptions=Άλλες Επιλογές
|
|||||||
OtherSetup=Άλλες Ρυθμίσεις
|
OtherSetup=Άλλες Ρυθμίσεις
|
||||||
CurrentValueSeparatorDecimal=Διαχωριστικό Δεκαδικών
|
CurrentValueSeparatorDecimal=Διαχωριστικό Δεκαδικών
|
||||||
CurrentValueSeparatorThousand=Διαχωριστικό Χιλιάδων
|
CurrentValueSeparatorThousand=Διαχωριστικό Χιλιάδων
|
||||||
Destination=Destination
|
Destination=Προορισμός
|
||||||
IdModule=Module ID
|
IdModule=Module ID
|
||||||
IdPermissions=Permissions ID
|
IdPermissions=Δικαιώματα ID
|
||||||
Modules=Modules
|
Modules=Modules
|
||||||
ModulesCommon=Βασικά modules
|
ModulesCommon=Βασικά modules
|
||||||
ModulesOther=Άλλα modules
|
ModulesOther=Άλλα modules
|
||||||
@ -1310,7 +1310,7 @@ ModifyProductDescAbility=Personalization of product descriptions in forms
|
|||||||
ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip)
|
ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip)
|
||||||
ViewProductDescInThirdpartyLanguageAbility=Οπτικοποίηση των προϊόντων περιγραφών στη γλώσσα άλλους κατασκευαστές
|
ViewProductDescInThirdpartyLanguageAbility=Οπτικοποίηση των προϊόντων περιγραφών στη γλώσσα άλλους κατασκευαστές
|
||||||
UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||||
UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list).
|
UseSearchToSelectProduct=Χρησιμοποιήστε μια φόρμα αναζήτησης για να επιλέξετε ένα προϊόν (αντί για μια αναπτυσσόμενη λίστα).
|
||||||
UseEcoTaxeAbility=Support Eco-Taxe (WEEE)
|
UseEcoTaxeAbility=Support Eco-Taxe (WEEE)
|
||||||
SetDefaultBarcodeTypeProducts=Default barcode type to use for products
|
SetDefaultBarcodeTypeProducts=Default barcode type to use for products
|
||||||
SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties
|
SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties
|
||||||
@ -1499,4 +1499,4 @@ ECMSetup = GED Setup
|
|||||||
ECMAutoTree = Automatic tree folder and document
|
ECMAutoTree = Automatic tree folder and document
|
||||||
|
|
||||||
|
|
||||||
Format=Format
|
Format=Μορφή
|
||||||
|
|||||||
@ -133,7 +133,7 @@ CashBudget=Προϋπολογισμός Μετρητών
|
|||||||
PlannedTransactions=Προγραμματισμένες Συναλλαγές
|
PlannedTransactions=Προγραμματισμένες Συναλλαγές
|
||||||
Graph=Γραφικά
|
Graph=Γραφικά
|
||||||
ExportDataset_banque_1=Τραπεζικές συναλλαγές και κίνηση λογαριασμού
|
ExportDataset_banque_1=Τραπεζικές συναλλαγές και κίνηση λογαριασμού
|
||||||
ExportDataset_banque_2=Deposit slip
|
ExportDataset_banque_2=Απόδειξη κατάθεσης
|
||||||
TransactionOnTheOtherAccount=Συναλλαγή στον άλλο λογαριασμό
|
TransactionOnTheOtherAccount=Συναλλαγή στον άλλο λογαριασμό
|
||||||
TransactionWithOtherAccount=Μεταφορά σε Λογαριασμό
|
TransactionWithOtherAccount=Μεταφορά σε Λογαριασμό
|
||||||
PaymentNumberUpdateSucceeded=Ο αριθμός πληρωμής ενημερώθηκε επιτυχώς
|
PaymentNumberUpdateSucceeded=Ο αριθμός πληρωμής ενημερώθηκε επιτυχώς
|
||||||
|
|||||||
@ -37,4 +37,4 @@ ShowCompany=Εμφάνιση εταιρείας
|
|||||||
ShowStock=Εμφάνιση αποθήκης
|
ShowStock=Εμφάνιση αποθήκης
|
||||||
DeleteArticle=Κάντε κλικ για να καταργήσετε αυτό το προϊόν
|
DeleteArticle=Κάντε κλικ για να καταργήσετε αυτό το προϊόν
|
||||||
FilterRefOrLabelOrBC=Αναζήτηση (Κωδ. / Ετικέτα)
|
FilterRefOrLabelOrBC=Αναζήτηση (Κωδ. / Ετικέτα)
|
||||||
# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock.
|
UserNeedPermissionToEditStockToUsePos=Θα ζητήσει να μειώσει το απόθεμα κατά την δημιουργία του τιμολογίου, έτσι ώστε ο χρήστης που χρησιμοποιεί το POS να χρειάζεται να έχει άδεια για να επεξεργαστείτε το απόθεμα.
|
||||||
|
|||||||
@ -34,7 +34,6 @@ ReturnCP=Επιστροφή στην προηγούμενη σελίδα
|
|||||||
ErrorUserViewCP=Δεν έχετε δικαίωμα να διαβάσετε αυτό το αίτημα για τις άδειες.
|
ErrorUserViewCP=Δεν έχετε δικαίωμα να διαβάσετε αυτό το αίτημα για τις άδειες.
|
||||||
InfosCP=Πληροφορίες για τη ζήτηση των αδειών
|
InfosCP=Πληροφορίες για τη ζήτηση των αδειών
|
||||||
InfosWorkflowCP=Πληροφορίες για την ροή εργασιών
|
InfosWorkflowCP=Πληροφορίες για την ροή εργασιών
|
||||||
DateCreateCP=Ημερομηνία Δημιουργίας
|
|
||||||
RequestByCP=Ζητήθηκε από
|
RequestByCP=Ζητήθηκε από
|
||||||
TitreRequestCP=Φύλλο αδειών
|
TitreRequestCP=Φύλλο αδειών
|
||||||
NbUseDaysCP=Αριθμός ημερών αδειών που καταναλώνονται
|
NbUseDaysCP=Αριθμός ημερών αδειών που καταναλώνονται
|
||||||
@ -130,7 +129,6 @@ ErrorMailNotSend=Παρουσιάστηκε σφάλμα κατά την απο
|
|||||||
NoCPforMonth=Όχι αυτό το μήνα.
|
NoCPforMonth=Όχι αυτό το μήνα.
|
||||||
nbJours=Αριθμός ημερών
|
nbJours=Αριθμός ημερών
|
||||||
TitleAdminCP=Διαμόρφωση αδειών
|
TitleAdminCP=Διαμόρφωση αδειών
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Γεια σας
|
Hello=Γεια σας
|
||||||
HolidaysToValidate=Επικύρωση άδειας
|
HolidaysToValidate=Επικύρωση άδειας
|
||||||
@ -143,10 +141,10 @@ HolidaysRefused=Άρνηση άδειας
|
|||||||
HolidaysRefusedBody=Το αίτημα σας για την άδεια από %s έως %s έχει απορριφθεί για τους ακόλουθους λόγους:
|
HolidaysRefusedBody=Το αίτημα σας για την άδεια από %s έως %s έχει απορριφθεί για τους ακόλουθους λόγους:
|
||||||
HolidaysCanceled=Ακύρωση άδειας
|
HolidaysCanceled=Ακύρωση άδειας
|
||||||
HolidaysCanceledBody=Το αίτημά σας για άδεια από %s έως %s έχει ακυρωθεί.
|
HolidaysCanceledBody=Το αίτημά σας για άδεια από %s έως %s έχει ακυρωθεί.
|
||||||
|
Permission20000=Read you own holidays
|
||||||
Permission20001=Διαβάστε/δημιουργήστε/τροποποιήστε τις άδειες τους
|
Permission20001=Create/modify your holidays
|
||||||
Permission20002=Διαβάστε/τροποποιήστε όλα τα αιτήματα των αδειών
|
Permission20002=Create/modify holidays for everybody
|
||||||
Permission20003=Διαγραφή αιτημάτων αδειών
|
Permission20003=Delete holidays requests
|
||||||
Permission20004=Ορίστε χρήστες για άδειες
|
Permission20004=Setup users holidays
|
||||||
Permission20005=Επανεξέταση καταγραφής των τροποποιημένων αδειών
|
Permission20005=Επανεξέταση καταγραφής των τροποποιημένων αδειών
|
||||||
Permission20006=Πρόσβαση μηνιαίας αναφοράς αδειών
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -158,7 +158,6 @@ ShowEditTechnicalParameters=Κάντε κλικ εδώ για να δείτε/ε
|
|||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
#########
|
|
||||||
MigrationFixData=Fix for denormalized data
|
MigrationFixData=Fix for denormalized data
|
||||||
MigrationOrder=Data migration for customer's orders
|
MigrationOrder=Data migration for customer's orders
|
||||||
MigrationSupplierOrder=Data migration for supplier's orders
|
MigrationSupplierOrder=Data migration for supplier's orders
|
||||||
@ -207,3 +206,6 @@ MigrationProjectTaskTime=Update time spent in seconds
|
|||||||
MigrationActioncommElement=Ενημέρωση στοιχεία για τις δράσεις
|
MigrationActioncommElement=Ενημέρωση στοιχεία για τις δράσεις
|
||||||
MigrationPaymentMode=Η μεταφορά δεδομένων για την κατάσταση πληρωμής
|
MigrationPaymentMode=Η μεταφορά δεδομένων για την κατάσταση πληρωμής
|
||||||
MigrationCategorieAssociation=Μετακίνηση των κατηγοριών
|
MigrationCategorieAssociation=Μετακίνηση των κατηγοριών
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -605,8 +605,8 @@ Notes=Σημειώσεις
|
|||||||
AddNewLine=Προσθήκη Γραμμής
|
AddNewLine=Προσθήκη Γραμμής
|
||||||
AddFile=Προσθήκη Αρχείου
|
AddFile=Προσθήκη Αρχείου
|
||||||
ListOfFiles=Λίστα Διαθέσιμων Αρχείων
|
ListOfFiles=Λίστα Διαθέσιμων Αρχείων
|
||||||
FreeZone=Free entry
|
FreeZone=Δωρεάν είσοδος
|
||||||
FreeLineOfType=Free entry of type
|
FreeLineOfType=Δωρεάν είσοδος του τύπου
|
||||||
CloneMainAttributes=Κλωνοποίηση αντικειμένου με τα βασικά του χαρακτηριστικά
|
CloneMainAttributes=Κλωνοποίηση αντικειμένου με τα βασικά του χαρακτηριστικά
|
||||||
PDFMerge=Ενσωμάτωση PDF
|
PDFMerge=Ενσωμάτωση PDF
|
||||||
Merge=Ενσωμάτωση
|
Merge=Ενσωμάτωση
|
||||||
|
|||||||
@ -14,9 +14,9 @@ NewService=Νέα Υπηρεσία
|
|||||||
ProductCode=Κωδικός Προϊόντος
|
ProductCode=Κωδικός Προϊόντος
|
||||||
ServiceCode=Κωδικός Υπηρεσίας
|
ServiceCode=Κωδικός Υπηρεσίας
|
||||||
ProductVatMassChange=Μαζική αλλαγή ΦΠΑ
|
ProductVatMassChange=Μαζική αλλαγή ΦΠΑ
|
||||||
ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database.
|
ProductVatMassChangeDesc=Αυτή η σελίδα μπορεί να χρησιμοποιηθεί για να τροποποιήσει τον συντελεστή ΦΠΑ που ορίζεται για τα προϊόντα ή τις υπηρεσίες από μια τιμή σε μια άλλη. Προσοχή, αυτή η αλλαγή γίνεται σε όλες τις βάσης δεδομένων.
|
||||||
MassBarcodeInit=Μαζική barcode init
|
MassBarcodeInit=Μαζική barcode init
|
||||||
MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete.
|
MassBarcodeInitDesc=Αυτή η σελίδα μπορεί να χρησιμοποιείται για να προετοιμάσει ένα barcode σε αντικείμενα που δεν έχουν barcode. Ελέγξτε πριν από την εγκατάσταση του module barcode αν έχει ολοκληρωθεί.
|
||||||
ProductAccountancyBuyCode=Λογιστικός κωδικός (αγορά)
|
ProductAccountancyBuyCode=Λογιστικός κωδικός (αγορά)
|
||||||
ProductAccountancySellCode=Λογιστικός κωδικός (πώληση)
|
ProductAccountancySellCode=Λογιστικός κωδικός (πώληση)
|
||||||
ProductOrService=Προϊόν ή Υπηρεσία
|
ProductOrService=Προϊόν ή Υπηρεσία
|
||||||
@ -109,7 +109,7 @@ BarcodeValue=ΤΙμή Barcode
|
|||||||
NoteNotVisibleOnBill=Σημείωση (μη ορατή σε τιμολόγια, προτάσεις...)
|
NoteNotVisibleOnBill=Σημείωση (μη ορατή σε τιμολόγια, προτάσεις...)
|
||||||
CreateCopy=Δημιουργία Αντιγράφου
|
CreateCopy=Δημιουργία Αντιγράφου
|
||||||
ServiceLimitedDuration=Εάν το προϊόν είναι μια υπηρεσία με περιορισμένη διάρκεια:
|
ServiceLimitedDuration=Εάν το προϊόν είναι μια υπηρεσία με περιορισμένη διάρκεια:
|
||||||
MultiPricesAbility=Several level of prices per product/service
|
MultiPricesAbility=Πολλά επίπεδα των τιμών ανά προϊόν/υπηρεσία
|
||||||
MultiPricesNumPrices=Αριθμός τιμής
|
MultiPricesNumPrices=Αριθμός τιμής
|
||||||
MultiPriceLevelsName=Κατηγορίες τιμών
|
MultiPriceLevelsName=Κατηγορίες τιμών
|
||||||
AssociatedProductsAbility=Ενεργοποίηση υποπροϊόντων
|
AssociatedProductsAbility=Ενεργοποίηση υποπροϊόντων
|
||||||
@ -156,12 +156,12 @@ NoSupplierPriceDefinedForThisProduct=Δεν υπάρχει τιμή προμηθ
|
|||||||
RecordedProducts=Προϊόντα που καταγράφονται
|
RecordedProducts=Προϊόντα που καταγράφονται
|
||||||
RecordedServices=Services recorded
|
RecordedServices=Services recorded
|
||||||
RecordedProductsAndServices=Προϊόντα / υπηρεσίες που καταγράφονται
|
RecordedProductsAndServices=Προϊόντα / υπηρεσίες που καταγράφονται
|
||||||
PredefinedProductsToSell=Predefined products to sell
|
PredefinedProductsToSell=Προκαθορισμένα προϊόντα για για την πώληση
|
||||||
PredefinedServicesToSell=Predefined services to sell
|
PredefinedServicesToSell=Προκαθορισμένες υπηρεσίες προς πώληση
|
||||||
PredefinedProductsAndServicesToSell=Predefined products/services to sell
|
PredefinedProductsAndServicesToSell=Προκαθορισμένα προϊόντα/υπηρεσίες προς πώληση
|
||||||
PredefinedProductsToPurchase=Predefined product to purchase
|
PredefinedProductsToPurchase=Προκαθορισμένο προϊόν στην αγορά
|
||||||
PredefinedServicesToPurchase=Predefined services to purchase
|
PredefinedServicesToPurchase=Προκαθορισμένες υπηρεσίες για την αγορά
|
||||||
PredefinedProductsAndServicesToPurchase=Predefined products/services to puchase
|
PredefinedProductsAndServicesToPurchase=Προκαθορισμένα προϊόντα/υπηρεσίες στις αγορές
|
||||||
GenerateThumb=Δημιουργία μικρογραφίας
|
GenerateThumb=Δημιουργία μικρογραφίας
|
||||||
ProductCanvasAbility=Χρησιμοποιήστε το ειδικό "καμβά" addons
|
ProductCanvasAbility=Χρησιμοποιήστε το ειδικό "καμβά" addons
|
||||||
ServiceNb=Υπηρεσία #%s
|
ServiceNb=Υπηρεσία #%s
|
||||||
@ -226,9 +226,9 @@ DefinitionOfBarCodeForProductNotComplete=Ορισμός του τύπου ή τ
|
|||||||
DefinitionOfBarCodeForThirdpartyNotComplete=Ορισμός του τύπου ή της αξίας του barcode είναι μη πλήρης για άλλους κατασκευαστές %s.
|
DefinitionOfBarCodeForThirdpartyNotComplete=Ορισμός του τύπου ή της αξίας του barcode είναι μη πλήρης για άλλους κατασκευαστές %s.
|
||||||
BarCodeDataForProduct=Πληροφορίες barcode του προϊόντος %s :
|
BarCodeDataForProduct=Πληροφορίες barcode του προϊόντος %s :
|
||||||
BarCodeDataForThirdparty=Πληροφορίες Barcode από άλλους κατασκευαστές %s :
|
BarCodeDataForThirdparty=Πληροφορίες Barcode από άλλους κατασκευαστές %s :
|
||||||
ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values)
|
ResetBarcodeForAllRecords=Ορίστε την αξία barcode για όλα τα αρχεία (προσοχή, θα επαναφέρει επίσης την αξία barcode που έχουν ήδη καθοριστεί με νέες τιμές)
|
||||||
PriceByCustomer=Τιμή ανά πελάτη
|
PriceByCustomer=Τιμή ανά πελάτη
|
||||||
PriceCatalogue=Unique price per product/service
|
PriceCatalogue=Μοναδική τιμή ανά προϊόν/υπηρεσία
|
||||||
PricingRule=Κανόνες τιμολόγησης
|
PricingRule=Κανόνες τιμολόγησης
|
||||||
AddCustomerPrice=Προσθέστε τιμή των πελατών
|
AddCustomerPrice=Προσθέστε τιμή των πελατών
|
||||||
ForceUpdateChildPriceSoc=Ορισμός ίδιας τιμής για τις θυγατρικές του πελάτη
|
ForceUpdateChildPriceSoc=Ορισμός ίδιας τιμής για τις θυγατρικές του πελάτη
|
||||||
|
|||||||
@ -94,7 +94,7 @@ DesiredStock=Επιθυμητο απόθεμα
|
|||||||
StockToBuy=Για να παραγγείλετε
|
StockToBuy=Για να παραγγείλετε
|
||||||
Replenishment=Αναπλήρωση
|
Replenishment=Αναπλήρωση
|
||||||
ReplenishmentOrders=Αναπλήρωση παραγγελίων
|
ReplenishmentOrders=Αναπλήρωση παραγγελίων
|
||||||
VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs
|
VirtualDiffersFromPhysical=Σύμφωνα με την την αύξηση/μείωση αποθέματος, φυσικού αποθέματος και εικονικού αποθέματος (φυσική + τρέχουσες παραγγελίες) μπορεί να διαφέρει
|
||||||
UseVirtualStockByDefault=Χρησιμοποιήστε το εικονικό απόθεμα από προεπιλογή, αντί των φυσικών αποθεμάτων, για τη \nλειτουργία αναπλήρωσης
|
UseVirtualStockByDefault=Χρησιμοποιήστε το εικονικό απόθεμα από προεπιλογή, αντί των φυσικών αποθεμάτων, για τη \nλειτουργία αναπλήρωσης
|
||||||
UseVirtualStock=Χρησιμοποιήστε το εικονικό απόθεμα
|
UseVirtualStock=Χρησιμοποιήστε το εικονικό απόθεμα
|
||||||
UsePhysicalStock=Χρησιμοποιήστε το φυσικό απόθεμα
|
UsePhysicalStock=Χρησιμοποιήστε το φυσικό απόθεμα
|
||||||
@ -117,8 +117,8 @@ SelectProductInAndOutWareHouse=Επιλέξτε ένα προϊόν, ποσότ
|
|||||||
RecordMovement=Η εγγραφή μεταφέρθηκε
|
RecordMovement=Η εγγραφή μεταφέρθηκε
|
||||||
ReceivingForSameOrder=Λήψη για αυτή τη σειρά
|
ReceivingForSameOrder=Λήψη για αυτή τη σειρά
|
||||||
StockMovementRecorded=Οι κινήσεις των αποθεμάτων καταγράφονται
|
StockMovementRecorded=Οι κινήσεις των αποθεμάτων καταγράφονται
|
||||||
RuleForStockAvailability=Rules on stock requirements
|
RuleForStockAvailability=Κανόνες σχετικά με τις απαιτήσεις του αποθέματος
|
||||||
StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice
|
StockMustBeEnoughForInvoice=Το επίπεδο των αποθεμάτων πρέπει να είναι επαρκής για να προσθέσετε το προϊόν / υπηρεσία στο τιμολόγιο
|
||||||
StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order
|
StockMustBeEnoughForOrder=Το επίπεδο των αποθεμάτων πρέπει να είναι επαρκής για να προσθέσετε το προϊόν / υπηρεσία για αγορά
|
||||||
StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment
|
StockMustBeEnoughForShipment= Το επίπεδο των αποθεμάτων πρέπει να είναι επαρκής για να προσθέσετε το προϊόν / υπηρεσία για αποστολή
|
||||||
|
|
||||||
|
|||||||
@ -116,7 +116,7 @@ LanguageBrowserParameter=Parameter %s
|
|||||||
LocalisationDolibarrParameters=Localisation parameters
|
LocalisationDolibarrParameters=Localisation parameters
|
||||||
ClientTZ=Client Time Zone (user)
|
ClientTZ=Client Time Zone (user)
|
||||||
ClientHour=Client time (user)
|
ClientHour=Client time (user)
|
||||||
OSTZ=Servre OS Time Zone
|
OSTZ=Server OS Time Zone
|
||||||
PHPTZ=PHP server Time Zone
|
PHPTZ=PHP server Time Zone
|
||||||
PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds)
|
PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds)
|
||||||
ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds)
|
ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds)
|
||||||
@ -369,9 +369,9 @@ ExtrafieldSelectList = Select from table
|
|||||||
ExtrafieldSeparator=Separator
|
ExtrafieldSeparator=Separator
|
||||||
ExtrafieldCheckBox=Checkbox
|
ExtrafieldCheckBox=Checkbox
|
||||||
ExtrafieldRadio=Radio button
|
ExtrafieldRadio=Radio button
|
||||||
ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another :<br>1,value1|parent_list_code:parent_key<br>2,value2|parent_list_code:parent_key
|
ExtrafieldParamHelpselect=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...<br><br>In order to have the list depending on another :<br>1,value1|parent_list_code:parent_key<br>2,value2|parent_list_code:parent_key
|
||||||
ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...
|
ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
|
||||||
ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for exemple : <br>1,value1<br>2,value2<br>3,value3<br>...
|
ExtrafieldParamHelpradio=Parameters list have to be like key,value<br><br> for example : <br>1,value1<br>2,value2<br>3,value3<br>...
|
||||||
ExtrafieldParamHelpsellist=Parameters list comes from a table<br>Syntax : table_name:label_field:id_field::filter<br>Example : c_typent:libelle:id::filter<br><br>filter can be a simple test (eg active=1) to display only active value <br> if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter
|
ExtrafieldParamHelpsellist=Parameters list comes from a table<br>Syntax : table_name:label_field:id_field::filter<br>Example : c_typent:libelle:id::filter<br><br>filter can be a simple test (eg active=1) to display only active value <br> if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter
|
||||||
LibraryToBuildPDF=Library used to build PDF
|
LibraryToBuildPDF=Library used to build PDF
|
||||||
WarningUsingFPDF=Warning: Your <b>conf.php</b> contains directive <b>dolibarr_pdf_force_fpdf=1</b>. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.<br>To solve this and have a full support of PDF generation, please download <a href="http://www.tcpdf.org/" target="_blank">TCPDF library</a>, then comment or remove the line <b>$dolibarr_pdf_force_fpdf=1</b>, and add instead <b>$dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'</b>
|
WarningUsingFPDF=Warning: Your <b>conf.php</b> contains directive <b>dolibarr_pdf_force_fpdf=1</b>. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.<br>To solve this and have a full support of PDF generation, please download <a href="http://www.tcpdf.org/" target="_blank">TCPDF library</a>, then comment or remove the line <b>$dolibarr_pdf_force_fpdf=1</b>, and add instead <b>$dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'</b>
|
||||||
@ -472,7 +472,7 @@ Module410Desc=Webcalendar integration
|
|||||||
Module500Name=Special expenses (tax, social contributions, dividends)
|
Module500Name=Special expenses (tax, social contributions, dividends)
|
||||||
Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries
|
Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries
|
||||||
Module510Name=Salaries
|
Module510Name=Salaries
|
||||||
Module510Desc=Management of empoyees salaries and payments
|
Module510Desc=Management of employees salaries and payments
|
||||||
Module600Name=Notifications
|
Module600Name=Notifications
|
||||||
Module600Desc=Send notifications by email on some Dolibarr business events to third party contacts
|
Module600Desc=Send notifications by email on some Dolibarr business events to third party contacts
|
||||||
Module700Name=Donations
|
Module700Name=Donations
|
||||||
@ -495,15 +495,15 @@ Module2400Name=Agenda
|
|||||||
Module2400Desc=Events/tasks and agenda management
|
Module2400Desc=Events/tasks and agenda management
|
||||||
Module2500Name=Electronic Content Management
|
Module2500Name=Electronic Content Management
|
||||||
Module2500Desc=Save and share documents
|
Module2500Desc=Save and share documents
|
||||||
Module2600Name= WebServices
|
Module2600Name=WebServices
|
||||||
Module2600Desc= Enable the Dolibarr web services server
|
Module2600Desc=Enable the Dolibarr web services server
|
||||||
Module2700Name= Gravatar
|
Module2700Name=Gravatar
|
||||||
Module2700Desc= Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Need an internet access
|
Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Need an internet access
|
||||||
Module2800Desc=FTP Client
|
Module2800Desc=FTP Client
|
||||||
Module2900Name= GeoIPMaxmind
|
Module2900Name=GeoIPMaxmind
|
||||||
Module2900Desc= GeoIP Maxmind conversions capabilities
|
Module2900Desc=GeoIP Maxmind conversions capabilities
|
||||||
Module3100Name= Skype
|
Module3100Name=Skype
|
||||||
Module3100Desc= Add a Skype button into card of adherents / third parties / contacts
|
Module3100Desc=Add a Skype button into card of adherents / third parties / contacts
|
||||||
Module5000Name=Multi-company
|
Module5000Name=Multi-company
|
||||||
Module5000Desc=Allows you to manage multiple companies
|
Module5000Desc=Allows you to manage multiple companies
|
||||||
Module6000Name=Workflow
|
Module6000Name=Workflow
|
||||||
@ -999,7 +999,7 @@ ExtraFieldsSupplierOrders=Complementary attributes (orders)
|
|||||||
ExtraFieldsSupplierInvoices=Complementary attributes (invoices)
|
ExtraFieldsSupplierInvoices=Complementary attributes (invoices)
|
||||||
ExtraFieldsProject=Complementary attributes (projects)
|
ExtraFieldsProject=Complementary attributes (projects)
|
||||||
ExtraFieldsProjectTask=Complementary attributes (tasks)
|
ExtraFieldsProjectTask=Complementary attributes (tasks)
|
||||||
ExtraFieldHasWrongValue=Attribut %s has a wrong value.
|
ExtraFieldHasWrongValue=Attribute %s has a wrong value.
|
||||||
AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space
|
AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space
|
||||||
AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space
|
AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space
|
||||||
SendingMailSetup=Setup of sendings by email
|
SendingMailSetup=Setup of sendings by email
|
||||||
@ -1018,13 +1018,13 @@ SuhosinSessionEncrypt=Session storage encrypted by Suhosin
|
|||||||
ConditionIsCurrently=Condition is currently %s
|
ConditionIsCurrently=Condition is currently %s
|
||||||
TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
|
TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
|
||||||
YouUseBestDriver=You use driver %s that is best driver available currently.
|
YouUseBestDriver=You use driver %s that is best driver available currently.
|
||||||
YouDoNotUseBestDriver=You use drive %s but driver %s is recommanded.
|
YouDoNotUseBestDriver=You use drive %s but driver %s is recommended.
|
||||||
NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization.
|
NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization.
|
||||||
SearchOptim=Search optimization
|
SearchOptim=Search optimization
|
||||||
YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response.
|
YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response.
|
||||||
BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance.
|
BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance.
|
||||||
BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari.
|
BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari.
|
||||||
XDebugInstalled=XDebug est chargé.
|
XDebugInstalled=XDebug is loaded.
|
||||||
XCacheInstalled=XCache is loaded.
|
XCacheInstalled=XCache is loaded.
|
||||||
AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink
|
AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink
|
||||||
FieldEdition=Edition of field %s
|
FieldEdition=Edition of field %s
|
||||||
@ -1073,7 +1073,7 @@ WebCalServer=Server hosting calendar database
|
|||||||
WebCalDatabaseName=Database name
|
WebCalDatabaseName=Database name
|
||||||
WebCalUser=User to access database
|
WebCalUser=User to access database
|
||||||
WebCalSetupSaved=Webcalendar setup saved successfully.
|
WebCalSetupSaved=Webcalendar setup saved successfully.
|
||||||
WebCalTestOk=Connection to server '%s' on database '%s' with user '%s' successfull.
|
WebCalTestOk=Connection to server '%s' on database '%s' with user '%s' successful.
|
||||||
WebCalTestKo1=Connection to server '%s' succeed but database '%s' could not be reached.
|
WebCalTestKo1=Connection to server '%s' succeed but database '%s' could not be reached.
|
||||||
WebCalTestKo2=Connection to server '%s' with user '%s' failed.
|
WebCalTestKo2=Connection to server '%s' with user '%s' failed.
|
||||||
WebCalErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be a Webcalendar database.
|
WebCalErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be a Webcalendar database.
|
||||||
@ -1119,7 +1119,7 @@ WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty)
|
|||||||
OrdersSetup=Order management setup
|
OrdersSetup=Order management setup
|
||||||
OrdersNumberingModules=Orders numbering models
|
OrdersNumberingModules=Orders numbering models
|
||||||
OrdersModelModule=Order documents models
|
OrdersModelModule=Order documents models
|
||||||
HideTreadedOrders=Hide the treated or canceled orders in the list
|
HideTreadedOrders=Hide the treated or cancelled orders in the list
|
||||||
ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes it possible not to step by the provisional order
|
ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes it possible not to step by the provisional order
|
||||||
FreeLegalTextOnOrders=Free text on orders
|
FreeLegalTextOnOrders=Free text on orders
|
||||||
WatermarkOnDraftOrders=Watermark on draft orders (none if empty)
|
WatermarkOnDraftOrders=Watermark on draft orders (none if empty)
|
||||||
@ -1214,9 +1214,9 @@ LDAPSynchroKO=Failed synchronization test
|
|||||||
LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that connexion to server is correctly configured and allows LDAP udpates
|
LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that connexion to server is correctly configured and allows LDAP udpates
|
||||||
LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s)
|
LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s)
|
||||||
LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s)
|
LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s)
|
||||||
LDAPBindOK=Connect/Authentificate to LDAP server sucessfull (Server=%s, Port=%s, Admin=%s, Password=%s)
|
LDAPBindOK=Connect/Authentificate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s)
|
||||||
LDAPBindKO=Connect/Authentificate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s)
|
LDAPBindKO=Connect/Authentificate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s)
|
||||||
LDAPUnbindSuccessfull=Disconnect successfull
|
LDAPUnbindSuccessfull=Disconnect successful
|
||||||
LDAPUnbindFailed=Disconnect failed
|
LDAPUnbindFailed=Disconnect failed
|
||||||
LDAPConnectToDNSuccessfull=Connection to DN (%s) successful
|
LDAPConnectToDNSuccessfull=Connection to DN (%s) successful
|
||||||
LDAPConnectToDNFailed=Connection to DN (%s) failed
|
LDAPConnectToDNFailed=Connection to DN (%s) failed
|
||||||
@ -1273,7 +1273,7 @@ LDAPFieldSidExample=Example : objectsid
|
|||||||
LDAPFieldEndLastSubscription=Date of subscription end
|
LDAPFieldEndLastSubscription=Date of subscription end
|
||||||
LDAPFieldTitle=Post/Function
|
LDAPFieldTitle=Post/Function
|
||||||
LDAPFieldTitleExample=Example: title
|
LDAPFieldTitleExample=Example: title
|
||||||
LDAPParametersAreStillHardCoded=LDAP parametres are still hardcoded (in contact class)
|
LDAPParametersAreStillHardCoded=LDAP parameters are still hardcoded (in contact class)
|
||||||
LDAPSetupNotComplete=LDAP setup not complete (go on others tabs)
|
LDAPSetupNotComplete=LDAP setup not complete (go on others tabs)
|
||||||
LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode.
|
LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode.
|
||||||
LDAPDescContact=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr contacts.
|
LDAPDescContact=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr contacts.
|
||||||
@ -1299,7 +1299,7 @@ FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server
|
|||||||
CacheByServer=Cache by server
|
CacheByServer=Cache by server
|
||||||
CacheByClient=Cache by browser
|
CacheByClient=Cache by browser
|
||||||
CompressionOfResources=Compression of HTTP responses
|
CompressionOfResources=Compression of HTTP responses
|
||||||
TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current bowsers
|
TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers
|
||||||
##### Products #####
|
##### Products #####
|
||||||
ProductSetup=Products module setup
|
ProductSetup=Products module setup
|
||||||
ServiceSetup=Services module setup
|
ServiceSetup=Services module setup
|
||||||
@ -1429,7 +1429,7 @@ OptionVATDefault=Standard
|
|||||||
OptionVATDebitOption=Option services on Debit
|
OptionVATDebitOption=Option services on Debit
|
||||||
OptionVatDefaultDesc=VAT is due:<br>- on delivery for goods (we use invoice date)<br>- on payments for services
|
OptionVatDefaultDesc=VAT is due:<br>- on delivery for goods (we use invoice date)<br>- on payments for services
|
||||||
OptionVatDebitOptionDesc=VAT is due:<br>- on delivery for goods (we use invoice date)<br>- on invoice (debit) for services
|
OptionVatDebitOptionDesc=VAT is due:<br>- on delivery for goods (we use invoice date)<br>- on invoice (debit) for services
|
||||||
SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default according to choosed option:
|
SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default according to chosen option:
|
||||||
OnDelivery=On delivery
|
OnDelivery=On delivery
|
||||||
OnPayment=On payment
|
OnPayment=On payment
|
||||||
OnInvoice=On invoice
|
OnInvoice=On invoice
|
||||||
@ -1446,7 +1446,7 @@ AccountancyCodeBuy=Purchase account. code
|
|||||||
AgendaSetup=Events and agenda module setup
|
AgendaSetup=Events and agenda module setup
|
||||||
PasswordTogetVCalExport=Key to authorize export link
|
PasswordTogetVCalExport=Key to authorize export link
|
||||||
PastDelayVCalExport=Do not export event older than
|
PastDelayVCalExport=Do not export event older than
|
||||||
AGENDA_USE_EVENT_TYPE=Use events types (managed into menu Setup -> Dictionnary -> Type of agenda events)
|
AGENDA_USE_EVENT_TYPE=Use events types (managed into menu Setup -> Dictionary -> Type of agenda events)
|
||||||
##### ClickToDial #####
|
##### ClickToDial #####
|
||||||
ClickToDialDesc=This module allows to add an icon after phone numbers. A click on this icon will call a server with a particular URL you define below. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example.
|
ClickToDialDesc=This module allows to add an icon after phone numbers. A click on this icon will call a server with a particular URL you define below. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example.
|
||||||
##### Point Of Sales (CashDesk) #####
|
##### Point Of Sales (CashDesk) #####
|
||||||
|
|||||||
@ -8,7 +8,6 @@ NotActiveModCP=You must enable the module holidays to view this page.
|
|||||||
NotConfigModCP=You must configure the module holidays to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
NotConfigModCP=You must configure the module holidays to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
||||||
NoCPforUser=You don't have a demand for holidays.
|
NoCPforUser=You don't have a demand for holidays.
|
||||||
AddCP=Apply for holidays
|
AddCP=Apply for holidays
|
||||||
CPErrorSQL=An SQL error occurred:
|
|
||||||
Employe=Employee
|
Employe=Employee
|
||||||
DateDebCP=Start date
|
DateDebCP=Start date
|
||||||
DateFinCP=End date
|
DateFinCP=End date
|
||||||
|
|||||||
@ -551,6 +551,7 @@ MailSentBy=Email sent by
|
|||||||
TextUsedInTheMessageBody=Email body
|
TextUsedInTheMessageBody=Email body
|
||||||
SendAcknowledgementByMail=Send Ack. by email
|
SendAcknowledgementByMail=Send Ack. by email
|
||||||
NoEMail=No email
|
NoEMail=No email
|
||||||
|
NoMobilePhone=No mobile phone
|
||||||
Owner=Owner
|
Owner=Owner
|
||||||
DetectedVersion=Detected version
|
DetectedVersion=Detected version
|
||||||
FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value.
|
FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value.
|
||||||
|
|||||||
@ -179,6 +179,7 @@ ProductIsUsed=This product is used
|
|||||||
NewRefForClone=Ref. of new product/service
|
NewRefForClone=Ref. of new product/service
|
||||||
CustomerPrices=Customers prices
|
CustomerPrices=Customers prices
|
||||||
SuppliersPrices=Suppliers prices
|
SuppliersPrices=Suppliers prices
|
||||||
|
SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services)
|
||||||
CustomCode=Customs code
|
CustomCode=Customs code
|
||||||
CountryOrigin=Origin country
|
CountryOrigin=Origin country
|
||||||
HiddenIntoCombo=Hidden into select lists
|
HiddenIntoCombo=Hidden into select lists
|
||||||
@ -208,6 +209,7 @@ CostPmpHT=Net total VWAP
|
|||||||
ProductUsedForBuild=Auto consumed by production
|
ProductUsedForBuild=Auto consumed by production
|
||||||
ProductBuilded=Production completed
|
ProductBuilded=Production completed
|
||||||
ProductsMultiPrice=Product multi-price
|
ProductsMultiPrice=Product multi-price
|
||||||
|
ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices)
|
||||||
ProductSellByQuarterHT=Products turnover quarterly VWAP
|
ProductSellByQuarterHT=Products turnover quarterly VWAP
|
||||||
ServiceSellByQuarterHT=Services turnover quarterly VWAP
|
ServiceSellByQuarterHT=Services turnover quarterly VWAP
|
||||||
Quarter1=1st. Quarter
|
Quarter1=1st. Quarter
|
||||||
|
|||||||
@ -49,11 +49,11 @@ ErrorReservedTypeSystemSystemAuto=El uso del tipo 'system' y 'systemauto' está
|
|||||||
ErrorCodeCantContainZero=El código no puede contener el valor 0
|
ErrorCodeCantContainZero=El código no puede contener el valor 0
|
||||||
DisableJavascript=Desactivar las funciones Javascript y AJAX
|
DisableJavascript=Desactivar las funciones Javascript y AJAX
|
||||||
ConfirmAjax=Utilizar los diálogos de confirmación Ajax
|
ConfirmAjax=Utilizar los diálogos de confirmación Ajax
|
||||||
UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectCompanyTooltip=También si tiene un gran número de terceros (> 100 000), puede aumentar la velocidad mediante el establecimiento COMPANY_DONOTSEARCH_ANYWHERE constante a 1 en Configuración-> Otros. La búsqueda será limitada a la creación de cadena.
|
||||||
UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box.
|
UseSearchToSelectCompany=Utilice los campos de autocompletar para elegir terceros en lugar de utilizar un cuadro de lista
|
||||||
ActivityStateToSelectCompany= Agregar un filtro en la búsqueda para mostrar/ocultar los terceros en activo o que hayan dejado de ejercer
|
ActivityStateToSelectCompany= Agregar un filtro en la búsqueda para mostrar/ocultar los terceros en activo o que hayan dejado de ejercer
|
||||||
UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectContactTooltip=También si usted tiene un gran número de terceros (> 100 000), puede aumentar la velocidad mediante el establecimiento CONTACT_DONOTSEARCH_ANYWHERE constante a 1 en Configuración-> Otros. La búsqueda será limitada a la creación de cadena.
|
||||||
UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box).
|
UseSearchToSelectContact=Utilice los campos de autocompletar para seleccionar contactos (en lugar de utilizar un cuadro de lista).
|
||||||
SearchFilter=Opciones filtros de búsqueda
|
SearchFilter=Opciones filtros de búsqueda
|
||||||
NumberOfKeyToSearch=Nº de caracteres para desencadenar la búsqueda: %s
|
NumberOfKeyToSearch=Nº de caracteres para desencadenar la búsqueda: %s
|
||||||
ViewFullDateActions=Ver las fechas de las acciones en su totalidad en la ficha de tercero
|
ViewFullDateActions=Ver las fechas de las acciones en su totalidad en la ficha de tercero
|
||||||
@ -102,9 +102,9 @@ OtherOptions=Otras opciones
|
|||||||
OtherSetup=Varios
|
OtherSetup=Varios
|
||||||
CurrentValueSeparatorDecimal=Separador decimal
|
CurrentValueSeparatorDecimal=Separador decimal
|
||||||
CurrentValueSeparatorThousand=Separador miles
|
CurrentValueSeparatorThousand=Separador miles
|
||||||
Destination=Destination
|
Destination=destino
|
||||||
IdModule=Module ID
|
IdModule=identificador de modulo
|
||||||
IdPermissions=Permissions ID
|
IdPermissions=Identificador de permisos
|
||||||
Modules=Módulos
|
Modules=Módulos
|
||||||
ModulesCommon=Módulos principales
|
ModulesCommon=Módulos principales
|
||||||
ModulesOther=Módulos complementarios
|
ModulesOther=Módulos complementarios
|
||||||
@ -372,7 +372,7 @@ ExtrafieldRadio=Botón de selección excluyente
|
|||||||
ExtrafieldParamHelpselect=El listado tiene que ser en forma clave, valor<br><br> por ejemplo : <br>1,text1<br>2,text2<br>3,text3<br>...
|
ExtrafieldParamHelpselect=El listado tiene que ser en forma clave, valor<br><br> por ejemplo : <br>1,text1<br>2,text2<br>3,text3<br>...
|
||||||
ExtrafieldParamHelpcheckbox=El listado tiene que ser en forma clave, valor<br><br> por ejemplo : <br>1,text1<br>2,text2<br>3,text3<br>...
|
ExtrafieldParamHelpcheckbox=El listado tiene que ser en forma clave, valor<br><br> por ejemplo : <br>1,text1<br>2,text2<br>3,text3<br>...
|
||||||
ExtrafieldParamHelpradio=El listado tiene que ser en forma clave, valor<br><br> por ejemplo : <br>1,text1<br>2,text2<br>3,text3<br>...
|
ExtrafieldParamHelpradio=El listado tiene que ser en forma clave, valor<br><br> por ejemplo : <br>1,text1<br>2,text2<br>3,text3<br>...
|
||||||
ExtrafieldParamHelpsellist=Parameters list comes from a table<br>Syntax : table_name:label_field:id_field::filter<br>Example : c_typent:libelle:id::filter<br><br>filter can be a simple test (eg active=1) to display only active value <br> if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)<br><br>In order to have the list depending on another :<br>c_typent:libelle:id:parent_list_code|parent_column:filter
|
ExtrafieldParamHelpsellist=Lista Parámetros viene de una tabla <br> Sintaxis: nombre_tabla: etiqueta_campo: identificador_campo :: filtro <br> Ejemplo: c_typent: libelle: id :: filtro <br> filtro puede ser una prueba simple (por ejemplo, activo = 1) para mostrar el valor sólo se activa <br> si desea filtrar un campo extra utilizar la sintáxis extra.fieldcode = ... (donde el código de campo es el código del campo extra) <br> para tener la lista en función de otra: <br> c_typent: libelle: id: parent_list_code | parent_column: filtro
|
||||||
LibraryToBuildPDF=Librería usada para la creación de archivos PDF
|
LibraryToBuildPDF=Librería usada para la creación de archivos PDF
|
||||||
WarningUsingFPDF=Atención: Su archivo <b>conf.php</b> contiene la directiva <b>dolibarr_pdf_force_fpdf=1</b>. Esto hace que se use la librería FPDF para generar sus archivos PDF. Esta librería es antigua y no cubre algunas funcionalidades (Unicode, transparencia de imágenes, idiomas cirílicos, árabes o asiáticos, etc.), por lo que puede tener problemas en la generación de los PDF.<br>Para resolverlo, y disponer de un soporte completo de PDF, puede descargar la <a href="http://www.tcpdf.org/" target="_blank">librería TCPDF</a> , y a continuación comentar o eliminar la línea <b>$dolibarr_pdf_force_fpdf=1</b>, y añadir en su lugar <b>$dolibarr_lib_TCPDF_PATH='ruta_a_TCPDF'</b>
|
WarningUsingFPDF=Atención: Su archivo <b>conf.php</b> contiene la directiva <b>dolibarr_pdf_force_fpdf=1</b>. Esto hace que se use la librería FPDF para generar sus archivos PDF. Esta librería es antigua y no cubre algunas funcionalidades (Unicode, transparencia de imágenes, idiomas cirílicos, árabes o asiáticos, etc.), por lo que puede tener problemas en la generación de los PDF.<br>Para resolverlo, y disponer de un soporte completo de PDF, puede descargar la <a href="http://www.tcpdf.org/" target="_blank">librería TCPDF</a> , y a continuación comentar o eliminar la línea <b>$dolibarr_pdf_force_fpdf=1</b>, y añadir en su lugar <b>$dolibarr_lib_TCPDF_PATH='ruta_a_TCPDF'</b>
|
||||||
LocalTaxDesc=Algunos países aplican 2 o 3 tasas a cada línea de factura. Si es el caso, escoja el tipo de la segunda y tercera tasa y su valor. Los posibles tipos son:<br>1 : tasa local aplicable a productos y servicios sin IVA (IVA no se aplica en la tasa local)<br>2 : tasa local se aplica a productos y servicios antes del IVA (IVA se calcula sobre importe+tasa local)<br>3 : tasa local se aplica a productos sin IVA (IVA no se aplica en la tasa local)<br>4 : tasa local se aplica a productos antes del IVA (IVA se calcula sobre el importe+tasa local)<br>5 : tasa local se aplica a servicios sin IVA (IVA no se aplica a la tasa local)<br>6 : tasa local se aplica a servicios antes del IVA (IVA se calcula sobre importe + tasa local)
|
LocalTaxDesc=Algunos países aplican 2 o 3 tasas a cada línea de factura. Si es el caso, escoja el tipo de la segunda y tercera tasa y su valor. Los posibles tipos son:<br>1 : tasa local aplicable a productos y servicios sin IVA (IVA no se aplica en la tasa local)<br>2 : tasa local se aplica a productos y servicios antes del IVA (IVA se calcula sobre importe+tasa local)<br>3 : tasa local se aplica a productos sin IVA (IVA no se aplica en la tasa local)<br>4 : tasa local se aplica a productos antes del IVA (IVA se calcula sobre el importe+tasa local)<br>5 : tasa local se aplica a servicios sin IVA (IVA no se aplica a la tasa local)<br>6 : tasa local se aplica a servicios antes del IVA (IVA se calcula sobre importe + tasa local)
|
||||||
@ -1287,8 +1287,8 @@ YouMayFindPerfAdviceHere=En esta página encontrará varias pruebas y consejos r
|
|||||||
NotInstalled=No instalado, por lo que su servidor no baja de rendimiento con esto.
|
NotInstalled=No instalado, por lo que su servidor no baja de rendimiento con esto.
|
||||||
ApplicativeCache=Aplicación caché
|
ApplicativeCache=Aplicación caché
|
||||||
MemcachedNotAvailable=No se ha encontrado una aplicación de cache. Puede mejorar el rendimiento instalando un cache server Memcached y un módulo capaz de usar ese servidor de cache.<br>Más información aquí <a href="http://wiki.dolibarr.org/index.php/Module_MemCached_EN">http://wiki.dolibarr.org/index.php/Module_MemCached_EN</a>.<br>Tenga en cuenta que algunos hostings no ofrecen servidores de cache.
|
MemcachedNotAvailable=No se ha encontrado una aplicación de cache. Puede mejorar el rendimiento instalando un cache server Memcached y un módulo capaz de usar ese servidor de cache.<br>Más información aquí <a href="http://wiki.dolibarr.org/index.php/Module_MemCached_EN">http://wiki.dolibarr.org/index.php/Module_MemCached_EN</a>.<br>Tenga en cuenta que algunos hostings no ofrecen servidores de cache.
|
||||||
MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete.
|
MemcachedModuleAvailableButNotSetup=Módulo memcached para el caché aplicativo encontrado pero la configuración del módulo no está completa.
|
||||||
MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled.
|
MemcachedAvailableAndSetup=Memcached módulo dedicado a utilizar el servidor memcached está disponible.
|
||||||
OPCodeCache=OPCode caché
|
OPCodeCache=OPCode caché
|
||||||
NoOPCodeCacheFound=No se ha encontrado ningún OPCode caché. Puede ser que esté usando otro OPCode como XCache o eAccelerator (mejor), o puede que no tenga OPCode caché (peor).
|
NoOPCodeCacheFound=No se ha encontrado ningún OPCode caché. Puede ser que esté usando otro OPCode como XCache o eAccelerator (mejor), o puede que no tenga OPCode caché (peor).
|
||||||
HTTPCacheStaticResources=Caché HTTP para estadísticas de recursos (css, img, javascript)
|
HTTPCacheStaticResources=Caché HTTP para estadísticas de recursos (css, img, javascript)
|
||||||
@ -1309,8 +1309,8 @@ ConfirmDeleteProductLineAbility=Confirmación de eliminación de una línea de p
|
|||||||
ModifyProductDescAbility=Personalización de las descripciones de los productos en los formularios
|
ModifyProductDescAbility=Personalización de las descripciones de los productos en los formularios
|
||||||
ViewProductDescInFormAbility=Visualización de las descripciones de los productos en los formularios
|
ViewProductDescInFormAbility=Visualización de las descripciones de los productos en los formularios
|
||||||
ViewProductDescInThirdpartyLanguageAbility=Visualización de las descripciones de productos en el idioma del tercero
|
ViewProductDescInThirdpartyLanguageAbility=Visualización de las descripciones de productos en el idioma del tercero
|
||||||
UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectProductTooltip=También si usted tiene una gran cantidad de producto (> 100 000), puede aumentar la velocidad mediante el establecimiento PRODUCT_DONOTSEARCH_ANYWHERE constante a 1 en Configuración-> Otros. La búsqueda será limitada a la creación de cadena.
|
||||||
UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list).
|
UseSearchToSelectProduct=Utilice un formulario de búsqueda para elegir un producto (en lugar de una lista desplegable).
|
||||||
UseEcoTaxeAbility=Asumir ecotasa (DEEE)
|
UseEcoTaxeAbility=Asumir ecotasa (DEEE)
|
||||||
SetDefaultBarcodeTypeProducts=Tipo de código de barras utilizado por defecto para los productos
|
SetDefaultBarcodeTypeProducts=Tipo de código de barras utilizado por defecto para los productos
|
||||||
SetDefaultBarcodeTypeThirdParties=Tipo de código de barras utilizado por defecto para los terceros
|
SetDefaultBarcodeTypeThirdParties=Tipo de código de barras utilizado por defecto para los terceros
|
||||||
@ -1499,4 +1499,4 @@ ECMSetup = Configuración del módulo GED
|
|||||||
ECMAutoTree = El árbol automático está disponible
|
ECMAutoTree = El árbol automático está disponible
|
||||||
|
|
||||||
|
|
||||||
Format=Format
|
Format=Formatear
|
||||||
|
|||||||
@ -133,7 +133,7 @@ CashBudget=Presupuesto de tesorería
|
|||||||
PlannedTransactions=Transacciones previstas
|
PlannedTransactions=Transacciones previstas
|
||||||
Graph=Gráficos
|
Graph=Gráficos
|
||||||
ExportDataset_banque_1=Transacción bancaria y extracto
|
ExportDataset_banque_1=Transacción bancaria y extracto
|
||||||
ExportDataset_banque_2=Deposit slip
|
ExportDataset_banque_2=Justificante bancario
|
||||||
TransactionOnTheOtherAccount=Transacción sobre la otra cuenta
|
TransactionOnTheOtherAccount=Transacción sobre la otra cuenta
|
||||||
TransactionWithOtherAccount=Transferencia de cuenta
|
TransactionWithOtherAccount=Transferencia de cuenta
|
||||||
PaymentNumberUpdateSucceeded=Numero de pago modificado
|
PaymentNumberUpdateSucceeded=Numero de pago modificado
|
||||||
|
|||||||
@ -135,7 +135,7 @@ ErrorWarehouseMustDiffers=El almacén de origen y destino deben de ser diferente
|
|||||||
ErrorBadFormat=¡El formato es erróneo!
|
ErrorBadFormat=¡El formato es erróneo!
|
||||||
ErrorPaymentDateLowerThanInvoiceDate=La fecha de pago (%s) no puede ser anterior a la fecha (%s) de la factura %s.
|
ErrorPaymentDateLowerThanInvoiceDate=La fecha de pago (%s) no puede ser anterior a la fecha (%s) de la factura %s.
|
||||||
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, este miembro aún no está enlazado un tercero. Enlace el miembro a un tercero existente o cree un tercero nuevo antes de crear la suscripción con la factura.
|
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, este miembro aún no está enlazado un tercero. Enlace el miembro a un tercero existente o cree un tercero nuevo antes de crear la suscripción con la factura.
|
||||||
ErrorThereIsSomeDeliveries=Error, there is some deliveries linked to this shipment. Deletion refused.
|
ErrorThereIsSomeDeliveries=Error, hay entregas vinculados a este envío. No se puede eliminar.
|
||||||
|
|
||||||
# Warnings
|
# Warnings
|
||||||
WarningMandatorySetupNotComplete=Los parámetros obligatorios de configuración no están todavía definidos
|
WarningMandatorySetupNotComplete=Los parámetros obligatorios de configuración no están todavía definidos
|
||||||
|
|||||||
@ -34,7 +34,6 @@ ReturnCP=Volver a la página anterior
|
|||||||
ErrorUserViewCP=No está autorizado a leer esta petición de vacaciones.
|
ErrorUserViewCP=No está autorizado a leer esta petición de vacaciones.
|
||||||
InfosCP=Información de la petición de vacaciones
|
InfosCP=Información de la petición de vacaciones
|
||||||
InfosWorkflowCP=Información del workflow
|
InfosWorkflowCP=Información del workflow
|
||||||
DateCreateCP=Fecha de creación
|
|
||||||
RequestByCP=Pedido por
|
RequestByCP=Pedido por
|
||||||
TitreRequestCP=Ficha vacaciones
|
TitreRequestCP=Ficha vacaciones
|
||||||
NbUseDaysCP=Número de días de vacaciones consumidos
|
NbUseDaysCP=Número de días de vacaciones consumidos
|
||||||
@ -130,7 +129,6 @@ ErrorMailNotSend=Se ha producido un error en el envío del e-mail :
|
|||||||
NoCPforMonth=Sin vacaciones este mes.
|
NoCPforMonth=Sin vacaciones este mes.
|
||||||
nbJours=Número de días
|
nbJours=Número de días
|
||||||
TitleAdminCP=Configuración de las vacaciones
|
TitleAdminCP=Configuración de las vacaciones
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Hola
|
Hello=Hola
|
||||||
HolidaysToValidate=Días retribuidos a validar
|
HolidaysToValidate=Días retribuidos a validar
|
||||||
@ -143,10 +141,10 @@ HolidaysRefused=Días retribuidos denegados
|
|||||||
HolidaysRefusedBody=Su solicitud de días retribuidos desde el %s al %s ha sido denegada por el siguiente motivo :
|
HolidaysRefusedBody=Su solicitud de días retribuidos desde el %s al %s ha sido denegada por el siguiente motivo :
|
||||||
HolidaysCanceled=Días retribuidos cancelados
|
HolidaysCanceled=Días retribuidos cancelados
|
||||||
HolidaysCanceledBody=Su solicitud de días retribuidos desde el %s al %s ha sido cancelada.
|
HolidaysCanceledBody=Su solicitud de días retribuidos desde el %s al %s ha sido cancelada.
|
||||||
|
Permission20000=Leer sus propios días retribuidos
|
||||||
Permission20001=Consultar/crear/modificar sus vacaciones
|
Permission20001=Crear/modificar sus días retribuidos
|
||||||
Permission20002=Consultar/modificar todas las solicitudes de permisos retribuídos
|
Permission20002=Crear/modificar días retribuidos para todos
|
||||||
Permission20003=Eliminar las solicitudes de permisos retribuídos
|
Permission20003=Eliminar peticiones de días retribuidos
|
||||||
Permission20004=Definir los permisos retribuídos de los usuarios
|
Permission20004=Configurar días retribuidos de usuarios
|
||||||
Permission20005=Consultar el historial de modificaciones de permisos retribuídos
|
Permission20005=Consultar el historial de modificaciones de permisos retribuídos
|
||||||
Permission20006=Acceder al informe mensual de permisos retribuídos
|
Permission20006=Leer informe mensual de días retribuidos
|
||||||
|
|||||||
@ -206,3 +206,6 @@ MigrationProjectTaskTime=Actualización de tiempo dedicado en segundos
|
|||||||
MigrationActioncommElement=Actualización de los datos de acciones sobre elementos
|
MigrationActioncommElement=Actualización de los datos de acciones sobre elementos
|
||||||
MigrationPaymentMode=Actualización de los modos de pago
|
MigrationPaymentMode=Actualización de los modos de pago
|
||||||
MigrationCategorieAssociation=Actualización de las categorías
|
MigrationCategorieAssociation=Actualización de las categorías
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Mostrar opciones no disponibles
|
||||||
|
HideNotAvailableOptions=Ocultar opciones no disponibles
|
||||||
|
|||||||
@ -119,7 +119,7 @@ TargetsReset=Vaciar lista
|
|||||||
ToClearAllRecipientsClickHere=Para vaciar la lista de los destinatarios de este E-Mailing, haga click en el botón
|
ToClearAllRecipientsClickHere=Para vaciar la lista de los destinatarios de este E-Mailing, haga click en el botón
|
||||||
ToAddRecipientsChooseHere=Para añadir destinatarios, escoja los que figuran en las listas a continuación
|
ToAddRecipientsChooseHere=Para añadir destinatarios, escoja los que figuran en las listas a continuación
|
||||||
NbOfEMailingsReceived=E-Mailings en masa recibidos
|
NbOfEMailingsReceived=E-Mailings en masa recibidos
|
||||||
NbOfEMailingsSend=Mass emailings sent
|
NbOfEMailingsSend=Emailings masivos enviados
|
||||||
IdRecord=ID registro
|
IdRecord=ID registro
|
||||||
DeliveryReceipt=Acuse de recibo
|
DeliveryReceipt=Acuse de recibo
|
||||||
YouCanUseCommaSeparatorForSeveralRecipients=Puede usar el carácter de separación <b>coma </b> para especificar múltiples destinatarios.
|
YouCanUseCommaSeparatorForSeveralRecipients=Puede usar el carácter de separación <b>coma </b> para especificar múltiples destinatarios.
|
||||||
|
|||||||
@ -206,7 +206,7 @@ Limit=Límite
|
|||||||
Limits=Límites
|
Limits=Límites
|
||||||
DevelopmentTeam=Equipo de desarrollo
|
DevelopmentTeam=Equipo de desarrollo
|
||||||
Logout=Desconexión
|
Logout=Desconexión
|
||||||
NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode <b>%s</b>
|
NoLogoutProcessWithAuthMode=Sin funcionalidades de desconexión con el modo de autenticación <b>%s</b>
|
||||||
Connection=Conexión
|
Connection=Conexión
|
||||||
Setup=Configuración
|
Setup=Configuración
|
||||||
Alert=Alerta
|
Alert=Alerta
|
||||||
@ -605,8 +605,8 @@ Notes=Notas
|
|||||||
AddNewLine=Añadir nueva línea
|
AddNewLine=Añadir nueva línea
|
||||||
AddFile=Añadir archivo
|
AddFile=Añadir archivo
|
||||||
ListOfFiles=Listado de archivos disponibles
|
ListOfFiles=Listado de archivos disponibles
|
||||||
FreeZone=Free entry
|
FreeZone=Entrada libre
|
||||||
FreeLineOfType=Free entry of type
|
FreeLineOfType=Entrada libre del tipo
|
||||||
CloneMainAttributes=Clonar el objeto con estos atributos principales
|
CloneMainAttributes=Clonar el objeto con estos atributos principales
|
||||||
PDFMerge=Fusión PDF
|
PDFMerge=Fusión PDF
|
||||||
Merge=Fusión
|
Merge=Fusión
|
||||||
|
|||||||
@ -45,9 +45,9 @@ Notify_MEMBER_SUBSCRIPTION=Afiliación miembro
|
|||||||
Notify_MEMBER_RESILIATE=Baja miembro
|
Notify_MEMBER_RESILIATE=Baja miembro
|
||||||
Notify_MEMBER_DELETE=Eliminación miembro
|
Notify_MEMBER_DELETE=Eliminación miembro
|
||||||
Notify_PROJECT_CREATE=Creación de proyecto
|
Notify_PROJECT_CREATE=Creación de proyecto
|
||||||
Notify_TASK_CREATE=Task created
|
Notify_TASK_CREATE=Tarea creada
|
||||||
Notify_TASK_MODIFY=Task modified
|
Notify_TASK_MODIFY=Tarea modificada
|
||||||
Notify_TASK_DELETE=Task deleted
|
Notify_TASK_DELETE=Tarea eliminada
|
||||||
NbOfAttachedFiles=Número archivos/documentos adjuntos
|
NbOfAttachedFiles=Número archivos/documentos adjuntos
|
||||||
TotalSizeOfAttachedFiles=Tamaño total de los archivos/documentos adjuntos
|
TotalSizeOfAttachedFiles=Tamaño total de los archivos/documentos adjuntos
|
||||||
MaxSize=Tamaño máximo
|
MaxSize=Tamaño máximo
|
||||||
|
|||||||
@ -109,7 +109,7 @@ BarcodeValue=Valor del código de barras
|
|||||||
NoteNotVisibleOnBill=Nota (no visible en las facturas, presupuestos, etc.)
|
NoteNotVisibleOnBill=Nota (no visible en las facturas, presupuestos, etc.)
|
||||||
CreateCopy=Crear cópia
|
CreateCopy=Crear cópia
|
||||||
ServiceLimitedDuration=Si el servicio es de duración limitada :
|
ServiceLimitedDuration=Si el servicio es de duración limitada :
|
||||||
MultiPricesAbility=Several level of prices per product/service
|
MultiPricesAbility=Varios niveles de precio por producto/servicio
|
||||||
MultiPricesNumPrices=Nº de precios
|
MultiPricesNumPrices=Nº de precios
|
||||||
MultiPriceLevelsName=Categoría de precios
|
MultiPriceLevelsName=Categoría de precios
|
||||||
AssociatedProductsAbility=Activar productos compuestos
|
AssociatedProductsAbility=Activar productos compuestos
|
||||||
@ -156,12 +156,12 @@ NoSupplierPriceDefinedForThisProduct=Ningún precio/cant. proveedor definida par
|
|||||||
RecordedProducts=Productos en venta
|
RecordedProducts=Productos en venta
|
||||||
RecordedServices=Servicios en venta
|
RecordedServices=Servicios en venta
|
||||||
RecordedProductsAndServices=Productos/servicios en venta
|
RecordedProductsAndServices=Productos/servicios en venta
|
||||||
PredefinedProductsToSell=Predefined products to sell
|
PredefinedProductsToSell=Productos predefinidos para vender
|
||||||
PredefinedServicesToSell=Predefined services to sell
|
PredefinedServicesToSell=Servicios predefinidos para vender
|
||||||
PredefinedProductsAndServicesToSell=Predefined products/services to sell
|
PredefinedProductsAndServicesToSell=Productos/servicios predefinidos a la venta
|
||||||
PredefinedProductsToPurchase=Predefined product to purchase
|
PredefinedProductsToPurchase=Producto predefinido para comprar
|
||||||
PredefinedServicesToPurchase=Predefined services to purchase
|
PredefinedServicesToPurchase=Servicios predefinidos para comprar
|
||||||
PredefinedProductsAndServicesToPurchase=Predefined products/services to puchase
|
PredefinedProductsAndServicesToPurchase=Productos/servicios predefinidos para comprar
|
||||||
GenerateThumb=Generar la etiqueta
|
GenerateThumb=Generar la etiqueta
|
||||||
ProductCanvasAbility=Usar las extensiones especiales "canvas"
|
ProductCanvasAbility=Usar las extensiones especiales "canvas"
|
||||||
ServiceNb=Servicio no %s
|
ServiceNb=Servicio no %s
|
||||||
@ -228,7 +228,7 @@ BarCodeDataForProduct=Información del código de barras del producto %s:
|
|||||||
BarCodeDataForThirdparty=Información del código de barras del tercero %s:
|
BarCodeDataForThirdparty=Información del código de barras del tercero %s:
|
||||||
ResetBarcodeForAllRecords=Definir códigos de barras para todos los registros (machacará los valores de códigos de barras ya registrados)
|
ResetBarcodeForAllRecords=Definir códigos de barras para todos los registros (machacará los valores de códigos de barras ya registrados)
|
||||||
PriceByCustomer=Precio por cliente
|
PriceByCustomer=Precio por cliente
|
||||||
PriceCatalogue=Unique price per product/service
|
PriceCatalogue=Precio único por producto/servicio
|
||||||
PricingRule=Reglas de precio
|
PricingRule=Reglas de precio
|
||||||
AddCustomerPrice=Añadir precio por clientes
|
AddCustomerPrice=Añadir precio por clientes
|
||||||
ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de los clientes
|
ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de los clientes
|
||||||
|
|||||||
@ -34,7 +34,6 @@ ReturnCP=Mine tagasi eelmisele lehele
|
|||||||
ErrorUserViewCP=Sul ei ole ligipääsuõigusi antud puhkusetaotluse vaatamiseks.
|
ErrorUserViewCP=Sul ei ole ligipääsuõigusi antud puhkusetaotluse vaatamiseks.
|
||||||
InfosCP=Puhkusevajaduse info
|
InfosCP=Puhkusevajaduse info
|
||||||
InfosWorkflowCP=Informatsiooni töövoog
|
InfosWorkflowCP=Informatsiooni töövoog
|
||||||
DateCreateCP=Loomiskuupäev
|
|
||||||
RequestByCP=Taotles
|
RequestByCP=Taotles
|
||||||
TitreRequestCP=Puhkuste leht
|
TitreRequestCP=Puhkuste leht
|
||||||
NbUseDaysCP=Kulutatud puhkusepäevade arv
|
NbUseDaysCP=Kulutatud puhkusepäevade arv
|
||||||
@ -130,7 +129,6 @@ ErrorMailNotSend=E-kirja saatmisel tekkis viga:
|
|||||||
NoCPforMonth=Sellel kuul pole puhkusi.
|
NoCPforMonth=Sellel kuul pole puhkusi.
|
||||||
nbJours=Päevade arv
|
nbJours=Päevade arv
|
||||||
TitleAdminCP=Puhkuste seadistamine
|
TitleAdminCP=Puhkuste seadistamine
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Tere
|
Hello=Tere
|
||||||
HolidaysToValidate=Kinnita puhkused
|
HolidaysToValidate=Kinnita puhkused
|
||||||
@ -143,10 +141,10 @@ HolidaysRefused=Tagasi lükatud puhkused
|
|||||||
HolidaysRefusedBody=Sinu puhkusetaotlus alates %s kuni %s on tagasi lükatud põhjusel:
|
HolidaysRefusedBody=Sinu puhkusetaotlus alates %s kuni %s on tagasi lükatud põhjusel:
|
||||||
HolidaysCanceled=Tühistatud puhkused
|
HolidaysCanceled=Tühistatud puhkused
|
||||||
HolidaysCanceledBody=Sinu puhkusetaotlus alates %s kuni %s on tühistatud.
|
HolidaysCanceledBody=Sinu puhkusetaotlus alates %s kuni %s on tühistatud.
|
||||||
|
Permission20000=Read you own holidays
|
||||||
Permission20001=Oma puhkuste vaatamine/loomine/muutmine
|
Permission20001=Create/modify your holidays
|
||||||
Permission20002=Kõikide puhkusetaotluste vaatamine/muutmine
|
Permission20002=Create/modify holidays for everybody
|
||||||
Permission20003=Oma puhkusetaotluste kustutamine
|
Permission20003=Delete holidays requests
|
||||||
Permission20004=Kasutajate puhkuste määratlemine
|
Permission20004=Setup users holidays
|
||||||
Permission20005=Muudetud puhkuste logi vaatamine
|
Permission20005=Muudetud puhkuste logi vaatamine
|
||||||
Permission20006=Ligipääs puhkuste igakuisele aruandele
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -158,7 +158,6 @@ ShowEditTechnicalParameters=Klõpsa siia lisaparameetrite näitamiseks/muutmisek
|
|||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
#########
|
|
||||||
MigrationFixData=Paranda denormaliseeritud andmed
|
MigrationFixData=Paranda denormaliseeritud andmed
|
||||||
MigrationOrder=Kliendi tellimuste andmete migreerimine
|
MigrationOrder=Kliendi tellimuste andmete migreerimine
|
||||||
MigrationSupplierOrder=Ostutellimuste andmete migreerimine
|
MigrationSupplierOrder=Ostutellimuste andmete migreerimine
|
||||||
@ -207,3 +206,6 @@ MigrationProjectTaskTime=Uuendamiseks kulutatud aeg sekundites
|
|||||||
MigrationActioncommElement=Uuenda tegevuste andmec
|
MigrationActioncommElement=Uuenda tegevuste andmec
|
||||||
MigrationPaymentMode=Maksete režiimi andmete migreerimine
|
MigrationPaymentMode=Maksete režiimi andmete migreerimine
|
||||||
MigrationCategorieAssociation=Kategooriate migreerimine
|
MigrationCategorieAssociation=Kategooriate migreerimine
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -1,152 +1,150 @@
|
|||||||
# Dolibarr language file - Source file is en_US - holiday
|
# Dolibarr language file - Source file is en_US - holiday
|
||||||
# HRM=HRM
|
HRM=HRM
|
||||||
# Holidays=Holidays
|
Holidays=Holidays
|
||||||
# CPTitreMenu=Holidays
|
CPTitreMenu=Holidays
|
||||||
# MenuReportMonth=Monthly statement
|
MenuReportMonth=Monthly statement
|
||||||
# MenuAddCP=Apply for holidays
|
MenuAddCP=Apply for holidays
|
||||||
# NotActiveModCP=You must enable the module holidays to view this page.
|
NotActiveModCP=You must enable the module holidays to view this page.
|
||||||
# NotConfigModCP=You must configure the module holidays to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
NotConfigModCP=You must configure the module holidays to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
||||||
# NoCPforUser=You don't have a demand for holidays.
|
NoCPforUser=You don't have a demand for holidays.
|
||||||
# AddCP=Apply for holidays
|
AddCP=Apply for holidays
|
||||||
# CPErrorSQL=An SQL error occurred:
|
CPErrorSQL=An SQL error occurred:
|
||||||
# Employe=Employee
|
Employe=Employee
|
||||||
# DateDebCP=Start date
|
DateDebCP=Start date
|
||||||
# DateFinCP=End date
|
DateFinCP=End date
|
||||||
# DateCreateCP=Creation date
|
DateCreateCP=Creation date
|
||||||
# DraftCP=Draft
|
DraftCP=Draft
|
||||||
# ToReviewCP=Awaiting approval
|
ToReviewCP=Awaiting approval
|
||||||
# ApprovedCP=Approved
|
ApprovedCP=Approved
|
||||||
# CancelCP=Canceled
|
CancelCP=Canceled
|
||||||
# RefuseCP=Refused
|
RefuseCP=Refused
|
||||||
# ValidatorCP=Approbator
|
ValidatorCP=Approbator
|
||||||
# ListeCP=List of holidays
|
ListeCP=List of holidays
|
||||||
# ReviewedByCP=Will be reviewed by
|
ReviewedByCP=Will be reviewed by
|
||||||
# DescCP=Description
|
DescCP=Description
|
||||||
# SendRequestCP=Creating demand for holidays
|
SendRequestCP=Creating demand for holidays
|
||||||
# DelayToRequestCP=Applications for holidays must be made at least <b>%s day(s)</b> before them.
|
DelayToRequestCP=Applications for holidays must be made at least <b>%s day(s)</b> before them.
|
||||||
# MenuConfCP=Edit balance of holidays
|
MenuConfCP=Edit balance of holidays
|
||||||
# UpdateAllCP=Update the holidays
|
UpdateAllCP=Update the holidays
|
||||||
# SoldeCPUser=Holidays balance is <b>%s</b> days.
|
SoldeCPUser=Holidays balance is <b>%s</b> days.
|
||||||
# ErrorEndDateCP=You must select an end date greater than the start date.
|
ErrorEndDateCP=You must select an end date greater than the start date.
|
||||||
# ErrorSQLCreateCP=An SQL error occurred during the creation:
|
ErrorSQLCreateCP=An SQL error occurred during the creation:
|
||||||
# ErrorIDFicheCP=An error has occurred, the request for holidays does not exist.
|
ErrorIDFicheCP=An error has occurred, the request for holidays does not exist.
|
||||||
# ReturnCP=Return to previous page
|
ReturnCP=Return to previous page
|
||||||
# ErrorUserViewCP=You are not authorized to read this request for holidays.
|
ErrorUserViewCP=You are not authorized to read this request for holidays.
|
||||||
# InfosCP=Information of the demand of holidays
|
InfosCP=Information of the demand of holidays
|
||||||
# InfosWorkflowCP=Information Workflow
|
InfosWorkflowCP=Information Workflow
|
||||||
# DateCreateCP=Creation date
|
RequestByCP=Requested by
|
||||||
# RequestByCP=Requested by
|
TitreRequestCP=Sheet of holidays
|
||||||
# TitreRequestCP=Sheet of holidays
|
NbUseDaysCP=Number of days of holidays consumed
|
||||||
# NbUseDaysCP=Number of days of holidays consumed
|
EditCP=Edit
|
||||||
# EditCP=Edit
|
DeleteCP=Delete
|
||||||
# DeleteCP=Delete
|
ActionValidCP=Validate
|
||||||
# ActionValidCP=Validate
|
ActionRefuseCP=Refuse
|
||||||
# ActionRefuseCP=Refuse
|
ActionCancelCP=Cancel
|
||||||
# ActionCancelCP=Cancel
|
StatutCP=Status
|
||||||
# StatutCP=Status
|
SendToValidationCP=Send to validation
|
||||||
# SendToValidationCP=Send to validation
|
TitleDeleteCP=Delete the request of holidays
|
||||||
# TitleDeleteCP=Delete the request of holidays
|
ConfirmDeleteCP=Confirm the deletion of this request for holidays?
|
||||||
# ConfirmDeleteCP=Confirm the deletion of this request for holidays?
|
ErrorCantDeleteCP=Error you don't have the right to delete this holiday request.
|
||||||
# ErrorCantDeleteCP=Error you don't have the right to delete this holiday request.
|
CantCreateCP=You don't have the right to apply for holidays.
|
||||||
# CantCreateCP=You don't have the right to apply for holidays.
|
InvalidValidatorCP=You must choose an approbator to your holiday request.
|
||||||
# InvalidValidatorCP=You must choose an approbator to your holiday request.
|
UpdateButtonCP=Update
|
||||||
# UpdateButtonCP=Update
|
CantUpdate=You cannot update this request of holidays.
|
||||||
# CantUpdate=You cannot update this request of holidays.
|
NoDateDebut=You must select a start date.
|
||||||
# NoDateDebut=You must select a start date.
|
NoDateFin=You must select an end date.
|
||||||
# NoDateFin=You must select an end date.
|
ErrorDureeCP=Your request for holidays does not contain working day.
|
||||||
# ErrorDureeCP=Your request for holidays does not contain working day.
|
TitleValidCP=Approve the request holidays
|
||||||
# TitleValidCP=Approve the request holidays
|
ConfirmValidCP=Are you sure you want to approve the holiday request?
|
||||||
# ConfirmValidCP=Are you sure you want to approve the holiday request?
|
DateValidCP=Date approved
|
||||||
# DateValidCP=Date approved
|
TitleToValidCP=Send request holidays
|
||||||
# TitleToValidCP=Send request holidays
|
ConfirmToValidCP=Are you sure you want to send the request of holidays?
|
||||||
# ConfirmToValidCP=Are you sure you want to send the request of holidays?
|
TitleRefuseCP=Refuse the request holidays
|
||||||
# TitleRefuseCP=Refuse the request holidays
|
ConfirmRefuseCP=Are you sure you want to refuse the request of holidays?
|
||||||
# ConfirmRefuseCP=Are you sure you want to refuse the request of holidays?
|
NoMotifRefuseCP=You must choose a reason for refusing the request.
|
||||||
# NoMotifRefuseCP=You must choose a reason for refusing the request.
|
TitleCancelCP=Cancel the request holidays
|
||||||
# TitleCancelCP=Cancel the request holidays
|
ConfirmCancelCP=Are you sure you want to cancel the request of holidays?
|
||||||
# ConfirmCancelCP=Are you sure you want to cancel the request of holidays?
|
DetailRefusCP=Reason for refusal
|
||||||
# DetailRefusCP=Reason for refusal
|
DateRefusCP=Date of refusal
|
||||||
# DateRefusCP=Date of refusal
|
DateCancelCP=Date of cancellation
|
||||||
# DateCancelCP=Date of cancellation
|
DefineEventUserCP=Assign an exceptional leave for a user
|
||||||
# DefineEventUserCP=Assign an exceptional leave for a user
|
addEventToUserCP=Assign leave
|
||||||
# addEventToUserCP=Assign leave
|
MotifCP=Reason
|
||||||
# MotifCP=Reason
|
UserCP=User
|
||||||
# UserCP=User
|
ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
||||||
# ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
||||||
# AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
MenuLogCP=View logs of holidays
|
||||||
# MenuLogCP=View logs of holidays
|
LogCP=Log of updates of holidays
|
||||||
# LogCP=Log of updates of holidays
|
ActionByCP=Performed by
|
||||||
# ActionByCP=Performed by
|
UserUpdateCP=For the user
|
||||||
# UserUpdateCP=For the user
|
PrevSoldeCP=Previous Balance
|
||||||
# PrevSoldeCP=Previous Balance
|
NewSoldeCP=New Balance
|
||||||
# NewSoldeCP=New Balance
|
alreadyCPexist=A request for holidays has already been done on this period.
|
||||||
# alreadyCPexist=A request for holidays has already been done on this period.
|
UserName=Name
|
||||||
# UserName=Name
|
Employee=Employee
|
||||||
# Employee=Employee
|
FirstDayOfHoliday=First day of holiday
|
||||||
# FirstDayOfHoliday=First day of holiday
|
LastDayOfHoliday=Last day of holiday
|
||||||
# LastDayOfHoliday=Last day of holiday
|
HolidaysMonthlyUpdate=Monthly update
|
||||||
# HolidaysMonthlyUpdate=Monthly update
|
ManualUpdate=Manual update
|
||||||
# ManualUpdate=Manual update
|
HolidaysCancelation=Holidays cancelation
|
||||||
# HolidaysCancelation=Holidays cancelation
|
|
||||||
|
|
||||||
## Configuration du Module ##
|
## Configuration du Module ##
|
||||||
# ConfCP=Configuration of holidays module
|
ConfCP=Configuration of holidays module
|
||||||
# DescOptionCP=Description of the option
|
DescOptionCP=Description of the option
|
||||||
# ValueOptionCP=Value
|
ValueOptionCP=Value
|
||||||
# GroupToValidateCP=Group with the ability to approve holidays
|
GroupToValidateCP=Group with the ability to approve holidays
|
||||||
# ConfirmConfigCP=Validate the configuration
|
ConfirmConfigCP=Validate the configuration
|
||||||
# LastUpdateCP=Last updated automatically of holidays
|
LastUpdateCP=Last updated automatically of holidays
|
||||||
# UpdateConfCPOK=Updated successfully.
|
UpdateConfCPOK=Updated successfully.
|
||||||
# ErrorUpdateConfCP=An error occurred during the update, please try again.
|
ErrorUpdateConfCP=An error occurred during the update, please try again.
|
||||||
# AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
||||||
# DelayForSubmitCP=Deadline to apply for holidays
|
DelayForSubmitCP=Deadline to apply for holidays
|
||||||
# AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline
|
AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline
|
||||||
# AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay
|
AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay
|
||||||
# AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance
|
AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance
|
||||||
# nbUserCP=Number of users supported in the module holidays
|
nbUserCP=Number of users supported in the module holidays
|
||||||
# nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
|
nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
|
||||||
# nbHolidayEveryMonthCP=Number of holidays added every month
|
nbHolidayEveryMonthCP=Number of holidays added every month
|
||||||
# Module27130Name= Management of holidays
|
Module27130Name= Management of holidays
|
||||||
# Module27130Desc= Management of holidays
|
Module27130Desc= Management of holidays
|
||||||
# TitleOptionMainCP=Main settings of holidays
|
TitleOptionMainCP=Main settings of holidays
|
||||||
# TitleOptionEventCP=Settings of holidays related to events
|
TitleOptionEventCP=Settings of holidays related to events
|
||||||
# ValidEventCP=Validate
|
ValidEventCP=Validate
|
||||||
# UpdateEventCP=Update events
|
UpdateEventCP=Update events
|
||||||
# CreateEventCP=Create
|
CreateEventCP=Create
|
||||||
# NameEventCP=Event name
|
NameEventCP=Event name
|
||||||
# OkCreateEventCP=The addition of the event went well.
|
OkCreateEventCP=The addition of the event went well.
|
||||||
# ErrorCreateEventCP=Error creating the event.
|
ErrorCreateEventCP=Error creating the event.
|
||||||
# UpdateEventOkCP=The update of the event went well.
|
UpdateEventOkCP=The update of the event went well.
|
||||||
# ErrorUpdateEventCP=Error while updating the event.
|
ErrorUpdateEventCP=Error while updating the event.
|
||||||
# DeleteEventCP=Delete Event
|
DeleteEventCP=Delete Event
|
||||||
# DeleteEventOkCP=The event has been deleted.
|
DeleteEventOkCP=The event has been deleted.
|
||||||
# ErrorDeleteEventCP=Error while deleting the event.
|
ErrorDeleteEventCP=Error while deleting the event.
|
||||||
# TitleDeleteEventCP=Delete a exceptional leave
|
TitleDeleteEventCP=Delete a exceptional leave
|
||||||
# TitleCreateEventCP=Create a exceptional leave
|
TitleCreateEventCP=Create a exceptional leave
|
||||||
# TitleUpdateEventCP=Edit or delete a exceptional leave
|
TitleUpdateEventCP=Edit or delete a exceptional leave
|
||||||
# DeleteEventOptionCP=Delete
|
DeleteEventOptionCP=Delete
|
||||||
# UpdateEventOptionCP=Update
|
UpdateEventOptionCP=Update
|
||||||
# ErrorMailNotSend=An error occurred while sending email:
|
ErrorMailNotSend=An error occurred while sending email:
|
||||||
# NoCPforMonth=No leave this month.
|
NoCPforMonth=No leave this month.
|
||||||
# nbJours=Number days
|
nbJours=Number days
|
||||||
# TitleAdminCP=Configuration of Holidays
|
TitleAdminCP=Configuration of Holidays
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
# Hello=Hello
|
Hello=Hello
|
||||||
# HolidaysToValidate=Validate holidays
|
HolidaysToValidate=Validate holidays
|
||||||
# HolidaysToValidateBody=Below is a request for holidays to validate
|
HolidaysToValidateBody=Below is a request for holidays to validate
|
||||||
# HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
||||||
# HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days.
|
HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days.
|
||||||
# HolidaysValidated=Validated holidays
|
HolidaysValidated=Validated holidays
|
||||||
# HolidaysValidatedBody=Your request for holidays for %s to %s has been validated.
|
HolidaysValidatedBody=Your request for holidays for %s to %s has been validated.
|
||||||
# HolidaysRefused=Denied holidays
|
HolidaysRefused=Denied holidays
|
||||||
# HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
||||||
# HolidaysCanceled=Canceled holidays
|
HolidaysCanceled=Canceled holidays
|
||||||
# HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
||||||
|
Permission20000=Read you own holidays
|
||||||
# Permission20001=Read/create/modify their holidays
|
Permission20001=Create/modify your holidays
|
||||||
# Permission20002=Read/modify all requests of holidays
|
Permission20002=Create/modify holidays for everybody
|
||||||
# Permission20003=Delete their holidays requests
|
Permission20003=Delete holidays requests
|
||||||
# Permission20004=Define users holidays
|
Permission20004=Setup users holidays
|
||||||
# Permission20005=Review log of modified holidays
|
Permission20005=Review log of modified holidays
|
||||||
# Permission20006=Access holidays monthly report
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -1,209 +1,211 @@
|
|||||||
# Dolibarr language file - Source file is en_US - install
|
# Dolibarr language file - Source file is en_US - install
|
||||||
# InstallEasy=Just follow the instructions step by step.
|
InstallEasy=Just follow the instructions step by step.
|
||||||
# MiscellaneousChecks=Prerequisites check
|
MiscellaneousChecks=Prerequisites check
|
||||||
# DolibarrWelcome=Welcome to Dolibarr
|
DolibarrWelcome=Welcome to Dolibarr
|
||||||
# ConfFileExists=Configuration file <b>%s</b> exists.
|
ConfFileExists=Configuration file <b>%s</b> exists.
|
||||||
# ConfFileDoesNotExists=Configuration file <b>%s</b> does not exist !
|
ConfFileDoesNotExists=Configuration file <b>%s</b> does not exist !
|
||||||
# ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file <b>%s</b> does not exist and could not be created !
|
ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file <b>%s</b> does not exist and could not be created !
|
||||||
# ConfFileCouldBeCreated=Configuration file <b>%s</b> could be created.
|
ConfFileCouldBeCreated=Configuration file <b>%s</b> could be created.
|
||||||
# ConfFileIsNotWritable=Configuration file <b>%s</b> is not writable. Check permissions. For first install, your web server must be granted to be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS).
|
ConfFileIsNotWritable=Configuration file <b>%s</b> is not writable. Check permissions. For first install, your web server must be granted to be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS).
|
||||||
# ConfFileIsWritable=Configuration file <b>%s</b> is writable.
|
ConfFileIsWritable=Configuration file <b>%s</b> is writable.
|
||||||
# ConfFileReload=Reload all information from configuration file.
|
ConfFileReload=Reload all information from configuration file.
|
||||||
# PHPSupportSessions=This PHP supports sessions.
|
PHPSupportSessions=This PHP supports sessions.
|
||||||
# PHPSupportPOSTGETOk=This PHP supports variables POST and GET.
|
PHPSupportPOSTGETOk=This PHP supports variables POST and GET.
|
||||||
# PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check your parameter <b>variables_order</b> in php.ini.
|
PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check your parameter <b>variables_order</b> in php.ini.
|
||||||
# PHPSupportGD=This PHP support GD graphical functions.
|
PHPSupportGD=This PHP support GD graphical functions.
|
||||||
# PHPSupportUTF8=This PHP support UTF8 functions.
|
PHPSupportUTF8=This PHP support UTF8 functions.
|
||||||
# PHPMemoryOK=Your PHP max session memory is set to <b>%s</b>. This should be enough.
|
PHPMemoryOK=Your PHP max session memory is set to <b>%s</b>. This should be enough.
|
||||||
# PHPMemoryTooLow=Your PHP max session memory is set to <b>%s</b> bytes. This should be too low. Change your <b>php.ini</b> to set <b>memory_limit</b> parameter to at least <b>%s</b> bytes.
|
PHPMemoryTooLow=Your PHP max session memory is set to <b>%s</b> bytes. This should be too low. Change your <b>php.ini</b> to set <b>memory_limit</b> parameter to at least <b>%s</b> bytes.
|
||||||
# Recheck=Click here for a more significative test
|
Recheck=Click here for a more significative test
|
||||||
# ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to make Dolibarr working. Check your PHP setup.
|
ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to make Dolibarr working. Check your PHP setup.
|
||||||
# ErrorPHPDoesNotSupportGD=Your PHP installation does not support graphical function GD. No graph will be available.
|
ErrorPHPDoesNotSupportGD=Your PHP installation does not support graphical function GD. No graph will be available.
|
||||||
# ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr can't work correctly. Solve this before installing Dolibarr.
|
ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr can't work correctly. Solve this before installing Dolibarr.
|
||||||
# ErrorDirDoesNotExists=Directory %s does not exist.
|
ErrorDirDoesNotExists=Directory %s does not exist.
|
||||||
# ErrorGoBackAndCorrectParameters=Go backward and correct wrong parameters.
|
ErrorGoBackAndCorrectParameters=Go backward and correct wrong parameters.
|
||||||
# ErrorWrongValueForParameter=You may have typed a wrong value for parameter '%s'.
|
ErrorWrongValueForParameter=You may have typed a wrong value for parameter '%s'.
|
||||||
# ErrorFailedToCreateDatabase=Failed to create database '%s'.
|
ErrorFailedToCreateDatabase=Failed to create database '%s'.
|
||||||
# ErrorFailedToConnectToDatabase=Failed to connect to database '%s'.
|
ErrorFailedToConnectToDatabase=Failed to connect to database '%s'.
|
||||||
# ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
||||||
# ErrorPHPVersionTooLow=PHP version too old. Version %s is required.
|
ErrorPHPVersionTooLow=PHP version too old. Version %s is required.
|
||||||
# WarningPHPVersionTooLow=PHP version too old. Version %s or more is expected. This version should allow install but is not supported.
|
WarningPHPVersionTooLow=PHP version too old. Version %s or more is expected. This version should allow install but is not supported.
|
||||||
# ErrorConnectedButDatabaseNotFound=Connection to server successfull but database '%s' not found.
|
ErrorConnectedButDatabaseNotFound=Connection to server successfull but database '%s' not found.
|
||||||
# ErrorDatabaseAlreadyExists=Database '%s' already exists.
|
ErrorDatabaseAlreadyExists=Database '%s' already exists.
|
||||||
# IfDatabaseNotExistsGoBackAndUncheckCreate=If database does not exists, go back and check option "Create database".
|
IfDatabaseNotExistsGoBackAndUncheckCreate=If database does not exists, go back and check option "Create database".
|
||||||
# IfDatabaseExistsGoBackAndCheckCreate=If database already exists, go back and uncheck "Create database" option.
|
IfDatabaseExistsGoBackAndCheckCreate=If database already exists, go back and uncheck "Create database" option.
|
||||||
# WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
||||||
# PHPVersion=PHP Version
|
PHPVersion=PHP Version
|
||||||
# YouCanContinue=You can continue...
|
YouCanContinue=You can continue...
|
||||||
# PleaseBePatient=Please be patient...
|
PleaseBePatient=Please be patient...
|
||||||
# License=Using license
|
License=Using license
|
||||||
# ConfigurationFile=Configuration file
|
ConfigurationFile=Configuration file
|
||||||
# WebPagesDirectory=Directory where web pages are stored
|
WebPagesDirectory=Directory where web pages are stored
|
||||||
# DocumentsDirectory=Directory to store uploaded and generated documents
|
DocumentsDirectory=Directory to store uploaded and generated documents
|
||||||
# URLRoot=URL Root
|
URLRoot=URL Root
|
||||||
# ForceHttps=Force secure connections (https)
|
ForceHttps=Force secure connections (https)
|
||||||
# CheckToForceHttps=Check this option to force secure connections (https).<br>This requires that the web server is configured with an SSL certificate.
|
CheckToForceHttps=Check this option to force secure connections (https).<br>This requires that the web server is configured with an SSL certificate.
|
||||||
# DolibarrDatabase=Dolibarr Database
|
DolibarrDatabase=Dolibarr Database
|
||||||
# DatabaseChoice=Database choice
|
DatabaseChoice=Database choice
|
||||||
# DatabaseType=Database type
|
DatabaseType=Database type
|
||||||
# DriverType=Driver type
|
DriverType=Driver type
|
||||||
# Server=Server
|
Server=Server
|
||||||
# ServerAddressDescription=Name or ip address for database server, usually 'localhost' when database server is hosted on same server than web server
|
ServerAddressDescription=Name or ip address for database server, usually 'localhost' when database server is hosted on same server than web server
|
||||||
# ServerPortDescription=Database server port. Keep empty if unknown.
|
ServerPortDescription=Database server port. Keep empty if unknown.
|
||||||
# DatabaseServer=Database server
|
DatabaseServer=Database server
|
||||||
# DatabaseName=Database name
|
DatabaseName=Database name
|
||||||
# DatabasePrefix=Database prefix table
|
DatabasePrefix=Database prefix table
|
||||||
# Login=Login
|
Login=Login
|
||||||
# AdminLogin=Login for Dolibarr database owner.
|
AdminLogin=Login for Dolibarr database owner.
|
||||||
# Password=Password
|
Password=Password
|
||||||
# PasswordAgain=Retype password a second time
|
PasswordAgain=Retype password a second time
|
||||||
# AdminPassword=Password for Dolibarr database owner.
|
AdminPassword=Password for Dolibarr database owner.
|
||||||
# CreateDatabase=Create database
|
CreateDatabase=Create database
|
||||||
# CreateUser=Create owner
|
CreateUser=Create owner
|
||||||
# DatabaseSuperUserAccess=Database server - Superuser access
|
DatabaseSuperUserAccess=Database server - Superuser access
|
||||||
# CheckToCreateDatabase=Check box if database does not exist and must be created.<br>In this case, you must fill the login/password for superuser account at the bottom of this page.
|
CheckToCreateDatabase=Check box if database does not exist and must be created.<br>In this case, you must fill the login/password for superuser account at the bottom of this page.
|
||||||
# CheckToCreateUser=Check box if database owner does not exist and must be created.<br>In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists.
|
CheckToCreateUser=Check box if database owner does not exist and must be created.<br>In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists.
|
||||||
# Experimental=(experimental)
|
Experimental=(experimental)
|
||||||
# DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists.
|
DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists.
|
||||||
# KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this)
|
KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this)
|
||||||
# SaveConfigurationFile=Save values
|
SaveConfigurationFile=Save values
|
||||||
# ConfigurationSaving=Saving configuration file
|
ConfigurationSaving=Saving configuration file
|
||||||
# ServerConnection=Server connection
|
ServerConnection=Server connection
|
||||||
# DatabaseConnection=Database connection
|
DatabaseConnection=Database connection
|
||||||
# DatabaseCreation=Database creation
|
DatabaseCreation=Database creation
|
||||||
# UserCreation=User creation
|
UserCreation=User creation
|
||||||
# CreateDatabaseObjects=Database objects creation
|
CreateDatabaseObjects=Database objects creation
|
||||||
# ReferenceDataLoading=Reference data loading
|
ReferenceDataLoading=Reference data loading
|
||||||
# TablesAndPrimaryKeysCreation=Tables and Primary keys creation
|
TablesAndPrimaryKeysCreation=Tables and Primary keys creation
|
||||||
# CreateTableAndPrimaryKey=Create table %s
|
CreateTableAndPrimaryKey=Create table %s
|
||||||
# CreateOtherKeysForTable=Create foreign keys and indexes for table %s
|
CreateOtherKeysForTable=Create foreign keys and indexes for table %s
|
||||||
# OtherKeysCreation=Foreign keys and indexes creation
|
OtherKeysCreation=Foreign keys and indexes creation
|
||||||
# FunctionsCreation=Functions creation
|
FunctionsCreation=Functions creation
|
||||||
# AdminAccountCreation=Administrator login creation
|
AdminAccountCreation=Administrator login creation
|
||||||
# PleaseTypePassword=Please type a password, empty passwords are not allowed !
|
PleaseTypePassword=Please type a password, empty passwords are not allowed !
|
||||||
# PleaseTypeALogin=Please type a login !
|
PleaseTypeALogin=Please type a login !
|
||||||
# PasswordsMismatch=Passwords differs, please try again !
|
PasswordsMismatch=Passwords differs, please try again !
|
||||||
# SetupEnd=End of setup
|
SetupEnd=End of setup
|
||||||
# SystemIsInstalled=This installation is complete.
|
SystemIsInstalled=This installation is complete.
|
||||||
# SystemIsUpgraded=Dolibarr has been upgraded successfully.
|
SystemIsUpgraded=Dolibarr has been upgraded successfully.
|
||||||
# YouNeedToPersonalizeSetup=You need to configure Dolibarr to suit your needs (appearance, features, ...). To do this, please follow the link below:
|
YouNeedToPersonalizeSetup=You need to configure Dolibarr to suit your needs (appearance, features, ...). To do this, please follow the link below:
|
||||||
# AdminLoginCreatedSuccessfuly=Dolibarr administrator login '<b>%s</b>' created successfuly.
|
AdminLoginCreatedSuccessfuly=Dolibarr administrator login '<b>%s</b>' created successfuly.
|
||||||
# GoToDolibarr=Go to Dolibarr
|
GoToDolibarr=Go to Dolibarr
|
||||||
# GoToSetupArea=Go to Dolibarr (setup area)
|
GoToSetupArea=Go to Dolibarr (setup area)
|
||||||
# MigrationNotFinished=Version of your database is not completely up to date, so you'll have to run the upgrade process again.
|
MigrationNotFinished=Version of your database is not completely up to date, so you'll have to run the upgrade process again.
|
||||||
# GoToUpgradePage=Go to upgrade page again
|
GoToUpgradePage=Go to upgrade page again
|
||||||
# Examples=Examples
|
Examples=Examples
|
||||||
# WithNoSlashAtTheEnd=Without the slash "/" at the end
|
WithNoSlashAtTheEnd=Without the slash "/" at the end
|
||||||
# DirectoryRecommendation=It is recommanded to use a directory outside of your directory of your web pages.
|
DirectoryRecommendation=It is recommanded to use a directory outside of your directory of your web pages.
|
||||||
# LoginAlreadyExists=Already exists
|
LoginAlreadyExists=Already exists
|
||||||
# DolibarrAdminLogin=Dolibarr admin login
|
DolibarrAdminLogin=Dolibarr admin login
|
||||||
# AdminLoginAlreadyExists=Dolibarr administrator account '<b>%s</b>' already exists. Go back, if you want to create another one.
|
AdminLoginAlreadyExists=Dolibarr administrator account '<b>%s</b>' already exists. Go back, if you want to create another one.
|
||||||
# WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called <b>install.lock</b> into Dolibarr document directory, in order to avoid malicious use of it.
|
WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called <b>install.lock</b> into Dolibarr document directory, in order to avoid malicious use of it.
|
||||||
# ThisPHPDoesNotSupportTypeBase=This PHP system does not support any interface to access database type %s
|
ThisPHPDoesNotSupportTypeBase=This PHP system does not support any interface to access database type %s
|
||||||
# FunctionNotAvailableInThisPHP=Not available on this PHP
|
FunctionNotAvailableInThisPHP=Not available on this PHP
|
||||||
# MigrateScript=Migration script
|
MigrateScript=Migration script
|
||||||
# ChoosedMigrateScript=Choose migration script
|
ChoosedMigrateScript=Choose migration script
|
||||||
# DataMigration=Data migration
|
DataMigration=Data migration
|
||||||
# DatabaseMigration=Structure database migration
|
DatabaseMigration=Structure database migration
|
||||||
# ProcessMigrateScript=Script processing
|
ProcessMigrateScript=Script processing
|
||||||
# ChooseYourSetupMode=Choose your setup mode and click "Start"...
|
ChooseYourSetupMode=Choose your setup mode and click "Start"...
|
||||||
# FreshInstall=Fresh install
|
FreshInstall=Fresh install
|
||||||
# FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install, but if you want to upgrade your version, choose "Upgrade" mode.
|
FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install, but if you want to upgrade your version, choose "Upgrade" mode.
|
||||||
# Upgrade=Upgrade
|
Upgrade=Upgrade
|
||||||
# UpgradeDesc=Use this mode if you have replaced old Dolibarr files with files from a newer version. This will upgrade your database and data.
|
UpgradeDesc=Use this mode if you have replaced old Dolibarr files with files from a newer version. This will upgrade your database and data.
|
||||||
# Start=Start
|
Start=Start
|
||||||
# InstallNotAllowed=Setup not allowed by <b>conf.php</b> permissions
|
InstallNotAllowed=Setup not allowed by <b>conf.php</b> permissions
|
||||||
# NotAvailable=Not available
|
NotAvailable=Not available
|
||||||
# YouMustCreateWithPermission=You must create file %s and set write permissions on it for the web server during install process.
|
YouMustCreateWithPermission=You must create file %s and set write permissions on it for the web server during install process.
|
||||||
# CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload page.
|
CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload page.
|
||||||
# AlreadyDone=Already migrated
|
AlreadyDone=Already migrated
|
||||||
# DatabaseVersion=Database version
|
DatabaseVersion=Database version
|
||||||
# ServerVersion=Database server version
|
ServerVersion=Database server version
|
||||||
# YouMustCreateItAndAllowServerToWrite=You must create this directory and allow for the web server to write into it.
|
YouMustCreateItAndAllowServerToWrite=You must create this directory and allow for the web server to write into it.
|
||||||
# CharsetChoice=Character set choice
|
CharsetChoice=Character set choice
|
||||||
# CharacterSetClient=Character set used for generated HTML web pages
|
CharacterSetClient=Character set used for generated HTML web pages
|
||||||
# CharacterSetClientComment=Choose character set for web display.<br/> Default proposed character set is the one of your database.
|
CharacterSetClientComment=Choose character set for web display.<br/> Default proposed character set is the one of your database.
|
||||||
# DBSortingCollation=Character sorting order
|
DBSortingCollation=Character sorting order
|
||||||
# DBSortingCollationComment=Choose page code that defines character's sorting order used by database. This parameter is also called 'collation' by some databases.<br/>This parameter can't be defined if database already exists.
|
DBSortingCollationComment=Choose page code that defines character's sorting order used by database. This parameter is also called 'collation' by some databases.<br/>This parameter can't be defined if database already exists.
|
||||||
# CharacterSetDatabase=Character set for database
|
CharacterSetDatabase=Character set for database
|
||||||
# CharacterSetDatabaseComment=Choose character set wanted for database creation.<br/>This parameter can't be defined if database already exists.
|
CharacterSetDatabaseComment=Choose character set wanted for database creation.<br/>This parameter can't be defined if database already exists.
|
||||||
# YouAskDatabaseCreationSoDolibarrNeedToConnect=You ask to create database <b>%s</b>, but for this, Dolibarr need to connect to server <b>%s</b> with super user <b>%s</b> permissions.
|
YouAskDatabaseCreationSoDolibarrNeedToConnect=You ask to create database <b>%s</b>, but for this, Dolibarr need to connect to server <b>%s</b> with super user <b>%s</b> permissions.
|
||||||
# YouAskLoginCreationSoDolibarrNeedToConnect=You ask to create database login <b>%s</b>, but for this, Dolibarr need to connect to server <b>%s</b> with super user <b>%s</b> permissions.
|
YouAskLoginCreationSoDolibarrNeedToConnect=You ask to create database login <b>%s</b>, but for this, Dolibarr need to connect to server <b>%s</b> with super user <b>%s</b> permissions.
|
||||||
# BecauseConnectionFailedParametersMayBeWrong=As connection failed, host or super user parameters must be wrong.
|
BecauseConnectionFailedParametersMayBeWrong=As connection failed, host or super user parameters must be wrong.
|
||||||
# OrphelinsPaymentsDetectedByMethod=Orphans payment detected by method %s
|
OrphelinsPaymentsDetectedByMethod=Orphans payment detected by method %s
|
||||||
# RemoveItManuallyAndPressF5ToContinue=Remove it manually and press F5 to continue.
|
RemoveItManuallyAndPressF5ToContinue=Remove it manually and press F5 to continue.
|
||||||
# KeepDefaultValuesWamp=You use the Dolibarr setup wizard from DoliWamp, so values proposed here are already optimized. Change them only if you know what you do.
|
KeepDefaultValuesWamp=You use the Dolibarr setup wizard from DoliWamp, so values proposed here are already optimized. Change them only if you know what you do.
|
||||||
# KeepDefaultValuesDeb=You use the Dolibarr setup wizard from a Linux package (Ubuntu, Debian, Fedora...), so values proposed here are already optimized. Only the password of the database owner to create must be completed. Change other parameters only if you know what you do.
|
KeepDefaultValuesDeb=You use the Dolibarr setup wizard from a Linux package (Ubuntu, Debian, Fedora...), so values proposed here are already optimized. Only the password of the database owner to create must be completed. Change other parameters only if you know what you do.
|
||||||
# KeepDefaultValuesMamp=You use the Dolibarr setup wizard from DoliMamp, so values proposed here are already optimized. Change them only if you know what you do.
|
KeepDefaultValuesMamp=You use the Dolibarr setup wizard from DoliMamp, so values proposed here are already optimized. Change them only if you know what you do.
|
||||||
# KeepDefaultValuesProxmox=You use the Dolibarr setup wizard from a Proxmox virtual appliance, so values proposed here are already optimized. Change them only if you know what you do.
|
KeepDefaultValuesProxmox=You use the Dolibarr setup wizard from a Proxmox virtual appliance, so values proposed here are already optimized. Change them only if you know what you do.
|
||||||
# FieldRenamed=Field renamed
|
FieldRenamed=Field renamed
|
||||||
# IfLoginDoesNotExistsCheckCreateUser=If login does not exists yet, you must check option "Create user"
|
IfLoginDoesNotExistsCheckCreateUser=If login does not exists yet, you must check option "Create user"
|
||||||
# ErrorConnection=Server "<b>%s</b>", database name "<b>%s</b>", login "<b>%s</b>", or database password may be wrong or PHP client version may be too old compared to database version.
|
ErrorConnection=Server "<b>%s</b>", database name "<b>%s</b>", login "<b>%s</b>", or database password may be wrong or PHP client version may be too old compared to database version.
|
||||||
# InstallChoiceRecommanded=Recommended choice to install version <b>%s</b> from your current version <b>%s</b>
|
InstallChoiceRecommanded=Recommended choice to install version <b>%s</b> from your current version <b>%s</b>
|
||||||
# InstallChoiceSuggested=<b>Install choice suggested by installer</b>.
|
InstallChoiceSuggested=<b>Install choice suggested by installer</b>.
|
||||||
# MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions, so install wizard will come back to suggest next migration once this one will be finished.
|
MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions, so install wizard will come back to suggest next migration once this one will be finished.
|
||||||
# CheckThatDatabasenameIsCorrect=Check that database name "<b>%s</b>" is correct.
|
CheckThatDatabasenameIsCorrect=Check that database name "<b>%s</b>" is correct.
|
||||||
# IfAlreadyExistsCheckOption=If this name is correct and that database does not exist yet, you must check option "Create database".
|
IfAlreadyExistsCheckOption=If this name is correct and that database does not exist yet, you must check option "Create database".
|
||||||
# OpenBaseDir=PHP openbasedir parameter
|
OpenBaseDir=PHP openbasedir parameter
|
||||||
# YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide login/password of superuser (bottom of form).
|
YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide login/password of superuser (bottom of form).
|
||||||
# YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide login/password of superuser (bottom of form).
|
YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide login/password of superuser (bottom of form).
|
||||||
# NextStepMightLastALongTime=Current step may last several minutes. Please wait until the next screen is shown completely before continuing.
|
NextStepMightLastALongTime=Current step may last several minutes. Please wait until the next screen is shown completely before continuing.
|
||||||
# MigrationCustomerOrderShipping=Migrate shipping for customer orders storage
|
MigrationCustomerOrderShipping=Migrate shipping for customer orders storage
|
||||||
# MigrationShippingDelivery=Upgrade storage of shipping
|
MigrationShippingDelivery=Upgrade storage of shipping
|
||||||
# MigrationShippingDelivery2=Upgrade storage of shipping 2
|
MigrationShippingDelivery2=Upgrade storage of shipping 2
|
||||||
# MigrationFinished=Migration finished
|
MigrationFinished=Migration finished
|
||||||
# LastStepDesc=<strong>Last step</strong>: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others.
|
LastStepDesc=<strong>Last step</strong>: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others.
|
||||||
# ActivateModule=Activate module %s
|
ActivateModule=Activate module %s
|
||||||
# ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
#########
|
MigrationFixData=Fix for denormalized data
|
||||||
# MigrationFixData=Fix for denormalized data
|
MigrationOrder=Data migration for customer's orders
|
||||||
# MigrationOrder=Data migration for customer's orders
|
MigrationSupplierOrder=Data migration for supplier's orders
|
||||||
# MigrationSupplierOrder=Data migration for supplier's orders
|
MigrationProposal=Data migration for commercial proposals
|
||||||
# MigrationProposal=Data migration for commercial proposals
|
MigrationInvoice=Data migration for customer's invoices
|
||||||
# MigrationInvoice=Data migration for customer's invoices
|
MigrationContract=Data migration for contracts
|
||||||
# MigrationContract=Data migration for contracts
|
MigrationSuccessfullUpdate=Upgrade successful
|
||||||
# MigrationSuccessfullUpdate=Upgrade successful
|
MigrationUpdateFailed=Failed upgrade process
|
||||||
# MigrationUpdateFailed=Failed upgrade process
|
MigrationRelationshipTables=Data migration for relationship tables (%s)
|
||||||
# MigrationRelationshipTables=Data migration for relationship tables (%s)
|
MigrationPaymentsUpdate=Payment data correction
|
||||||
# MigrationPaymentsUpdate=Payment data correction
|
MigrationPaymentsNumberToUpdate=%s payment(s) to update
|
||||||
# MigrationPaymentsNumberToUpdate=%s payment(s) to update
|
MigrationProcessPaymentUpdate=Update payment(s) %s
|
||||||
# MigrationProcessPaymentUpdate=Update payment(s) %s
|
MigrationPaymentsNothingToUpdate=No more things to do
|
||||||
# MigrationPaymentsNothingToUpdate=No more things to do
|
MigrationPaymentsNothingUpdatable=No more payments that can be corrected
|
||||||
# MigrationPaymentsNothingUpdatable=No more payments that can be corrected
|
MigrationContractsUpdate=Contract data correction
|
||||||
# MigrationContractsUpdate=Contract data correction
|
MigrationContractsNumberToUpdate=%s contract(s) to update
|
||||||
# MigrationContractsNumberToUpdate=%s contract(s) to update
|
MigrationContractsLineCreation=Create contract line for contract ref %s
|
||||||
# MigrationContractsLineCreation=Create contract line for contract ref %s
|
MigrationContractsNothingToUpdate=No more things to do
|
||||||
# MigrationContractsNothingToUpdate=No more things to do
|
MigrationContractsFieldDontExist=Field fk_facture does not exists anymore. Nothing to do.
|
||||||
# MigrationContractsFieldDontExist=Field fk_facture does not exists anymore. Nothing to do.
|
MigrationContractsEmptyDatesUpdate=Contract empty date correction
|
||||||
# MigrationContractsEmptyDatesUpdate=Contract empty date correction
|
MigrationContractsEmptyDatesUpdateSuccess=Contract emtpy date correction done successfuly
|
||||||
# MigrationContractsEmptyDatesUpdateSuccess=Contract emtpy date correction done successfuly
|
MigrationContractsEmptyDatesNothingToUpdate=No contract empty date to correct
|
||||||
# MigrationContractsEmptyDatesNothingToUpdate=No contract empty date to correct
|
MigrationContractsEmptyCreationDatesNothingToUpdate=No contract creation date to correct
|
||||||
# MigrationContractsEmptyCreationDatesNothingToUpdate=No contract creation date to correct
|
MigrationContractsInvalidDatesUpdate=Bad value date contract correction
|
||||||
# MigrationContractsInvalidDatesUpdate=Bad value date contract correction
|
MigrationContractsInvalidDateFix=Correct contract %s (Contract date=%s, Starting service date min=%s)
|
||||||
# MigrationContractsInvalidDateFix=Correct contract %s (Contract date=%s, Starting service date min=%s)
|
MigrationContractsInvalidDatesNumber=%s contracts modified
|
||||||
# MigrationContractsInvalidDatesNumber=%s contracts modified
|
MigrationContractsInvalidDatesNothingToUpdate=No date with bad value to correct
|
||||||
# MigrationContractsInvalidDatesNothingToUpdate=No date with bad value to correct
|
MigrationContractsIncoherentCreationDateUpdate=Bad value contract creation date correction
|
||||||
# MigrationContractsIncoherentCreationDateUpdate=Bad value contract creation date correction
|
MigrationContractsIncoherentCreationDateUpdateSuccess=Bad value contract creation date correction done succesfuly
|
||||||
# MigrationContractsIncoherentCreationDateUpdateSuccess=Bad value contract creation date correction done succesfuly
|
MigrationContractsIncoherentCreationDateNothingToUpdate=No bad value for contract creation date to correct
|
||||||
# MigrationContractsIncoherentCreationDateNothingToUpdate=No bad value for contract creation date to correct
|
MigrationReopeningContracts=Open contract closed by error
|
||||||
# MigrationReopeningContracts=Open contract closed by error
|
MigrationReopenThisContract=Reopen contract %s
|
||||||
# MigrationReopenThisContract=Reopen contract %s
|
MigrationReopenedContractsNumber=%s contracts modified
|
||||||
# MigrationReopenedContractsNumber=%s contracts modified
|
MigrationReopeningContractsNothingToUpdate=No closed contract to open
|
||||||
# MigrationReopeningContractsNothingToUpdate=No closed contract to open
|
MigrationBankTransfertsUpdate=Update links between bank transaction and a bank transfer
|
||||||
# MigrationBankTransfertsUpdate=Update links between bank transaction and a bank transfer
|
MigrationBankTransfertsNothingToUpdate=All links are up to date
|
||||||
# MigrationBankTransfertsNothingToUpdate=All links are up to date
|
MigrationShipmentOrderMatching=Sendings receipt update
|
||||||
# MigrationShipmentOrderMatching=Sendings receipt update
|
MigrationDeliveryOrderMatching=Delivery receipt update
|
||||||
# MigrationDeliveryOrderMatching=Delivery receipt update
|
MigrationDeliveryDetail=Delivery update
|
||||||
# MigrationDeliveryDetail=Delivery update
|
MigrationStockDetail=Update stock value of products
|
||||||
# MigrationStockDetail=Update stock value of products
|
MigrationMenusDetail=Update dynamic menus tables
|
||||||
# MigrationMenusDetail=Update dynamic menus tables
|
MigrationDeliveryAddress=Update delivery address in shipments
|
||||||
# MigrationDeliveryAddress=Update delivery address in shipments
|
MigrationProjectTaskActors=Data migration for llx_projet_task_actors table
|
||||||
# MigrationProjectTaskActors=Data migration for llx_projet_task_actors table
|
MigrationProjectUserResp=Data migration field fk_user_resp of llx_projet to llx_element_contact
|
||||||
# MigrationProjectUserResp=Data migration field fk_user_resp of llx_projet to llx_element_contact
|
MigrationProjectTaskTime=Update time spent in seconds
|
||||||
# MigrationProjectTaskTime=Update time spent in seconds
|
MigrationActioncommElement=Update data on actions
|
||||||
# MigrationActioncommElement=Update data on actions
|
MigrationPaymentMode=Data migration for payment mode
|
||||||
# MigrationPaymentMode=Data migration for payment mode
|
MigrationCategorieAssociation=Migration of categories
|
||||||
# MigrationCategorieAssociation=Migration of categories
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -1,152 +1,150 @@
|
|||||||
# Dolibarr language file - Source file is en_US - holiday
|
# Dolibarr language file - Source file is en_US - holiday
|
||||||
# HRM=HRM
|
HRM=HRM
|
||||||
# Holidays=Holidays
|
Holidays=Holidays
|
||||||
# CPTitreMenu=Holidays
|
CPTitreMenu=Holidays
|
||||||
# MenuReportMonth=Monthly statement
|
MenuReportMonth=Monthly statement
|
||||||
# MenuAddCP=Apply for holidays
|
MenuAddCP=Apply for holidays
|
||||||
# NotActiveModCP=You must enable the module holidays to view this page.
|
NotActiveModCP=You must enable the module holidays to view this page.
|
||||||
# NotConfigModCP=You must configure the module holidays to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
NotConfigModCP=You must configure the module holidays to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
||||||
# NoCPforUser=You don't have a demand for holidays.
|
NoCPforUser=You don't have a demand for holidays.
|
||||||
# AddCP=Apply for holidays
|
AddCP=Apply for holidays
|
||||||
# CPErrorSQL=An SQL error occurred:
|
CPErrorSQL=An SQL error occurred:
|
||||||
# Employe=Employee
|
Employe=Employee
|
||||||
DateDebCP=تاريخ البدء
|
DateDebCP=تاريخ البدء
|
||||||
DateFinCP=نهاية التاريخ
|
DateFinCP=نهاية التاريخ
|
||||||
DateCreateCP=تاريخ الإنشاء
|
DateCreateCP=تاريخ الإنشاء
|
||||||
DraftCP=مسودة
|
DraftCP=مسودة
|
||||||
# ToReviewCP=Awaiting approval
|
ToReviewCP=Awaiting approval
|
||||||
ApprovedCP=وافق
|
ApprovedCP=وافق
|
||||||
CancelCP=ألغيت
|
CancelCP=ألغيت
|
||||||
RefuseCP=رفض
|
RefuseCP=رفض
|
||||||
# ValidatorCP=Approbator
|
ValidatorCP=Approbator
|
||||||
# ListeCP=List of holidays
|
ListeCP=List of holidays
|
||||||
# ReviewedByCP=Will be reviewed by
|
ReviewedByCP=Will be reviewed by
|
||||||
DescCP=وصف
|
DescCP=وصف
|
||||||
# SendRequestCP=Creating demand for holidays
|
SendRequestCP=Creating demand for holidays
|
||||||
# DelayToRequestCP=Applications for holidays must be made at least <b>%s day(s)</b> before them.
|
DelayToRequestCP=Applications for holidays must be made at least <b>%s day(s)</b> before them.
|
||||||
# MenuConfCP=Edit balance of holidays
|
MenuConfCP=Edit balance of holidays
|
||||||
# UpdateAllCP=Update the holidays
|
UpdateAllCP=Update the holidays
|
||||||
# SoldeCPUser=Holidays balance is <b>%s</b> days.
|
SoldeCPUser=Holidays balance is <b>%s</b> days.
|
||||||
# ErrorEndDateCP=You must select an end date greater than the start date.
|
ErrorEndDateCP=You must select an end date greater than the start date.
|
||||||
# ErrorSQLCreateCP=An SQL error occurred during the creation:
|
ErrorSQLCreateCP=An SQL error occurred during the creation:
|
||||||
# ErrorIDFicheCP=An error has occurred, the request for holidays does not exist.
|
ErrorIDFicheCP=An error has occurred, the request for holidays does not exist.
|
||||||
# ReturnCP=Return to previous page
|
ReturnCP=Return to previous page
|
||||||
# ErrorUserViewCP=You are not authorized to read this request for holidays.
|
ErrorUserViewCP=You are not authorized to read this request for holidays.
|
||||||
# InfosCP=Information of the demand of holidays
|
InfosCP=Information of the demand of holidays
|
||||||
# InfosWorkflowCP=Information Workflow
|
InfosWorkflowCP=Information Workflow
|
||||||
DateCreateCP=تاريخ الإنشاء
|
RequestByCP=Requested by
|
||||||
# RequestByCP=Requested by
|
TitreRequestCP=Sheet of holidays
|
||||||
# TitreRequestCP=Sheet of holidays
|
NbUseDaysCP=Number of days of holidays consumed
|
||||||
# NbUseDaysCP=Number of days of holidays consumed
|
|
||||||
EditCP=ویرایش
|
EditCP=ویرایش
|
||||||
DeleteCP=حذف
|
DeleteCP=حذف
|
||||||
ActionValidCP=تایید کردن
|
ActionValidCP=تایید کردن
|
||||||
# ActionRefuseCP=Refuse
|
ActionRefuseCP=Refuse
|
||||||
ActionCancelCP=لغو
|
ActionCancelCP=لغو
|
||||||
StatutCP=حالة
|
StatutCP=حالة
|
||||||
# SendToValidationCP=Send to validation
|
SendToValidationCP=Send to validation
|
||||||
# TitleDeleteCP=Delete the request of holidays
|
TitleDeleteCP=Delete the request of holidays
|
||||||
# ConfirmDeleteCP=Confirm the deletion of this request for holidays?
|
ConfirmDeleteCP=Confirm the deletion of this request for holidays?
|
||||||
# ErrorCantDeleteCP=Error you don't have the right to delete this holiday request.
|
ErrorCantDeleteCP=Error you don't have the right to delete this holiday request.
|
||||||
# CantCreateCP=You don't have the right to apply for holidays.
|
CantCreateCP=You don't have the right to apply for holidays.
|
||||||
# InvalidValidatorCP=You must choose an approbator to your holiday request.
|
InvalidValidatorCP=You must choose an approbator to your holiday request.
|
||||||
UpdateButtonCP=به روز کردن
|
UpdateButtonCP=به روز کردن
|
||||||
# CantUpdate=You cannot update this request of holidays.
|
CantUpdate=You cannot update this request of holidays.
|
||||||
# NoDateDebut=You must select a start date.
|
NoDateDebut=You must select a start date.
|
||||||
# NoDateFin=You must select an end date.
|
NoDateFin=You must select an end date.
|
||||||
# ErrorDureeCP=Your request for holidays does not contain working day.
|
ErrorDureeCP=Your request for holidays does not contain working day.
|
||||||
# TitleValidCP=Approve the request holidays
|
TitleValidCP=Approve the request holidays
|
||||||
# ConfirmValidCP=Are you sure you want to approve the holiday request?
|
ConfirmValidCP=Are you sure you want to approve the holiday request?
|
||||||
# DateValidCP=Date approved
|
DateValidCP=Date approved
|
||||||
# TitleToValidCP=Send request holidays
|
TitleToValidCP=Send request holidays
|
||||||
# ConfirmToValidCP=Are you sure you want to send the request of holidays?
|
ConfirmToValidCP=Are you sure you want to send the request of holidays?
|
||||||
# TitleRefuseCP=Refuse the request holidays
|
TitleRefuseCP=Refuse the request holidays
|
||||||
# ConfirmRefuseCP=Are you sure you want to refuse the request of holidays?
|
ConfirmRefuseCP=Are you sure you want to refuse the request of holidays?
|
||||||
# NoMotifRefuseCP=You must choose a reason for refusing the request.
|
NoMotifRefuseCP=You must choose a reason for refusing the request.
|
||||||
# TitleCancelCP=Cancel the request holidays
|
TitleCancelCP=Cancel the request holidays
|
||||||
# ConfirmCancelCP=Are you sure you want to cancel the request of holidays?
|
ConfirmCancelCP=Are you sure you want to cancel the request of holidays?
|
||||||
# DetailRefusCP=Reason for refusal
|
DetailRefusCP=Reason for refusal
|
||||||
# DateRefusCP=Date of refusal
|
DateRefusCP=Date of refusal
|
||||||
# DateCancelCP=Date of cancellation
|
DateCancelCP=Date of cancellation
|
||||||
# DefineEventUserCP=Assign an exceptional leave for a user
|
DefineEventUserCP=Assign an exceptional leave for a user
|
||||||
# addEventToUserCP=Assign leave
|
addEventToUserCP=Assign leave
|
||||||
MotifCP=سبب
|
MotifCP=سبب
|
||||||
UserCP=مستخدم
|
UserCP=مستخدم
|
||||||
# ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
||||||
# AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
||||||
# MenuLogCP=View logs of holidays
|
MenuLogCP=View logs of holidays
|
||||||
# LogCP=Log of updates of holidays
|
LogCP=Log of updates of holidays
|
||||||
# ActionByCP=Performed by
|
ActionByCP=Performed by
|
||||||
# UserUpdateCP=For the user
|
UserUpdateCP=For the user
|
||||||
# PrevSoldeCP=Previous Balance
|
PrevSoldeCP=Previous Balance
|
||||||
# NewSoldeCP=New Balance
|
NewSoldeCP=New Balance
|
||||||
# alreadyCPexist=A request for holidays has already been done on this period.
|
alreadyCPexist=A request for holidays has already been done on this period.
|
||||||
UserName=اسم
|
UserName=اسم
|
||||||
# Employee=Employee
|
Employee=Employee
|
||||||
# FirstDayOfHoliday=First day of holiday
|
FirstDayOfHoliday=First day of holiday
|
||||||
# LastDayOfHoliday=Last day of holiday
|
LastDayOfHoliday=Last day of holiday
|
||||||
# HolidaysMonthlyUpdate=Monthly update
|
HolidaysMonthlyUpdate=Monthly update
|
||||||
# ManualUpdate=Manual update
|
ManualUpdate=Manual update
|
||||||
# HolidaysCancelation=Holidays cancelation
|
HolidaysCancelation=Holidays cancelation
|
||||||
|
|
||||||
## Configuration du Module ##
|
## Configuration du Module ##
|
||||||
# ConfCP=Configuration of holidays module
|
ConfCP=Configuration of holidays module
|
||||||
# DescOptionCP=Description of the option
|
DescOptionCP=Description of the option
|
||||||
ValueOptionCP=القيمة
|
ValueOptionCP=القيمة
|
||||||
# GroupToValidateCP=Group with the ability to approve holidays
|
GroupToValidateCP=Group with the ability to approve holidays
|
||||||
# ConfirmConfigCP=Validate the configuration
|
ConfirmConfigCP=Validate the configuration
|
||||||
# LastUpdateCP=Last updated automatically of holidays
|
LastUpdateCP=Last updated automatically of holidays
|
||||||
# UpdateConfCPOK=Updated successfully.
|
UpdateConfCPOK=Updated successfully.
|
||||||
# ErrorUpdateConfCP=An error occurred during the update, please try again.
|
ErrorUpdateConfCP=An error occurred during the update, please try again.
|
||||||
# AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
||||||
# DelayForSubmitCP=Deadline to apply for holidays
|
DelayForSubmitCP=Deadline to apply for holidays
|
||||||
# AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline
|
AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline
|
||||||
# AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay
|
AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay
|
||||||
# AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance
|
AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance
|
||||||
# nbUserCP=Number of users supported in the module holidays
|
nbUserCP=Number of users supported in the module holidays
|
||||||
# nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
|
nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
|
||||||
# nbHolidayEveryMonthCP=Number of holidays added every month
|
nbHolidayEveryMonthCP=Number of holidays added every month
|
||||||
# Module27130Name= Management of holidays
|
Module27130Name= Management of holidays
|
||||||
# Module27130Desc= Management of holidays
|
Module27130Desc= Management of holidays
|
||||||
# TitleOptionMainCP=Main settings of holidays
|
TitleOptionMainCP=Main settings of holidays
|
||||||
# TitleOptionEventCP=Settings of holidays related to events
|
TitleOptionEventCP=Settings of holidays related to events
|
||||||
ValidEventCP=تایید کردن
|
ValidEventCP=تایید کردن
|
||||||
# UpdateEventCP=Update events
|
UpdateEventCP=Update events
|
||||||
CreateEventCP=خلق
|
CreateEventCP=خلق
|
||||||
# NameEventCP=Event name
|
NameEventCP=Event name
|
||||||
# OkCreateEventCP=The addition of the event went well.
|
OkCreateEventCP=The addition of the event went well.
|
||||||
# ErrorCreateEventCP=Error creating the event.
|
ErrorCreateEventCP=Error creating the event.
|
||||||
# UpdateEventOkCP=The update of the event went well.
|
UpdateEventOkCP=The update of the event went well.
|
||||||
# ErrorUpdateEventCP=Error while updating the event.
|
ErrorUpdateEventCP=Error while updating the event.
|
||||||
# DeleteEventCP=Delete Event
|
DeleteEventCP=Delete Event
|
||||||
# DeleteEventOkCP=The event has been deleted.
|
DeleteEventOkCP=The event has been deleted.
|
||||||
# ErrorDeleteEventCP=Error while deleting the event.
|
ErrorDeleteEventCP=Error while deleting the event.
|
||||||
# TitleDeleteEventCP=Delete a exceptional leave
|
TitleDeleteEventCP=Delete a exceptional leave
|
||||||
# TitleCreateEventCP=Create a exceptional leave
|
TitleCreateEventCP=Create a exceptional leave
|
||||||
# TitleUpdateEventCP=Edit or delete a exceptional leave
|
TitleUpdateEventCP=Edit or delete a exceptional leave
|
||||||
DeleteEventOptionCP=حذف
|
DeleteEventOptionCP=حذف
|
||||||
UpdateEventOptionCP=به روز کردن
|
UpdateEventOptionCP=به روز کردن
|
||||||
# ErrorMailNotSend=An error occurred while sending email:
|
ErrorMailNotSend=An error occurred while sending email:
|
||||||
# NoCPforMonth=No leave this month.
|
NoCPforMonth=No leave this month.
|
||||||
# nbJours=Number days
|
nbJours=Number days
|
||||||
# TitleAdminCP=Configuration of Holidays
|
TitleAdminCP=Configuration of Holidays
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
# Hello=Hello
|
Hello=Hello
|
||||||
# HolidaysToValidate=Validate holidays
|
HolidaysToValidate=Validate holidays
|
||||||
# HolidaysToValidateBody=Below is a request for holidays to validate
|
HolidaysToValidateBody=Below is a request for holidays to validate
|
||||||
# HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
||||||
# HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days.
|
HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days.
|
||||||
# HolidaysValidated=Validated holidays
|
HolidaysValidated=Validated holidays
|
||||||
# HolidaysValidatedBody=Your request for holidays for %s to %s has been validated.
|
HolidaysValidatedBody=Your request for holidays for %s to %s has been validated.
|
||||||
# HolidaysRefused=Denied holidays
|
HolidaysRefused=Denied holidays
|
||||||
# HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
||||||
# HolidaysCanceled=Canceled holidays
|
HolidaysCanceled=Canceled holidays
|
||||||
# HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
||||||
|
Permission20000=Read you own holidays
|
||||||
# Permission20001=Read/create/modify their holidays
|
Permission20001=Create/modify your holidays
|
||||||
# Permission20002=Read/modify all requests of holidays
|
Permission20002=Create/modify holidays for everybody
|
||||||
# Permission20003=Delete their holidays requests
|
Permission20003=Delete holidays requests
|
||||||
# Permission20004=Define users holidays
|
Permission20004=Setup users holidays
|
||||||
# Permission20005=Review log of modified holidays
|
Permission20005=Review log of modified holidays
|
||||||
# Permission20006=Access holidays monthly report
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -8,7 +8,7 @@ ConfFileDoesNotExistsAndCouldNotBeCreated=ملفات <b>ل ٪</b> لا وجود
|
|||||||
ConfFileCouldBeCreated=ملفات <b>ل ٪</b> ويمكن أن تنشأ.
|
ConfFileCouldBeCreated=ملفات <b>ل ٪</b> ويمكن أن تنشأ.
|
||||||
ConfFileIsNotWritable=ملفات <b>٪ ق</b> ليست للكتابة. التحقق من الأذونات. أولا لتركيب وخدمة الويب الخاص بك يجب أن تمنح ليكون قادرا على الكتابة في هذا الملف خلال عملية التهيئة ( "chmod 666" على سبيل المثال ، مثل نظام التشغيل يونكس).
|
ConfFileIsNotWritable=ملفات <b>٪ ق</b> ليست للكتابة. التحقق من الأذونات. أولا لتركيب وخدمة الويب الخاص بك يجب أن تمنح ليكون قادرا على الكتابة في هذا الملف خلال عملية التهيئة ( "chmod 666" على سبيل المثال ، مثل نظام التشغيل يونكس).
|
||||||
ConfFileIsWritable=ملفات للكتابة هو <b>٪ ق.</b>
|
ConfFileIsWritable=ملفات للكتابة هو <b>٪ ق.</b>
|
||||||
# ConfFileReload=Reload all information from configuration file.
|
ConfFileReload=Reload all information from configuration file.
|
||||||
PHPSupportSessions=ويدعم هذا PHP الدورات.
|
PHPSupportSessions=ويدعم هذا PHP الدورات.
|
||||||
PHPSupportPOSTGETOk=ويدعم هذا PHP المتغيرات والحصول على الوظائف.
|
PHPSupportPOSTGETOk=ويدعم هذا PHP المتغيرات والحصول على الوظائف.
|
||||||
PHPSupportPOSTGETKo=فمن الممكن PHP الإعداد الخاص بك لا يدعم الوظائف المتغيرات و / أو الحصول عليه. التحقق من اتصالك <b>variables_order</b> معلمة في php.ini.
|
PHPSupportPOSTGETKo=فمن الممكن PHP الإعداد الخاص بك لا يدعم الوظائف المتغيرات و / أو الحصول عليه. التحقق من اتصالك <b>variables_order</b> معلمة في php.ini.
|
||||||
@ -25,14 +25,14 @@ ErrorGoBackAndCorrectParameters=العودة إلى الوراء وتصحيح ا
|
|||||||
ErrorWrongValueForParameter=قد تكون لديكم مطبوعة خاطئة قيمة معلمة '٪ ق.
|
ErrorWrongValueForParameter=قد تكون لديكم مطبوعة خاطئة قيمة معلمة '٪ ق.
|
||||||
ErrorFailedToCreateDatabase=فشل إنشاء قاعدة بيانات '٪ ق.
|
ErrorFailedToCreateDatabase=فشل إنشاء قاعدة بيانات '٪ ق.
|
||||||
ErrorFailedToConnectToDatabase=فشل في الاتصال بقاعدة البيانات '٪ ق.
|
ErrorFailedToConnectToDatabase=فشل في الاتصال بقاعدة البيانات '٪ ق.
|
||||||
# ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
||||||
ErrorPHPVersionTooLow=PHP نسخة قديمة جدا. النسخة ٪ ق هو مطلوب.
|
ErrorPHPVersionTooLow=PHP نسخة قديمة جدا. النسخة ٪ ق هو مطلوب.
|
||||||
# WarningPHPVersionTooLow=PHP version too old. Version %s or more is expected. This version should allow install but is not supported.
|
WarningPHPVersionTooLow=PHP version too old. Version %s or more is expected. This version should allow install but is not supported.
|
||||||
ErrorConnectedButDatabaseNotFound=خادم الصدد الى قاعدة البيانات ولكن النجاح في '٪ ق' لم يتم العثور عليه.
|
ErrorConnectedButDatabaseNotFound=خادم الصدد الى قاعدة البيانات ولكن النجاح في '٪ ق' لم يتم العثور عليه.
|
||||||
ErrorDatabaseAlreadyExists=قاعدة البيانات '٪ ق' موجود بالفعل.
|
ErrorDatabaseAlreadyExists=قاعدة البيانات '٪ ق' موجود بالفعل.
|
||||||
IfDatabaseNotExistsGoBackAndUncheckCreate=إذا كان لا وجود قاعدة بيانات ، والتأكد من العودة الخيار "إنشاء قاعدة بيانات".
|
IfDatabaseNotExistsGoBackAndUncheckCreate=إذا كان لا وجود قاعدة بيانات ، والتأكد من العودة الخيار "إنشاء قاعدة بيانات".
|
||||||
IfDatabaseExistsGoBackAndCheckCreate=إذا كانت قاعدة البيانات موجود بالفعل ، من العودة وإلغاء "إنشاء قاعدة بيانات" الخيار.
|
IfDatabaseExistsGoBackAndCheckCreate=إذا كانت قاعدة البيانات موجود بالفعل ، من العودة وإلغاء "إنشاء قاعدة بيانات" الخيار.
|
||||||
# WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
||||||
PHPVersion=PHP الإصدار
|
PHPVersion=PHP الإصدار
|
||||||
YouCanContinue=يمكنك الاستمرار...
|
YouCanContinue=يمكنك الاستمرار...
|
||||||
PleaseBePatient=يرجى التحلي بالصبر...
|
PleaseBePatient=يرجى التحلي بالصبر...
|
||||||
@ -52,7 +52,7 @@ ServerAddressDescription=الملكية الفكرية في اسم أو عنوا
|
|||||||
ServerPortDescription=قاعدة بيانات الميناء. تبقي فارغة إذا كانت غير معروفة.
|
ServerPortDescription=قاعدة بيانات الميناء. تبقي فارغة إذا كانت غير معروفة.
|
||||||
DatabaseServer=خادم قاعدة البيانات
|
DatabaseServer=خادم قاعدة البيانات
|
||||||
DatabaseName=اسم قاعدة البيانات
|
DatabaseName=اسم قاعدة البيانات
|
||||||
# DatabasePrefix=Database prefix table
|
DatabasePrefix=Database prefix table
|
||||||
Login=تسجيل الدخول
|
Login=تسجيل الدخول
|
||||||
AdminLogin=ادخل لDolibarr مدير قاعدة البيانات. تبقي فارغة إذا لم يذكر اسمه في اتصال
|
AdminLogin=ادخل لDolibarr مدير قاعدة البيانات. تبقي فارغة إذا لم يذكر اسمه في اتصال
|
||||||
Password=كلمة السر
|
Password=كلمة السر
|
||||||
@ -135,13 +135,13 @@ RemoveItManuallyAndPressF5ToContinue=إزالته يدويا واضغط F5 لل
|
|||||||
KeepDefaultValuesWamp=استخدام معالج الإعداد DoliWamp ، حتى القيم المقترحة هنا بالفعل الأمثل. تغييرها إلا إذا كنت تعرف ما تفعله.
|
KeepDefaultValuesWamp=استخدام معالج الإعداد DoliWamp ، حتى القيم المقترحة هنا بالفعل الأمثل. تغييرها إلا إذا كنت تعرف ما تفعله.
|
||||||
KeepDefaultValuesDeb=يمكنك استخدام معالج الإعداد Dolibarr من أوبونتو أو حزمة ديبيان ، لذلك القيم المقترحة هنا هي الأمثل بالفعل. يجب أن تكتمل إلا كلمة السر للمالك قاعدة البيانات لإنشاء. تغيير معلمات أخرى إلا إذا كنت تعرف ما تفعله.
|
KeepDefaultValuesDeb=يمكنك استخدام معالج الإعداد Dolibarr من أوبونتو أو حزمة ديبيان ، لذلك القيم المقترحة هنا هي الأمثل بالفعل. يجب أن تكتمل إلا كلمة السر للمالك قاعدة البيانات لإنشاء. تغيير معلمات أخرى إلا إذا كنت تعرف ما تفعله.
|
||||||
KeepDefaultValuesMamp=استخدام معالج الإعداد DoliMamp ، حتى القيم المقترحة هنا بالفعل الأمثل. تغييرها إلا إذا كنت تعرف ما تفعله.
|
KeepDefaultValuesMamp=استخدام معالج الإعداد DoliMamp ، حتى القيم المقترحة هنا بالفعل الأمثل. تغييرها إلا إذا كنت تعرف ما تفعله.
|
||||||
# KeepDefaultValuesProxmox=You use the Dolibarr setup wizard from a Proxmox virtual appliance, so values proposed here are already optimized. Change them only if you know what you do.
|
KeepDefaultValuesProxmox=You use the Dolibarr setup wizard from a Proxmox virtual appliance, so values proposed here are already optimized. Change them only if you know what you do.
|
||||||
FieldRenamed=تغيير اسم الميدان
|
FieldRenamed=تغيير اسم الميدان
|
||||||
IfLoginDoesNotExistsCheckCreateUser=اذا ادخل لا يوجد حتى الآن ، يجب عليك التحقق من خيار "تكوين المستخدم"
|
IfLoginDoesNotExistsCheckCreateUser=اذا ادخل لا يوجد حتى الآن ، يجب عليك التحقق من خيار "تكوين المستخدم"
|
||||||
ErrorConnection=الخادم <b>"٪ ل"</b> اسم قاعدة بيانات <b>"٪ ل"</b> ادخل <b>"٪ ل"</b> أو كلمة سر قاعدة البيانات قد تكون خاطئة أو PHP العميل نسخة قديمة جدا ويمكن مقارنة مع قاعدة البيانات نسخة.
|
ErrorConnection=الخادم <b>"٪ ل"</b> اسم قاعدة بيانات <b>"٪ ل"</b> ادخل <b>"٪ ل"</b> أو كلمة سر قاعدة البيانات قد تكون خاطئة أو PHP العميل نسخة قديمة جدا ويمكن مقارنة مع قاعدة البيانات نسخة.
|
||||||
InstallChoiceRecommanded=وأوصت لتثبيت اختيار النسخة <b>٪ المستندات</b> الخاصة بك من النسخة الحالية <b>ل ٪</b>
|
InstallChoiceRecommanded=وأوصت لتثبيت اختيار النسخة <b>٪ المستندات</b> الخاصة بك من النسخة الحالية <b>ل ٪</b>
|
||||||
InstallChoiceSuggested=<b>اقترح تثبيت اختيار المثبت.</b>
|
InstallChoiceSuggested=<b>اقترح تثبيت اختيار المثبت.</b>
|
||||||
# MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions, so install wizard will come back to suggest next migration once this one will be finished.
|
MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions, so install wizard will come back to suggest next migration once this one will be finished.
|
||||||
CheckThatDatabasenameIsCorrect=تأكد من أن اسم قاعدة البيانات <b>"%s"</b> هو الصحيح.
|
CheckThatDatabasenameIsCorrect=تأكد من أن اسم قاعدة البيانات <b>"%s"</b> هو الصحيح.
|
||||||
IfAlreadyExistsCheckOption=وإذا كان هذا الاسم هو الصحيح وأنه لا وجود قاعدة بيانات حتى الآن ، ويجب التحقق من خيار "إنشاء قاعدة بيانات".
|
IfAlreadyExistsCheckOption=وإذا كان هذا الاسم هو الصحيح وأنه لا وجود قاعدة بيانات حتى الآن ، ويجب التحقق من خيار "إنشاء قاعدة بيانات".
|
||||||
OpenBaseDir=بي openbasedir المعلمة
|
OpenBaseDir=بي openbasedir المعلمة
|
||||||
@ -153,12 +153,11 @@ MigrationShippingDelivery=ترقية تخزين الشحن
|
|||||||
MigrationShippingDelivery2=ترقية تخزين الشحن 2
|
MigrationShippingDelivery2=ترقية تخزين الشحن 2
|
||||||
MigrationFinished=مهاجرت به پایان رسید
|
MigrationFinished=مهاجرت به پایان رسید
|
||||||
LastStepDesc=<strong>آخرین مرحله</strong> : در اینجا با نام کاربری خود وارد شوید و رمز عبور تعریف شما قصد دارید استفاده برای اتصال به نرم افزار. سست این ، آن را به عنوان حساب اداره از همه دیگران نیست.
|
LastStepDesc=<strong>آخرین مرحله</strong> : در اینجا با نام کاربری خود وارد شوید و رمز عبور تعریف شما قصد دارید استفاده برای اتصال به نرم افزار. سست این ، آن را به عنوان حساب اداره از همه دیگران نیست.
|
||||||
# ActivateModule=Activate module %s
|
ActivateModule=Activate module %s
|
||||||
# ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
#########
|
|
||||||
MigrationFixData=إصلاح البيانات الذي لم تتم تسويته
|
MigrationFixData=إصلاح البيانات الذي لم تتم تسويته
|
||||||
MigrationOrder=بيانات الهجرة طلبات الزبائن
|
MigrationOrder=بيانات الهجرة طلبات الزبائن
|
||||||
MigrationSupplierOrder=بيانات الهجرة من أجل الموردين أوامر
|
MigrationSupplierOrder=بيانات الهجرة من أجل الموردين أوامر
|
||||||
@ -205,5 +204,8 @@ MigrationProjectTaskActors=بيانات الهجرة لllx_projet_task_actors ا
|
|||||||
MigrationProjectUserResp=بيانات fk_user_resp مجال الهجرة من llx_projet لllx_element_contact
|
MigrationProjectUserResp=بيانات fk_user_resp مجال الهجرة من llx_projet لllx_element_contact
|
||||||
MigrationProjectTaskTime=تحديث الوقت الذي يقضيه في ثوان
|
MigrationProjectTaskTime=تحديث الوقت الذي يقضيه في ثوان
|
||||||
MigrationActioncommElement=به روز رسانی داده ها در اعمال
|
MigrationActioncommElement=به روز رسانی داده ها در اعمال
|
||||||
# MigrationPaymentMode=Data migration for payment mode
|
MigrationPaymentMode=Data migration for payment mode
|
||||||
# MigrationCategorieAssociation=Migration of categories
|
MigrationCategorieAssociation=Migration of categories
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -1,152 +1,150 @@
|
|||||||
# Dolibarr language file - Source file is en_US - holiday
|
# Dolibarr language file - Source file is en_US - holiday
|
||||||
# HRM=HRM
|
HRM=HRM
|
||||||
# Holidays=Holidays
|
Holidays=Vapaapäivät
|
||||||
# CPTitreMenu=Holidays
|
CPTitreMenu=Holidays
|
||||||
# MenuReportMonth=Monthly statement
|
MenuReportMonth=Monthly statement
|
||||||
# MenuAddCP=Apply for holidays
|
MenuAddCP=Apply for holidays
|
||||||
# NotActiveModCP=You must enable the module holidays to view this page.
|
NotActiveModCP=Sinun täytyy aktivoida lomat -moduuli nähdäksesi tämän sivun.
|
||||||
# NotConfigModCP=You must configure the module holidays to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
NotConfigModCP=You must configure the module holidays to view this page. To do this, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;"> click here </ a>.
|
||||||
# NoCPforUser=You don't have a demand for holidays.
|
NoCPforUser=Sinulla ei ole voimassa olevaa lomatoivomusta.
|
||||||
# AddCP=Apply for holidays
|
AddCP=Apply for holidays
|
||||||
# CPErrorSQL=An SQL error occurred:
|
CPErrorSQL=An SQL error occurred:
|
||||||
# Employe=Employee
|
Employe=Työntekijä
|
||||||
DateDebCP=Aloituspäivämäärä
|
DateDebCP=Aloituspäivämäärä
|
||||||
DateFinCP=Lopetuspäivä
|
DateFinCP=Lopetuspäivä
|
||||||
DateCreateCP=Luontipäivämäärä
|
DateCreateCP=Luontipäivämäärä
|
||||||
DraftCP=Luonnos
|
DraftCP=Luonnos
|
||||||
# ToReviewCP=Awaiting approval
|
ToReviewCP=Awaiting approval
|
||||||
ApprovedCP=Hyväksytty
|
ApprovedCP=Hyväksytty
|
||||||
CancelCP=Peruttu
|
CancelCP=Peruttu
|
||||||
RefuseCP=Refused
|
RefuseCP=Refused
|
||||||
# ValidatorCP=Approbator
|
ValidatorCP=Approbator
|
||||||
# ListeCP=List of holidays
|
ListeCP=List of holidays
|
||||||
# ReviewedByCP=Will be reviewed by
|
ReviewedByCP=Will be reviewed by
|
||||||
DescCP=Kuvaus
|
DescCP=Kuvaus
|
||||||
# SendRequestCP=Creating demand for holidays
|
SendRequestCP=Creating demand for holidays
|
||||||
# DelayToRequestCP=Applications for holidays must be made at least <b>%s day(s)</b> before them.
|
DelayToRequestCP=Applications for holidays must be made at least <b>%s day(s)</b> before them.
|
||||||
# MenuConfCP=Edit balance of holidays
|
MenuConfCP=Edit balance of holidays
|
||||||
# UpdateAllCP=Update the holidays
|
UpdateAllCP=Update the holidays
|
||||||
# SoldeCPUser=Holidays balance is <b>%s</b> days.
|
SoldeCPUser=Holidays balance is <b>%s</b> days.
|
||||||
# ErrorEndDateCP=You must select an end date greater than the start date.
|
ErrorEndDateCP=You must select an end date greater than the start date.
|
||||||
# ErrorSQLCreateCP=An SQL error occurred during the creation:
|
ErrorSQLCreateCP=An SQL error occurred during the creation:
|
||||||
# ErrorIDFicheCP=An error has occurred, the request for holidays does not exist.
|
ErrorIDFicheCP=An error has occurred, the request for holidays does not exist.
|
||||||
# ReturnCP=Return to previous page
|
ReturnCP=Return to previous page
|
||||||
# ErrorUserViewCP=You are not authorized to read this request for holidays.
|
ErrorUserViewCP=You are not authorized to read this request for holidays.
|
||||||
# InfosCP=Information of the demand of holidays
|
InfosCP=Information of the demand of holidays
|
||||||
# InfosWorkflowCP=Information Workflow
|
InfosWorkflowCP=Information Workflow
|
||||||
DateCreateCP=Luontipäivämäärä
|
RequestByCP=Requested by
|
||||||
# RequestByCP=Requested by
|
TitreRequestCP=Sheet of holidays
|
||||||
# TitreRequestCP=Sheet of holidays
|
NbUseDaysCP=Number of days of holidays consumed
|
||||||
# NbUseDaysCP=Number of days of holidays consumed
|
|
||||||
EditCP=Muokkaa
|
EditCP=Muokkaa
|
||||||
DeleteCP=Poistaa
|
DeleteCP=Poistaa
|
||||||
ActionValidCP=Validate
|
ActionValidCP=Validate
|
||||||
# ActionRefuseCP=Refuse
|
ActionRefuseCP=Refuse
|
||||||
ActionCancelCP=Peruuta
|
ActionCancelCP=Peruuta
|
||||||
StatutCP=Tila
|
StatutCP=Tila
|
||||||
# SendToValidationCP=Send to validation
|
SendToValidationCP=Send to validation
|
||||||
# TitleDeleteCP=Delete the request of holidays
|
TitleDeleteCP=Delete the request of holidays
|
||||||
# ConfirmDeleteCP=Confirm the deletion of this request for holidays?
|
ConfirmDeleteCP=Confirm the deletion of this request for holidays?
|
||||||
# ErrorCantDeleteCP=Error you don't have the right to delete this holiday request.
|
ErrorCantDeleteCP=Error you don't have the right to delete this holiday request.
|
||||||
# CantCreateCP=You don't have the right to apply for holidays.
|
CantCreateCP=You don't have the right to apply for holidays.
|
||||||
# InvalidValidatorCP=You must choose an approbator to your holiday request.
|
InvalidValidatorCP=You must choose an approbator to your holiday request.
|
||||||
UpdateButtonCP=Päivittää
|
UpdateButtonCP=Päivittää
|
||||||
# CantUpdate=You cannot update this request of holidays.
|
CantUpdate=You cannot update this request of holidays.
|
||||||
# NoDateDebut=You must select a start date.
|
NoDateDebut=You must select a start date.
|
||||||
# NoDateFin=You must select an end date.
|
NoDateFin=You must select an end date.
|
||||||
# ErrorDureeCP=Your request for holidays does not contain working day.
|
ErrorDureeCP=Your request for holidays does not contain working day.
|
||||||
# TitleValidCP=Approve the request holidays
|
TitleValidCP=Approve the request holidays
|
||||||
# ConfirmValidCP=Are you sure you want to approve the holiday request?
|
ConfirmValidCP=Are you sure you want to approve the holiday request?
|
||||||
# DateValidCP=Date approved
|
DateValidCP=Date approved
|
||||||
# TitleToValidCP=Send request holidays
|
TitleToValidCP=Send request holidays
|
||||||
# ConfirmToValidCP=Are you sure you want to send the request of holidays?
|
ConfirmToValidCP=Are you sure you want to send the request of holidays?
|
||||||
# TitleRefuseCP=Refuse the request holidays
|
TitleRefuseCP=Refuse the request holidays
|
||||||
# ConfirmRefuseCP=Are you sure you want to refuse the request of holidays?
|
ConfirmRefuseCP=Are you sure you want to refuse the request of holidays?
|
||||||
# NoMotifRefuseCP=You must choose a reason for refusing the request.
|
NoMotifRefuseCP=You must choose a reason for refusing the request.
|
||||||
# TitleCancelCP=Cancel the request holidays
|
TitleCancelCP=Cancel the request holidays
|
||||||
# ConfirmCancelCP=Are you sure you want to cancel the request of holidays?
|
ConfirmCancelCP=Are you sure you want to cancel the request of holidays?
|
||||||
# DetailRefusCP=Reason for refusal
|
DetailRefusCP=Reason for refusal
|
||||||
# DateRefusCP=Date of refusal
|
DateRefusCP=Date of refusal
|
||||||
# DateCancelCP=Date of cancellation
|
DateCancelCP=Date of cancellation
|
||||||
# DefineEventUserCP=Assign an exceptional leave for a user
|
DefineEventUserCP=Assign an exceptional leave for a user
|
||||||
# addEventToUserCP=Assign leave
|
addEventToUserCP=Assign leave
|
||||||
MotifCP=Syy
|
MotifCP=Syy
|
||||||
UserCP=Käyttäjä
|
UserCP=Käyttäjä
|
||||||
# ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
ErrorAddEventToUserCP=An error occurred while adding the exceptional leave.
|
||||||
# AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
AddEventToUserOkCP=The addition of the exceptional leave has been completed.
|
||||||
# MenuLogCP=View logs of holidays
|
MenuLogCP=View logs of holidays
|
||||||
# LogCP=Log of updates of holidays
|
LogCP=Log of updates of holidays
|
||||||
# ActionByCP=Performed by
|
ActionByCP=Performed by
|
||||||
# UserUpdateCP=For the user
|
UserUpdateCP=For the user
|
||||||
# PrevSoldeCP=Previous Balance
|
PrevSoldeCP=Previous Balance
|
||||||
# NewSoldeCP=New Balance
|
NewSoldeCP=New Balance
|
||||||
# alreadyCPexist=A request for holidays has already been done on this period.
|
alreadyCPexist=A request for holidays has already been done on this period.
|
||||||
UserName=Nimi
|
UserName=Nimi
|
||||||
# Employee=Employee
|
Employee=Employee
|
||||||
# FirstDayOfHoliday=First day of holiday
|
FirstDayOfHoliday=First day of holiday
|
||||||
# LastDayOfHoliday=Last day of holiday
|
LastDayOfHoliday=Last day of holiday
|
||||||
# HolidaysMonthlyUpdate=Monthly update
|
HolidaysMonthlyUpdate=Monthly update
|
||||||
# ManualUpdate=Manual update
|
ManualUpdate=Manual update
|
||||||
# HolidaysCancelation=Holidays cancelation
|
HolidaysCancelation=Holidays cancelation
|
||||||
|
|
||||||
## Configuration du Module ##
|
## Configuration du Module ##
|
||||||
# ConfCP=Configuration of holidays module
|
ConfCP=Configuration of holidays module
|
||||||
# DescOptionCP=Description of the option
|
DescOptionCP=Description of the option
|
||||||
ValueOptionCP=Value
|
ValueOptionCP=Value
|
||||||
# GroupToValidateCP=Group with the ability to approve holidays
|
GroupToValidateCP=Group with the ability to approve holidays
|
||||||
# ConfirmConfigCP=Validate the configuration
|
ConfirmConfigCP=Validate the configuration
|
||||||
# LastUpdateCP=Last updated automatically of holidays
|
LastUpdateCP=Last updated automatically of holidays
|
||||||
# UpdateConfCPOK=Updated successfully.
|
UpdateConfCPOK=Updated successfully.
|
||||||
# ErrorUpdateConfCP=An error occurred during the update, please try again.
|
ErrorUpdateConfCP=An error occurred during the update, please try again.
|
||||||
# AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
|
||||||
# DelayForSubmitCP=Deadline to apply for holidays
|
DelayForSubmitCP=Deadline to apply for holidays
|
||||||
# AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline
|
AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline
|
||||||
# AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay
|
AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay
|
||||||
# AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance
|
AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance
|
||||||
# nbUserCP=Number of users supported in the module holidays
|
nbUserCP=Number of users supported in the module holidays
|
||||||
# nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
|
nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
|
||||||
# nbHolidayEveryMonthCP=Number of holidays added every month
|
nbHolidayEveryMonthCP=Number of holidays added every month
|
||||||
# Module27130Name= Management of holidays
|
Module27130Name= Management of holidays
|
||||||
# Module27130Desc= Management of holidays
|
Module27130Desc= Management of holidays
|
||||||
# TitleOptionMainCP=Main settings of holidays
|
TitleOptionMainCP=Main settings of holidays
|
||||||
# TitleOptionEventCP=Settings of holidays related to events
|
TitleOptionEventCP=Settings of holidays related to events
|
||||||
ValidEventCP=Validate
|
ValidEventCP=Validate
|
||||||
# UpdateEventCP=Update events
|
UpdateEventCP=Update events
|
||||||
CreateEventCP=Luo
|
CreateEventCP=Luo
|
||||||
# NameEventCP=Event name
|
NameEventCP=Event name
|
||||||
# OkCreateEventCP=The addition of the event went well.
|
OkCreateEventCP=The addition of the event went well.
|
||||||
# ErrorCreateEventCP=Error creating the event.
|
ErrorCreateEventCP=Error creating the event.
|
||||||
# UpdateEventOkCP=The update of the event went well.
|
UpdateEventOkCP=The update of the event went well.
|
||||||
# ErrorUpdateEventCP=Error while updating the event.
|
ErrorUpdateEventCP=Error while updating the event.
|
||||||
# DeleteEventCP=Delete Event
|
DeleteEventCP=Delete Event
|
||||||
# DeleteEventOkCP=The event has been deleted.
|
DeleteEventOkCP=The event has been deleted.
|
||||||
# ErrorDeleteEventCP=Error while deleting the event.
|
ErrorDeleteEventCP=Error while deleting the event.
|
||||||
# TitleDeleteEventCP=Delete a exceptional leave
|
TitleDeleteEventCP=Delete a exceptional leave
|
||||||
# TitleCreateEventCP=Create a exceptional leave
|
TitleCreateEventCP=Create a exceptional leave
|
||||||
# TitleUpdateEventCP=Edit or delete a exceptional leave
|
TitleUpdateEventCP=Edit or delete a exceptional leave
|
||||||
DeleteEventOptionCP=Poistaa
|
DeleteEventOptionCP=Poistaa
|
||||||
UpdateEventOptionCP=Päivittää
|
UpdateEventOptionCP=Päivittää
|
||||||
# ErrorMailNotSend=An error occurred while sending email:
|
ErrorMailNotSend=An error occurred while sending email:
|
||||||
# NoCPforMonth=No leave this month.
|
NoCPforMonth=No leave this month.
|
||||||
# nbJours=Number days
|
nbJours=Number days
|
||||||
# TitleAdminCP=Configuration of Holidays
|
TitleAdminCP=Configuration of Holidays
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
# Hello=Hello
|
Hello=Hello
|
||||||
# HolidaysToValidate=Validate holidays
|
HolidaysToValidate=Validate holidays
|
||||||
# HolidaysToValidateBody=Below is a request for holidays to validate
|
HolidaysToValidateBody=Below is a request for holidays to validate
|
||||||
# HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
||||||
# HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days.
|
HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days.
|
||||||
# HolidaysValidated=Validated holidays
|
HolidaysValidated=Validated holidays
|
||||||
# HolidaysValidatedBody=Your request for holidays for %s to %s has been validated.
|
HolidaysValidatedBody=Your request for holidays for %s to %s has been validated.
|
||||||
# HolidaysRefused=Denied holidays
|
HolidaysRefused=Denied holidays
|
||||||
# HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason :
|
||||||
# HolidaysCanceled=Canceled holidays
|
HolidaysCanceled=Canceled holidays
|
||||||
# HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled.
|
||||||
|
Permission20000=Read you own holidays
|
||||||
# Permission20001=Read/create/modify their holidays
|
Permission20001=Create/modify your holidays
|
||||||
# Permission20002=Read/modify all requests of holidays
|
Permission20002=Create/modify holidays for everybody
|
||||||
# Permission20003=Delete their holidays requests
|
Permission20003=Delete holidays requests
|
||||||
# Permission20004=Define users holidays
|
Permission20004=Setup users holidays
|
||||||
# Permission20005=Review log of modified holidays
|
Permission20005=Review log of modified holidays
|
||||||
# Permission20006=Access holidays monthly report
|
Permission20006=Read holidays monthly report
|
||||||
|
|||||||
@ -9,7 +9,7 @@ ConfFileCouldBeCreated=Configuration <b>file %s</b> voitaisiin luoda.
|
|||||||
ConfFileIsNotWritable=Kokoonpano <b>tiedostoa %s</b> ei ole kirjoitettavissa. Tarkista käyttöoikeudet. Ensimmäistä kertaa asentaa, verkkopalvelimesi on myönnettävä voi kirjoittaa tämä tiedosto aikana asennusprosessi ( "chmod 666" esimerkiksi Unix kuten OS).
|
ConfFileIsNotWritable=Kokoonpano <b>tiedostoa %s</b> ei ole kirjoitettavissa. Tarkista käyttöoikeudet. Ensimmäistä kertaa asentaa, verkkopalvelimesi on myönnettävä voi kirjoittaa tämä tiedosto aikana asennusprosessi ( "chmod 666" esimerkiksi Unix kuten OS).
|
||||||
ConfFileIsWritable=Configuration <b>file %s</b> on kirjoitettavissa.
|
ConfFileIsWritable=Configuration <b>file %s</b> on kirjoitettavissa.
|
||||||
ConfFileReload=Päivitä kaikki tiedot asetustiedosto.
|
ConfFileReload=Päivitä kaikki tiedot asetustiedosto.
|
||||||
PHPSupportSessions=Tämä PHP tukee istunnoissa.
|
PHPSupportSessions=Tämä PHP tukee istuntoja.
|
||||||
PHPSupportPOSTGETOk=Tämä PHP tukee muuttujat POST ja GET.
|
PHPSupportPOSTGETOk=Tämä PHP tukee muuttujat POST ja GET.
|
||||||
PHPSupportPOSTGETKo=On mahdollista, sinun PHP asennusohjelma ei tue muuttujat POST tai GET. Tarkista parametri <b>variables_order</b> vuonna php.ini.
|
PHPSupportPOSTGETKo=On mahdollista, sinun PHP asennusohjelma ei tue muuttujat POST tai GET. Tarkista parametri <b>variables_order</b> vuonna php.ini.
|
||||||
PHPSupportGD=Tämä PHP tukea GD graafisia toimintoja.
|
PHPSupportGD=Tämä PHP tukea GD graafisia toimintoja.
|
||||||
@ -25,14 +25,14 @@ ErrorGoBackAndCorrectParameters=Siirry taaksepäin ja korjata väärin parametri
|
|||||||
ErrorWrongValueForParameter=Olet ehkä kirjoittanut väärän arvon parametri ' %s'.
|
ErrorWrongValueForParameter=Olet ehkä kirjoittanut väärän arvon parametri ' %s'.
|
||||||
ErrorFailedToCreateDatabase=Luominen epäonnistui tietokanta ' %s'.
|
ErrorFailedToCreateDatabase=Luominen epäonnistui tietokanta ' %s'.
|
||||||
ErrorFailedToConnectToDatabase=Epäonnistui muodostaa tietokanta ' %s'.
|
ErrorFailedToConnectToDatabase=Epäonnistui muodostaa tietokanta ' %s'.
|
||||||
# ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required.
|
ErrorDatabaseVersionTooLow=Tietokannan versio (%s) on liian vanha. Versio %s tai korkeampi on tarpeen.
|
||||||
ErrorPHPVersionTooLow=PHP versio liian vanha. Versio %s on tarpeen.
|
ErrorPHPVersionTooLow=PHP versio liian vanha. Versio %s on tarpeen.
|
||||||
WarningPHPVersionTooLow=PHP version liian vanha. Versio %s tai enemmän odotetaan. Tämä versio pitäisi mahdollistaa asentaa mutta ei tueta.
|
WarningPHPVersionTooLow=PHP version liian vanha. Versio %s tai enemmän odotetaan. Tämä versio pitäisi mahdollistaa asentaa mutta ei tueta.
|
||||||
ErrorConnectedButDatabaseNotFound=Yhteys palvelimeen onnistunut mutta tietokantaan %s ei löydy.
|
ErrorConnectedButDatabaseNotFound=Yhteys palvelimeen onnistunut mutta tietokantaan %s ei löydy.
|
||||||
ErrorDatabaseAlreadyExists=Database ' %s' on jo olemassa.
|
ErrorDatabaseAlreadyExists=Database ' %s' on jo olemassa.
|
||||||
IfDatabaseNotExistsGoBackAndUncheckCreate=Jos tietokanta ei ole, palaa takaisin ja tarkistaa vaihtoehto "Luo tietokanta".
|
IfDatabaseNotExistsGoBackAndUncheckCreate=Jos tietokanta ei ole, palaa takaisin ja tarkistaa vaihtoehto "Luo tietokanta".
|
||||||
IfDatabaseExistsGoBackAndCheckCreate=Jos tietokanta on jo olemassa, mene takaisin ja poista "Luo tietokanta" vaihtoehto.
|
IfDatabaseExistsGoBackAndCheckCreate=Jos tietokanta on jo olemassa, mene takaisin ja poista "Luo tietokanta" vaihtoehto.
|
||||||
# WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded.
|
WarningBrowserTooOld=Selaimesi versio on liian vanha. Selaimen päivitys tuoreimpaan versioon on suositeltavaa. Suosittelemme selaimeksi Firefoxia, Chromea tai Operaa.
|
||||||
PHPVersion=PHP Version
|
PHPVersion=PHP Version
|
||||||
YouCanContinue=Voit jatkaa ...
|
YouCanContinue=Voit jatkaa ...
|
||||||
PleaseBePatient=Ole kärsivällinen ...
|
PleaseBePatient=Ole kärsivällinen ...
|
||||||
@ -154,11 +154,10 @@ MigrationShippingDelivery2=Päivitä varastointi merenkulun 2
|
|||||||
MigrationFinished=Muuttoliike valmis
|
MigrationFinished=Muuttoliike valmis
|
||||||
LastStepDesc=<strong>Viimeinen askel:</strong> Määritä tässä käyttäjätunnuksen ja salasanan aiot käyttää yhteyden ohjelmisto. Älä löysä tämä on tilin hallinnoida kaikkia muita.
|
LastStepDesc=<strong>Viimeinen askel:</strong> Määritä tässä käyttäjätunnuksen ja salasanan aiot käyttää yhteyden ohjelmisto. Älä löysä tämä on tilin hallinnoida kaikkia muita.
|
||||||
ActivateModule=Aktivoi moduuli %s
|
ActivateModule=Aktivoi moduuli %s
|
||||||
# ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode)
|
ShowEditTechnicalParameters=Klikkaa tästä näyttääksesi/muuttaaksesi edistyneemmät parametrit (asiantuntija tila)
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# upgrade
|
# upgrade
|
||||||
#########
|
|
||||||
MigrationFixData=Korjaus denormalized tiedot
|
MigrationFixData=Korjaus denormalized tiedot
|
||||||
MigrationOrder=Tietojen siirtäminen asiakkaiden tilauksia
|
MigrationOrder=Tietojen siirtäminen asiakkaiden tilauksia
|
||||||
MigrationSupplierOrder=Tietojen siirtäminen toimittajille tilausten
|
MigrationSupplierOrder=Tietojen siirtäminen toimittajille tilausten
|
||||||
@ -206,4 +205,7 @@ MigrationProjectUserResp=Tietojen siirtäminen alalla fk_user_resp ja llx_projet
|
|||||||
MigrationProjectTaskTime=Päivitä aika sekunneissa
|
MigrationProjectTaskTime=Päivitä aika sekunneissa
|
||||||
MigrationActioncommElement=Päivitä tiedot toimista
|
MigrationActioncommElement=Päivitä tiedot toimista
|
||||||
MigrationPaymentMode=Tiedot muuttoliike maksua tilassa
|
MigrationPaymentMode=Tiedot muuttoliike maksua tilassa
|
||||||
# MigrationCategorieAssociation=Migration of categories
|
MigrationCategorieAssociation=Kategorioiden siirto
|
||||||
|
|
||||||
|
ShowNotAvailableOptions=Show not available options
|
||||||
|
HideNotAvailableOptions=Hide not available options
|
||||||
|
|||||||
@ -34,7 +34,6 @@ ReturnCP=Retour à la page précédente
|
|||||||
ErrorUserViewCP=Vous n'êtes pas autorisé à lire cette demande de congés.
|
ErrorUserViewCP=Vous n'êtes pas autorisé à lire cette demande de congés.
|
||||||
InfosCP=Informations de la demande de congés
|
InfosCP=Informations de la demande de congés
|
||||||
InfosWorkflowCP=Informations du workflow
|
InfosWorkflowCP=Informations du workflow
|
||||||
DateCreateCP=Date de création
|
|
||||||
RequestByCP=Demandée par
|
RequestByCP=Demandée par
|
||||||
TitreRequestCP=Fiche Congés
|
TitreRequestCP=Fiche Congés
|
||||||
NbUseDaysCP=Nombre de jours de congés consommés
|
NbUseDaysCP=Nombre de jours de congés consommés
|
||||||
@ -130,7 +129,6 @@ ErrorMailNotSend=Une erreur est survenue lors de l'envoi du mail :
|
|||||||
NoCPforMonth=Aucun congé ce mois-ci.
|
NoCPforMonth=Aucun congé ce mois-ci.
|
||||||
nbJours=Nombre jours
|
nbJours=Nombre jours
|
||||||
TitleAdminCP=Configuration des Congés
|
TitleAdminCP=Configuration des Congés
|
||||||
|
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Bonjour
|
Hello=Bonjour
|
||||||
HolidaysToValidate=Congés payés à valider
|
HolidaysToValidate=Congés payés à valider
|
||||||
@ -143,10 +141,10 @@ HolidaysRefused=Congés payés refusée
|
|||||||
HolidaysRefusedBody=Votre demande de congés payés %s à %s vient d'être refusée pour le motif suivant :
|
HolidaysRefusedBody=Votre demande de congés payés %s à %s vient d'être refusée pour le motif suivant :
|
||||||
HolidaysCanceled=Congés payés annulée
|
HolidaysCanceled=Congés payés annulée
|
||||||
HolidaysCanceledBody=Votre demande de congés %s à %s va été annulée.
|
HolidaysCanceledBody=Votre demande de congés %s à %s va été annulée.
|
||||||
|
Permission20000=Lire ses propres congès
|
||||||
Permission20001=Lire / Créer / modifier ses congès
|
Permission20001=Créer/modifier ses propres congès
|
||||||
Permission20002=Lire / Modifier toutes les demandes de congés payés
|
Permission20002=Créer/modifier les congès pour tout le monde
|
||||||
Permission20003=Supprimer des demandes de congés payés
|
Permission20003=Supprimer les demandes de congés
|
||||||
Permission20004=Définir les congés payés des utilisateurs
|
Permission20004=Définir les congés des utilisateurs
|
||||||
Permission20005=Voir les logs de modification des congés payés
|
Permission20005=Voir les logs de modification des congés payés
|
||||||
Permission20006=Accéder au rapport mensuel des congés payés
|
Permission20006=Accéder au rapport mensuel des congés
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user