Merge remote-tracking branch 'Upstream/develop' into develop-loan
This commit is contained in:
commit
840dfd780d
@ -92,8 +92,8 @@ script:
|
|||||||
- php upgrade2.php 3.4.0 3.5.0 > upgrade2.log
|
- php upgrade2.php 3.4.0 3.5.0 > upgrade2.log
|
||||||
- php upgrade.php 3.5.0 3.6.0 >> upgrade.log
|
- php upgrade.php 3.5.0 3.6.0 >> upgrade.log
|
||||||
- php upgrade2.php 3.5.0 3.6.0 >> upgrade2.log
|
- php upgrade2.php 3.5.0 3.6.0 >> upgrade2.log
|
||||||
- php upgrade.php 3.6.0 3.7.0 >> upgrade.log
|
- php upgrade.php 3.6.0 3.7.0 >> upgrade360370.log
|
||||||
# - cat upgrade.log
|
- cat upgrade360370.log
|
||||||
- php upgrade2.php 3.6.0 3.7.0 >> upgrade2.log
|
- php upgrade2.php 3.6.0 3.7.0 >> upgrade2.log
|
||||||
# - cat upgrade2.log
|
# - cat upgrade2.log
|
||||||
- cd ../..
|
- cd ../..
|
||||||
|
|||||||
16
ChangeLog
16
ChangeLog
@ -99,6 +99,7 @@ For users:
|
|||||||
- Fix: [ bug #1506, #1507 ] ECM trigger error problem
|
- Fix: [ bug #1506, #1507 ] ECM trigger error problem
|
||||||
- Fix: [ bug #1469 ] Triggers CONTACT_MODIFY and CONTACT_DELETE duplicates error message
|
- Fix: [ bug #1469 ] Triggers CONTACT_MODIFY and CONTACT_DELETE duplicates error message
|
||||||
- Fix: [ bug #1537 ] Difference between societe.nom and adherent.societe.
|
- Fix: [ bug #1537 ] Difference between societe.nom and adherent.societe.
|
||||||
|
- Fix: [ bug #1535 ] Supplier invoice Extrafields are not shown
|
||||||
|
|
||||||
For users, new experimental module (need to set feature level of instance to experimental to see them):
|
For users, new experimental module (need to set feature level of instance to experimental to see them):
|
||||||
- New: Module Accounting Expert to manage accountancy
|
- New: Module Accounting Expert to manage accountancy
|
||||||
@ -163,18 +164,20 @@ Dolibarr better:
|
|||||||
|
|
||||||
|
|
||||||
***** ChangeLog for 3.6.2 compared to 3.6.1 *****
|
***** ChangeLog for 3.6.2 compared to 3.6.1 *****
|
||||||
- Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice
|
- Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice.
|
||||||
- Fix: bug 1588 : relative discount
|
- Fix: bug 1588 : relative discount.
|
||||||
- Fix: label of input method not tranlated.
|
- Fix: label of input method not tranlated.
|
||||||
- Fix: box of customer and propsects were not correctly disabled.
|
- Fix: box of customer and propsects were not correctly disabled.
|
||||||
- Fix: right and error management #1961
|
|
||||||
- Fix: Fix Error when trying to clone an Order #1943
|
|
||||||
- Fix: [ bug #1618 ] PHP Error thrown when saving a barcode
|
- Fix: [ bug #1618 ] PHP Error thrown when saving a barcode
|
||||||
|
- Fix: Civility & birthdate wasn't save into adherent module.
|
||||||
|
- Fix: webservice Thirdparty parameter lastname for invidual creation is now lastname and not ref
|
||||||
|
- Fix: Chars - is no more allowed into value for code for extra fields.
|
||||||
|
( Fix: [ bug #1622 ] Requesting holiday than spans across two years cause high CPU usage by Apache
|
||||||
|
|
||||||
***** ChangeLog for 3.6.1 compared to 3.6.* *****
|
***** ChangeLog for 3.6.1 compared to 3.6.* *****
|
||||||
For users:
|
For users:
|
||||||
- Fix: Can upload files on services.
|
- Fix: Can upload files on services.
|
||||||
- Fix: sql errors on updat fichinter.
|
- Fix: sql errors on update fichinter.
|
||||||
- Fix: debian script syntax error.
|
- Fix: debian script syntax error.
|
||||||
- Fix: error "menu param is not inside list" into pos module.
|
- Fix: error "menu param is not inside list" into pos module.
|
||||||
- Fix: Salary payments are not reflected on the reporting sheets.
|
- Fix: Salary payments are not reflected on the reporting sheets.
|
||||||
@ -310,6 +313,9 @@ removed. You must now use the 6 parameters way. See file modMyModule.class.php f
|
|||||||
- Remove add_photo_web() that is ot used anymore by core code.
|
- Remove add_photo_web() that is ot used anymore by core code.
|
||||||
|
|
||||||
|
|
||||||
|
***** ChangeLog for 3.5.6 compared to 3.5.5 *****
|
||||||
|
Fix: Avoid missing class error for fetch_thirdparty method #1973
|
||||||
|
|
||||||
***** ChangeLog for 3.5.5 compared to 3.5.4 *****
|
***** ChangeLog for 3.5.5 compared to 3.5.4 *****
|
||||||
Fix: Holiday module was broken. Initializaion of amount of holidays failed.
|
Fix: Holiday module was broken. Initializaion of amount of holidays failed.
|
||||||
Fix: [ bug #1523 ] suite bug #1334 : filtre et ordre de tri conjoints ne s'appliquent pas.
|
Fix: [ bug #1523 ] suite bug #1334 : filtre et ordre de tri conjoints ne s'appliquent pas.
|
||||||
|
|||||||
@ -37,6 +37,11 @@ $mesg = '';
|
|||||||
$action = GETPOST('action');
|
$action = GETPOST('action');
|
||||||
$id = GETPOST('id', 'int');
|
$id = GETPOST('id', 'int');
|
||||||
$rowid = GETPOST('rowid', 'int');
|
$rowid = GETPOST('rowid', 'int');
|
||||||
|
$search_account = GETPOST("search_account");
|
||||||
|
$search_label = GETPOST("search_label");
|
||||||
|
$search_accountparent = GETPOST("search_accountparent");
|
||||||
|
$search_pcgtype = GETPOST("search_pcgtype");
|
||||||
|
$search_pcgsubtype = GETPOST("search_pcgsubtype");
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if (!$user->admin)
|
if (!$user->admin)
|
||||||
@ -83,6 +88,15 @@ if ($action == 'disable') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GETPOST("button_removefilter"))
|
||||||
|
{
|
||||||
|
$search_account="";
|
||||||
|
$search_label="";
|
||||||
|
$search_accountparent="";
|
||||||
|
$search_pcgtype="";
|
||||||
|
$search_pcgsubtype="";
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
*
|
*
|
||||||
@ -96,20 +110,20 @@ $sql .= " FROM " . MAIN_DB_PREFIX . "accountingaccount as aa, " . MAIN_DB_PREFIX
|
|||||||
$sql .= " WHERE aa.fk_pcg_version = asy.pcg_version";
|
$sql .= " WHERE aa.fk_pcg_version = asy.pcg_version";
|
||||||
$sql .= " AND asy.rowid = " . $pcgver;
|
$sql .= " AND asy.rowid = " . $pcgver;
|
||||||
|
|
||||||
if (strlen(trim($_GET["search_account"]))) {
|
if (strlen(trim($search_account))) {
|
||||||
$sql .= " AND aa.account_number like '%" . $_GET["search_account"] . "%'";
|
$sql .= " AND aa.account_number like '%" . $search_account . "%'";
|
||||||
}
|
}
|
||||||
if (strlen(trim($_GET["search_label"]))) {
|
if (strlen(trim($search_label))) {
|
||||||
$sql .= " AND aa.label like '%" . $_GET["search_label"] . "%'";
|
$sql .= " AND aa.label like '%" . $search_label . "%'";
|
||||||
}
|
}
|
||||||
if (strlen(trim($_GET["search_accountparent"]))) {
|
if (strlen(trim($search_accountparent))) {
|
||||||
$sql .= " AND aa.account_parent like '%" . $_GET["search_accountparent"] . "%'";
|
$sql .= " AND aa.account_parent like '%" . $search_accountparent . "%'";
|
||||||
}
|
}
|
||||||
if (strlen(trim($_GET["search_pcgtype"]))) {
|
if (strlen(trim($search_pcgtype))) {
|
||||||
$sql .= " AND aa.pcg_type like '%" . $_GET["search_pcgtype"] . "%'";
|
$sql .= " AND aa.pcg_type like '%" . $search_pcgtype . "%'";
|
||||||
}
|
}
|
||||||
if (strlen(trim($_GET["search_pcgsubtype"]))) {
|
if (strlen(trim($search_pcgsubtype))) {
|
||||||
$sql .= " AND aa.pcg_subtype like '%" . $_GET["search_pcgsubtype"] . "%'";
|
$sql .= " AND aa.pcg_subtype like '%" . $search_pcgsubtype . "%'";
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql .= $db->order($sortfield, $sortorder);
|
$sql .= $db->order($sortfield, $sortorder);
|
||||||
@ -141,18 +155,20 @@ if ($result) {
|
|||||||
print_liste_field_titre($langs->trans("Pcgtype"), $_SERVER["PHP_SELF"], "aa.pcg_type", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Pcgtype"), $_SERVER["PHP_SELF"], "aa.pcg_type", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Pcgsubtype"), $_SERVER["PHP_SELF"], "aa.pcg_subtype", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Pcgsubtype"), $_SERVER["PHP_SELF"], "aa.pcg_subtype", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Active"), $_SERVER["PHP_SELF"], "aa.active", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Active"), $_SERVER["PHP_SELF"], "aa.active", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre(" ");
|
print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",$param,"",'width="60" align="center"',$sortfield,$sortorder);
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_account" value="' . GETPOST("search_account") . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_account" value="' . $search_account . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_label" value="' . GETPOST("search_label") . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_label" value="' . $search_label . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_accountparent" value="' . GETPOST("search_accountparent") . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_accountparent" value="' . $search_accountparent . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_pcgtype" value="' . GETPOST("search_pcgtype") . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_pcgtype" value="' . $search_pcgtype . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_pcgsubtype" value="' . GETPOST("search_pcgsubtype") . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_pcgsubtype" value="' . $search_pcgsubtype . '"></td>';
|
||||||
print '<td class="liste_titre"> </td>';
|
print '<td class="liste_titre"> </td>';
|
||||||
print '<td class="liste_titre" align="right">';
|
print '<td align="right" colspan="2" class="liste_titre">';
|
||||||
print '<input type="image" class="liste_titre" src="' . DOL_URL_ROOT . '/theme/' . $conf->theme . '/img/search.png" name="button_search" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
print '<input type="image" class="liste_titre" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" name="button_search" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
||||||
|
print ' ';
|
||||||
|
print '<input type="image" class="liste_titre" src="'.img_picto($langs->trans("Search"),'searchclear.png','','',1).'" name="button_removefilter" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
@ -180,11 +196,13 @@ if ($result) {
|
|||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '<td>';
|
// Action
|
||||||
|
print '<td align="center">';
|
||||||
if ($user->admin) {
|
if ($user->admin) {
|
||||||
print '<a href="./card.php?action=update&id=' . $obj->rowid . '">';
|
print '<a href="./card.php?action=update&id=' . $obj->rowid . '">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a> ';
|
print '</a>';
|
||||||
|
print ' ';
|
||||||
print '<a href="./card.php?action=delete&id=' . $obj->rowid . '">';
|
print '<a href="./card.php?action=delete&id=' . $obj->rowid . '">';
|
||||||
print img_delete();
|
print img_delete();
|
||||||
print '</a>';
|
print '</a>';
|
||||||
|
|||||||
@ -181,11 +181,6 @@ else if ($id)
|
|||||||
|
|
||||||
if ($action == 'update')
|
if ($action == 'update')
|
||||||
{
|
{
|
||||||
// WYSIWYG Editor
|
|
||||||
$htmlacc = new FormVentilation($db);
|
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php';
|
|
||||||
|
|
||||||
$soc = new Societe($db);
|
$soc = new Societe($db);
|
||||||
if ($object->socid) {
|
if ($object->socid) {
|
||||||
$soc->fetch($object->socid);
|
$soc->fetch($object->socid);
|
||||||
|
|||||||
@ -35,8 +35,6 @@ $langs->load("accounting");
|
|||||||
$id = GETPOST('id', 'int');
|
$id = GETPOST('id', 'int');
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
if (! $user->rights->accounting->access)
|
|
||||||
accessforbidden();
|
|
||||||
|
|
||||||
$action = GETPOST('action');
|
$action = GETPOST('action');
|
||||||
$piece_num = GETPOST("piece_num");
|
$piece_num = GETPOST("piece_num");
|
||||||
@ -238,7 +236,9 @@ if ($action == 'create') {
|
|||||||
print '<input type="submit" class="butAction" value="' . $langs->trans("Save") . '">';
|
print '<input type="submit" class="butAction" value="' . $langs->trans("Save") . '">';
|
||||||
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$book = new BookKeeping($db);
|
$book = new BookKeeping($db);
|
||||||
$result = $book->fetch_per_mvt($piece_num);
|
$result = $book->fetch_per_mvt($piece_num);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
@ -309,14 +309,12 @@ if ($action == 'create') {
|
|||||||
print '<td><input type="text" size="6" name="credit" value="' . price($line->credit) . '"/></td>';
|
print '<td><input type="text" size="6" name="credit" value="' . price($line->credit) . '"/></td>';
|
||||||
print '<td>' . $line->montant . '</td>';
|
print '<td>' . $line->montant . '</td>';
|
||||||
print '<td>' . $line->sens . '</td>';
|
print '<td>' . $line->sens . '</td>';
|
||||||
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($user->rights->accounting->access) {
|
print '<input type="submit" class="button" value="' . $langs->trans("Update") . '">';
|
||||||
print '<input type="submit" class="button" value="' . $langs->trans("Update") . '">';
|
|
||||||
}
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
print '<td>' . $line->numero_compte . '</td>';
|
print '<td>' . $line->numero_compte . '</td>';
|
||||||
print '<td>' . $line->code_tiers . '</td>';
|
print '<td>' . $line->code_tiers . '</td>';
|
||||||
print '<td>' . $line->label_compte . '</td>';
|
print '<td>' . $line->label_compte . '</td>';
|
||||||
@ -324,16 +322,15 @@ if ($action == 'create') {
|
|||||||
print '<td>' . $line->credit . '</td>';
|
print '<td>' . $line->credit . '</td>';
|
||||||
print '<td>' . $line->montant . '</td>';
|
print '<td>' . $line->montant . '</td>';
|
||||||
print '<td>' . $line->sens . '</td>';
|
print '<td>' . $line->sens . '</td>';
|
||||||
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($user->rights->accouting->access) {
|
print '<a href="./card.php?action=update&id=' . $line->id . '&piece_num=' . $line->piece_num . '">';
|
||||||
print '<a href="./card.php?action=update&id=' . $line->id . '&piece_num=' . $line->piece_num . '">';
|
print img_edit();
|
||||||
print img_edit();
|
print '</a> ';
|
||||||
print '</a> ';
|
print '<a href="./card.php?action=delete&id=' . $line->id . '&piece_num=' . $line->piece_num . '">';
|
||||||
print '<a href="./card.php?action=delete&id=' . $line->id . '&piece_num=' . $line->piece_num . '">';
|
print img_delete();
|
||||||
print img_delete();
|
print '</a>';
|
||||||
print '</a>';
|
|
||||||
}
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
@ -342,7 +339,7 @@ if ($action == 'create') {
|
|||||||
if ($action == "" || $action == 'add') {
|
if ($action == "" || $action == 'add') {
|
||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
print "<tr $bc[$var]>";
|
print "<tr $bc[$var]>";
|
||||||
|
|
||||||
print '<form action="' . $_SERVER["PHP_SELF"] . '?piece_num=' . $book->piece_num . '" method="post">';
|
print '<form action="' . $_SERVER["PHP_SELF"] . '?piece_num=' . $book->piece_num . '" method="post">';
|
||||||
print '<input type="hidden" name="action" value="add">' . "\n";
|
print '<input type="hidden" name="action" value="add">' . "\n";
|
||||||
print '<input type="hidden" name="doc_date" value="' . $book->doc_date . '">' . "\n";
|
print '<input type="hidden" name="doc_date" value="' . $book->doc_date . '">' . "\n";
|
||||||
@ -359,14 +356,13 @@ if ($action == 'create') {
|
|||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
print '<td><input type="submit" class="button" value="' . $langs->trans("Save") . '"></td>';
|
print '<td><input type="submit" class="button" value="' . $langs->trans("Save") . '"></td>';
|
||||||
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
print_fiche_titre($langs->trans("NoRecords"));
|
print_fiche_titre($langs->trans("NoRecords"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,6 +36,11 @@ $page = GETPOST("page");
|
|||||||
$sortorder = GETPOST("sortorder");
|
$sortorder = GETPOST("sortorder");
|
||||||
$sortfield = GETPOST("sortfield");
|
$sortfield = GETPOST("sortfield");
|
||||||
$action = GETPOST('action', 'alpha');
|
$action = GETPOST('action', 'alpha');
|
||||||
|
$search_doc_type = GETPOST("search_doc_type");
|
||||||
|
$search_doc_ref = GETPOST("search_doc_ref");
|
||||||
|
$search_account = GETPOST("search_account");
|
||||||
|
$search_thirdparty = GETPOST("search_thirdparty");
|
||||||
|
$search_journal = GETPOST("search_journal");
|
||||||
|
|
||||||
if ($sortorder == "")
|
if ($sortorder == "")
|
||||||
$sortorder = "ASC";
|
$sortorder = "ASC";
|
||||||
@ -46,6 +51,15 @@ $offset = $conf->liste_limit * $page;
|
|||||||
|
|
||||||
$formventilation = new FormVentilation($db);
|
$formventilation = new FormVentilation($db);
|
||||||
|
|
||||||
|
if (GETPOST("button_removefilter"))
|
||||||
|
{
|
||||||
|
$search_doc_type="";
|
||||||
|
$search_doc_ref="";
|
||||||
|
$search_account="";
|
||||||
|
$search_thirdparty="";
|
||||||
|
$search_journal="";
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Action
|
* Action
|
||||||
*/
|
*/
|
||||||
@ -100,25 +114,25 @@ else {
|
|||||||
$sql = "SELECT bk.rowid, bk.doc_date, bk.doc_type, bk.doc_ref, bk.code_tiers, bk.numero_compte , bk.label_compte, bk.debit , bk.credit, bk.montant , bk.sens , bk.code_journal , bk.piece_num ";
|
$sql = "SELECT bk.rowid, bk.doc_date, bk.doc_type, bk.doc_ref, bk.code_tiers, bk.numero_compte , bk.label_compte, bk.debit , bk.credit, bk.montant , bk.sens , bk.code_journal , bk.piece_num ";
|
||||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as bk";
|
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as bk";
|
||||||
|
|
||||||
if (dol_strlen(trim(GETPOST("search_doc_type")))) {
|
if (dol_strlen(trim($search_doc_type))) {
|
||||||
|
|
||||||
$sql .= " WHERE bk.doc_type LIKE '%" . GETPOST("search_doc_type") . "%'";
|
$sql .= " WHERE bk.doc_type LIKE '%" . $search_doc_type . "%'";
|
||||||
|
|
||||||
if (dol_strlen(trim(GETPOST("search_doc_ref")))) {
|
if (dol_strlen(trim($search_doc_ref))) {
|
||||||
$sql .= " AND bk.doc_ref LIKE '%" . GETPOST("search_doc_ref") . "%'";
|
$sql .= " AND bk.doc_ref LIKE '%" . $search_doc_ref . "%'";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (dol_strlen(trim(GETPOST("search_doc_ref")))) {
|
if (dol_strlen(trim($search_doc_ref))) {
|
||||||
$sql .= " WHERE bk.doc_ref LIKE '%" . GETPOST("search_doc_ref") . "%'";
|
$sql .= " WHERE bk.doc_ref LIKE '%" . $search_doc_ref . "%'";
|
||||||
}
|
}
|
||||||
if (dol_strlen(trim(GETPOST("search_compte")))) {
|
if (dol_strlen(trim($search_account))) {
|
||||||
$sql .= " WHERE bk.numero_compte LIKE '%" . GETPOST("search_compte") . "%'";
|
$sql .= " WHERE bk.numero_compte LIKE '%" . $search_account . "%'";
|
||||||
}
|
}
|
||||||
if (dol_strlen(trim(GETPOST("search_tiers")))) {
|
if (dol_strlen(trim($search_thirdparty))) {
|
||||||
$sql .= " WHERE bk.code_tiers LIKE '%" . GETPOST("search_tiers") . "%'";
|
$sql .= " WHERE bk.code_tiers LIKE '%" . $search_thirdparty . "%'";
|
||||||
}
|
}
|
||||||
if (dol_strlen(trim(GETPOST("search_journal")))) {
|
if (dol_strlen(trim($search_journal))) {
|
||||||
$sql .= " WHERE bk.code_journal LIKE '%" . GETPOST("search_journal") . "%'";
|
$sql .= " WHERE bk.code_journal LIKE '%" . $search_journal . "%'";
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit + 1, $offset);
|
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit + 1, $offset);
|
||||||
@ -149,7 +163,7 @@ else {
|
|||||||
print '<input type="submit" class="button" style="float: right;" value="Export CSV" />';
|
print '<input type="submit" class="button" style="float: right;" value="Export CSV" />';
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
print "<table class=\"noborder\" width=\"100%\">";
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print_liste_field_titre($langs->trans("Doctype"), $_SERVER['PHP_SELF'], "bk.doc_type", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Doctype"), $_SERVER['PHP_SELF'], "bk.doc_type", "", "", "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Docdate"), $_SERVER['PHP_SELF'], "bk.doc_date", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Docdate"), $_SERVER['PHP_SELF'], "bk.doc_date", "", "", "", $sortfield, $sortorder);
|
||||||
@ -157,29 +171,31 @@ else {
|
|||||||
print_liste_field_titre($langs->trans("Numerocompte"), $_SERVER['PHP_SELF'], "bk.numero_compte", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Numerocompte"), $_SERVER['PHP_SELF'], "bk.numero_compte", "", "", "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Code_tiers"), $_SERVER['PHP_SELF'], "bk.code_tiers", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Code_tiers"), $_SERVER['PHP_SELF'], "bk.code_tiers", "", "", "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Labelcompte"), $_SERVER['PHP_SELF'], "bk_label_compte", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Labelcompte"), $_SERVER['PHP_SELF'], "bk_label_compte", "", "", "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Debit"), $_SERVER['PHP_SELF'], "bk.debit", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Debit"), $_SERVER['PHP_SELF'], "bk.debit", "", "", 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Credit"), $_SERVER['PHP_SELF'], "bk.credit", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Credit"), $_SERVER['PHP_SELF'], "bk.credit", "", "", 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Amount"), $_SERVER['PHP_SELF'], "bk.montant", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Amount"), $_SERVER['PHP_SELF'], "bk.montant", "", "", 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Sens"), $_SERVER['PHP_SELF'], "bk.sens", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Sens"), $_SERVER['PHP_SELF'], "bk.sens", "", "", 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Codejournal"), $_SERVER['PHP_SELF'], "bk.code_journal", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Codejournal"), $_SERVER['PHP_SELF'], "bk.code_journal", "", "", "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre(" ");
|
print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",$param,"",'width="60" align="center"',$sortfield,$sortorder);
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="GET">';
|
print '<form action="'.$_SERVER["PHP_SELF"].'" method="GET">';
|
||||||
print '<td><input type="text" name="search_doc_type" value="' . $_GET["search_doc_type"] . '"></td>';
|
print '<td><input type="text" name="search_doc_type" size="8" value="' . $search_doc_type . '"></td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '<td><input type="text" name="search_doc_ref" value="' . $_GET["search_doc_ref"] . '"></td>';
|
print '<td><input type="text" name="search_doc_ref" size="8" value="' . $search_doc_ref . '"></td>';
|
||||||
print '<td><input type="text" name="search_compte" value="' . $_GET["search_compte"] . '"></td>';
|
print '<td><input type="text" name="search_account" size="8" value="' . $search_account . '"></td>';
|
||||||
print '<td><input type="text" name="search_tiers" value="' . $_GET["search_tiers"] . '"></td>';
|
print '<td><input type="text" name="search_thirdparty" size="8" value="' . $search_thirdparty . '"></td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '<td><input type="text" name="search_journal" size="3" value="' . $_GET["search_journal"] . '"></td>';
|
print '<td><input type="text" name="search_journal" size="3" value="' . $search_journal . '"></td>';
|
||||||
print '<td align="right">';
|
print '<td align="right" colspan="2" class="liste_titre">';
|
||||||
print '<input type="image" class="liste_titre" name="button_search" src="' . DOL_URL_ROOT . '/theme/' . $conf->theme . '/img/search.png" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
print '<input type="image" class="liste_titre" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" name="button_search" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
||||||
|
print ' ';
|
||||||
|
print '<input type="image" class="liste_titre" src="'.img_picto($langs->trans("Search"),'searchclear.png','','',1).'" name="button_removefilter" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</form>';
|
print '</form>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -201,9 +217,9 @@ else {
|
|||||||
print '<td align="right">' . price($obj->debit) . '</td>';
|
print '<td align="right">' . price($obj->debit) . '</td>';
|
||||||
print '<td align="right">' . price($obj->credit) . '</td>';
|
print '<td align="right">' . price($obj->credit) . '</td>';
|
||||||
print '<td align="right">' . price($obj->montant) . '</td>';
|
print '<td align="right">' . price($obj->montant) . '</td>';
|
||||||
print '<td>' . $obj->sens . '</td>';
|
print '<td align="center">' . $obj->sens . '</td>';
|
||||||
print '<td>' . $obj->code_journal . '</td>';
|
print '<td>' . $obj->code_journal . '</td>';
|
||||||
print '<td><a href="./card.php?piece_num=' . $obj->piece_num . '">' . img_edit() . '</a></td>';
|
print '<td align="center"><a href="./card.php?piece_num=' . $obj->piece_num . '">' . img_edit() . '</a></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
$i ++;
|
$i ++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,14 +40,12 @@ $id = GETPOST('id');
|
|||||||
// Security check
|
// Security check
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
if (! $user->rights->accounting->access)
|
|
||||||
accessforbidden();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($action == 'ventil' && $user->rights->accounting->access)
|
if ($action == 'ventil' && $user->rights->accounting->ventilation->dispatch)
|
||||||
{
|
{
|
||||||
if (! GETPOST('cancel', 'alpha'))
|
if (! GETPOST('cancel', 'alpha'))
|
||||||
{
|
{
|
||||||
@ -109,7 +107,7 @@ if (! empty($id)) {
|
|||||||
print '<input type="hidden" name="action" value="ventil">';
|
print '<input type="hidden" name="action" value="ventil">';
|
||||||
|
|
||||||
$linkback='<a href="'.DOL_URL_ROOT.'/accountancy/customer/lines.php">'.$langs->trans("Back").'</a>';
|
$linkback='<a href="'.DOL_URL_ROOT.'/accountancy/customer/lines.php">'.$langs->trans("Back").'</a>';
|
||||||
print_fiche_titre($langs->trans('AccountingVentilationCustomer'),$linkback,'setup');
|
print_fiche_titre($langs->trans('CustomersVentilation'),$linkback,'setup');
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
|
|||||||
@ -93,8 +93,8 @@ if ($action == 'validatehistory') {
|
|||||||
*/
|
*/
|
||||||
llxHeader('', $langs->trans("CustomersVentilation"));
|
llxHeader('', $langs->trans("CustomersVentilation"));
|
||||||
|
|
||||||
$textprevyear = "<a href=\"index.php?year=" . ($year_current - 1) . "\">" . img_previous() . "</a>";
|
$textprevyear = '<a href="' . $_SERVER["PHP_SELF"] . '?year=' . ($year_current - 1) . '">' . img_previous() . '</a>';
|
||||||
$textnextyear = " <a href=\"index.php?year=" . ($year_current + 1) . "\">" . img_next() . "</a>";
|
$textnextyear = ' <a href="' . $_SERVER["PHP_SELF"] . '?year=' . ($year_current + 1) . '">' . img_next() . '</a>';
|
||||||
|
|
||||||
print_fiche_titre($langs->trans("CustomersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear);
|
print_fiche_titre($langs->trans("CustomersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear);
|
||||||
|
|
||||||
@ -197,7 +197,7 @@ print "</table>\n";
|
|||||||
|
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre"><td width="400" align="left">' . $langs->trans("TotalVente") . '</td>';
|
print '<tr class="liste_titre"><td width="400" align="left">' . $langs->trans("Total") . '</td>';
|
||||||
print '<td width="60" align="center">' . $langs->trans("JanuaryMin") . '</td>';
|
print '<td width="60" align="center">' . $langs->trans("JanuaryMin") . '</td>';
|
||||||
print '<td width="60" align="center">' . $langs->trans("FebruaryMin") . '</td>';
|
print '<td width="60" align="center">' . $langs->trans("FebruaryMin") . '</td>';
|
||||||
print '<td width="60" align="center">' . $langs->trans("MarchMin") . '</td>';
|
print '<td width="60" align="center">' . $langs->trans("MarchMin") . '</td>';
|
||||||
@ -212,7 +212,7 @@ print '<td width="60" align="center">' . $langs->trans("NovemberMin") . '</td>';
|
|||||||
print '<td width="60" align="center">' . $langs->trans("DecemberMin") . '</td>';
|
print '<td width="60" align="center">' . $langs->trans("DecemberMin") . '</td>';
|
||||||
print '<td width="60" align="center"><b>' . $langs->trans("Total") . '</b></td></tr>';
|
print '<td width="60" align="center"><b>' . $langs->trans("Total") . '</b></td></tr>';
|
||||||
|
|
||||||
$sql = "SELECT '" . $langs->trans("Vide") . "' AS 'Total',";
|
$sql = "SELECT '" . $langs->trans("TotalVente") . "' AS 'Total',";
|
||||||
$sql .= " ROUND(SUM(IF(MONTH(f.datef)=1,fd.total_ht,0)),2) AS 'Janvier',";
|
$sql .= " ROUND(SUM(IF(MONTH(f.datef)=1,fd.total_ht,0)),2) AS 'Janvier',";
|
||||||
$sql .= " ROUND(SUM(IF(MONTH(f.datef)=2,fd.total_ht,0)),2) AS 'Fevrier',";
|
$sql .= " ROUND(SUM(IF(MONTH(f.datef)=2,fd.total_ht,0)),2) AS 'Fevrier',";
|
||||||
$sql .= " ROUND(SUM(IF(MONTH(f.datef)=3,fd.total_ht,0)),2) AS 'Mars',";
|
$sql .= " ROUND(SUM(IF(MONTH(f.datef)=3,fd.total_ht,0)),2) AS 'Mars',";
|
||||||
|
|||||||
@ -68,8 +68,6 @@ $action = GETPOST('action');
|
|||||||
// Security check
|
// Security check
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
if (! $user->rights->accounting->access)
|
|
||||||
accessforbidden();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
|
|||||||
@ -62,8 +62,6 @@ $date_endyear = GETPOST('date_endyear');
|
|||||||
// Security check
|
// Security check
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
if (! $user->rights->accounting->access)
|
|
||||||
accessforbidden();
|
|
||||||
|
|
||||||
$action = GETPOST('action');
|
$action = GETPOST('action');
|
||||||
|
|
||||||
|
|||||||
@ -36,8 +36,6 @@ $langs->load("accountancy");
|
|||||||
// Security check
|
// Security check
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
if (! $user->rights->accounting->access)
|
|
||||||
accessforbidden();
|
|
||||||
|
|
||||||
llxHeader('', 'Journaux', '');
|
llxHeader('', 'Journaux', '');
|
||||||
|
|
||||||
|
|||||||
@ -55,8 +55,6 @@ $date_endyear = GETPOST('date_endyear');
|
|||||||
// Security check
|
// Security check
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
if (! $user->rights->accounting->access)
|
|
||||||
accessforbidden();
|
|
||||||
|
|
||||||
$action = GETPOST('action');
|
$action = GETPOST('action');
|
||||||
|
|
||||||
|
|||||||
@ -56,8 +56,6 @@ $date_endyear = GETPOST('date_endyear');
|
|||||||
// Security check
|
// Security check
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
if (! $user->rights->accounting->access)
|
|
||||||
accessforbidden();
|
|
||||||
|
|
||||||
$action = GETPOST('action');
|
$action = GETPOST('action');
|
||||||
|
|
||||||
|
|||||||
@ -46,10 +46,9 @@ $codeventil = GETPOST('codeventil');
|
|||||||
// Security check
|
// Security check
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
if (! $user->rights->accounting->ventilation->dispatch)
|
|
||||||
accessforbidden();
|
|
||||||
|
|
||||||
if ($action == 'ventil' && $user->rights->accounting->access) {
|
if ($action == 'ventil' && $user->rights->accounting->ventilation->dispatch)
|
||||||
|
{
|
||||||
$sql = " UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det";
|
$sql = " UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det";
|
||||||
$sql .= " SET fk_code_ventilation = " . $codeventil;
|
$sql .= " SET fk_code_ventilation = " . $codeventil;
|
||||||
$sql .= " WHERE rowid = " . $id;
|
$sql .= " WHERE rowid = " . $id;
|
||||||
@ -103,7 +102,7 @@ if ($_GET["id"]) {
|
|||||||
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="ventil">';
|
print '<input type="hidden" name="action" value="ventil">';
|
||||||
|
|
||||||
print_fiche_titre($langs->trans("Ventilation"));
|
print_fiche_titre($langs->trans("SuppliersVentilation"));
|
||||||
|
|
||||||
print '<table class="border" width="100%" cellspacing="0" cellpadding="4">';
|
print '<table class="border" width="100%" cellspacing="0" cellpadding="4">';
|
||||||
|
|
||||||
|
|||||||
@ -92,10 +92,10 @@ if ($action == 'validatehistory') {
|
|||||||
|
|
||||||
llxHeader('', $langs->trans("SuppliersVentilation"));
|
llxHeader('', $langs->trans("SuppliersVentilation"));
|
||||||
|
|
||||||
$textprevyear = "<a href=\"index.php?year=" . ($year_current - 1) . "\">" . img_previous() . "</a>";
|
$textprevyear = '<a href="' . $_SERVER["PHP_SELF"] . '?year=' . ($year_current - 1) . '">' . img_previous() . '</a>';
|
||||||
$textnextyear = " <a href=\"index.php?year=" . ($year_current + 1) . "\">" . img_next() . "</a>";
|
$textnextyear = ' <a href="' . $_SERVER["PHP_SELF"] . '?year=' . ($year_current + 1) . '">' . img_next() . '</a>';
|
||||||
|
|
||||||
print_fiche_titre($langs->trans("AccountingVentilationSupplier") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear);
|
print_fiche_titre($langs->trans("SuppliersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear);
|
||||||
|
|
||||||
print '<b>' . $langs->trans("DescVentilSupplier") . '</b>';
|
print '<b>' . $langs->trans("DescVentilSupplier") . '</b>';
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?action=validatehistory">' . $langs->trans("ValidateHistory") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?action=validatehistory">' . $langs->trans("ValidateHistory") . '</a></div>';
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* 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
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
@ -17,6 +17,7 @@
|
|||||||
*
|
*
|
||||||
* 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/>.
|
||||||
|
* or see http://www.gnu.org/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -723,7 +723,7 @@ else
|
|||||||
{
|
{
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* Fiche creation */
|
/* Creation card */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
$object->canvas=$canvas;
|
$object->canvas=$canvas;
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
* 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) 2009-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2009-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
|
* Copyright (C) 2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
||||||
*
|
*
|
||||||
* 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
|
||||||
@ -124,7 +125,7 @@ class Adherent extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fonction envoyant un email a l'adherent avec le texte fourni en parametre.
|
* Function sending an email has the adherent with the text supplied in parameter.
|
||||||
*
|
*
|
||||||
* @param string $text Content of message (not html entities encoded)
|
* @param string $text Content of message (not html entities encoded)
|
||||||
* @param string $subject Subject of message
|
* @param string $subject Subject of message
|
||||||
@ -247,9 +248,9 @@ class Adherent extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renvoie le libelle traduit de la nature d'un adherent (physique ou morale)
|
* Return translated label by the nature of a adherent (physical or moral)
|
||||||
*
|
*
|
||||||
* @param string $morphy Nature physique ou morale de l'adherent
|
* @param string $morphy Nature of the adherent (physical or moral)
|
||||||
* @return string Label
|
* @return string Label
|
||||||
*/
|
*/
|
||||||
function getmorphylib($morphy='')
|
function getmorphylib($morphy='')
|
||||||
|
|||||||
@ -1,103 +0,0 @@
|
|||||||
<?php
|
|
||||||
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
|
||||||
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
|
||||||
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
|
|
||||||
*
|
|
||||||
* 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/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file htdocs/compta/prelevement/bon.php
|
|
||||||
* \ingroup prelevement
|
|
||||||
* \brief Fiche apercu du bon de prelevement
|
|
||||||
*/
|
|
||||||
|
|
||||||
require('../../main.inc.php');
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/prelevement.lib.php';
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.php';
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
|
||||||
|
|
||||||
$langs->load("banks");
|
|
||||||
$langs->load("categories");
|
|
||||||
$langs->load("bills");
|
|
||||||
$langs->load("categories");
|
|
||||||
|
|
||||||
// Security check
|
|
||||||
$socid=0;
|
|
||||||
$id = GETPOST('id','int');
|
|
||||||
$ref = GETPOST('ref','alpha');
|
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
|
||||||
$result = restrictedArea($user, 'prelevement', $id);
|
|
||||||
|
|
||||||
|
|
||||||
llxHeader('','Bon de prelevement');
|
|
||||||
|
|
||||||
$form = new Form($db);
|
|
||||||
|
|
||||||
if ($id > 0 || ! empty($ref))
|
|
||||||
{
|
|
||||||
$object = new BonPrelevement($db,"");
|
|
||||||
|
|
||||||
if ($object->fetch($id) == 0)
|
|
||||||
{
|
|
||||||
$head = prelevement_prepare_head($object);
|
|
||||||
dol_fiche_head($head, 'preview', 'Prelevement : '. $object->ref);
|
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
|
||||||
|
|
||||||
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$object->ref.'</td></tr>';
|
|
||||||
print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($object->amount).'</td></tr>';
|
|
||||||
print '<tr><td width="20%">'.$langs->trans("File").'</td><td>';
|
|
||||||
|
|
||||||
$relativepath = 'bon/'.$object->ref;
|
|
||||||
|
|
||||||
print '<a data-ajax="false" href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$object->ref.'</a>';
|
|
||||||
|
|
||||||
print '</td></tr>';
|
|
||||||
print '</table><br>';
|
|
||||||
|
|
||||||
$fileimage = $conf->prelevement->dir_output.'/receipts/'.$object->ref.'.ps.png.0';
|
|
||||||
$fileps = $conf->prelevement->dir_output.'/receipts/'.$object->ref.'.ps';
|
|
||||||
|
|
||||||
// Conversion du PDF en image png si fichier png non existant
|
|
||||||
if (!file_exists($fileimage))
|
|
||||||
{
|
|
||||||
if (class_exists("Imagick"))
|
|
||||||
{
|
|
||||||
$ret = dol_convert_file($file,'png',$fileimage);
|
|
||||||
if ($ret < 0) $error++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$langs->load("errors");
|
|
||||||
print '<font class="error">'.$langs->trans("ErrorNoImagickReadimage").'</font>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (file_exists($fileimage))
|
|
||||||
{
|
|
||||||
print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=prelevement&file='.urlencode(basename($fileimage)).'">';
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
dol_fiche_end();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_print_error($db);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
llxFooter();
|
|
||||||
@ -821,7 +821,9 @@ class BonPrelevement extends CommonObject
|
|||||||
{
|
{
|
||||||
$bac = new CompanyBankAccount($this->db);
|
$bac = new CompanyBankAccount($this->db);
|
||||||
$bac->fetch(0,$soc->id);
|
$bac->fetch(0,$soc->id);
|
||||||
|
|
||||||
if ($bac->verif() >= 1)
|
if ($bac->verif() >= 1)
|
||||||
|
//if (true)
|
||||||
{
|
{
|
||||||
$factures_prev[$i] = $fac;
|
$factures_prev[$i] = $fac;
|
||||||
/* second tableau necessaire pour BonPrelevement */
|
/* second tableau necessaire pour BonPrelevement */
|
||||||
@ -1226,26 +1228,24 @@ class BonPrelevement extends CommonObject
|
|||||||
* @return int 0 if OK, <0 if KO
|
* @return int 0 if OK, <0 if KO
|
||||||
*/
|
*/
|
||||||
//TODO: Optimize code to read lines in a single function
|
//TODO: Optimize code to read lines in a single function
|
||||||
function Generate()
|
function generate()
|
||||||
{
|
{
|
||||||
global $conf,$langs,$mysoc;
|
global $conf,$langs,$mysoc;
|
||||||
|
|
||||||
$result = 0;
|
$result = 0;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::Generate build file ".$this->filename);
|
dol_syslog(get_class($this)."::generate build file ".$this->filename);
|
||||||
|
|
||||||
$this->file = fopen($this->filename,"w");
|
$this->file = fopen($this->filename,"w");
|
||||||
|
|
||||||
$found=0;
|
$found=0;
|
||||||
|
|
||||||
// Build file for European countries
|
// Build file for European countries
|
||||||
if (! $mysoc->isInEEC())
|
if ($mysoc->isInEEC())
|
||||||
{
|
{
|
||||||
$found++;
|
$found++;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SECTION CREATION FICHIER SEPA
|
|
||||||
* SECTION CREATION FICHIER SEPA
|
|
||||||
* SECTION CREATION FICHIER SEPA
|
* SECTION CREATION FICHIER SEPA
|
||||||
*/
|
*/
|
||||||
// SEPA Initialisation
|
// SEPA Initialisation
|
||||||
@ -1308,8 +1308,6 @@ class BonPrelevement extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SECTION CREATION FICHIER SEPA
|
|
||||||
* SECTION CREATION FICHIER SEPA
|
|
||||||
* SECTION CREATION FICHIER SEPA
|
* SECTION CREATION FICHIER SEPA
|
||||||
*/
|
*/
|
||||||
// SEPA File Header
|
// SEPA File Header
|
||||||
@ -1401,11 +1399,14 @@ class BonPrelevement extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$result = -2;
|
$result = -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
$langs->load('withdrawals');
|
$langs->load('withdrawals');
|
||||||
fputs($this->file, $langs->trans('WithdrawalFileNotCapable'));
|
|
||||||
|
// TODO Add here code to generate a generic file
|
||||||
|
fputs($this->file, $langs->trans('WithdrawalFileNotCapable', $mysoc->country_code));
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose($this->file);
|
fclose($this->file);
|
||||||
|
|||||||
@ -173,7 +173,8 @@ class RejetPrelevement
|
|||||||
}
|
}
|
||||||
//Tag invoice as unpaid
|
//Tag invoice as unpaid
|
||||||
dol_syslog("RejetPrelevement::Create set_unpaid fac ".$fac->ref);
|
dol_syslog("RejetPrelevement::Create set_unpaid fac ".$fac->ref);
|
||||||
$fac->set_unpaid($fac->id, $user);
|
|
||||||
|
$fac->set_unpaid($user);
|
||||||
|
|
||||||
//TODO: Must be managed by notifications module
|
//TODO: Must be managed by notifications module
|
||||||
// Send email to sender of the standing order request
|
// Send email to sender of the standing order request
|
||||||
@ -194,7 +195,7 @@ class RejetPrelevement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Envoi mail
|
* Send email to all users that has asked the withdraw request
|
||||||
*
|
*
|
||||||
* @param Facture $fac Invoice object
|
* @param Facture $fac Invoice object
|
||||||
* @return void
|
* @return void
|
||||||
|
|||||||
@ -32,7 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
|||||||
|
|
||||||
$langs->load("banks");
|
$langs->load("banks");
|
||||||
$langs->load("categories");
|
$langs->load("categories");
|
||||||
$langs->load("widthdrawals");
|
$langs->load("withdrawals");
|
||||||
$langs->load("companies");
|
$langs->load("companies");
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
|
|||||||
@ -213,6 +213,7 @@ else
|
|||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
|
||||||
|
$db->close();
|
||||||
|
|||||||
@ -105,10 +105,13 @@ if ($action == 'confirm_rejet')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$invoicestatic=new Facture($db);
|
||||||
|
|
||||||
llxHeader('',$langs->trans("StandingOrder"));
|
llxHeader('',$langs->trans("StandingOrder"));
|
||||||
|
|
||||||
$h = 0;
|
$h = 0;
|
||||||
@ -134,9 +137,7 @@ if ($id)
|
|||||||
print '<a href="card.php?id='.$lipre->bon_rowid.'">'.$lipre->bon_ref.'</a></td></tr>';
|
print '<a href="card.php?id='.$lipre->bon_rowid.'">'.$lipre->bon_ref.'</a></td></tr>';
|
||||||
print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
|
print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
|
||||||
print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($lipre->amount).'</td></tr>';
|
print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($lipre->amount).'</td></tr>';
|
||||||
print '<tr><td width="20%">'.$langs->trans("Status").'</td><td>';
|
print '<tr><td width="20%">'.$langs->trans("Status").'</td><td>'.$lipre->LibStatut($lipre->statut,1).'</td></tr>';
|
||||||
|
|
||||||
print $lipre->LibStatut($lipre->statut,1).'</td></tr>';
|
|
||||||
|
|
||||||
if ($lipre->statut == 3)
|
if ($lipre->statut == 3)
|
||||||
{
|
{
|
||||||
@ -215,7 +216,7 @@ if ($id)
|
|||||||
print '</table><br>';
|
print '</table><br>';
|
||||||
|
|
||||||
//Confirm Button
|
//Confirm Button
|
||||||
print '<center><input type="submit" class="valid" value='.$langs->trans("Confirm").'><center>';
|
print '<center><input type="submit" class="button" value='.$langs->trans("Confirm").'><center>';
|
||||||
print '</form>';
|
print '</form>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,13 +230,20 @@ if ($id)
|
|||||||
|
|
||||||
if ($action == '')
|
if ($action == '')
|
||||||
{
|
{
|
||||||
if ($bon->statut == 2 && $lipre->statut == 2 && $user->rights->prelevement->bons->credit)
|
if ($bon->statut == 2 && $lipre->statut == 2)
|
||||||
{
|
{
|
||||||
print "<a class=\"butAction\" href=\"ligne.php?action=rejet&id=$lipre->id\">".$langs->trans("StandingOrderReject")."</a>";
|
if ($user->rights->prelevement->bons->credit)
|
||||||
|
{
|
||||||
|
print "<a class=\"butAction\" href=\"ligne.php?action=rejet&id=$lipre->id\">".$langs->trans("StandingOrderReject")."</a>";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print "<a class=\"butActionRefused\" href=\"#\" title=\"".$langs->trans("NotAllowed")."\">".$langs->trans("StandingOrderReject")."</a>";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print "<a class=\"butActionRefused\" href=\"#\">".$langs->trans("StandingOrderReject")."</a>";
|
print "<a class=\"butActionRefused\" href=\"#\" title=\"".$langs->trans("NotPossibleForThisStatusOfWithdrawReceiptORLine")."\">".$langs->trans("StandingOrderReject")."</a>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -256,7 +264,7 @@ if ($id)
|
|||||||
* Liste des factures
|
* Liste des factures
|
||||||
*/
|
*/
|
||||||
$sql = "SELECT pf.rowid";
|
$sql = "SELECT pf.rowid";
|
||||||
$sql.= " ,f.rowid as facid, f.facnumber as ref, f.total_ttc";
|
$sql.= " ,f.rowid as facid, f.facnumber as ref, f.total_ttc, f.paye, f.fk_statut";
|
||||||
$sql.= " , s.rowid as socid, s.nom as name";
|
$sql.= " , s.rowid as socid, s.nom as name";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
|
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
|
||||||
$sql.= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl";
|
$sql.= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl";
|
||||||
@ -287,7 +295,7 @@ if ($id)
|
|||||||
print"\n<!-- debut table -->\n";
|
print"\n<!-- debut table -->\n";
|
||||||
print '<table class="noborder" width="100%" cellspacing="0" cellpadding="4">';
|
print '<table class="noborder" width="100%" cellspacing="0" cellpadding="4">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("Invoice").'</td><td>'.$langs->trans("ThirdParty").'</td><td align="right">'.$langs->trans("Amount").'</td>';
|
print '<td>'.$langs->trans("Invoice").'</td><td>'.$langs->trans("ThirdParty").'</td><td align="right">'.$langs->trans("Amount").'</td><td align="right">'.$langs->trans("Status").'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
$var=True;
|
$var=True;
|
||||||
@ -312,6 +320,11 @@ if ($id)
|
|||||||
|
|
||||||
print '<td align="right">'.price($obj->total_ttc)."</td>\n";
|
print '<td align="right">'.price($obj->total_ttc)."</td>\n";
|
||||||
|
|
||||||
|
print '<td align="right">';
|
||||||
|
$invoicestatic->fetch($obj->facid);
|
||||||
|
print $invoicestatic->getLibStatut(5);
|
||||||
|
print "</td>\n";
|
||||||
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
|
|||||||
@ -609,6 +609,8 @@ abstract class CommonObject
|
|||||||
|
|
||||||
if (empty($this->socid) && empty($this->fk_soc) && empty($this->fk_thirdparty)) return 0;
|
if (empty($this->socid) && empty($this->fk_soc) && empty($this->fk_thirdparty)) return 0;
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
||||||
|
|
||||||
$thirdparty = new Societe($this->db);
|
$thirdparty = new Societe($this->db);
|
||||||
$result=$thirdparty->fetch(isset($this->socid)?$this->socid:(isset($this->fk_soc)?$this->fk_soc:$this->fk_thirdparty));
|
$result=$thirdparty->fetch(isset($this->socid)?$this->socid:(isset($this->fk_soc)?$this->fk_soc:$this->fk_thirdparty));
|
||||||
$this->client = $thirdparty; // deprecated
|
$this->client = $thirdparty; // deprecated
|
||||||
|
|||||||
@ -157,7 +157,7 @@ class ExtraFields
|
|||||||
{
|
{
|
||||||
$table=$elementtype.'_extrafields';
|
$table=$elementtype.'_extrafields';
|
||||||
|
|
||||||
if (! empty($attrname) && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname) && ! is_numeric($attrname))
|
if (! empty($attrname) && preg_match("/^\w[a-zA-Z0-9_]*$/",$attrname) && ! is_numeric($attrname))
|
||||||
{
|
{
|
||||||
if ($type=='boolean') {
|
if ($type=='boolean') {
|
||||||
$typedb='int';
|
$typedb='int';
|
||||||
@ -752,15 +752,17 @@ class ExtraFields
|
|||||||
if (strpos($InfoFieldList[4], 'extra')!==false)
|
if (strpos($InfoFieldList[4], 'extra')!==false)
|
||||||
{
|
{
|
||||||
$sql.= ' as main, '.MAIN_DB_PREFIX .$InfoFieldList[0].'_extrafields as extra';
|
$sql.= ' as main, '.MAIN_DB_PREFIX .$InfoFieldList[0].'_extrafields as extra';
|
||||||
$sqlwhere.= ' AND extra.fk_object=main.'.$InfoFieldList[2]. ' AND '.$InfoFieldList[4];
|
$sqlwhere.= ' WHERE extra.fk_object=main.'.$InfoFieldList[2]. ' AND '.$InfoFieldList[4];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$sqlwhere.= ' AND '.$InfoFieldList[4];
|
$sqlwhere.= ' WHERE '.$InfoFieldList[4];
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
$sqlwhere.= ' WHERE 1';
|
||||||
}
|
}
|
||||||
if (in_array($InfoFieldList[0],array('tablewithentity'))) $sqlwhere.= ' AND entity = '.$conf->entity; // Some tables may have field, some other not. For the moment we disable it.
|
if (in_array($InfoFieldList[0],array('tablewithentity'))) $sqlwhere.= ' AND entity = '.$conf->entity; // Some tables may have field, some other not. For the moment we disable it.
|
||||||
$sql.=preg_replace('/^ AND /','',$sqlwhere);
|
//$sql.=preg_replace('/^ AND /','',$sqlwhere);
|
||||||
//print $sql;
|
//print $sql;
|
||||||
|
|
||||||
dol_syslog(get_class($this).'::showInputField type=sellist', LOG_DEBUG);
|
dol_syslog(get_class($this).'::showInputField type=sellist', LOG_DEBUG);
|
||||||
@ -988,7 +990,10 @@ class ExtraFields
|
|||||||
{
|
{
|
||||||
foreach ($fields_label as $field_toshow)
|
foreach ($fields_label as $field_toshow)
|
||||||
{
|
{
|
||||||
$translabel=$langs->trans($obj->$field_toshow);
|
$translabel='';
|
||||||
|
if (!empty($obj->$field_toshow)) {
|
||||||
|
$translabel=$langs->trans($obj->$field_toshow);
|
||||||
|
}
|
||||||
if ($translabel!=$field_toshow) {
|
if ($translabel!=$field_toshow) {
|
||||||
$value.=dol_trunc($translabel,18).' ';
|
$value.=dol_trunc($translabel,18).' ';
|
||||||
}else {
|
}else {
|
||||||
@ -998,7 +1003,10 @@ class ExtraFields
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$translabel=$langs->trans($obj->$InfoFieldList[1]);
|
$translabel='';
|
||||||
|
if (!empty($obj->$InfoFieldList[1])) {
|
||||||
|
$translabel=$langs->trans($obj->$InfoFieldList[1]);
|
||||||
|
}
|
||||||
if ($translabel!=$obj->$InfoFieldList[1]) {
|
if ($translabel!=$obj->$InfoFieldList[1]) {
|
||||||
$value=dol_trunc($translabel,18);
|
$value=dol_trunc($translabel,18);
|
||||||
}else {
|
}else {
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* 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
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
@ -14,6 +14,7 @@
|
|||||||
*
|
*
|
||||||
* 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/>.
|
||||||
|
* or see http://www.gnu.org/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
* 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
|
||||||
@ -173,7 +174,7 @@ class Notify
|
|||||||
|
|
||||||
// Check notification per third party
|
// Check notification per third party
|
||||||
$sql = "SELECT s.nom, c.email, c.rowid as cid, c.lastname, c.firstname, c.default_lang,";
|
$sql = "SELECT s.nom, c.email, c.rowid as cid, c.lastname, c.firstname, c.default_lang,";
|
||||||
$sql.= " a.rowid as adid, a.label, a.code, n.rowid";
|
$sql.= " a.rowid as adid, a.label, a.code, n.rowid, n.type";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c,";
|
$sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX."c_action_trigger as a,";
|
$sql.= " ".MAIN_DB_PREFIX."c_action_trigger as a,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX."notify_def as n,";
|
$sql.= " ".MAIN_DB_PREFIX."notify_def as n,";
|
||||||
@ -292,8 +293,8 @@ class Notify
|
|||||||
|
|
||||||
if ($mailfile->sendfile())
|
if ($mailfile->sendfile())
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, objet_type, objet_id, email)";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, type, objet_type, objet_id, email)";
|
||||||
$sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$actiondefid.", ".$object->socid.", ".$obj->cid.", '".$object_type."', ".$object->id.", '".$this->db->escape($obj->email)."')";
|
$sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$actiondefid.", ".$object->socid.", ".$obj->cid.", '".$obj->type."', '".$object_type."', ".$object->id.", '".$this->db->escape($obj->email)."')";
|
||||||
if (! $this->db->query($sql))
|
if (! $this->db->query($sql))
|
||||||
{
|
{
|
||||||
dol_print_error($this->db);
|
dol_print_error($this->db);
|
||||||
@ -421,8 +422,8 @@ class Notify
|
|||||||
|
|
||||||
if ($mailfile->sendfile())
|
if ($mailfile->sendfile())
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, objet_type, objet_id, email)";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, type, objet_type, objet_id, email)";
|
||||||
$sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$actiondefid.", ".$object->socid.", null, '".$object_type."', ".$object->id.", '".$this->db->escape($conf->global->$param)."')";
|
$sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$actiondefid.", ".$object->socid.", null, '".$obj->type."', '".$object_type."', ".$object->id.", '".$this->db->escape($conf->global->$param)."')";
|
||||||
if (! $this->db->query($sql))
|
if (! $this->db->query($sql))
|
||||||
{
|
{
|
||||||
dol_print_error($this->db);
|
dol_print_error($this->db);
|
||||||
|
|||||||
@ -2,19 +2,20 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2009-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2009-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
*
|
*
|
||||||
* 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
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* 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/>.
|
||||||
*/
|
* or see http://www.gnu.org/
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/core/lib/invoice2.lib.php
|
* \file htdocs/core/lib/invoice2.lib.php
|
||||||
|
|||||||
@ -44,14 +44,6 @@ function prelevement_prepare_head($object)
|
|||||||
$head[$h][2] = 'prelevement';
|
$head[$h][2] = 'prelevement';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
if (! empty($conf->global->MAIN_USE_PREVIEW_TABS))
|
|
||||||
{
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/bon.php?id='.$object->id;
|
|
||||||
$head[$h][1] = $langs->trans("Preview");
|
|
||||||
$head[$h][2] = 'preview';
|
|
||||||
$h++;
|
|
||||||
}
|
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/lignes.php?id='.$object->id;
|
$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/lignes.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans("Lines");
|
$head[$h][1] = $langs->trans("Lines");
|
||||||
$head[$h][2] = 'lines';
|
$head[$h][2] = 'lines';
|
||||||
|
|||||||
@ -961,7 +961,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
if (! empty($conf->accounting->enabled))
|
if (! empty($conf->accounting->enabled))
|
||||||
{
|
{
|
||||||
$newmenu->add("/accountancy/admin/fiscalyear.php?mainmenu=accountancy", $langs->trans("Fiscalyear"),0,$user->rights->accounting->fiscalyear, '', $mainmenu, 'fiscalyear');
|
$newmenu->add("/accountancy/admin/fiscalyear.php?mainmenu=accountancy", $langs->trans("Fiscalyear"),0,$user->rights->accounting->fiscalyear, '', $mainmenu, 'fiscalyear');
|
||||||
$newmenu->add("/accountancy/admin/account.php?mainmenu=home", $langs->trans("Chartofaccounts"),0,$user->rights->accounting->fiscalyear, '', $mainmenu, 'fiscalyear');
|
$newmenu->add("/accountancy/admin/account.php?mainmenu=accountancy", $langs->trans("Chartofaccounts"),0,$user->rights->accounting->chartofaccount, '', $mainmenu, 'chartofaccount');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -210,6 +210,7 @@ class CommActionRapport
|
|||||||
$sql.= " WHERE c.id=a.fk_action AND a.fk_user_author = u.rowid";
|
$sql.= " WHERE c.id=a.fk_action AND a.fk_user_author = u.rowid";
|
||||||
$sql.= " AND a.datep BETWEEN '".$this->db->idate(dol_get_first_day($this->year,$this->month,false))."'";
|
$sql.= " AND a.datep BETWEEN '".$this->db->idate(dol_get_first_day($this->year,$this->month,false))."'";
|
||||||
$sql.= " AND '".$this->db->idate(dol_get_last_day($this->year,$this->month,false))."'";
|
$sql.= " AND '".$this->db->idate(dol_get_last_day($this->year,$this->month,false))."'";
|
||||||
|
$sql.= " AND a.entity = ".$conf->entity;
|
||||||
$sql.= " ORDER BY a.datep DESC";
|
$sql.= " ORDER BY a.datep DESC";
|
||||||
|
|
||||||
$eventstatic=new ActionComm($this->db);
|
$eventstatic=new ActionComm($this->db);
|
||||||
|
|||||||
@ -229,6 +229,14 @@ class modAccounting extends DolibarrModules
|
|||||||
$this->rights[$r][4] = 'fiscalyear';
|
$this->rights[$r][4] = 'fiscalyear';
|
||||||
$this->rights[$r][5] = '';
|
$this->rights[$r][5] = '';
|
||||||
$r++;
|
$r++;
|
||||||
|
|
||||||
|
$this->rights[$r][0] = 50440;
|
||||||
|
$this->rights[$r][1] = 'Manage chart of accounts';
|
||||||
|
$this->rights[$r][2] = 'r';
|
||||||
|
$this->rights[$r][3] = 1;
|
||||||
|
$this->rights[$r][4] = 'chartofaccount';
|
||||||
|
$this->rights[$r][5] = '';
|
||||||
|
$r++;
|
||||||
|
|
||||||
// Main menu entries
|
// Main menu entries
|
||||||
$this->menus = array();
|
$this->menus = array();
|
||||||
|
|||||||
@ -90,11 +90,12 @@ class modGeneratePassPerso extends ModeleGenPassword
|
|||||||
$this->NbRepeat = $tabConf[4];
|
$this->NbRepeat = $tabConf[4];
|
||||||
$this->WithoutAmbi = $tabConf[5];
|
$this->WithoutAmbi = $tabConf[5];
|
||||||
|
|
||||||
if($this->WithoutAmbi){
|
if ($this->WithoutAmbi)
|
||||||
$this->Maj = str_replace($this->Ambi,"",$this->Maj );
|
{
|
||||||
$this->Min = str_replace($this->Ambi,"",$this->Min );
|
$this->Maj = str_replace($this->Ambi,"",$this->Maj);
|
||||||
$this->Nb = str_replace($this->Ambi,"",$this->Nb );
|
$this->Min = str_replace($this->Ambi,"",$this->Min);
|
||||||
$this->Spe = str_replace($this->Ambi,"",$this->Spe );
|
$this->Nb = str_replace($this->Ambi,"",$this->Nb);
|
||||||
|
$this->Spe = str_replace($this->Ambi,"",$this->Spe);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->All = str_shuffle($this->Maj. $this->Min. $this->Nb. $this->Spe);
|
$this->All = str_shuffle($this->Maj. $this->Min. $this->Nb. $this->Spe);
|
||||||
@ -148,11 +149,13 @@ class modGeneratePassPerso extends ModeleGenPassword
|
|||||||
$pass .= $this->All[rand(0,strlen($this->All) -1)];
|
$pass .= $this->All[rand(0,strlen($this->All) -1)];
|
||||||
}
|
}
|
||||||
|
|
||||||
$pass = str_shuffle($pass) ;
|
$pass = str_shuffle($pass);
|
||||||
|
|
||||||
if($this->validatePassword($pass)) {
|
if ($this->validatePassword($pass))
|
||||||
|
{
|
||||||
return $pass;
|
return $pass;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->getNewGeneratedPassword();
|
return $this->getNewGeneratedPassword();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2014 Maxime Kohlhaas <support@atm-consulting.fr>
|
/* Copyright (C) 2014 Maxime Kohlhaas <support@atm-consulting.fr>
|
||||||
|
* 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
|
||||||
@ -48,7 +49,9 @@ if (empty($reshook) && ! empty($extrafields->attribute_label))
|
|||||||
print '<table width="100%" class="nobordernopadding"><tr><td';
|
print '<table width="100%" class="nobordernopadding"><tr><td';
|
||||||
if (! empty($extrafields->attribute_required [$key])) print ' class="fieldrequired"';
|
if (! empty($extrafields->attribute_required [$key])) print ' class="fieldrequired"';
|
||||||
print '>' . $label . '</td>';
|
print '>' . $label . '</td>';
|
||||||
if (($object->statut == 0 || $extrafields->attribute_alwayseditable[$key]) && $user->rights->{$object->element}->creer && ($action != 'edit_extras' || GETPOST('attribute') != $key))
|
|
||||||
|
//TODO Improve element and rights detection
|
||||||
|
if (($object->statut == 0 || $extrafields->attribute_alwayseditable[$key]) && ($object->element=='order_supplier'?$user->rights->fournisseur>commande:($object->element=='invoice_supplier'?$user->rights->fournisseur>facture:$user->rights->{$object->element}->creer)) && ($action != 'edit_extras' || GETPOST('attribute') != $key))
|
||||||
print '<td align="right"><a href="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&action=edit_extras&attribute=' . $key . '">' . img_edit().'</a></td>';
|
print '<td align="right"><a href="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&action=edit_extras&attribute=' . $key . '">' . img_edit().'</a></td>';
|
||||||
|
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
@ -58,8 +61,9 @@ if (empty($reshook) && ! empty($extrafields->attribute_label))
|
|||||||
if (in_array($extrafields->attribute_type [$key], array('date','datetime'))) {
|
if (in_array($extrafields->attribute_type [$key], array('date','datetime'))) {
|
||||||
$value = isset($_POST ["options_" . $key]) ? dol_mktime($_POST ["options_" . $key . "hour"], $_POST ["options_" . $key . "min"], 0, $_POST ["options_" . $key . "month"], $_POST ["options_" . $key . "day"], $_POST ["options_" . $key . "year"]) : $db->jdate($object->array_options ['options_' . $key]);
|
$value = isset($_POST ["options_" . $key]) ? dol_mktime($_POST ["options_" . $key . "hour"], $_POST ["options_" . $key . "min"], 0, $_POST ["options_" . $key . "month"], $_POST ["options_" . $key . "day"], $_POST ["options_" . $key . "year"]) : $db->jdate($object->array_options ['options_' . $key]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'edit_extras' && $user->rights->{$object->element}->creer && GETPOST('attribute') == $key)
|
//TODO Improve element and rights detection
|
||||||
|
if ($action == 'edit_extras' && ($object->element=='order_supplier'?$user->rights->fournisseur>commande:($object->element=='invoice_supplier'?$user->rights->fournisseur>facture:$user->rights->{$object->element}->creer)) && GETPOST('attribute') == $key)
|
||||||
{
|
{
|
||||||
print '<form enctype="multipart/form-data" action="' . $_SERVER["PHP_SELF"] . '" method="post" name="formextra">';
|
print '<form enctype="multipart/form-data" action="' . $_SERVER["PHP_SELF"] . '" method="post" name="formextra">';
|
||||||
print '<input type="hidden" name="action" value="update_extras">';
|
print '<input type="hidden" name="action" value="update_extras">';
|
||||||
|
|||||||
@ -255,6 +255,23 @@ class FactureFournisseur extends CommonInvoice
|
|||||||
$result=$this->update_price();
|
$result=$this->update_price();
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
|
// Actions on extra fields (by external module or standard code)
|
||||||
|
// FIXME le hook fait double emploi avec le trigger !!
|
||||||
|
$hookmanager->initHooks(array('supplierinvoicedao'));
|
||||||
|
$parameters=array('socid'=>$this->id);
|
||||||
|
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
if (empty($reshook))
|
||||||
|
{
|
||||||
|
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
|
||||||
|
{
|
||||||
|
$result=$this->insertExtraFields();
|
||||||
|
if ($result < 0)
|
||||||
|
{
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ($reshook < 0) $error++;
|
||||||
// Call trigger
|
// Call trigger
|
||||||
$result=$this->call_trigger('BILL_SUPPLIER_CREATE',$user);
|
$result=$this->call_trigger('BILL_SUPPLIER_CREATE',$user);
|
||||||
if ($result < 0) $error++;
|
if ($result < 0) $error++;
|
||||||
|
|||||||
@ -300,10 +300,16 @@ elseif ($action == 'add' && $user->rights->fournisseur->facture->creer)
|
|||||||
$_GET['socid']=$_POST['socid'];
|
$_GET['socid']=$_POST['socid'];
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fill array 'array_options' with data from add form
|
||||||
|
|
||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
|
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
|
||||||
|
$ret = $extrafields->setOptionalsFromPost($extralabels, $object);
|
||||||
|
if ($ret < 0) $error ++;
|
||||||
|
|
||||||
$tmpproject = GETPOST('projectid', 'int');
|
$tmpproject = GETPOST('projectid', 'int');
|
||||||
|
|
||||||
@ -1077,7 +1083,7 @@ elseif ($action == 'update_extras')
|
|||||||
{
|
{
|
||||||
// Actions on extra fields (by external module or standard code)
|
// Actions on extra fields (by external module or standard code)
|
||||||
// FIXME le hook fait double emploi avec le trigger !!
|
// FIXME le hook fait double emploi avec le trigger !!
|
||||||
$hookmanager->initHooks(array('supplierorderdao'));
|
$hookmanager->initHooks(array('supplierinvoicedao'));
|
||||||
$parameters=array('id'=>$object->id);
|
$parameters=array('id'=>$object->id);
|
||||||
|
|
||||||
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
@ -1179,6 +1185,9 @@ llxHeader('','','');
|
|||||||
// Mode creation
|
// Mode creation
|
||||||
if ($action == 'create')
|
if ($action == 'create')
|
||||||
{
|
{
|
||||||
|
$facturestatic = new FactureFournisseur($db);
|
||||||
|
$extralabels = $extrafields->fetch_name_optionals_label($facturestatic->table_element);
|
||||||
|
|
||||||
print_fiche_titre($langs->trans('NewBill'));
|
print_fiche_titre($langs->trans('NewBill'));
|
||||||
|
|
||||||
dol_htmloutput_events();
|
dol_htmloutput_events();
|
||||||
@ -1419,6 +1428,11 @@ if ($action == 'create')
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
// print '<td><textarea name="note" wrap="soft" cols="60" rows="'.ROWS_5.'"></textarea></td>';
|
// print '<td><textarea name="note" wrap="soft" cols="60" rows="'.ROWS_5.'"></textarea></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
if (empty($reshook) && ! empty($extrafields->attribute_label))
|
||||||
|
{
|
||||||
|
print $object->showOptionals($extrafields, 'edit');
|
||||||
|
}
|
||||||
|
|
||||||
if (is_object($objectsrc))
|
if (is_object($objectsrc))
|
||||||
{
|
{
|
||||||
@ -1530,6 +1544,9 @@ else
|
|||||||
$societe = new Fournisseur($db);
|
$societe = new Fournisseur($db);
|
||||||
$result=$societe->fetch($object->socid);
|
$result=$societe->fetch($object->socid);
|
||||||
if ($result < 0) dol_print_error($db);
|
if ($result < 0) dol_print_error($db);
|
||||||
|
|
||||||
|
// fetch optionals attributes and labels
|
||||||
|
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View card
|
* View card
|
||||||
|
|||||||
Binary file not shown.
0
htdocs/install/mysql/migration/3.5.0-3.6.0.sql
Normal file → Executable file
0
htdocs/install/mysql/migration/3.5.0-3.6.0.sql
Normal file → Executable file
1
htdocs/install/mysql/migration/3.6.0-3.7.0.sql
Normal file → Executable file
1
htdocs/install/mysql/migration/3.6.0-3.7.0.sql
Normal file → Executable file
@ -28,6 +28,7 @@ insert into llx_c_action_trigger (code,label,description,elementtype,rang) value
|
|||||||
insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PROPAL_CLASSIFY_BILLED','Customer proposal set billed','Executed when a customer proposal is set to billed','propal',2);
|
insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PROPAL_CLASSIFY_BILLED','Customer proposal set billed','Executed when a customer proposal is set to billed','propal',2);
|
||||||
|
|
||||||
ALTER TABLE llx_notify ADD COLUMN fk_soc integer NULL after fk_action;
|
ALTER TABLE llx_notify ADD COLUMN fk_soc integer NULL after fk_action;
|
||||||
|
ALTER TABLE llx_notify ADD COLUMN type varchar(16) DEFAULT 'email' after fk_soc;
|
||||||
|
|
||||||
ALTER TABLE llx_bank_account ADD COLUMN fk_user_author integer;
|
ALTER TABLE llx_bank_account ADD COLUMN fk_user_author integer;
|
||||||
|
|
||||||
|
|||||||
9
htdocs/install/mysql/migration/repair.sql
Normal file → Executable file
9
htdocs/install/mysql/migration/repair.sql
Normal file → Executable file
@ -189,9 +189,12 @@ UPDATE llx_projet_task_time set task_datehour = task_date where task_datehour IS
|
|||||||
-- update llx_facture set tva = total_ttc - total where tva = 0;
|
-- update llx_facture set tva = total_ttc - total where tva = 0;
|
||||||
|
|
||||||
-- To insert elements into a category
|
-- To insert elements into a category
|
||||||
-- Search idcategory: select rowid from llx_categorie where type=0 and label like '%xxx%'
|
-- Search idcategory: select rowid from llx_categorie where type=0 and ref like '%xxx%'
|
||||||
-- Select all products to include: select * from llx_product where label like '%xxx%'
|
-- Select all products to include: select * from llx_product where ref like '%xxx%'
|
||||||
-- If ok, insert: insert into llx_categorie_product(fk_categorie, fk_product) select idcategory, rowid from llx_product where label like '%xxx%'
|
-- If ok, insert: insert into llx_categorie_product(fk_categorie, fk_product) select idcategory, rowid from llx_product where ref like '%xxx%'
|
||||||
|
-- List of product with a category xxx: select distinct cp.fk_product from llx_categorie_product as cp, llx_categorie as c where cp.fk_categorie = c.rowid and c.label like 'xxx-%' order by fk_product;
|
||||||
|
-- List of product into 2 categories xxx: select cp.fk_product, count(cp.fk_product) as nb from llx_categorie_product as cp, llx_categorie as c where cp.fk_categorie = c.rowid and c.label like 'xxx-%' group by fk_product having nb > 1;
|
||||||
|
-- List of product with no category xxx yet: select rowid, ref from llx_product where rowid not in (select distinct cp.fk_product from llx_categorie_product as cp, llx_categorie as c where cp.fk_categorie = c.rowid and c.label like 'xxx-%' order by fk_product);
|
||||||
|
|
||||||
-- Replace xxx with your IP Address
|
-- Replace xxx with your IP Address
|
||||||
-- bind-address = xxx.xxx.xxx.xxx
|
-- bind-address = xxx.xxx.xxx.xxx
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
-- ===================================================================
|
-- ===================================================================
|
||||||
-- Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
-- Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
-- Copyright (C) 2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
-- Copyright (C) 2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
-- 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
|
||||||
@ -26,6 +27,7 @@ create table llx_notify
|
|||||||
fk_soc integer NULL,
|
fk_soc integer NULL,
|
||||||
fk_contact integer NULL,
|
fk_contact integer NULL,
|
||||||
fk_user integer NULL,
|
fk_user integer NULL,
|
||||||
|
type varchar(16) DEFAULT 'email',
|
||||||
objet_type varchar(24) NOT NULL,
|
objet_type varchar(24) NOT NULL,
|
||||||
objet_id integer NOT NULL,
|
objet_id integer NOT NULL,
|
||||||
email varchar(255)
|
email varchar(255)
|
||||||
|
|||||||
23
htdocs/install/upgrade.php
Normal file → Executable file
23
htdocs/install/upgrade.php
Normal file → Executable file
@ -50,6 +50,7 @@ error_reporting(0);
|
|||||||
@set_time_limit(120);
|
@set_time_limit(120);
|
||||||
error_reporting($err);
|
error_reporting($err);
|
||||||
|
|
||||||
|
|
||||||
$setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):'auto';
|
$setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):'auto';
|
||||||
$langs->setDefaultLang($setuplang);
|
$langs->setDefaultLang($setuplang);
|
||||||
$versionfrom=GETPOST("versionfrom",'',3)?GETPOST("versionfrom",'',3):(empty($argv[1])?'':$argv[1]);
|
$versionfrom=GETPOST("versionfrom",'',3)?GETPOST("versionfrom",'',3):(empty($argv[1])?'':$argv[1]);
|
||||||
@ -74,6 +75,22 @@ if (! is_object($conf)) dolibarr_install_syslog("upgrade2: conf file not initial
|
|||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (! $versionfrom && ! $versionto)
|
||||||
|
{
|
||||||
|
print 'Error: Parameter versionfrom or versionto missing.'."\n";
|
||||||
|
print 'Upgrade must be ran from cmmand line with parameters or called from page install/index.php (like a first install) instead of page install/upgrade.php'."\n";
|
||||||
|
// Test if batch mode
|
||||||
|
$sapi_type = php_sapi_name();
|
||||||
|
$script_file = basename(__FILE__);
|
||||||
|
$path=dirname(__FILE__).'/';
|
||||||
|
if (substr($sapi_type, 0, 3) == 'cli')
|
||||||
|
{
|
||||||
|
print 'Syntax from command line: '.$script_file." x.y.z a.b.c\n";
|
||||||
|
}
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
pHeader('',"upgrade2",GETPOST('action'),'versionfrom='.$versionfrom.'&versionto='.$versionto);
|
pHeader('',"upgrade2",GETPOST('action'),'versionfrom='.$versionfrom.'&versionto='.$versionto);
|
||||||
|
|
||||||
$actiondone=0;
|
$actiondone=0;
|
||||||
@ -85,12 +102,6 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action')))
|
|||||||
|
|
||||||
print '<h3>'.$langs->trans("DatabaseMigration").'</h3>';
|
print '<h3>'.$langs->trans("DatabaseMigration").'</h3>';
|
||||||
|
|
||||||
if (! $versionfrom && ! $versionto)
|
|
||||||
{
|
|
||||||
print '<div class="error">Parameter versionfrom or versionto missing. Upgrade is launched from page install/index.php (like a first install) instead of install/upgrade.php</div>';
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
print '<table cellspacing="0" cellpadding="1" border="0" width="100%">';
|
print '<table cellspacing="0" cellpadding="1" border="0" width="100%">';
|
||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
|
|||||||
15
htdocs/install/upgrade2.php
Normal file → Executable file
15
htdocs/install/upgrade2.php
Normal file → Executable file
@ -83,6 +83,21 @@ if (! is_object($conf)) dolibarr_install_syslog("upgrade2: conf file not initial
|
|||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (! $versionfrom && ! $versionto)
|
||||||
|
{
|
||||||
|
print 'Error: Parameter versionfrom or versionto missing.'."\n";
|
||||||
|
print 'Upgrade must be ran from cmmand line with parameters or called from page install/index.php (like a first install) instead of page install/upgrade.php'."\n";
|
||||||
|
// Test if batch mode
|
||||||
|
$sapi_type = php_sapi_name();
|
||||||
|
$script_file = basename(__FILE__);
|
||||||
|
$path=dirname(__FILE__).'/';
|
||||||
|
if (substr($sapi_type, 0, 3) == 'cli')
|
||||||
|
{
|
||||||
|
print 'Syntax from command line: '.$script_file." x.y.z a.b.c\n";
|
||||||
|
}
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
pHeader('','etape5',GETPOST("action")?GETPOST("action"):'upgrade','versionfrom='.$versionfrom.'&versionto='.$versionto);
|
pHeader('','etape5',GETPOST("action")?GETPOST("action"):'upgrade','versionfrom='.$versionfrom.'&versionto='.$versionto);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -367,6 +367,7 @@ ActionsOnCompany=Events about this third party
|
|||||||
ActionsOnMember=Events about this member
|
ActionsOnMember=Events about this member
|
||||||
NActions=%s events
|
NActions=%s events
|
||||||
NActionsLate=%s late
|
NActionsLate=%s late
|
||||||
|
RequestAlreadyDone=Request already recorded
|
||||||
Filter=Filter
|
Filter=Filter
|
||||||
RemoveFilter=Remove filter
|
RemoveFilter=Remove filter
|
||||||
ChartGenerated=Chart generated
|
ChartGenerated=Chart generated
|
||||||
|
|||||||
@ -32,4 +32,6 @@ ResourceLinkedWithSuccess=Resource linked with success
|
|||||||
TitleResourceCard=Resource card
|
TitleResourceCard=Resource card
|
||||||
ConfirmDeleteResource=Confirm to delete this resource
|
ConfirmDeleteResource=Confirm to delete this resource
|
||||||
RessourceSuccessfullyDeleted=Resource successfully deleted
|
RessourceSuccessfullyDeleted=Resource successfully deleted
|
||||||
DictionaryResourceType=Type of resources
|
DictionaryResourceType=Type of resources
|
||||||
|
|
||||||
|
SelectResource=Select resource
|
||||||
|
|||||||
@ -16,6 +16,7 @@ WithdrawedBills=Withdrawn invoices
|
|||||||
WithdrawalsLines=Withdrawal lines
|
WithdrawalsLines=Withdrawal lines
|
||||||
RequestStandingOrderToTreat=Request for standing orders to process
|
RequestStandingOrderToTreat=Request for standing orders to process
|
||||||
RequestStandingOrderTreated=Request for standing orders processed
|
RequestStandingOrderTreated=Request for standing orders processed
|
||||||
|
NotPossibleForThisStatusOfWithdrawReceiptORLine=Not yet possible. Withdraw status must be set to 'credited' before declaring reject on specific lines.
|
||||||
CustomersStandingOrders=Customer standing orders
|
CustomersStandingOrders=Customer standing orders
|
||||||
CustomerStandingOrder=Customer standing order
|
CustomerStandingOrder=Customer standing order
|
||||||
NbOfInvoiceToWithdraw=Nb. of invoice with withdraw request
|
NbOfInvoiceToWithdraw=Nb. of invoice with withdraw request
|
||||||
@ -76,7 +77,7 @@ WithBankUsingRIB=For bank accounts using RIB
|
|||||||
WithBankUsingBANBIC=For bank accounts using IBAN/BIC/SWIFT
|
WithBankUsingBANBIC=For bank accounts using IBAN/BIC/SWIFT
|
||||||
BankToReceiveWithdraw=Bank account to receive withdraws
|
BankToReceiveWithdraw=Bank account to receive withdraws
|
||||||
CreditDate=Credit on
|
CreditDate=Credit on
|
||||||
WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country
|
WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported)
|
||||||
ShowWithdraw=Show Withdraw
|
ShowWithdraw=Show Withdraw
|
||||||
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management.
|
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management.
|
||||||
DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once it is complete, you can type the payment to close the invoice.
|
DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once it is complete, you can type the payment to close the invoice.
|
||||||
|
|||||||
@ -484,7 +484,7 @@ Module500Desc=Gestión de los gastos especiales como impuestos, gastos sociales,
|
|||||||
Module510Name=Salarios
|
Module510Name=Salarios
|
||||||
Module510Desc=Gestión de salarios y pagos
|
Module510Desc=Gestión de salarios y pagos
|
||||||
Module600Name=Notificaciones
|
Module600Name=Notificaciones
|
||||||
Module600Desc=Envío de notificaciones (por correo electrónico) sobre los eventos de trabajo Dolibarr
|
Module600Desc=Envío de notificaciones por e-mail en algunos eventos de negocio de Dolibarr a contactos de terceros (configurado en cada tercero)
|
||||||
Module700Name=Donaciones
|
Module700Name=Donaciones
|
||||||
Module700Desc=Gestión de donaciones
|
Module700Desc=Gestión de donaciones
|
||||||
Module1200Name=Mantis
|
Module1200Name=Mantis
|
||||||
@ -514,16 +514,16 @@ Module5000Name=Multi-empresa
|
|||||||
Module5000Desc=Permite gestionar varias empresas
|
Module5000Desc=Permite gestionar varias empresas
|
||||||
Module6000Name=Flujo de trabajo
|
Module6000Name=Flujo de trabajo
|
||||||
Module6000Desc=Gestión del flujo de trabajo
|
Module6000Desc=Gestión del flujo de trabajo
|
||||||
Module20000Name=Días libres
|
Module20000Name=Gestión de días libres retribuidos
|
||||||
Module20000Desc=Gestión de los días libres de los empleados
|
Module20000Desc=Gestión de los días libres retribuidos de los empleados
|
||||||
Module39000Name=Lotes de productos
|
Module39000Name=Lotes de productos
|
||||||
Module39000Desc=Gestión de lotes y fechas de caducidad y venta de los productos
|
Module39000Desc=Gestión de lotes y fechas de caducidad y venta de los productos
|
||||||
Module50000Name=PayBox
|
Module50000Name=PayBox
|
||||||
Module50000Desc=Módulo para proporcionar un pago en línea con tarjeta de crédito mediante Paybox
|
Module50000Desc=Módulo para proporcionar un pago en línea con tarjeta de crédito mediante Paybox
|
||||||
Module50100Name=TPV
|
Module50100Name=TPV
|
||||||
Module50100Desc=Terminal Punto de Venta para la venta en mostrador
|
Module50100Desc=Terminal Punto de Venta para la venta en mostrador
|
||||||
Module50200Name= Paypal
|
Module50200Name=Paypal
|
||||||
Module50200Desc= Módulo para proporcionar un pago en línea con tarjeta de crédito mediante Paypal
|
Module50200Desc=Módulo para proporcionar un pago en línea con tarjeta de crédito mediante Paypal
|
||||||
Module50400Name=Contabilidad (avanzada)
|
Module50400Name=Contabilidad (avanzada)
|
||||||
Module50400Desc=Gestión contable (doble partida)
|
Module50400Desc=Gestión contable (doble partida)
|
||||||
Module54000Name=PrintIPP
|
Module54000Name=PrintIPP
|
||||||
@ -611,10 +611,11 @@ Permission162=Crear/modificar contratos de servicio
|
|||||||
Permission163=Activar los servicios de un contrato
|
Permission163=Activar los servicios de un contrato
|
||||||
Permission164=Desactivar los servicios de un contrato
|
Permission164=Desactivar los servicios de un contrato
|
||||||
Permission165=Eliminar contratos
|
Permission165=Eliminar contratos
|
||||||
Permission171=Leer los desplazamientos
|
Permission171=Leer honorarios (propios y de sus subordinados)
|
||||||
Permission172=Crear/modificar los desplazamientos
|
Permission172=Crear/modificar honorarios
|
||||||
Permission173=Eliminar desplazamientos
|
Permission173=Eliminar honorarios
|
||||||
Permission178=Exportar desplazamientos
|
Permission174=Leer todos los honorarios
|
||||||
|
Permission178=Exportar honorarios
|
||||||
Permission180=Consultar proveedores
|
Permission180=Consultar proveedores
|
||||||
Permission181=Consultar pedidos a proveedores
|
Permission181=Consultar pedidos a proveedores
|
||||||
Permission182=Crear/modificar pedidos a proveedores
|
Permission182=Crear/modificar pedidos a proveedores
|
||||||
@ -1074,7 +1075,7 @@ ModuleCompanyCodeAquarium=Devuelve un código contable compuesto de<br>%s seguid
|
|||||||
ModuleCompanyCodePanicum=Devuelve un código contable vacío.
|
ModuleCompanyCodePanicum=Devuelve un código contable vacío.
|
||||||
ModuleCompanyCodeDigitaria=Devuelve un código contable compuesto siguiendo el código de tercero. El código está formado por carácter ' C ' en primera posición seguido de los 5 primeros caracteres del código tercero.
|
ModuleCompanyCodeDigitaria=Devuelve un código contable compuesto siguiendo el código de tercero. El código está formado por carácter ' C ' en primera posición seguido de los 5 primeros caracteres del código tercero.
|
||||||
UseNotifications=Usar notificaciones
|
UseNotifications=Usar notificaciones
|
||||||
NotificationsDesc=La función de las notificaciones permite enviar automáticamente un correo electrónico para un determinado evento Dolibarr en las empresas configuradas para ello
|
NotificationsDesc=La función de las notificaciones permite enviar automáticamente un e-mail para algunos eventos de Dolibarr. Los destinatarios de las notificaciones pueden definirse:<br>* por contactos de terceros (clientes o proveedores), un tercero a la vez.<br>* o configurando un destinatario global en la configuración del módulo.
|
||||||
ModelModules=Modelos de documentos
|
ModelModules=Modelos de documentos
|
||||||
DocumentModelOdt=Generación desde los documentos OpenDocument (Archivo .ODT OpenOffice, KOffice, TextEdit,...)
|
DocumentModelOdt=Generación desde los documentos OpenDocument (Archivo .ODT OpenOffice, KOffice, TextEdit,...)
|
||||||
WatermarkOnDraft=Marca de agua en los documentos borrador
|
WatermarkOnDraft=Marca de agua en los documentos borrador
|
||||||
@ -1146,6 +1147,7 @@ HideTreadedOrders=Ocultar del listado los pedidos tratados o cancelados
|
|||||||
ValidOrderAfterPropalClosed=Validar el pedido después del cierre del presupuesto, permite no pasar por el pedido provisional
|
ValidOrderAfterPropalClosed=Validar el pedido después del cierre del presupuesto, permite no pasar por el pedido provisional
|
||||||
FreeLegalTextOnOrders=Texto libre en pedidos
|
FreeLegalTextOnOrders=Texto libre en pedidos
|
||||||
WatermarkOnDraftOrders=Marca de agua en pedidos borrador (en caso de estar vacío)
|
WatermarkOnDraftOrders=Marca de agua en pedidos borrador (en caso de estar vacío)
|
||||||
|
ShippableOrderIconInList=Añadir un icono en el listado de pedidos que indica si el pedido es enviable
|
||||||
##### Clicktodial #####
|
##### Clicktodial #####
|
||||||
ClickToDialSetup=Configuración del módulo Click To Dial
|
ClickToDialSetup=Configuración del módulo Click To Dial
|
||||||
ClickToDialUrlDesc=URL de llamada haciendo click en el icono teléfono. <br>La URL completa de llamada será: URL?login=...&password=...&caller=...&called=telellamada
|
ClickToDialUrlDesc=URL de llamada haciendo click en el icono teléfono. <br>La URL completa de llamada será: URL?login=...&password=...&caller=...&called=telellamada
|
||||||
@ -1384,7 +1386,8 @@ MailingEMailError=E-Mail de respuesta (Errors-to) para las respuestas acerca de
|
|||||||
##### Notification #####
|
##### Notification #####
|
||||||
NotificationSetup=Configuración del módulo notificaciones
|
NotificationSetup=Configuración del módulo notificaciones
|
||||||
NotificationEMailFrom=E-Mail emisor (From) de los correos enviados a través de notificaciones
|
NotificationEMailFrom=E-Mail emisor (From) de los correos enviados a través de notificaciones
|
||||||
ListOfAvailableNotifications=Listado de notificaciones disponibles (depende de los módulos activados)
|
ListOfAvailableNotifications=Listado de eventos que se pueden configurar para notificar para cada tercero (entrar a la ficha del tercero para configurar) o configurando un e-mail fijo (El listado depende de los módulos activados)
|
||||||
|
FixedEmailTarget=Destinatario fijo
|
||||||
##### Sendings #####
|
##### Sendings #####
|
||||||
SendingsSetup=Configuración del módulo Expediciones
|
SendingsSetup=Configuración del módulo Expediciones
|
||||||
SendingsReceiptModel=Modelo de notas de entrega
|
SendingsReceiptModel=Modelo de notas de entrega
|
||||||
@ -1437,7 +1440,7 @@ DetailEnabled=Condición de mostrar o no
|
|||||||
DetailRight=Condición de visualización completa o restringida
|
DetailRight=Condición de visualización completa o restringida
|
||||||
DetailLangs=Archivo .lang para la traducción del título
|
DetailLangs=Archivo .lang para la traducción del título
|
||||||
DetailUser=Interno / Externo / Todos
|
DetailUser=Interno / Externo / Todos
|
||||||
Target=Objetivo
|
Target=Destinatario
|
||||||
DetailTarget=Comportamiento del enlace (_blank para abrir una nueva ventana)
|
DetailTarget=Comportamiento del enlace (_blank para abrir una nueva ventana)
|
||||||
DetailLevel=Nivel (-1:menú superior, 0:principal, >0 menú y submenú)
|
DetailLevel=Nivel (-1:menú superior, 0:principal, >0 menú y submenú)
|
||||||
ModifMenu=Modificación del menú
|
ModifMenu=Modificación del menú
|
||||||
@ -1535,6 +1538,7 @@ DeleteFiscalYear=Eliminar año fiscal
|
|||||||
ConfirmDeleteFiscalYear=¿Está seguro de querer eliminar este año fiscal?
|
ConfirmDeleteFiscalYear=¿Está seguro de querer eliminar este año fiscal?
|
||||||
Opened=Abierto
|
Opened=Abierto
|
||||||
Closed=Cerrado
|
Closed=Cerrado
|
||||||
|
AlwaysEditable=Puede editarse siempre
|
||||||
|
|
||||||
Format=Formatear
|
Format=Formatear
|
||||||
TypePaymentDesc=0:Pago cliente,1:Pago proveedor,2:Tanto pago de cliente como de proveedor
|
TypePaymentDesc=0:Pago cliente,1:Pago proveedor,2:Tanto pago de cliente como de proveedor
|
||||||
|
|||||||
@ -7,10 +7,10 @@ Agendas=Agendas
|
|||||||
Calendar=Calendario
|
Calendar=Calendario
|
||||||
Calendars=Calendarios
|
Calendars=Calendarios
|
||||||
LocalAgenda=Calendario interno
|
LocalAgenda=Calendario interno
|
||||||
ActionsOwnedBy=Evento asignado a
|
ActionsOwnedBy=Acontecimiento asignado a
|
||||||
AffectedTo=Asignada a
|
AffectedTo=Asignada a
|
||||||
DoneBy=Realizado por
|
DoneBy=Realizado por
|
||||||
Event=Evento
|
Event=Acontecimiento
|
||||||
Events=Eventos
|
Events=Eventos
|
||||||
EventsNb=Número de eventos
|
EventsNb=Número de eventos
|
||||||
MyEvents=Mis eventos
|
MyEvents=Mis eventos
|
||||||
@ -23,12 +23,12 @@ MenuToDoActions=Eventos incompletos
|
|||||||
MenuDoneActions=Eventos terminados
|
MenuDoneActions=Eventos terminados
|
||||||
MenuToDoMyActions=Mis eventos incompletos
|
MenuToDoMyActions=Mis eventos incompletos
|
||||||
MenuDoneMyActions=Mis eventos terminados
|
MenuDoneMyActions=Mis eventos terminados
|
||||||
ListOfEvents=Listado de eventos (calendario interno)
|
ListOfEvents=lista de acontecimientos (calendario interno)
|
||||||
ActionsAskedBy=Eventos registrados por
|
ActionsAskedBy=Eventos registrados por
|
||||||
ActionsToDoBy=Eventos asignados a
|
ActionsToDoBy=Eventos asignados a
|
||||||
ActionsDoneBy=Eventos realizados por
|
ActionsDoneBy=Eventos realizados por
|
||||||
ActionsForUser=Eventos del usuario
|
ActionsForUser=Acontecimientos del usuario
|
||||||
ActionsForUsersGroup=Eventos de todos los usuarios del grupo
|
ActionsForUsersGroup=Acontecimientos de todos los usuarios del grupo
|
||||||
AllMyActions= Todos mis eventos/tareas
|
AllMyActions= Todos mis eventos/tareas
|
||||||
AllActions= Todos los eventos/tareas
|
AllActions= Todos los eventos/tareas
|
||||||
ViewList=Vista listado
|
ViewList=Vista listado
|
||||||
@ -72,7 +72,7 @@ AgendaUrlOptions1=Puede también añadir estos parámetros al filtro de salida:
|
|||||||
AgendaUrlOptions2=<b>login=%s</b> para restringir inserciones a acciones creadas , que afecten o realizadas por el usuario <b>%s</b>.
|
AgendaUrlOptions2=<b>login=%s</b> para restringir inserciones a acciones creadas , que afecten o realizadas por el usuario <b>%s</b>.
|
||||||
AgendaUrlOptions3=<b>logina=%s</b> para restringir inserciones a acciones creadas por el usuario <b>%s</b>.
|
AgendaUrlOptions3=<b>logina=%s</b> para restringir inserciones a acciones creadas por el usuario <b>%s</b>.
|
||||||
AgendaUrlOptions4=<b>logint=%s</b> para restringir inserciones a acciones que afecten al usuario <b>%s</b>.
|
AgendaUrlOptions4=<b>logint=%s</b> para restringir inserciones a acciones que afecten al usuario <b>%s</b>.
|
||||||
AgendaUrlOptions5=<b>logind=%s</b> para restringir inserciones a acciones realizadas por el usuario <b>%s</b>.
|
AgendaUrlOptionsProject=<b>project=PROJECT_ID</b> para restringir inserciones a acciones asociadas al proyecto <b>PROJECT_ID</b>.
|
||||||
AgendaShowBirthdayEvents=Mostrar cumpleaños de los contactos
|
AgendaShowBirthdayEvents=Mostrar cumpleaños de los contactos
|
||||||
AgendaHideBirthdayEvents=Ocultar cumpleaños de los contactos
|
AgendaHideBirthdayEvents=Ocultar cumpleaños de los contactos
|
||||||
Busy=Ocupado
|
Busy=Ocupado
|
||||||
@ -89,5 +89,5 @@ ExtSiteUrlAgenda=Url de acceso al archivo .ical
|
|||||||
ExtSiteNoLabel=Sin descripción
|
ExtSiteNoLabel=Sin descripción
|
||||||
WorkingTimeRange=Rango temporal
|
WorkingTimeRange=Rango temporal
|
||||||
WorkingDaysRange=Rango diario
|
WorkingDaysRange=Rango diario
|
||||||
AddEvent=Añadir evento
|
AddEvent=Crear evento
|
||||||
MyAvailability=Mi disponibilidad
|
MyAvailability=Mi disponibilidad
|
||||||
|
|||||||
@ -28,8 +28,8 @@ InvoiceAvoir=Abono
|
|||||||
InvoiceAvoirAsk=Abono para corregir la factura
|
InvoiceAvoirAsk=Abono para corregir la factura
|
||||||
InvoiceAvoirDesc=El <b>abono</b> es una factura negativa destinada a compensar un importe de factura que difiere del importe realmente pagado (por haber pagado de más o por devolución de productos, por ejemplo).
|
InvoiceAvoirDesc=El <b>abono</b> es una factura negativa destinada a compensar un importe de factura que difiere del importe realmente pagado (por haber pagado de más o por devolución de productos, por ejemplo).
|
||||||
invoiceAvoirWithLines=Crear abono con las líneas de la factura original
|
invoiceAvoirWithLines=Crear abono con las líneas de la factura original
|
||||||
invoiceAvoirWithPaymentRestAmount=Crear abono con el importe pendiente de la factura origen
|
invoiceAvoirWithPaymentRestAmount=Crear abono con el resto a cobrar de la factura origen
|
||||||
invoiceAvoirLineWithPaymentRestAmount=Abono del importe pendiente de la factura
|
invoiceAvoirLineWithPaymentRestAmount=Abono del resto por cobrar
|
||||||
ReplaceInvoice=Rectificar la factura %s
|
ReplaceInvoice=Rectificar la factura %s
|
||||||
ReplacementInvoice=Rectificación factura
|
ReplacementInvoice=Rectificación factura
|
||||||
ReplacedByInvoice=Rectificada por la factura %s
|
ReplacedByInvoice=Rectificada por la factura %s
|
||||||
@ -156,9 +156,9 @@ ConfirmCancelBill=¿Está seguro de querer anular la factura <b>%s</b> ?
|
|||||||
ConfirmCancelBillQuestion=¿Por qué razón quiere abandonar la factura?
|
ConfirmCancelBillQuestion=¿Por qué razón quiere abandonar la factura?
|
||||||
ConfirmClassifyPaidPartially=¿Está seguro de querer clasificar la factura <b>%s</b> como pagada?
|
ConfirmClassifyPaidPartially=¿Está seguro de querer clasificar la factura <b>%s</b> como pagada?
|
||||||
ConfirmClassifyPaidPartiallyQuestion=Esta factura no ha sido totalmente pagada. ¿Por qué quiere clasificarla como pagada?
|
ConfirmClassifyPaidPartiallyQuestion=Esta factura no ha sido totalmente pagada. ¿Por qué quiere clasificarla como pagada?
|
||||||
ConfirmClassifyPaidPartiallyReasonAvoir=El resto a pagar <b>(%s %s)</b> se ha regularizado (ya que artículo se ha devuelto, olvidado entregar, descuento no definido...) mediante un abono
|
ConfirmClassifyPaidPartiallyReasonAvoir=El resto a pagar <b>(%s %s)</b> es un descuento otorgado por pronto pago. Regularizaré el IVA con un abono.
|
||||||
ConfirmClassifyPaidPartiallyReasonDiscountNoVat=El resto a pagar <b>(%s %s)</b> es un descuento acordado después de la factura. Acepto perder el IVA de este descuento
|
ConfirmClassifyPaidPartiallyReasonDiscountNoVat=El resto a pagar <b>(%s %s)</b> es un descuento otorgado por pronto pago. Acepto perder el IVA en este descuento.
|
||||||
ConfirmClassifyPaidPartiallyReasonDiscountVat=El resto a pagar<b>(%s %s)</b> es un descuento
|
ConfirmClassifyPaidPartiallyReasonDiscountVat=El resto a pagar <b>(%s %s)</b> es un descuento otorgado por pronto pago. Recuperaré el IVA sin usar un abono.
|
||||||
ConfirmClassifyPaidPartiallyReasonBadCustomer=Cliente moroso
|
ConfirmClassifyPaidPartiallyReasonBadCustomer=Cliente moroso
|
||||||
ConfirmClassifyPaidPartiallyReasonProductReturned=Productos devueltos en parte
|
ConfirmClassifyPaidPartiallyReasonProductReturned=Productos devueltos en parte
|
||||||
ConfirmClassifyPaidPartiallyReasonOther=Por otra razón
|
ConfirmClassifyPaidPartiallyReasonOther=Por otra razón
|
||||||
@ -191,9 +191,9 @@ AlreadyPaid=Ya pagado
|
|||||||
AlreadyPaidBack=Ya reembolsado
|
AlreadyPaidBack=Ya reembolsado
|
||||||
AlreadyPaidNoCreditNotesNoDeposits=Ya pagado (excluidos los abonos y anticipos)
|
AlreadyPaidNoCreditNotesNoDeposits=Ya pagado (excluidos los abonos y anticipos)
|
||||||
Abandoned=Abandonada
|
Abandoned=Abandonada
|
||||||
RemainderToPay=Queda por pagar
|
RemainderToPay=Resta por pagar
|
||||||
RemainderToTake=Queda por cobrar
|
RemainderToTake=Resta por cobrar
|
||||||
RemainderToPayBack=Queda por reembolsar
|
RemainderToPayBack=Resta por reembolsar
|
||||||
Rest=Pendiente
|
Rest=Pendiente
|
||||||
AmountExpected=Importe reclamado
|
AmountExpected=Importe reclamado
|
||||||
ExcessReceived=Recibido en exceso
|
ExcessReceived=Recibido en exceso
|
||||||
@ -225,13 +225,13 @@ NonPercuRecuperable=No percibido recuperable
|
|||||||
SetConditions=Definir condiciones de pago
|
SetConditions=Definir condiciones de pago
|
||||||
SetMode=Definir modo de pago
|
SetMode=Definir modo de pago
|
||||||
Billed=Facturado
|
Billed=Facturado
|
||||||
RepeatableInvoice=Factura recurrente
|
RepeatableInvoice=Plantilla de factura
|
||||||
RepeatableInvoices=Facturas recurrentes
|
RepeatableInvoices=Plantilla de facturas
|
||||||
Repeatable=Recurrente
|
Repeatable=Plantilla
|
||||||
Repeatables=Recurrentes
|
Repeatables=Plantillas
|
||||||
ChangeIntoRepeatableInvoice=Convertir en recurrente
|
ChangeIntoRepeatableInvoice=Convertir en plantilla
|
||||||
CreateRepeatableInvoice=Crear factura recurrente
|
CreateRepeatableInvoice=Crear plantilla de factura
|
||||||
CreateFromRepeatableInvoice=Crear desde factura recurrente
|
CreateFromRepeatableInvoice=Crear desde plantilla de factura
|
||||||
CustomersInvoicesAndInvoiceLines=Facturas a clientes y líneas de facturas
|
CustomersInvoicesAndInvoiceLines=Facturas a clientes y líneas de facturas
|
||||||
CustomersInvoicesAndPayments=Facturas a clientes y pagos
|
CustomersInvoicesAndPayments=Facturas a clientes y pagos
|
||||||
ExportDataset_invoice_1=Facturas a clientes y líneas de factura
|
ExportDataset_invoice_1=Facturas a clientes y líneas de factura
|
||||||
|
|||||||
@ -12,6 +12,7 @@ BoxLastProspects=Últimos clientes potenciales modificados
|
|||||||
BoxLastCustomers=Últimos clientes modificados
|
BoxLastCustomers=Últimos clientes modificados
|
||||||
BoxLastSuppliers=Últimos proveedores modificados
|
BoxLastSuppliers=Últimos proveedores modificados
|
||||||
BoxLastCustomerOrders=Últimos pedidos
|
BoxLastCustomerOrders=Últimos pedidos
|
||||||
|
BoxLastValidatedCustomerOrders=Últimos pedidos de clientes validados
|
||||||
BoxLastBooks=Últimos books
|
BoxLastBooks=Últimos books
|
||||||
BoxLastActions=Últimos eventos
|
BoxLastActions=Últimos eventos
|
||||||
BoxLastContracts=Últimos contratos
|
BoxLastContracts=Últimos contratos
|
||||||
@ -27,26 +28,29 @@ BoxTitleNbOfCustomers=Número de clientes
|
|||||||
BoxTitleLastRssInfos=Las %s últimas infos de %s
|
BoxTitleLastRssInfos=Las %s últimas infos de %s
|
||||||
BoxTitleLastProducts=Los %s últimos productos/servicios registrados
|
BoxTitleLastProducts=Los %s últimos productos/servicios registrados
|
||||||
BoxTitleProductsAlertStock=Productos en alerta de stock
|
BoxTitleProductsAlertStock=Productos en alerta de stock
|
||||||
BoxTitleLastCustomerOrders=Los %s últimos pedidos de clientes modificados
|
BoxTitleLastCustomerOrders=Últimos %s pedidos de clientes
|
||||||
|
BoxTitleLastModifiedCustomerOrders=Últimos %s pedidos de clientes modificados
|
||||||
BoxTitleLastSuppliers=Los %s últimos proveedores registrados
|
BoxTitleLastSuppliers=Los %s últimos proveedores registrados
|
||||||
BoxTitleLastCustomers=Los %s últimos clientes registrados
|
BoxTitleLastCustomers=Los %s últimos clientes registrados
|
||||||
BoxTitleLastModifiedSuppliers=Los %s últimos proveedores modificados
|
BoxTitleLastModifiedSuppliers=Los %s últimos proveedores modificados
|
||||||
BoxTitleLastModifiedCustomers=Los %s últimos clientes modificados
|
BoxTitleLastModifiedCustomers=Los %s últimos clientes modificados
|
||||||
BoxTitleLastCustomersOrProspects=Los %s últimos clientes o clientes potenciales registrados
|
BoxTitleLastCustomersOrProspects=Últimos %s clientes o clientes potenciales
|
||||||
BoxTitleLastPropals=Los %s últimos presupuestos registrados
|
BoxTitleLastPropals=Últimos %s presupuestos
|
||||||
|
BoxTitleLastModifiedPropals=Últimos %s presupuestos modificados
|
||||||
BoxTitleLastCustomerBills=Las %s últimas facturas a clientes modificadas
|
BoxTitleLastCustomerBills=Las %s últimas facturas a clientes modificadas
|
||||||
|
BoxTitleLastModifiedCustomerBills=Últimas %s facturas a clientes modificadas
|
||||||
BoxTitleLastSupplierBills=Las %s últimas facturas de proveedores modificadas
|
BoxTitleLastSupplierBills=Las %s últimas facturas de proveedores modificadas
|
||||||
BoxTitleLastProspects=Los %s últimos clientes potenciales registrados
|
BoxTitleLastModifiedSupplierBills=Últimas %s facturas de proveedores modificadas
|
||||||
BoxTitleLastModifiedProspects=Los %s últimos clientes potenciales modificados
|
BoxTitleLastModifiedProspects=Los %s últimos clientes potenciales modificados
|
||||||
BoxTitleLastProductsInContract=Los %s últimos productos/servicios contratados
|
BoxTitleLastProductsInContract=Los %s últimos productos/servicios contratados
|
||||||
BoxTitleLastModifiedMembers=Los %s últimos miembros modificados
|
BoxTitleLastModifiedMembers=Últimos %s miembros
|
||||||
BoxTitleLastFicheInter=Las %s últimas intervenciones modificadas
|
BoxTitleLastFicheInter=Las %s últimas intervenciones modificadas
|
||||||
BoxTitleOldestUnpaidCustomerBills=Las %s facturas más antiguas a clientes pendientes de cobro
|
BoxTitleOldestUnpaidCustomerBills=%s facturas a clientes más antiguras pendientes de cobro
|
||||||
BoxTitleOldestUnpaidSupplierBills=Las %s facturas más antiguas de proveedores pendientes de pago
|
BoxTitleOldestUnpaidSupplierBills=%s facturas de proveedores más antiguas pendientes de pago
|
||||||
BoxTitleCurrentAccounts=Balances de cuentas abiertas
|
BoxTitleCurrentAccounts=Balances de cuentas abiertas
|
||||||
BoxTitleSalesTurnover=Volumen de ventas realizado
|
BoxTitleSalesTurnover=Volumen de ventas realizado
|
||||||
BoxTitleTotalUnpaidCustomerBills=Pendiente de clientes
|
BoxTitleTotalUnpaidCustomerBills=Facturas a clientes pendientes de cobro
|
||||||
BoxTitleTotalUnpaidSuppliersBills=Pendiente a proveedores
|
BoxTitleTotalUnpaidSuppliersBills=Facturas de proveedores pendientes de pago
|
||||||
BoxTitleLastModifiedContacts=Los %s últimos contactos/direcciones modificadas
|
BoxTitleLastModifiedContacts=Los %s últimos contactos/direcciones modificadas
|
||||||
BoxMyLastBookmarks=Mis %s últimos marcadores
|
BoxMyLastBookmarks=Mis %s últimos marcadores
|
||||||
BoxOldestExpiredServices=Servicios antiguos expirados
|
BoxOldestExpiredServices=Servicios antiguos expirados
|
||||||
@ -76,7 +80,8 @@ NoContractedProducts=Sin productos/servicios contratados
|
|||||||
NoRecordedContracts=Sin contratos registrados
|
NoRecordedContracts=Sin contratos registrados
|
||||||
NoRecordedInterventions=Sin intervenciones guardadas
|
NoRecordedInterventions=Sin intervenciones guardadas
|
||||||
BoxLatestSupplierOrders=Últimos pedidos a proveedores
|
BoxLatestSupplierOrders=Últimos pedidos a proveedores
|
||||||
BoxTitleLatestSupplierOrders=Los %s últimos pedidos a proveedores
|
BoxTitleLatestSupplierOrders=Últimos %s pedidos a proveedores
|
||||||
|
BoxTitleLatestModifiedSupplierOrders=Últimos %s pedidos a proveedores modificados
|
||||||
NoSupplierOrder=Sin pedidos a proveedores
|
NoSupplierOrder=Sin pedidos a proveedores
|
||||||
BoxCustomersInvoicesPerMonth=Facturas a clientes por mes
|
BoxCustomersInvoicesPerMonth=Facturas a clientes por mes
|
||||||
BoxSuppliersInvoicesPerMonth=Facturas de proveedores por mes
|
BoxSuppliersInvoicesPerMonth=Facturas de proveedores por mes
|
||||||
|
|||||||
@ -379,7 +379,7 @@ DeliveryAddressLabel=Etiqueta de envío
|
|||||||
DeleteDeliveryAddress=Eliminar una dirección de envío
|
DeleteDeliveryAddress=Eliminar una dirección de envío
|
||||||
ConfirmDeleteDeliveryAddress=¿Está seguro de querer eliminar esta dirección de envío?
|
ConfirmDeleteDeliveryAddress=¿Está seguro de querer eliminar esta dirección de envío?
|
||||||
NewDeliveryAddress=Nueva dirección de envío
|
NewDeliveryAddress=Nueva dirección de envío
|
||||||
AddDeliveryAddress=Añadir la dirección
|
AddDeliveryAddress=Crear dirección
|
||||||
AddAddress=Crear dirección
|
AddAddress=Crear dirección
|
||||||
NoOtherDeliveryAddress=No hay direcciones alternativas definidas
|
NoOtherDeliveryAddress=No hay direcciones alternativas definidas
|
||||||
SupplierCategory=Categoría de proveedor
|
SupplierCategory=Categoría de proveedor
|
||||||
|
|||||||
@ -24,3 +24,5 @@ Deliverer=Destinatario :
|
|||||||
Sender=Origen
|
Sender=Origen
|
||||||
Recipient=Destinatario
|
Recipient=Destinatario
|
||||||
ErrorStockIsNotEnough=No hay suficiente stock
|
ErrorStockIsNotEnough=No hay suficiente stock
|
||||||
|
Shippable=Enviable
|
||||||
|
NonShippable=No enviable
|
||||||
|
|||||||
@ -4,7 +4,7 @@ Donations=Donaciones
|
|||||||
DonationRef=Ref. donación
|
DonationRef=Ref. donación
|
||||||
Donor=Donante
|
Donor=Donante
|
||||||
Donors=Donantes
|
Donors=Donantes
|
||||||
AddDonation=Añadir donación
|
AddDonation=Crear una donación
|
||||||
NewDonation=Nueva donación
|
NewDonation=Nueva donación
|
||||||
ShowDonation=Mostrar donación
|
ShowDonation=Mostrar donación
|
||||||
DonationPromise=Promesa de donación
|
DonationPromise=Promesa de donación
|
||||||
|
|||||||
@ -37,7 +37,7 @@ ErrorSupplierCodeRequired=Código proveedor obligatorio
|
|||||||
ErrorSupplierCodeAlreadyUsed=Código de proveedor ya utilizado
|
ErrorSupplierCodeAlreadyUsed=Código de proveedor ya utilizado
|
||||||
ErrorBadParameters=Parámetros incorrectos
|
ErrorBadParameters=Parámetros incorrectos
|
||||||
ErrorBadValueForParameter=Valor '%s' incorrecto para el parámetro '%s'
|
ErrorBadValueForParameter=Valor '%s' incorrecto para el parámetro '%s'
|
||||||
ErrorBadImageFormat=La imagen no tiene un formato reconocido
|
ErrorBadImageFormat=El archivo de imagen es de un formato no soportado (Su PHP no soporta las funciones de conversión de este formato de imagen)
|
||||||
ErrorBadDateFormat=El valor '%s' tiene un formato de fecha no reconocido
|
ErrorBadDateFormat=El valor '%s' tiene un formato de fecha no reconocido
|
||||||
ErrorWrongDate=¡La fecha no es correcta!
|
ErrorWrongDate=¡La fecha no es correcta!
|
||||||
ErrorFailedToWriteInDir=Imposible escribir en el directorio %s
|
ErrorFailedToWriteInDir=Imposible escribir en el directorio %s
|
||||||
@ -114,6 +114,7 @@ ErrorLoginDoesNotExists=La cuenta de usuario de <b>%s</b> no se ha encontrado.
|
|||||||
ErrorLoginHasNoEmail=Este usuario no tiene e-mail. Imposible continuar.
|
ErrorLoginHasNoEmail=Este usuario no tiene e-mail. Imposible continuar.
|
||||||
ErrorBadValueForCode=Valor incorrecto para el código. Vuelva a intentar con un nuevo valor...
|
ErrorBadValueForCode=Valor incorrecto para el código. Vuelva a intentar con un nuevo valor...
|
||||||
ErrorBothFieldCantBeNegative=Los campos %s y %s no pueden ser negativos
|
ErrorBothFieldCantBeNegative=Los campos %s y %s no pueden ser negativos
|
||||||
|
ErrorQtyForCustomerInvoiceCantBeNegative=Las cantidades en las líneas de facturas a clientes no pueden ser negativas
|
||||||
ErrorWebServerUserHasNotPermission=La cuenta de ejecución del servidor web <b>%s</b> no dispone de los permisos para esto
|
ErrorWebServerUserHasNotPermission=La cuenta de ejecución del servidor web <b>%s</b> no dispone de los permisos para esto
|
||||||
ErrorNoActivatedBarcode=No hay activado ningún tipo de código de barras
|
ErrorNoActivatedBarcode=No hay activado ningún tipo de código de barras
|
||||||
ErrUnzipFails=No se ha podido descomprimir el archivo %s con ZipArchive
|
ErrUnzipFails=No se ha podido descomprimir el archivo %s con ZipArchive
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
# Dolibarr language file - Source file is en_US - holiday
|
# Dolibarr language file - Source file is en_US - holiday
|
||||||
HRM=RRHH
|
HRM=RRHH
|
||||||
Holidays=Vacaciones
|
Holidays=Días libres
|
||||||
CPTitreMenu=Vacaciones
|
CPTitreMenu=Días libres
|
||||||
MenuReportMonth=Estado mensual
|
MenuReportMonth=Estado mensual
|
||||||
MenuAddCP=Realizar una petición de vacaciones
|
MenuAddCP=Realizar una petición de días libres
|
||||||
NotActiveModCP=Debe activar el módulo Vacaciones para ver esta página
|
NotActiveModCP=Debe activar el módulo Días libres retribuidos para ver esta página
|
||||||
NotConfigModCP=Debe configurar el módulo Vacaciones para ver esta página. Para configurarlo, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;">haga clic aquí</a>.
|
NotConfigModCP=Debe configurar el módulo Días libres retribuidos para ver esta página. Para configurarlo, <a href="./admin/holiday.php?leftmenu=setup&mainmenu=home" style="font-weight: normal; color: red; text-decoration: underline;">haga clic aquí</a>.
|
||||||
NoCPforUser=No tiene peticiones de vacaciones.
|
NoCPforUser=No tiene peticiones de días libres.
|
||||||
AddCP=Realizar una petición de vacaciones
|
AddCP=Realizar una petición de días libres
|
||||||
Employe=Empleado
|
Employe=Empleado
|
||||||
DateDebCP=Fecha inicio
|
DateDebCP=Fecha inicio
|
||||||
DateFinCP=Fecha fin
|
DateFinCP=Fecha fin
|
||||||
@ -18,24 +18,24 @@ ApprovedCP=Aprobada
|
|||||||
CancelCP=Anulada
|
CancelCP=Anulada
|
||||||
RefuseCP=Rechazada
|
RefuseCP=Rechazada
|
||||||
ValidatorCP=Validador
|
ValidatorCP=Validador
|
||||||
ListeCP=Listado de vacaciones
|
ListeCP=Listado de días libres
|
||||||
ReviewedByCP=Será revisada por
|
ReviewedByCP=Será revisada por
|
||||||
DescCP=Descripción
|
DescCP=Descripción
|
||||||
SendRequestCP=Enviar la petición de vacaciones
|
SendRequestCP=Enviar la petición de días libres
|
||||||
DelayToRequestCP=Las peticiones de vacaciones deben realizarse al menos <b>%s días</b> antes.
|
DelayToRequestCP=Las peticiones de días libres deben realizarse al menos <b>%s días</b> antes.
|
||||||
MenuConfCP=Definir las vacaciones
|
MenuConfCP=Definir los días libres
|
||||||
UpdateAllCP=Actualizar las vacaciones
|
UpdateAllCP=Actualizar los días libres
|
||||||
SoldeCPUser=Su saldo de vacaciones es de <b>%s días</b>.
|
SoldeCPUser=Su saldo de días libres es de <b>%s días</b>.
|
||||||
ErrorEndDateCP=Debe indicar una fecha de fin superior a la fecha de inicio.
|
ErrorEndDateCP=Debe indicar una fecha de fin superior a la fecha de inicio.
|
||||||
ErrorSQLCreateCP=Se ha producido un error de SQL durante la creación :
|
ErrorSQLCreateCP=Se ha producido un error de SQL durante la creación :
|
||||||
ErrorIDFicheCP=Se produjo un error, esta solicitud de vacaciones no existe.
|
ErrorIDFicheCP=Se produjo un error, esta solicitud de días libres no existe.
|
||||||
ReturnCP=Volver a la página anterior
|
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 días libres.
|
||||||
InfosCP=Información de la petición de vacaciones
|
InfosCP=Información de la petición de días libres
|
||||||
InfosWorkflowCP=Información del workflow
|
InfosWorkflowCP=Información del workflow
|
||||||
RequestByCP=Pedido por
|
RequestByCP=Pedido por
|
||||||
TitreRequestCP=Ficha vacaciones
|
TitreRequestCP=Ficha días libres
|
||||||
NbUseDaysCP=Número de días de vacaciones consumidos
|
NbUseDaysCP=Número de días libres consumidos
|
||||||
EditCP=Modificar
|
EditCP=Modificar
|
||||||
DeleteCP=Eliminar
|
DeleteCP=Eliminar
|
||||||
ActionValidCP=Validar
|
ActionValidCP=Validar
|
||||||
@ -43,26 +43,26 @@ ActionRefuseCP=Rechazar
|
|||||||
ActionCancelCP=Anular
|
ActionCancelCP=Anular
|
||||||
StatutCP=Estado
|
StatutCP=Estado
|
||||||
SendToValidationCP=Enviar validación
|
SendToValidationCP=Enviar validación
|
||||||
TitleDeleteCP=Eliminar la petición de vacaciones
|
TitleDeleteCP=Eliminar la petición de días libres
|
||||||
ConfirmDeleteCP=¿Está seguro de querer eliminar esta petición de vacaciones?
|
ConfirmDeleteCP=¿Está seguro de querer eliminar esta petición de días libres?
|
||||||
ErrorCantDeleteCP=Error, no tiene permisos para eliminar esta petición de vacaciones.
|
ErrorCantDeleteCP=Error, no tiene permisos para eliminar esta petición de días libres.
|
||||||
CantCreateCP=No tiene permisos para realizar peticiones de vacaciones.
|
CantCreateCP=No tiene permisos para realizar peticiones de días libres.
|
||||||
InvalidValidatorCP=Debe indicar un validador para su petición de vacaciones.
|
InvalidValidatorCP=Debe indicar un validador para su petición de días libres.
|
||||||
UpdateButtonCP=Actualizar
|
UpdateButtonCP=Actualizar
|
||||||
CantUpdate=No puede actualizar esta petición de vacaciones.
|
CantUpdate=No puede actualizar esta petición de días libres.
|
||||||
NoDateDebut=Debe indicar una fecha de inicio.
|
NoDateDebut=Debe indicar una fecha de inicio.
|
||||||
NoDateFin=Debe indicar una fecha de fin.
|
NoDateFin=Debe indicar una fecha de fin.
|
||||||
ErrorDureeCP=Su petición de vacaciones no contiene ningún día hábil.
|
ErrorDureeCP=Su petición de días libres no contiene ningún día hábil.
|
||||||
TitleValidCP=Validar la petición de vacaciones
|
TitleValidCP=Aprobar la petición de días libres
|
||||||
ConfirmValidCP=¿Está seguro de querer validar esta petición de vacaciones?
|
ConfirmValidCP=¿Está seguro de querer validar esta petición de días libres?
|
||||||
DateValidCP=Fecha de validación
|
DateValidCP=Fecha de validación
|
||||||
TitleToValidCP=Enviar la petición de vacaciones
|
TitleToValidCP=Enviar la petición de días libres
|
||||||
ConfirmToValidCP=¿Está seguro de querer enviar la petición de vacaciones?
|
ConfirmToValidCP=¿Está seguro de querer enviar la petición de días libres?
|
||||||
TitleRefuseCP=Rechazar la petición de vacaciones
|
TitleRefuseCP=Rechazar la petición de días libres
|
||||||
ConfirmRefuseCP=¿Está seguro de querer rechazar la petición de vacaciones?
|
ConfirmRefuseCP=¿Está seguro de querer rechazar la petición de días libres?
|
||||||
NoMotifRefuseCP=Debe seleccionar un motivo para rechazar esta petición.
|
NoMotifRefuseCP=Debe seleccionar un motivo para rechazar esta petición.
|
||||||
TitleCancelCP=Anular la petición de vacaciones
|
TitleCancelCP=Cancelar la petición de días libres
|
||||||
ConfirmCancelCP=¿Está seguro de querer anular la petición de vacaciones?
|
ConfirmCancelCP=¿Está seguro de querer anular la petición de días libres?
|
||||||
DetailRefusCP=Motivo del rechazo
|
DetailRefusCP=Motivo del rechazo
|
||||||
DateRefusCP=Fecha del rechazo
|
DateRefusCP=Fecha del rechazo
|
||||||
DateCancelCP=Fecha de la anulación
|
DateCancelCP=Fecha de la anulación
|
||||||
@ -72,42 +72,42 @@ MotifCP=Motivo
|
|||||||
UserCP=Usuario
|
UserCP=Usuario
|
||||||
ErrorAddEventToUserCP=Se ha producido un error en la asignación del permiso excepcional.
|
ErrorAddEventToUserCP=Se ha producido un error en la asignación del permiso excepcional.
|
||||||
AddEventToUserOkCP=Se ha añadido el permiso excepcional.
|
AddEventToUserOkCP=Se ha añadido el permiso excepcional.
|
||||||
MenuLogCP=Ver los logs de vacaciones
|
MenuLogCP=Ver el historial de días libres
|
||||||
LogCP=Logs de actualizaciones de vacaciones
|
LogCP=Historial de actualizaciones de días libres
|
||||||
ActionByCP=Realizado por
|
ActionByCP=Realizado por
|
||||||
UserUpdateCP=Para el usuario
|
UserUpdateCP=Para el usuario
|
||||||
PrevSoldeCP=Saldo anterior
|
PrevSoldeCP=Saldo anterior
|
||||||
NewSoldeCP=Nuevo saldo
|
NewSoldeCP=Nuevo saldo
|
||||||
alreadyCPexist=Ya se ha efectuado una petición de vacaciones para este periodo.
|
alreadyCPexist=Ya se ha efectuado una petición de días libres para este periodo.
|
||||||
UserName=Nombre Apellidos
|
UserName=Nombre Apellidos
|
||||||
Employee=Empleado
|
Employee=Empleado
|
||||||
FirstDayOfHoliday=Primer día libre
|
FirstDayOfHoliday=Primer día libre
|
||||||
LastDayOfHoliday=Último día libre
|
LastDayOfHoliday=Último día libre
|
||||||
HolidaysMonthlyUpdate=Actualización mensual
|
HolidaysMonthlyUpdate=Actualización mensual
|
||||||
ManualUpdate=Actualización manual
|
ManualUpdate=Actualización manual
|
||||||
HolidaysCancelation=Anulación vacaciones
|
HolidaysCancelation=Anulación días libres
|
||||||
|
|
||||||
## Configuration du Module ##
|
## Configuration du Module ##
|
||||||
ConfCP=Configuración del módulo Vacaciones
|
ConfCP=Configuración del módulo de días libres retribuidos
|
||||||
DescOptionCP=Descripción de la opción
|
DescOptionCP=Descripción de la opción
|
||||||
ValueOptionCP=Valor
|
ValueOptionCP=Valor
|
||||||
GroupToValidateCP=Grupo con posibilidad de aprobar las vacaciones
|
GroupToValidateCP=Grupo con posibilidad de aprobar los días libres
|
||||||
ConfirmConfigCP=Validar la configuración
|
ConfirmConfigCP=Validar la configuración
|
||||||
LastUpdateCP=Última actualización automática de vacaciones
|
LastUpdateCP=Última actualización automática de días libres
|
||||||
UpdateConfCPOK=Actualización efectuada correctamente.
|
UpdateConfCPOK=Actualización efectuada correctamente.
|
||||||
ErrorUpdateConfCP=Se ha producido un error durante la actualización, vuélvalo a intentar.
|
ErrorUpdateConfCP=Se ha producido un error durante la actualización, vuélvalo a intentar.
|
||||||
AddCPforUsers=Añada los saldos de vacaciones de los usuarios <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">haciendo clic aquí</a>.
|
AddCPforUsers=Añada los saldos de días libres de los usuarios <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">haciendo clic aquí</a>.
|
||||||
DelayForSubmitCP=Antelación mínima para solicitar vacaciones
|
DelayForSubmitCP=Fecha límite para realizar peticiones de días libres
|
||||||
AlertapprobatortorDelayCP=Advertir al validador si la petición no corresponde a la fecha límite
|
AlertapprobatortorDelayCP=Advertir al validador si la petición no corresponde a la fecha límite
|
||||||
AlertValidatorDelayCP=Advertir al usuario validador si la petición no respeta el límite previsto
|
AlertValidatorDelayCP=Advertir al usuario validador si la petición no respeta el límite previsto
|
||||||
AlertValidorSoldeCP=Advertir al usuario validador si el usuario pide vacaciones superiores a su saldo
|
AlertValidorSoldeCP=Advertir al usuario validador si el usuario pide días libres superiores a su saldo
|
||||||
nbUserCP=Número de usuarios tomados en cuenta en el módulo vacaciones
|
nbUserCP=Número de usuarios tomados en cuenta en el módulo días libres retribuidos
|
||||||
nbHolidayDeductedCP=Número de días retribuídos a deducir por día de vacaciones
|
nbHolidayDeductedCP=Número de días retribuídos a deducir por día líbre
|
||||||
nbHolidayEveryMonthCP=Número de días de vacaciones añadidos por mes
|
nbHolidayEveryMonthCP=Número de días libres añadidos por mes
|
||||||
Module27130Name= Gestion de las vacaciones
|
Module27130Name= Gestión de los días libres
|
||||||
Module27130Desc= Gestión de días libres
|
Module27130Desc= Gestión de días libres
|
||||||
TitleOptionMainCP=Ajustes principales de vacaciones
|
TitleOptionMainCP=Ajustes principales de días libres
|
||||||
TitleOptionEventCP=Ajustes de vacaciones enlazados a eventos
|
TitleOptionEventCP=Ajustes de días libres enlazados a eventos
|
||||||
ValidEventCP=Validar
|
ValidEventCP=Validar
|
||||||
UpdateEventCP=Actualizar los eventos
|
UpdateEventCP=Actualizar los eventos
|
||||||
CreateEventCP=Crear
|
CreateEventCP=Crear
|
||||||
@ -125,25 +125,25 @@ TitleUpdateEventCP=Modificar o eliminar un permiso excepcional
|
|||||||
DeleteEventOptionCP=Eliminar
|
DeleteEventOptionCP=Eliminar
|
||||||
UpdateEventOptionCP=Actualizar
|
UpdateEventOptionCP=Actualizar
|
||||||
ErrorMailNotSend=Se ha producido un error en el envío del e-mail :
|
ErrorMailNotSend=Se ha producido un error en el envío del e-mail :
|
||||||
NoCPforMonth=Sin vacaciones este mes.
|
NoCPforMonth=Sin días libres este mes.
|
||||||
nbJours=Número de días
|
nbJours=Número de días
|
||||||
TitleAdminCP=Configuración de las vacaciones
|
TitleAdminCP=Configuración de los días libres retribuidos
|
||||||
#Messages
|
#Messages
|
||||||
Hello=Hola
|
Hello=Hola
|
||||||
HolidaysToValidate=Días retribuidos a validar
|
HolidaysToValidate=Días libres retribuidos a validar
|
||||||
HolidaysToValidateBody=A continuación encontrará una solicitud de días retribuidos para validar
|
HolidaysToValidateBody=A continuación encontrará una solicitud de días libres retribuidos para validar
|
||||||
HolidaysToValidateDelay=Esta solicitud de días retribuidos tendrá lugar en un plazo de menos de %s días.
|
HolidaysToValidateDelay=Esta solicitud de días libres retribuidos tendrá lugar en un plazo de menos de %s días.
|
||||||
HolidaysToValidateAlertSolde=El usuario que ha realizado la solicitud de días retribuidos no dispone de suficientes días disponibles.
|
HolidaysToValidateAlertSolde=El usuario que ha realizado la solicitud de días libres retribuidos no dispone de suficientes días disponibles.
|
||||||
HolidaysValidated=Días retribuidos validados
|
HolidaysValidated=Días libres retribuidos validados
|
||||||
HolidaysValidatedBody=Su solicitud de días retribuidos desde el %s al %s ha sido validada.
|
HolidaysValidatedBody=Su solicitud de días libres retribuidos desde el %s al %s ha sido validada.
|
||||||
HolidaysRefused=Días retribuidos denegados
|
HolidaysRefused=Días libres 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 libres retribuidos desde el %s al %s ha sido denegada por el siguiente motivo :
|
||||||
HolidaysCanceled=Días retribuidos cancelados
|
HolidaysCanceled=Días libres retribuidos cancelados
|
||||||
HolidaysCanceledBody=Su solicitud de días retribuidos desde el %s al %s ha sido cancelada.
|
HolidaysCanceledBody=Su solicitud de días libres retribuidos desde el %s al %s ha sido cancelada.
|
||||||
Permission20000=Leer sus propios días retribuidos
|
Permission20000=Leer sus propios días libres retribuidos
|
||||||
Permission20001=Crear/modificar sus días retribuidos
|
Permission20001=Crear/modificar sus días libres retribuidos
|
||||||
Permission20002=Crear/modificar días retribuidos para todos
|
Permission20002=Crear/modificar días libres retribuidos para todos
|
||||||
Permission20003=Eliminar peticiones de días retribuidos
|
Permission20003=Eliminar peticiones de días libres retribuidos
|
||||||
Permission20004=Configurar días retribuidos de usuarios
|
Permission20004=Configurar días libres retribuidos de usuarios
|
||||||
Permission20005=Consultar el historial de modificaciones de permisos retribuídos
|
Permission20005=Consultar el historial de modificaciones de días libres retribuídos
|
||||||
Permission20006=Leer informe mensual de días retribuidos
|
Permission20006=Leer informe mensual de días libres retribuidos
|
||||||
|
|||||||
@ -30,6 +30,7 @@ StatusInterInvoiced=Facturado
|
|||||||
RelatedInterventions=Intervenciones adjuntas
|
RelatedInterventions=Intervenciones adjuntas
|
||||||
ShowIntervention=Mostrar intervención
|
ShowIntervention=Mostrar intervención
|
||||||
SendInterventionRef=Envío de la intervención %s
|
SendInterventionRef=Envío de la intervención %s
|
||||||
|
SendInterventionByMail=Enviar intervención por e-mail
|
||||||
##### Types de contacts #####
|
##### Types de contacts #####
|
||||||
TypeContact_fichinter_internal_INTERREPFOLL=Responsable seguimiento de la intervención
|
TypeContact_fichinter_internal_INTERREPFOLL=Responsable seguimiento de la intervención
|
||||||
TypeContact_fichinter_internal_INTERVENING=Interventor
|
TypeContact_fichinter_internal_INTERVENING=Interventor
|
||||||
|
|||||||
@ -133,6 +133,6 @@ Notifications=Notificaciones
|
|||||||
NoNotificationsWillBeSent=Ninguna notificación por e-mail está prevista para este evento y empresa
|
NoNotificationsWillBeSent=Ninguna notificación por e-mail está prevista para este evento y empresa
|
||||||
ANotificationsWillBeSent=1 notificación va a ser enviada por e-mail
|
ANotificationsWillBeSent=1 notificación va a ser enviada por e-mail
|
||||||
SomeNotificationsWillBeSent=%s notificaciones van a ser enviadas por e-mail
|
SomeNotificationsWillBeSent=%s notificaciones van a ser enviadas por e-mail
|
||||||
AddNewNotification=Activar una nueva solicitud de notificación
|
AddNewNotification=Activar un nuevo destinatario de notificaciones
|
||||||
ListOfActiveNotifications=Lista de las solicitudes de notificaciones activas
|
ListOfActiveNotifications=Listado de todos los destinatarios de notificaciones
|
||||||
ListOfNotificationsDone=Lista de notificaciones de e-mails enviadas
|
ListOfNotificationsDone=Listado de notificaciones enviadas
|
||||||
|
|||||||
@ -58,12 +58,12 @@ ErrorCantLoadUserFromDolibarrDatabase=Imposible encontrar el usuario <b>%s</b> e
|
|||||||
ErrorNoVATRateDefinedForSellerCountry=Error, ningún tipo de IVA definido para el país '%s'.
|
ErrorNoVATRateDefinedForSellerCountry=Error, ningún tipo de IVA definido para el país '%s'.
|
||||||
ErrorNoSocialContributionForSellerCountry=Error, ningún tipo de carga social definida para el país '%s'.
|
ErrorNoSocialContributionForSellerCountry=Error, ningún tipo de carga social definida para el país '%s'.
|
||||||
ErrorFailedToSaveFile=Error, el registro del archivo falló.
|
ErrorFailedToSaveFile=Error, el registro del archivo falló.
|
||||||
ErrorOnlyPngJpgSupported=Error, solamente se soportan los formatos de imagen jpg y png.
|
|
||||||
ErrorImageFormatNotSupported=Su PHP no soporta las funciones de conversión de este formato de imagen.
|
|
||||||
SetDate=Fijar fecha
|
SetDate=Fijar fecha
|
||||||
SelectDate=Seleccione una fecha
|
SelectDate=Seleccione una fecha
|
||||||
SeeAlso=Ver también %s
|
SeeAlso=Ver también %s
|
||||||
BackgroundColorByDefault=Color de fondo
|
BackgroundColorByDefault=Color de fondo
|
||||||
|
FileNotUploaded=No se ha subido el archivo
|
||||||
|
FileUploaded=El archivo se ha subido correctamente
|
||||||
FileWasNotUploaded=Un archivo ha sido seleccionado para adjuntarlo, pero aún no se ha subido. Haga clic en "Adjuntar este archivo" para ello.
|
FileWasNotUploaded=Un archivo ha sido seleccionado para adjuntarlo, pero aún no se ha subido. Haga clic en "Adjuntar este archivo" para ello.
|
||||||
NbOfEntries=Nº de entradas
|
NbOfEntries=Nº de entradas
|
||||||
GoToWikiHelpPage=Consultar la ayuda (puede requerir acceso a Internet)
|
GoToWikiHelpPage=Consultar la ayuda (puede requerir acceso a Internet)
|
||||||
@ -341,6 +341,7 @@ FullList=Listado completo
|
|||||||
Statistics=Estadísticas
|
Statistics=Estadísticas
|
||||||
OtherStatistics=Otras estadísticas
|
OtherStatistics=Otras estadísticas
|
||||||
Status=Estado
|
Status=Estado
|
||||||
|
Favorite=Favorito
|
||||||
ShortInfo=Info.
|
ShortInfo=Info.
|
||||||
Ref=Ref.
|
Ref=Ref.
|
||||||
RefSupplier=Ref. proveedor
|
RefSupplier=Ref. proveedor
|
||||||
|
|||||||
@ -38,4 +38,6 @@ BuyingCost=Costos
|
|||||||
UnitCharges=Carga unitaria
|
UnitCharges=Carga unitaria
|
||||||
Charges=Cargas
|
Charges=Cargas
|
||||||
AgentContactType=Tipo de contacto comisionado
|
AgentContactType=Tipo de contacto comisionado
|
||||||
AgentContactTypeDetails=Indica el tipo de contacto enlazado a las facturas que serán asociados a los agentes comerciales
|
AgentContactTypeDetails=Indique qué tipo de contacto (enlazado a las facturas) será el utilizado para el informe de márgenes de agentes comerciales
|
||||||
|
rateMustBeNumeric=El margen debe ser un valor numérico
|
||||||
|
markRateShouldBeLesserThan100=El margen tiene que ser menor que 100
|
||||||
|
|||||||
@ -85,7 +85,7 @@ SubscriptionLateShort=En retraso
|
|||||||
SubscriptionNotReceivedShort=No recibida
|
SubscriptionNotReceivedShort=No recibida
|
||||||
ListOfSubscriptions=Listado de afiliaciones
|
ListOfSubscriptions=Listado de afiliaciones
|
||||||
SendCardByMail=Enviar ficha por e-mail
|
SendCardByMail=Enviar ficha por e-mail
|
||||||
AddMember=Añadir miembro
|
AddMember=Crear miembro
|
||||||
NoTypeDefinedGoToSetup=Ningún tipo de miembro definido. Vaya a Configuración -> Tipos de miembros
|
NoTypeDefinedGoToSetup=Ningún tipo de miembro definido. Vaya a Configuración -> Tipos de miembros
|
||||||
NewMemberType=Nuevo tipo de miembro
|
NewMemberType=Nuevo tipo de miembro
|
||||||
WelcomeEMail=E-mail
|
WelcomeEMail=E-mail
|
||||||
@ -125,7 +125,7 @@ Date=Fecha
|
|||||||
DateAndTime=Fecha y hora
|
DateAndTime=Fecha y hora
|
||||||
PublicMemberCard=Ficha pública miembro
|
PublicMemberCard=Ficha pública miembro
|
||||||
MemberNotOrNoMoreExpectedToSubscribe=No sometida a cotización
|
MemberNotOrNoMoreExpectedToSubscribe=No sometida a cotización
|
||||||
AddSubscription=Añadir afiliación
|
AddSubscription=Crear afiliación
|
||||||
ShowSubscription=Mostrar afiliación
|
ShowSubscription=Mostrar afiliación
|
||||||
MemberModifiedInDolibarr=Miembro modificado en Dolibarr
|
MemberModifiedInDolibarr=Miembro modificado en Dolibarr
|
||||||
SendAnEMailToMember=Enviar e-mail de información al miembro (E-mail: <b>%s</b>)
|
SendAnEMailToMember=Enviar e-mail de información al miembro (E-mail: <b>%s</b>)
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
# Dolibarr language file - Source file is en_US - other
|
# Dolibarr language file - Source file is en_US - other
|
||||||
SecurityCode=Código seguridad
|
SecurityCode=Código seguridad
|
||||||
Calendar=Calendario
|
Calendar=Calendario
|
||||||
AddTrip=Crear honorario
|
|
||||||
Tools=Utilidades
|
Tools=Utilidades
|
||||||
ToolsDesc=Esta área está dedicada al reagrupamiento de diversas utilidades no disponibles en las otras entradas de menú.<br><br>La lista de estas utilidades es accesible mediante el menú de al lado.
|
ToolsDesc=Esta área está dedicada al reagrupamiento de diversas utilidades no disponibles en las otras entradas de menú.<br><br>La lista de estas utilidades es accesible mediante el menú de al lado.
|
||||||
Birthday=Aniversario
|
Birthday=Aniversario
|
||||||
@ -48,6 +47,7 @@ Notify_PROJECT_CREATE=Creación de proyecto
|
|||||||
Notify_TASK_CREATE=Tarea creada
|
Notify_TASK_CREATE=Tarea creada
|
||||||
Notify_TASK_MODIFY=Tarea modificada
|
Notify_TASK_MODIFY=Tarea modificada
|
||||||
Notify_TASK_DELETE=Tarea eliminada
|
Notify_TASK_DELETE=Tarea eliminada
|
||||||
|
SeeModuleSetup=Consulte la configuración del módulo
|
||||||
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
|
||||||
|
|||||||
@ -117,12 +117,12 @@ ServiceLimitedDuration=Si el servicio es de duración limitada :
|
|||||||
MultiPricesAbility=Varios niveles de precio por producto/servicio
|
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 la funcionalidad de productos compuestos
|
||||||
AssociatedProducts=Productos compuestos
|
AssociatedProducts=Producto compuesto
|
||||||
AssociatedProductsNumber=Nº de productos que componen este producto
|
AssociatedProductsNumber=Nº de productos que componen este producto
|
||||||
ParentProductsNumber=Nº de productos que este producto compone
|
ParentProductsNumber=Nº de productos que este producto compone
|
||||||
IfZeroItIsNotAVirtualProduct=Si 0, este producto no es un producto virtual
|
IfZeroItIsNotAVirtualProduct=Si 0, este producto no es un producto compuesto
|
||||||
IfZeroItIsNotUsedByVirtualProduct=Si 0, este producto no está siendo utilizado por ningún producto virtual
|
IfZeroItIsNotUsedByVirtualProduct=Si 0, este producto no puede ser usado por ningún producto compuesto
|
||||||
EditAssociate=Componer
|
EditAssociate=Componer
|
||||||
Translation=Traducción
|
Translation=Traducción
|
||||||
KeywordFilter=Filtro por clave
|
KeywordFilter=Filtro por clave
|
||||||
@ -179,7 +179,7 @@ CloneProduct=Clonar producto/servicio
|
|||||||
ConfirmCloneProduct=¿Está seguro de querer clonar el producto o servicio <b>%s</b>?
|
ConfirmCloneProduct=¿Está seguro de querer clonar el producto o servicio <b>%s</b>?
|
||||||
CloneContentProduct=Clonar solamente la información general del producto/servicio
|
CloneContentProduct=Clonar solamente la información general del producto/servicio
|
||||||
ClonePricesProduct=Clonar la información general y los precios
|
ClonePricesProduct=Clonar la información general y los precios
|
||||||
CloneCompositionProduct=Clonar producto/servicio virtual
|
CloneCompositionProduct=Clonar productos/servicios compuestos
|
||||||
ProductIsUsed=Este producto es utilizado
|
ProductIsUsed=Este producto es utilizado
|
||||||
NewRefForClone=Ref. del nuevo producto/servicio
|
NewRefForClone=Ref. del nuevo producto/servicio
|
||||||
CustomerPrices=Precios clientes
|
CustomerPrices=Precios clientes
|
||||||
|
|||||||
@ -45,7 +45,7 @@ TaskDateStart=Fecha inicio
|
|||||||
TaskDateEnd=Fecha finalización
|
TaskDateEnd=Fecha finalización
|
||||||
TaskDescription=Descripción tarea
|
TaskDescription=Descripción tarea
|
||||||
NewTask=Nueva tarea
|
NewTask=Nueva tarea
|
||||||
AddTask=Añadir tarea
|
AddTask=Crear tarea
|
||||||
AddDuration=Indicar duración
|
AddDuration=Indicar duración
|
||||||
Activity=Actividad
|
Activity=Actividad
|
||||||
Activities=Tareas/actividades
|
Activities=Tareas/actividades
|
||||||
|
|||||||
@ -55,8 +55,6 @@ NoOpenedPropals=Sin presupuestos abiertos
|
|||||||
NoOtherOpenedPropals=Ningún otro presupuesto abierto
|
NoOtherOpenedPropals=Ningún otro presupuesto abierto
|
||||||
RefProposal=Ref. presupuesto
|
RefProposal=Ref. presupuesto
|
||||||
SendPropalByMail=Enviar presupuesto por e-mail
|
SendPropalByMail=Enviar presupuesto por e-mail
|
||||||
FileNotUploaded=No se ha subido el archivo
|
|
||||||
FileUploaded=El archivo se ha subido correctamente
|
|
||||||
AssociatedDocuments=Documentos asociados al presupuesto:
|
AssociatedDocuments=Documentos asociados al presupuesto:
|
||||||
ErrorCantOpenDir=Imposible abrir el directorio
|
ErrorCantOpenDir=Imposible abrir el directorio
|
||||||
DatePropal=Fecha presupuesto
|
DatePropal=Fecha presupuesto
|
||||||
@ -83,7 +81,7 @@ ProposalsAndProposalsLines=Presupuestos a clientes y líneas de presupuestos
|
|||||||
ProposalLine=Línea de presupuesto
|
ProposalLine=Línea de presupuesto
|
||||||
AvailabilityPeriod=Tiempo de entrega
|
AvailabilityPeriod=Tiempo de entrega
|
||||||
SetAvailability=Definir el tiempo de entrega
|
SetAvailability=Definir el tiempo de entrega
|
||||||
AfterOrder=despues del pedido
|
AfterOrder=desde la firma
|
||||||
##### Availability #####
|
##### Availability #####
|
||||||
AvailabilityTypeAV_NOW=Inmediata
|
AvailabilityTypeAV_NOW=Inmediata
|
||||||
AvailabilityTypeAV_1W=1 semana
|
AvailabilityTypeAV_1W=1 semana
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# Dolibarr language file - Source file is en_US - suppliers
|
# Dolibarr language file - Source file is en_US - suppliers
|
||||||
Suppliers=Proveedores
|
Suppliers=Proveedores
|
||||||
Supplier=Proveedor
|
Supplier=Proveedor
|
||||||
AddSupplier=Añadir proveedor
|
AddSupplier=Crear un proveedor
|
||||||
SupplierRemoved=Proveedor eliminado
|
SupplierRemoved=Proveedor eliminado
|
||||||
SuppliersInvoice=Factura proveedor
|
SuppliersInvoice=Factura proveedor
|
||||||
NewSupplier=Nuevo proveedor
|
NewSupplier=Nuevo proveedor
|
||||||
|
|||||||
@ -120,3 +120,4 @@ UseTypeFieldToChange=Modificar el campo Tipo para cambiar
|
|||||||
OpenIDURL=Dirección OpenID
|
OpenIDURL=Dirección OpenID
|
||||||
LoginUsingOpenID=Usar OpenID para iniciar sesión
|
LoginUsingOpenID=Usar OpenID para iniciar sesión
|
||||||
WeeklyHours=Horas semanales
|
WeeklyHours=Horas semanales
|
||||||
|
ColorUser=Color para el usuario
|
||||||
|
|||||||
@ -14,8 +14,8 @@ WithdrawalReceiptShort=Orden
|
|||||||
LastWithdrawalReceipts=Las %s últimas órdenes de domiciliación
|
LastWithdrawalReceipts=Las %s últimas órdenes de domiciliación
|
||||||
WithdrawedBills=Facturas domiciliadas
|
WithdrawedBills=Facturas domiciliadas
|
||||||
WithdrawalsLines=Lineas de domiciliación
|
WithdrawalsLines=Lineas de domiciliación
|
||||||
RequestStandingOrderToTreat=Pedidos de domiciliaciones a tratar
|
RequestStandingOrderToTreat=Peticiones de domiciliaciones a procesar
|
||||||
RequestStandingOrderTreated=Pedidos de domiciliaciones procesados
|
RequestStandingOrderTreated=Peticiones de domiciliaciones procesadas
|
||||||
CustomersStandingOrders=Domiciliaciones de clientes
|
CustomersStandingOrders=Domiciliaciones de clientes
|
||||||
CustomerStandingOrder=Domiciliación cliente
|
CustomerStandingOrder=Domiciliación cliente
|
||||||
NbOfInvoiceToWithdraw=Nº de facturas pendientes de domiciliación
|
NbOfInvoiceToWithdraw=Nº de facturas pendientes de domiciliación
|
||||||
|
|||||||
@ -32,4 +32,6 @@ ResourceLinkedWithSuccess=Ressource liée avec succès
|
|||||||
TitleResourceCard=Fiche ressource
|
TitleResourceCard=Fiche ressource
|
||||||
ConfirmDeleteResource=Confirmer la suppression de cette ressource?
|
ConfirmDeleteResource=Confirmer la suppression de cette ressource?
|
||||||
RessourceSuccessfullyDeleted=Ressource effacée avec succès
|
RessourceSuccessfullyDeleted=Ressource effacée avec succès
|
||||||
DictionaryResourceType=Type de ressources
|
DictionaryResourceType=Type de ressources
|
||||||
|
|
||||||
|
SelectResource=Sélectionner la ressource
|
||||||
|
|||||||
@ -770,7 +770,7 @@ class Task extends CommonObject
|
|||||||
if ($this->db->query($sql) )
|
if ($this->db->query($sql) )
|
||||||
{
|
{
|
||||||
$tasktime_id = $this->db->last_insert_id(MAIN_DB_PREFIX."projet_task_time");
|
$tasktime_id = $this->db->last_insert_id(MAIN_DB_PREFIX."projet_task_time");
|
||||||
$ret = $tasktme_id;
|
$ret = $tasktime_id;
|
||||||
|
|
||||||
if (! $notrigger)
|
if (! $notrigger)
|
||||||
{
|
{
|
||||||
@ -801,10 +801,7 @@ class Task extends CommonObject
|
|||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
$ret = -2;
|
$ret = -2;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if ($ret >= 0)
|
|
||||||
{
|
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."projet_task_time";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."projet_task_time";
|
||||||
$sql.= " SET thm = (SELECT thm FROM ".MAIN_DB_PREFIX."user WHERE rowid = ".$this->timespent_fk_user.")";
|
$sql.= " SET thm = (SELECT thm FROM ".MAIN_DB_PREFIX."user WHERE rowid = ".$this->timespent_fk_user.")";
|
||||||
$sql.= " WHERE rowid = ".$tasktime_id;
|
$sql.= " WHERE rowid = ".$tasktime_id;
|
||||||
|
|||||||
@ -1,19 +1,20 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) - 2013 Jean-François FERRY <jfefe@aternatik.fr>
|
/* Copyright (C) - 2013 Jean-François FERRY <jfefe@aternatik.fr>
|
||||||
*
|
*
|
||||||
* 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
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* 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/>.
|
||||||
*/
|
* or see http://www.gnu.org/
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file place/class/html.place.class.php
|
* \file place/class/html.place.class.php
|
||||||
|
|||||||
@ -23,8 +23,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Put here all includes required by your class file
|
// Put here all includes required by your class file
|
||||||
require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php");
|
require_once DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php";
|
||||||
|
require_once DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DAO Resource object
|
* DAO Resource object
|
||||||
@ -329,7 +329,7 @@ class Resource extends CommonObject
|
|||||||
function delete($rowid, $notrigger=0)
|
function delete($rowid, $notrigger=0)
|
||||||
{
|
{
|
||||||
global $user,$langs,$conf;
|
global $user,$langs,$conf;
|
||||||
|
|
||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
if (! $notrigger)
|
if (! $notrigger)
|
||||||
@ -339,10 +339,10 @@ class Resource extends CommonObject
|
|||||||
if ($result < 0) return -1;
|
if ($result < 0) return -1;
|
||||||
// End call triggers
|
// End call triggers
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."resource";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."resource";
|
||||||
$sql.= " WHERE rowid =".$rowid;
|
$sql.= " WHERE rowid =".$rowid;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
||||||
if ($this->db->query($sql))
|
if ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
@ -364,7 +364,7 @@ class Resource extends CommonObject
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load resource objects into $this->lines
|
* Load resource objects into $this->lines
|
||||||
*
|
*
|
||||||
@ -500,9 +500,9 @@ class Resource extends CommonObject
|
|||||||
$line->fk_user_create = $obj->fk_user_create;
|
$line->fk_user_create = $obj->fk_user_create;
|
||||||
|
|
||||||
if($obj->resource_id && $obj->resource_type)
|
if($obj->resource_id && $obj->resource_type)
|
||||||
$line->objresource = $this->fetchObjectByElement($obj->resource_id,$obj->resource_type);
|
$line->objresource = fetchObjectByElement($obj->resource_id,$obj->resource_type);
|
||||||
if($obj->element_id && $obj->element_type)
|
if($obj->element_id && $obj->element_type)
|
||||||
$line->objelement = $this->fetchObjectByElement($obj->element_id,$obj->element_type);
|
$line->objelement = fetchObjectByElement($obj->element_id,$obj->element_type);
|
||||||
$this->lines[$i] = $line;
|
$this->lines[$i] = $line;
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
@ -584,7 +584,7 @@ class Resource extends CommonObject
|
|||||||
$line->mandatory = $obj->mandatory;
|
$line->mandatory = $obj->mandatory;
|
||||||
$line->fk_user_create = $obj->fk_user_create;
|
$line->fk_user_create = $obj->fk_user_create;
|
||||||
|
|
||||||
$this->lines[$i] = $this->fetchObjectByElement($obj->resource_id,$obj->resource_type);
|
$this->lines[$i] = fetchObjectByElement($obj->resource_id,$obj->resource_type);
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
@ -732,7 +732,7 @@ class Resource extends CommonObject
|
|||||||
{
|
{
|
||||||
// Call trigger
|
// Call trigger
|
||||||
$result=$this->call_trigger('RESOURCE_MODIFY',$user);
|
$result=$this->call_trigger('RESOURCE_MODIFY',$user);
|
||||||
if ($result < 0) $error++;
|
if ($result < 0) $error++;
|
||||||
// End call triggers
|
// End call triggers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -802,7 +802,7 @@ class Resource extends CommonObject
|
|||||||
$i=0;
|
$i=0;
|
||||||
foreach($resources as $nb => $resource)
|
foreach($resources as $nb => $resource)
|
||||||
{
|
{
|
||||||
$this->lines[$i] = $this->fetchObjectByElement($resource['resource_id'],$resource['resource_type']);
|
$this->lines[$i] = fetchObjectByElement($resource['resource_id'],$resource['resource_type']);
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
return $i;
|
return $i;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2010-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
|
||||||
@ -376,7 +376,7 @@ if ($result > 0)
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// List
|
// List
|
||||||
$sql = "SELECT n.rowid, n.daten, n.email, n.objet_type, n.objet_id as object_id, n.type,";
|
$sql = "SELECT n.rowid, n.daten, n.email, n.objet_type as object_type, n.objet_id as object_id, n.type,";
|
||||||
$sql.= " c.rowid as id, c.lastname, c.firstname, c.email as contactemail,";
|
$sql.= " c.rowid as id, c.lastname, c.firstname, c.email as contactemail,";
|
||||||
$sql.= " a.code, a.label";
|
$sql.= " a.code, a.label";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
|
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
|
||||||
|
|||||||
@ -36,7 +36,8 @@ require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
|
||||||
if (! empty($conf->agenda->enabled))require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||||
|
//if (! empty($conf->agenda->enabled))require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||||
if (! empty($conf->ldap->enabled)) require_once DOL_DOCUMENT_ROOT.'/core/class/ldap.class.php';
|
if (! empty($conf->ldap->enabled)) require_once DOL_DOCUMENT_ROOT.'/core/class/ldap.class.php';
|
||||||
if (! empty($conf->adherent->enabled)) require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
if (! empty($conf->adherent->enabled)) require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
||||||
if (! empty($conf->multicompany->enabled)) dol_include_once('/multicompany/class/actions_multicompany.class.php');
|
if (! empty($conf->multicompany->enabled)) dol_include_once('/multicompany/class/actions_multicompany.class.php');
|
||||||
|
|||||||
@ -460,7 +460,7 @@ function createThirdParty($authentication,$thirdparty)
|
|||||||
$result=$newobject->create($fuser);
|
$result=$newobject->create($fuser);
|
||||||
if ($newobject->particulier && $result > 0) {
|
if ($newobject->particulier && $result > 0) {
|
||||||
$newobject->firstname = $thirdparty['firstname'];
|
$newobject->firstname = $thirdparty['firstname'];
|
||||||
$newobject->name_bis = $thirdparty['ref'];
|
$newobject->name_bis = $thirdparty['lastname'];
|
||||||
$result = $newobject->create_individual($fuser);
|
$result = $newobject->create_individual($fuser);
|
||||||
}
|
}
|
||||||
if ($result <= 0)
|
if ($result <= 0)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user